aws_lc_sys/
x86_64_unknown_linux_gnu_crypto.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3
4// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5// SPDX-License-Identifier: Apache-2.0 OR ISC
6
7
8#![allow(
9    clippy::cast_lossless,
10    clippy::cast_possible_truncation,
11    clippy::cast_possible_wrap,
12    clippy::default_trait_access,
13    clippy::missing_safety_doc,
14    clippy::must_use_candidate,
15    clippy::not_unsafe_ptr_arg_deref,
16    clippy::ptr_as_ptr,
17    clippy::ptr_offset_with_cast,
18    clippy::pub_underscore_fields,
19    clippy::semicolon_if_nothing_returned,
20    clippy::too_many_lines,
21    clippy::unreadable_literal,
22    clippy::used_underscore_binding,
23    clippy::useless_transmute,
24    dead_code,
25    improper_ctypes,
26    non_camel_case_types,
27    non_snake_case,
28    non_upper_case_globals,
29    unpredictable_function_pointer_comparisons,
30    unused_imports
31)]
32
33
34#[repr(C)]
35#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
36pub struct __BindgenBitfieldUnit<Storage> {
37    storage: Storage,
38}
39impl<Storage> __BindgenBitfieldUnit<Storage> {
40    #[inline]
41    pub const fn new(storage: Storage) -> Self {
42        Self { storage }
43    }
44}
45impl<Storage> __BindgenBitfieldUnit<Storage>
46where
47    Storage: AsRef<[u8]> + AsMut<[u8]>,
48{
49    #[inline]
50    fn extract_bit(byte: u8, index: usize) -> bool {
51        let bit_index = if cfg!(target_endian = "big") {
52            7 - (index % 8)
53        } else {
54            index % 8
55        };
56        let mask = 1 << bit_index;
57        byte & mask == mask
58    }
59    #[inline]
60    pub fn get_bit(&self, index: usize) -> bool {
61        debug_assert!(index / 8 < self.storage.as_ref().len());
62        let byte_index = index / 8;
63        let byte = self.storage.as_ref()[byte_index];
64        Self::extract_bit(byte, index)
65    }
66    #[inline]
67    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
68        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
69        let byte_index = index / 8;
70        let byte = unsafe {
71            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
72        };
73        Self::extract_bit(byte, index)
74    }
75    #[inline]
76    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
77        let bit_index = if cfg!(target_endian = "big") {
78            7 - (index % 8)
79        } else {
80            index % 8
81        };
82        let mask = 1 << bit_index;
83        if val {
84            byte | mask
85        } else {
86            byte & !mask
87        }
88    }
89    #[inline]
90    pub fn set_bit(&mut self, index: usize, val: bool) {
91        debug_assert!(index / 8 < self.storage.as_ref().len());
92        let byte_index = index / 8;
93        let byte = &mut self.storage.as_mut()[byte_index];
94        *byte = Self::change_bit(*byte, index, val);
95    }
96    #[inline]
97    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
98        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
99        let byte_index = index / 8;
100        let byte = unsafe {
101            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
102        };
103        unsafe { *byte = Self::change_bit(*byte, index, val) };
104    }
105    #[inline]
106    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
107        debug_assert!(bit_width <= 64);
108        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
109        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
110        let mut val = 0;
111        for i in 0..(bit_width as usize) {
112            if self.get_bit(i + bit_offset) {
113                let index = if cfg!(target_endian = "big") {
114                    bit_width as usize - 1 - i
115                } else {
116                    i
117                };
118                val |= 1 << index;
119            }
120        }
121        val
122    }
123    #[inline]
124    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
125        debug_assert!(bit_width <= 64);
126        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
127        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
128        let mut val = 0;
129        for i in 0..(bit_width as usize) {
130            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
131                let index = if cfg!(target_endian = "big") {
132                    bit_width as usize - 1 - i
133                } else {
134                    i
135                };
136                val |= 1 << index;
137            }
138        }
139        val
140    }
141    #[inline]
142    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
143        debug_assert!(bit_width <= 64);
144        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
145        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
146        for i in 0..(bit_width as usize) {
147            let mask = 1 << i;
148            let val_bit_is_set = val & mask == mask;
149            let index = if cfg!(target_endian = "big") {
150                bit_width as usize - 1 - i
151            } else {
152                i
153            };
154            self.set_bit(index + bit_offset, val_bit_is_set);
155        }
156    }
157    #[inline]
158    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
159        debug_assert!(bit_width <= 64);
160        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
161        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
162        for i in 0..(bit_width as usize) {
163            let mask = 1 << i;
164            let val_bit_is_set = val & mask == mask;
165            let index = if cfg!(target_endian = "big") {
166                bit_width as usize - 1 - i
167            } else {
168                i
169            };
170            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
171        }
172    }
173}
174pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
175pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
176pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
177pub const AWSLC_API_VERSION: i32 = 35;
178pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"1.66.0\0";
179pub const AES_ENCRYPT: i32 = 1;
180pub const AES_DECRYPT: i32 = 0;
181pub const AES_MAXNR: i32 = 14;
182pub const AES_BLOCK_SIZE: i32 = 16;
183pub const SHA_CBLOCK: i32 = 64;
184pub const SHA_DIGEST_LENGTH: i32 = 20;
185pub const SHA224_CBLOCK: i32 = 64;
186pub const SHA224_DIGEST_LENGTH: i32 = 28;
187pub const SHA256_CBLOCK: i32 = 64;
188pub const SHA256_DIGEST_LENGTH: i32 = 32;
189pub const SHA384_CBLOCK: i32 = 128;
190pub const SHA384_DIGEST_LENGTH: i32 = 48;
191pub const SHA512_CBLOCK: i32 = 128;
192pub const SHA512_DIGEST_LENGTH: i32 = 64;
193pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
194pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
195pub const CRYPTO_LOCK: i32 = 1;
196pub const CRYPTO_UNLOCK: i32 = 2;
197pub const CRYPTO_READ: i32 = 4;
198pub const CRYPTO_WRITE: i32 = 8;
199pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.66.0)\0";
200pub const OPENSSL_VERSION: i32 = 0;
201pub const OPENSSL_CFLAGS: i32 = 1;
202pub const OPENSSL_BUILT_ON: i32 = 2;
203pub const OPENSSL_PLATFORM: i32 = 3;
204pub const OPENSSL_DIR: i32 = 4;
205pub const SSLEAY_VERSION: i32 = 0;
206pub const SSLEAY_CFLAGS: i32 = 1;
207pub const SSLEAY_BUILT_ON: i32 = 2;
208pub const SSLEAY_PLATFORM: i32 = 3;
209pub const SSLEAY_DIR: i32 = 4;
210pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
211pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
212pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
213pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
214pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
215pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
216pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
217pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
218pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: 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 BIO_RR_CONNECT: i32 = 2;
313pub const BIO_RR_ACCEPT: i32 = 3;
314pub const BIO_CB_FREE: i32 = 1;
315pub const BIO_CB_READ: i32 = 2;
316pub const BIO_CB_WRITE: i32 = 3;
317pub const BIO_CB_PUTS: i32 = 4;
318pub const BIO_CB_GETS: i32 = 5;
319pub const BIO_CB_CTRL: i32 = 6;
320pub const BIO_CB_RETURN: i32 = 128;
321pub const BIO_NOCLOSE: i32 = 0;
322pub const BIO_CLOSE: i32 = 1;
323pub const BIO_FP_TEXT: i32 = 16;
324pub const BIO_CTRL_DGRAM_CONNECT: i32 = 31;
325pub const BIO_CTRL_DGRAM_SET_CONNECTED: i32 = 32;
326pub const BIO_CTRL_DGRAM_SET_RECV_TIMEOUT: i32 = 33;
327pub const BIO_CTRL_DGRAM_GET_RECV_TIMEOUT: i32 = 34;
328pub const BIO_CTRL_DGRAM_SET_SEND_TIMEOUT: i32 = 35;
329pub const BIO_CTRL_DGRAM_GET_SEND_TIMEOUT: i32 = 36;
330pub const BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP: i32 = 37;
331pub const BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP: i32 = 38;
332pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
333pub const BIO_CTRL_DGRAM_GET_MTU: i32 = 41;
334pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
335pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
336pub const BIO_CTRL_DGRAM_SET_PEER: i32 = 44;
337pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
338pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
339pub const BIO_CTRL_RESET: i32 = 1;
340pub const BIO_CTRL_EOF: i32 = 2;
341pub const BIO_CTRL_INFO: i32 = 3;
342pub const BIO_CTRL_GET_CLOSE: i32 = 8;
343pub const BIO_CTRL_SET_CLOSE: i32 = 9;
344pub const BIO_CTRL_PENDING: i32 = 10;
345pub const BIO_CTRL_FLUSH: i32 = 11;
346pub const BIO_CTRL_WPENDING: i32 = 13;
347pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
348pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
349pub const BIO_CTRL_SET: i32 = 4;
350pub const BIO_CTRL_GET: i32 = 5;
351pub const BIO_CTRL_PUSH: i32 = 6;
352pub const BIO_CTRL_POP: i32 = 7;
353pub const BIO_CTRL_DUP: i32 = 12;
354pub const BIO_CTRL_SET_FILENAME: i32 = 30;
355pub const BIO_FLAGS_READ: i32 = 1;
356pub const BIO_FLAGS_WRITE: i32 = 2;
357pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
358pub const BIO_FLAGS_RWS: i32 = 7;
359pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
360pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
361pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
362pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
363pub const BIO_TYPE_FILTER: i32 = 512;
364pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
365pub const BIO_TYPE_NONE: i32 = 0;
366pub const BIO_TYPE_MEM: i32 = 1025;
367pub const BIO_TYPE_FILE: i32 = 1026;
368pub const BIO_TYPE_FD: i32 = 1284;
369pub const BIO_TYPE_SOCKET: i32 = 1285;
370pub const BIO_TYPE_NULL: i32 = 1030;
371pub const BIO_TYPE_SSL: i32 = 519;
372pub const BIO_TYPE_MD: i32 = 520;
373pub const BIO_TYPE_BUFFER: i32 = 521;
374pub const BIO_TYPE_CIPHER: i32 = 522;
375pub const BIO_TYPE_BASE64: i32 = 523;
376pub const BIO_TYPE_CONNECT: i32 = 1292;
377pub const BIO_TYPE_ACCEPT: i32 = 1293;
378pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
379pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
380pub const BIO_TYPE_NBIO_TEST: i32 = 528;
381pub const BIO_TYPE_NULL_FILTER: i32 = 529;
382pub const BIO_TYPE_BER: i32 = 530;
383pub const BIO_TYPE_BIO: i32 = 1043;
384pub const BIO_TYPE_LINEBUFFER: i32 = 532;
385pub const BIO_TYPE_DGRAM: i32 = 1301;
386pub const BIO_TYPE_ASN1: i32 = 534;
387pub const BIO_TYPE_COMP: i32 = 535;
388pub const BIO_TYPE_START: i32 = 128;
389pub const BIO_C_SET_CONNECT: i32 = 100;
390pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
391pub const BIO_C_SET_NBIO: i32 = 102;
392pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
393pub const BIO_C_SET_FD: i32 = 104;
394pub const BIO_C_GET_FD: i32 = 105;
395pub const BIO_C_SET_FILE_PTR: i32 = 106;
396pub const BIO_C_GET_FILE_PTR: i32 = 107;
397pub const BIO_C_SET_FILENAME: i32 = 108;
398pub const BIO_C_SET_SSL: i32 = 109;
399pub const BIO_C_GET_SSL: i32 = 110;
400pub const BIO_C_SET_MD: i32 = 111;
401pub const BIO_C_GET_MD: i32 = 112;
402pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
403pub const BIO_C_SET_BUF_MEM: i32 = 114;
404pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
405pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
406pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
407pub const BIO_C_SET_ACCEPT: i32 = 118;
408pub const BIO_C_SSL_MODE: i32 = 119;
409pub const BIO_C_GET_MD_CTX: i32 = 120;
410pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
411pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
412pub const BIO_C_GET_ACCEPT: i32 = 124;
413pub const BIO_C_FILE_SEEK: i32 = 128;
414pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
415pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
416pub const BIO_C_SET_BIND_MODE: i32 = 131;
417pub const BIO_C_GET_BIND_MODE: i32 = 132;
418pub const BIO_C_FILE_TELL: i32 = 133;
419pub const BIO_C_GET_SOCKS: i32 = 134;
420pub const BIO_C_SET_SOCKS: i32 = 135;
421pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
422pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
423pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
424pub const BIO_C_GET_READ_REQUEST: i32 = 141;
425pub const BIO_C_SHUTDOWN_WR: i32 = 142;
426pub const BIO_C_NREAD0: i32 = 143;
427pub const BIO_C_NREAD: i32 = 144;
428pub const BIO_C_NWRITE0: i32 = 145;
429pub const BIO_C_NWRITE: i32 = 146;
430pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
431pub const BIO_C_SET_MD_CTX: i32 = 148;
432pub const BIO_C_SET_PREFIX: i32 = 149;
433pub const BIO_C_GET_PREFIX: i32 = 150;
434pub const BIO_C_SET_SUFFIX: i32 = 151;
435pub const BIO_C_GET_SUFFIX: i32 = 152;
436pub const BIO_C_SET_EX_ARG: i32 = 153;
437pub const BIO_C_GET_EX_ARG: i32 = 154;
438pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
439pub const BIO_R_BROKEN_PIPE: i32 = 101;
440pub const BIO_R_CONNECT_ERROR: i32 = 102;
441pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
442pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
443pub const BIO_R_IN_USE: i32 = 105;
444pub const BIO_R_KEEPALIVE: i32 = 106;
445pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
446pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
447pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
448pub const BIO_R_NO_SUCH_FILE: i32 = 110;
449pub const BIO_R_NULL_PARAMETER: i32 = 111;
450pub const BIO_R_SYS_LIB: i32 = 112;
451pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
452pub const BIO_R_UNINITIALIZED: i32 = 114;
453pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
454pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
455pub const BN_BITS2: i32 = 64;
456pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
457pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
458pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
459pub const BN_RAND_TOP_ANY: i32 = -1;
460pub const BN_RAND_TOP_ONE: i32 = 0;
461pub const BN_RAND_TOP_TWO: i32 = 1;
462pub const BN_RAND_BOTTOM_ANY: i32 = 0;
463pub const BN_RAND_BOTTOM_ODD: i32 = 1;
464pub const BN_GENCB_GENERATED: i32 = 0;
465pub const BN_GENCB_PRIME_TEST: i32 = 1;
466pub const BN_prime_checks_for_validation: i32 = 64;
467pub const BN_prime_checks_for_generation: i32 = 0;
468pub const BN_prime_checks: i32 = 64;
469pub const BN_FLG_MALLOCED: i32 = 1;
470pub const BN_FLG_STATIC_DATA: i32 = 2;
471pub const BN_R_ARG2_LT_ARG3: i32 = 100;
472pub const BN_R_BAD_RECIPROCAL: i32 = 101;
473pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
474pub const BN_R_BITS_TOO_SMALL: i32 = 103;
475pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
476pub const BN_R_DIV_BY_ZERO: i32 = 105;
477pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
478pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
479pub const BN_R_INVALID_RANGE: i32 = 108;
480pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
481pub const BN_R_NOT_A_SQUARE: i32 = 110;
482pub const BN_R_NOT_INITIALIZED: i32 = 111;
483pub const BN_R_NO_INVERSE: i32 = 112;
484pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
485pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
486pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
487pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
488pub const BN_R_BAD_ENCODING: i32 = 117;
489pub const BN_R_ENCODE_ERROR: i32 = 118;
490pub const BN_R_INVALID_INPUT: i32 = 119;
491pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
492pub const V_ASN1_UNIVERSAL: i32 = 0;
493pub const V_ASN1_APPLICATION: i32 = 64;
494pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
495pub const V_ASN1_PRIVATE: i32 = 192;
496pub const V_ASN1_CONSTRUCTED: i32 = 32;
497pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
498pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
499pub const V_ASN1_UNDEF: i32 = -1;
500pub const V_ASN1_OTHER: i32 = -3;
501pub const V_ASN1_ANY: i32 = -4;
502pub const V_ASN1_EOC: i32 = 0;
503pub const V_ASN1_BOOLEAN: i32 = 1;
504pub const V_ASN1_INTEGER: i32 = 2;
505pub const V_ASN1_BIT_STRING: i32 = 3;
506pub const V_ASN1_OCTET_STRING: i32 = 4;
507pub const V_ASN1_NULL: i32 = 5;
508pub const V_ASN1_OBJECT: i32 = 6;
509pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
510pub const V_ASN1_EXTERNAL: i32 = 8;
511pub const V_ASN1_REAL: i32 = 9;
512pub const V_ASN1_ENUMERATED: i32 = 10;
513pub const V_ASN1_UTF8STRING: i32 = 12;
514pub const V_ASN1_SEQUENCE: i32 = 16;
515pub const V_ASN1_SET: i32 = 17;
516pub const V_ASN1_NUMERICSTRING: i32 = 18;
517pub const V_ASN1_PRINTABLESTRING: i32 = 19;
518pub const V_ASN1_T61STRING: i32 = 20;
519pub const V_ASN1_TELETEXSTRING: i32 = 20;
520pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
521pub const V_ASN1_IA5STRING: i32 = 22;
522pub const V_ASN1_UTCTIME: i32 = 23;
523pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
524pub const V_ASN1_GRAPHICSTRING: i32 = 25;
525pub const V_ASN1_ISO64STRING: i32 = 26;
526pub const V_ASN1_VISIBLESTRING: i32 = 26;
527pub const V_ASN1_GENERALSTRING: i32 = 27;
528pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
529pub const V_ASN1_BMPSTRING: i32 = 30;
530pub const V_ASN1_NEG: i32 = 256;
531pub const V_ASN1_NEG_INTEGER: i32 = 258;
532pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
533pub const B_ASN1_NUMERICSTRING: i32 = 1;
534pub const B_ASN1_PRINTABLESTRING: i32 = 2;
535pub const B_ASN1_T61STRING: i32 = 4;
536pub const B_ASN1_TELETEXSTRING: i32 = 4;
537pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
538pub const B_ASN1_IA5STRING: i32 = 16;
539pub const B_ASN1_GRAPHICSTRING: i32 = 32;
540pub const B_ASN1_ISO64STRING: i32 = 64;
541pub const B_ASN1_VISIBLESTRING: i32 = 64;
542pub const B_ASN1_GENERALSTRING: i32 = 128;
543pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
544pub const B_ASN1_OCTET_STRING: i32 = 512;
545pub const B_ASN1_BIT_STRING: i32 = 1024;
546pub const B_ASN1_BMPSTRING: i32 = 2048;
547pub const B_ASN1_UNKNOWN: i32 = 4096;
548pub const B_ASN1_UTF8STRING: i32 = 8192;
549pub const B_ASN1_UTCTIME: i32 = 16384;
550pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
551pub const B_ASN1_SEQUENCE: i32 = 65536;
552pub const ASN1_BOOLEAN_FALSE: i32 = 0;
553pub const ASN1_BOOLEAN_TRUE: i32 = 255;
554pub const ASN1_BOOLEAN_NONE: i32 = -1;
555pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
556pub const MBSTRING_FLAG: i32 = 4096;
557pub const MBSTRING_UTF8: i32 = 4096;
558pub const MBSTRING_ASC: i32 = 4097;
559pub const MBSTRING_BMP: i32 = 4098;
560pub const MBSTRING_UNIV: i32 = 4100;
561pub const DIRSTRING_TYPE: i32 = 10246;
562pub const PKCS9STRING_TYPE: i32 = 10262;
563pub const STABLE_NO_MASK: i32 = 2;
564pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
565pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
566pub const B_ASN1_TIME: i32 = 49152;
567pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
568pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
569pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
570pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
571pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
572pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
573pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
574pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
575pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
576pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
577pub const ASN1_STRFLGS_RFC2253: i32 = 791;
578pub const B_ASN1_PRINTABLE: i32 = 81175;
579pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
580pub const ASN1_R_AUX_ERROR: i32 = 101;
581pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
582pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
583pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
584pub const ASN1_R_BN_LIB: i32 = 105;
585pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
586pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
587pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
588pub const ASN1_R_DECODE_ERROR: i32 = 109;
589pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
590pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
591pub const ASN1_R_ENCODE_ERROR: i32 = 112;
592pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
593pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
594pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
595pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
596pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
597pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
598pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
599pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
600pub const ASN1_R_FIELD_MISSING: i32 = 121;
601pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
602pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
603pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
604pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
605pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
606pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
607pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
608pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
609pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
610pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
611pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
612pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
613pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
614pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
615pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
616pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
617pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
618pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
619pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
620pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
621pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
622pub const ASN1_R_INVALID_DIGIT: i32 = 143;
623pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
624pub const ASN1_R_INVALID_NUMBER: i32 = 145;
625pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
626pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
627pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
628pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
629pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
630pub const ASN1_R_LIST_ERROR: i32 = 151;
631pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
632pub const ASN1_R_MISSING_EOC: i32 = 153;
633pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
634pub const ASN1_R_MISSING_VALUE: i32 = 155;
635pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
636pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
637pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
638pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
639pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
640pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
641pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
642pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
643pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
644pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
645pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
646pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
647pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
648pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
649pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
650pub const ASN1_R_SHORT_LINE: i32 = 171;
651pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
652pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
653pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
654pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
655pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
656pub const ASN1_R_TOO_LONG: i32 = 177;
657pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
658pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
659pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
660pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
661pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
662pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
663pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
664pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
665pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
666pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
667pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
668pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
669pub const ASN1_R_WRONG_TAG: i32 = 190;
670pub const ASN1_R_WRONG_TYPE: i32 = 191;
671pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
672pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
673pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
674pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
675pub const ASN1_R_INVALID_INTEGER: i32 = 196;
676pub const ASN1_TFLG_OPTIONAL: i32 = 1;
677pub const ASN1_TFLG_SET_OF: i32 = 2;
678pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
679pub const ASN1_TFLG_SK_MASK: i32 = 6;
680pub const ASN1_TFLG_IMPTAG: i32 = 8;
681pub const ASN1_TFLG_EXPTAG: i32 = 16;
682pub const ASN1_TFLG_TAG_MASK: i32 = 24;
683pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
684pub const ASN1_TFLG_APPLICATION: i32 = 64;
685pub const ASN1_TFLG_CONTEXT: i32 = 128;
686pub const ASN1_TFLG_PRIVATE: i32 = 192;
687pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
688pub const ASN1_TFLG_ADB_MASK: i32 = 768;
689pub const ASN1_TFLG_ADB_OID: i32 = 256;
690pub const ASN1_TFLG_COMBINE: i32 = 1024;
691pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
692pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
693pub const ASN1_ITYPE_CHOICE: i32 = 2;
694pub const ASN1_ITYPE_EXTERN: i32 = 4;
695pub const ASN1_ITYPE_MSTRING: i32 = 5;
696pub const ASN1_AFLG_REFCOUNT: i32 = 1;
697pub const ASN1_AFLG_ENCODING: i32 = 2;
698pub const ASN1_OP_NEW_PRE: i32 = 0;
699pub const ASN1_OP_NEW_POST: i32 = 1;
700pub const ASN1_OP_FREE_PRE: i32 = 2;
701pub const ASN1_OP_FREE_POST: i32 = 3;
702pub const ASN1_OP_D2I_PRE: i32 = 4;
703pub const ASN1_OP_D2I_POST: i32 = 5;
704pub const ASN1_OP_PRINT_PRE: i32 = 8;
705pub const ASN1_OP_PRINT_POST: i32 = 9;
706pub const ASN1_OP_STREAM_PRE: i32 = 10;
707pub const ASN1_OP_STREAM_POST: i32 = 11;
708pub const ASN1_OP_DETACHED_PRE: i32 = 12;
709pub const ASN1_OP_DETACHED_POST: i32 = 13;
710pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
711pub const BLAKE2B_CBLOCK: i32 = 128;
712pub const BF_ENCRYPT: i32 = 1;
713pub const BF_DECRYPT: i32 = 0;
714pub const BF_ROUNDS: i32 = 16;
715pub const BF_BLOCK: i32 = 8;
716pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
717pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
718pub const CBS_ASN1_UNIVERSAL: i32 = 0;
719pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
720pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
721pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
722pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
723pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
724pub const CBS_ASN1_BOOLEAN: i32 = 1;
725pub const CBS_ASN1_INTEGER: i32 = 2;
726pub const CBS_ASN1_BITSTRING: i32 = 3;
727pub const CBS_ASN1_OCTETSTRING: i32 = 4;
728pub const CBS_ASN1_NULL: i32 = 5;
729pub const CBS_ASN1_OBJECT: i32 = 6;
730pub const CBS_ASN1_ENUMERATED: i32 = 10;
731pub const CBS_ASN1_UTF8STRING: i32 = 12;
732pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
733pub const CBS_ASN1_SET: i32 = 536870929;
734pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
735pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
736pub const CBS_ASN1_T61STRING: i32 = 20;
737pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
738pub const CBS_ASN1_IA5STRING: i32 = 22;
739pub const CBS_ASN1_UTCTIME: i32 = 23;
740pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
741pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
742pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
743pub const CBS_ASN1_GENERALSTRING: i32 = 27;
744pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
745pub const CBS_ASN1_BMPSTRING: i32 = 30;
746pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
747pub const EVP_CIPH_ECB_MODE: i32 = 1;
748pub const EVP_CIPH_CBC_MODE: i32 = 2;
749pub const EVP_CIPH_CFB_MODE: i32 = 3;
750pub const EVP_CIPH_OFB_MODE: i32 = 4;
751pub const EVP_CIPH_CTR_MODE: i32 = 5;
752pub const EVP_CIPH_GCM_MODE: i32 = 6;
753pub const EVP_CIPH_XTS_MODE: i32 = 7;
754pub const EVP_CIPH_CCM_MODE: i32 = 8;
755pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
756pub const EVP_CIPH_OCB_MODE: i32 = 9;
757pub const EVP_CIPH_WRAP_MODE: i32 = 10;
758pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
759pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
760pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
761pub const EVP_CIPH_CTRL_INIT: i32 = 512;
762pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
763pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
764pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
765pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
766pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
767pub const EVP_CIPH_NO_PADDING: i32 = 2048;
768pub const EVP_CTRL_INIT: i32 = 0;
769pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
770pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
771pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
772pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
773pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
774pub const EVP_CTRL_RAND_KEY: i32 = 6;
775pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
776pub const EVP_CTRL_COPY: i32 = 8;
777pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
778pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
779pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
780pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
781pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
782pub const EVP_CTRL_CCM_SET_L: i32 = 20;
783pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
784pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
785pub const EVP_CTRL_GET_IVLEN: i32 = 25;
786pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
787pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
788pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
789pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
790pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
791pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
792pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
793pub const EVP_MAX_KEY_LENGTH: i32 = 64;
794pub const EVP_MAX_IV_LENGTH: i32 = 16;
795pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
796pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
797pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
798pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
799pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
800pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
801pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
802pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
803pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
804pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
805pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
806pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
807pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
808pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
809pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
810pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
811pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
812pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
813pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
814pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
815pub const CIPHER_R_TOO_LARGE: i32 = 117;
816pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
817pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
818pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
819pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
820pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
821pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
822pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
823pub const CIPHER_R_INVALID_NONCE: i32 = 125;
824pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
825pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
826pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
827pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
828pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
829pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
830pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
831pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
832pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
833pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
834pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
835pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
836pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
837pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
838pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
839pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
840pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
841pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
842pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
843pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
844pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
845pub const X25519_SHARED_KEY_LEN: i32 = 32;
846pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
847pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
848pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
849pub const ED25519_SIGNATURE_LEN: i32 = 64;
850pub const ED25519_SEED_LEN: i32 = 32;
851pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
852pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
853pub const DES_ENCRYPT: i32 = 1;
854pub const DES_DECRYPT: i32 = 0;
855pub const DES_CBC_MODE: i32 = 0;
856pub const DES_PCBC_MODE: i32 = 1;
857pub const DH_GENERATOR_2: i32 = 2;
858pub const DH_GENERATOR_5: i32 = 5;
859pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
860pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
861pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
862pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
863pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
864pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
865pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
866pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
867pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
868pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
869pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
870pub const DH_FLAG_CACHE_MONT_P: i32 = 0;
871pub const DH_R_BAD_GENERATOR: i32 = 100;
872pub const DH_R_INVALID_PUBKEY: i32 = 101;
873pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
874pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
875pub const DH_R_DECODE_ERROR: i32 = 104;
876pub const DH_R_ENCODE_ERROR: i32 = 105;
877pub const DH_R_INVALID_NID: i32 = 106;
878pub const DH_R_INVALID_PARAMETERS: i32 = 107;
879pub const DH_F_DH_BUILTIN_GENPARAMS: i32 = 0;
880pub const EVP_MAX_MD_SIZE: i32 = 64;
881pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
882pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
883pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
884pub const EVP_MD_FLAG_XOF: i32 = 4;
885pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
886pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
887pub const DIGEST_R_DECODE_ERROR: i32 = 101;
888pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
889pub const OPENSSL_DSA_MAX_MODULUS_BITS: i32 = 10000;
890pub const DSA_R_BAD_Q_VALUE: i32 = 100;
891pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
892pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
893pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
894pub const DSA_R_BAD_VERSION: i32 = 104;
895pub const DSA_R_DECODE_ERROR: i32 = 105;
896pub const DSA_R_ENCODE_ERROR: i32 = 106;
897pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
898pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
899pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
900pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
901pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
902pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
903pub const EC_PKEY_NO_PUBKEY: i32 = 2;
904pub const ECDSA_FLAG_OPAQUE: i32 = 1;
905pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
906pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
907pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
908pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
909pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
910pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
911pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
912pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
913pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
914pub const EC_R_INVALID_ENCODING: i32 = 109;
915pub const EC_R_INVALID_FIELD: i32 = 110;
916pub const EC_R_INVALID_FORM: i32 = 111;
917pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
918pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
919pub const EC_R_MISSING_PARAMETERS: i32 = 114;
920pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
921pub const EC_R_NON_NAMED_CURVE: i32 = 116;
922pub const EC_R_NOT_INITIALIZED: i32 = 117;
923pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
924pub const EC_R_POINT_AT_INFINITY: i32 = 119;
925pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
926pub const EC_R_SLOT_FULL: i32 = 121;
927pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
928pub const EC_R_UNKNOWN_GROUP: i32 = 123;
929pub const EC_R_UNKNOWN_ORDER: i32 = 124;
930pub const EC_R_WRONG_ORDER: i32 = 125;
931pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
932pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
933pub const EC_R_DECODE_ERROR: i32 = 128;
934pub const EC_R_ENCODE_ERROR: i32 = 129;
935pub const EC_R_GROUP_MISMATCH: i32 = 130;
936pub const EC_R_INVALID_COFACTOR: i32 = 131;
937pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
938pub const EC_R_INVALID_SCALAR: i32 = 133;
939pub const ECDH_R_KDF_FAILED: i32 = 100;
940pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
941pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
942pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
943pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
944pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
945pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
946pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
947pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
948pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
949pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
950pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
951pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
952pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
953pub const EVP_R_DECODE_ERROR: i32 = 102;
954pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
955pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
956pub const EVP_R_ENCODE_ERROR: i32 = 105;
957pub const EVP_R_EXPECTING_AN_EC_KEY_KEY: i32 = 106;
958pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
959pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
960pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
961pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
962pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
963pub const EVP_R_INVALID_KEYBITS: i32 = 112;
964pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
965pub const EVP_R_INVALID_OPERATION: i32 = 114;
966pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
967pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
968pub const EVP_R_KEYS_NOT_SET: i32 = 117;
969pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
970pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
971pub const EVP_R_NO_KEY_SET: i32 = 120;
972pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
973pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
974pub const EVP_R_NO_OPERATION_SET: i32 = 123;
975pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
976pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
977pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
978pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
979pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
980pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
981pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
982pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
983pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
984pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
985pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
986pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
987pub const EVP_R_EMPTY_PSK: i32 = 136;
988pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
989pub const EVP_R_BAD_DECRYPT: i32 = 138;
990pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 139;
991pub const EVP_R_INVALID_PSS_MD: i32 = 500;
992pub const EVP_R_INVALID_PSS_SALT_LEN: i32 = 501;
993pub const EVP_R_INVALID_PSS_TRAILER_FIELD: i32 = 502;
994pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
995pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
996pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
997pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
998pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
999pub const SN_undef: &[u8; 6] = b"UNDEF\0";
1000pub const LN_undef: &[u8; 10] = b"undefined\0";
1001pub const NID_undef: i32 = 0;
1002pub const OBJ_undef: i32 = 0;
1003pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
1004pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
1005pub const NID_rsadsi: i32 = 1;
1006pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
1007pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
1008pub const NID_pkcs: i32 = 2;
1009pub const SN_md2: &[u8; 4] = b"MD2\0";
1010pub const LN_md2: &[u8; 4] = b"md2\0";
1011pub const NID_md2: i32 = 3;
1012pub const SN_md5: &[u8; 4] = b"MD5\0";
1013pub const LN_md5: &[u8; 4] = b"md5\0";
1014pub const NID_md5: i32 = 4;
1015pub const SN_rc4: &[u8; 4] = b"RC4\0";
1016pub const LN_rc4: &[u8; 4] = b"rc4\0";
1017pub const NID_rc4: i32 = 5;
1018pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
1019pub const NID_rsaEncryption: i32 = 6;
1020pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
1021pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
1022pub const NID_md2WithRSAEncryption: i32 = 7;
1023pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
1024pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
1025pub const NID_md5WithRSAEncryption: i32 = 8;
1026pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
1027pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
1028pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
1029pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
1030pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
1031pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
1032pub const SN_X500: &[u8; 5] = b"X500\0";
1033pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
1034pub const NID_X500: i32 = 11;
1035pub const SN_X509: &[u8; 5] = b"X509\0";
1036pub const NID_X509: i32 = 12;
1037pub const SN_commonName: &[u8; 3] = b"CN\0";
1038pub const LN_commonName: &[u8; 11] = b"commonName\0";
1039pub const NID_commonName: i32 = 13;
1040pub const SN_countryName: &[u8; 2] = b"C\0";
1041pub const LN_countryName: &[u8; 12] = b"countryName\0";
1042pub const NID_countryName: i32 = 14;
1043pub const SN_localityName: &[u8; 2] = b"L\0";
1044pub const LN_localityName: &[u8; 13] = b"localityName\0";
1045pub const NID_localityName: i32 = 15;
1046pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
1047pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
1048pub const NID_stateOrProvinceName: i32 = 16;
1049pub const SN_organizationName: &[u8; 2] = b"O\0";
1050pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
1051pub const NID_organizationName: i32 = 17;
1052pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
1053pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
1054pub const NID_organizationalUnitName: i32 = 18;
1055pub const SN_rsa: &[u8; 4] = b"RSA\0";
1056pub const LN_rsa: &[u8; 4] = b"rsa\0";
1057pub const NID_rsa: i32 = 19;
1058pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
1059pub const NID_pkcs7: i32 = 20;
1060pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
1061pub const NID_pkcs7_data: i32 = 21;
1062pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
1063pub const NID_pkcs7_signed: i32 = 22;
1064pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1065pub const NID_pkcs7_enveloped: i32 = 23;
1066pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1067pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1068pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1069pub const NID_pkcs7_digest: i32 = 25;
1070pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1071pub const NID_pkcs7_encrypted: i32 = 26;
1072pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1073pub const NID_pkcs3: i32 = 27;
1074pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1075pub const NID_dhKeyAgreement: i32 = 28;
1076pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1077pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1078pub const NID_des_ecb: i32 = 29;
1079pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1080pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1081pub const NID_des_cfb64: i32 = 30;
1082pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1083pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1084pub const NID_des_cbc: i32 = 31;
1085pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1086pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1087pub const NID_des_ede_ecb: i32 = 32;
1088pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1089pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1090pub const NID_des_ede3_ecb: i32 = 33;
1091pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1092pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1093pub const NID_idea_cbc: i32 = 34;
1094pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1095pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1096pub const NID_idea_cfb64: i32 = 35;
1097pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1098pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1099pub const NID_idea_ecb: i32 = 36;
1100pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1101pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1102pub const NID_rc2_cbc: i32 = 37;
1103pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1104pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1105pub const NID_rc2_ecb: i32 = 38;
1106pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1107pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1108pub const NID_rc2_cfb64: i32 = 39;
1109pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1110pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1111pub const NID_rc2_ofb64: i32 = 40;
1112pub const SN_sha: &[u8; 4] = b"SHA\0";
1113pub const LN_sha: &[u8; 4] = b"sha\0";
1114pub const NID_sha: i32 = 41;
1115pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1116pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1117pub const NID_shaWithRSAEncryption: i32 = 42;
1118pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1119pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1120pub const NID_des_ede_cbc: i32 = 43;
1121pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1122pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1123pub const NID_des_ede3_cbc: i32 = 44;
1124pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1125pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1126pub const NID_des_ofb64: i32 = 45;
1127pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1128pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1129pub const NID_idea_ofb64: i32 = 46;
1130pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1131pub const NID_pkcs9: i32 = 47;
1132pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1133pub const NID_pkcs9_emailAddress: i32 = 48;
1134pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1135pub const NID_pkcs9_unstructuredName: i32 = 49;
1136pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1137pub const NID_pkcs9_contentType: i32 = 50;
1138pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1139pub const NID_pkcs9_messageDigest: i32 = 51;
1140pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1141pub const NID_pkcs9_signingTime: i32 = 52;
1142pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1143pub const NID_pkcs9_countersignature: i32 = 53;
1144pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1145pub const NID_pkcs9_challengePassword: i32 = 54;
1146pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1147pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1148pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1149pub const NID_pkcs9_extCertAttributes: i32 = 56;
1150pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1151pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1152pub const NID_netscape: i32 = 57;
1153pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1154pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1155pub const NID_netscape_cert_extension: i32 = 58;
1156pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1157pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1158pub const NID_netscape_data_type: i32 = 59;
1159pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1160pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1161pub const NID_des_ede_cfb64: i32 = 60;
1162pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1163pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1164pub const NID_des_ede3_cfb64: i32 = 61;
1165pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1166pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1167pub const NID_des_ede_ofb64: i32 = 62;
1168pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1169pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1170pub const NID_des_ede3_ofb64: i32 = 63;
1171pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1172pub const LN_sha1: &[u8; 5] = b"sha1\0";
1173pub const NID_sha1: i32 = 64;
1174pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1175pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1176pub const NID_sha1WithRSAEncryption: i32 = 65;
1177pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1178pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1179pub const NID_dsaWithSHA: i32 = 66;
1180pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1181pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1182pub const NID_dsa_2: i32 = 67;
1183pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1184pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1185pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1186pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1187pub const NID_id_pbkdf2: i32 = 69;
1188pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1189pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1190pub const NID_dsaWithSHA1_2: i32 = 70;
1191pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1192pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1193pub const NID_netscape_cert_type: i32 = 71;
1194pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1195pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1196pub const NID_netscape_base_url: i32 = 72;
1197pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1198pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1199pub const NID_netscape_revocation_url: i32 = 73;
1200pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1201pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1202pub const NID_netscape_ca_revocation_url: i32 = 74;
1203pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1204pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1205pub const NID_netscape_renewal_url: i32 = 75;
1206pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1207pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1208pub const NID_netscape_ca_policy_url: i32 = 76;
1209pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1210pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1211pub const NID_netscape_ssl_server_name: i32 = 77;
1212pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1213pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1214pub const NID_netscape_comment: i32 = 78;
1215pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1216pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1217pub const NID_netscape_cert_sequence: i32 = 79;
1218pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1219pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1220pub const NID_desx_cbc: i32 = 80;
1221pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1222pub const NID_id_ce: i32 = 81;
1223pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1224pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1225pub const NID_subject_key_identifier: i32 = 82;
1226pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1227pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1228pub const NID_key_usage: i32 = 83;
1229pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1230pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1231pub const NID_private_key_usage_period: i32 = 84;
1232pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1233pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1234pub const NID_subject_alt_name: i32 = 85;
1235pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1236pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1237pub const NID_issuer_alt_name: i32 = 86;
1238pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1239pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1240pub const NID_basic_constraints: i32 = 87;
1241pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1242pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1243pub const NID_crl_number: i32 = 88;
1244pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1245pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1246pub const NID_certificate_policies: i32 = 89;
1247pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1248pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1249pub const NID_authority_key_identifier: i32 = 90;
1250pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1251pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1252pub const NID_bf_cbc: i32 = 91;
1253pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1254pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1255pub const NID_bf_ecb: i32 = 92;
1256pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1257pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1258pub const NID_bf_cfb64: i32 = 93;
1259pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1260pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1261pub const NID_bf_ofb64: i32 = 94;
1262pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1263pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1264pub const NID_mdc2: i32 = 95;
1265pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1266pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1267pub const NID_mdc2WithRSA: i32 = 96;
1268pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1269pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1270pub const NID_rc4_40: i32 = 97;
1271pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1272pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1273pub const NID_rc2_40_cbc: i32 = 98;
1274pub const SN_givenName: &[u8; 3] = b"GN\0";
1275pub const LN_givenName: &[u8; 10] = b"givenName\0";
1276pub const NID_givenName: i32 = 99;
1277pub const SN_surname: &[u8; 3] = b"SN\0";
1278pub const LN_surname: &[u8; 8] = b"surname\0";
1279pub const NID_surname: i32 = 100;
1280pub const SN_initials: &[u8; 9] = b"initials\0";
1281pub const LN_initials: &[u8; 9] = b"initials\0";
1282pub const NID_initials: i32 = 101;
1283pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1284pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1285pub const NID_crl_distribution_points: i32 = 103;
1286pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1287pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1288pub const NID_md5WithRSA: i32 = 104;
1289pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1290pub const NID_serialNumber: i32 = 105;
1291pub const SN_title: &[u8; 6] = b"title\0";
1292pub const LN_title: &[u8; 6] = b"title\0";
1293pub const NID_title: i32 = 106;
1294pub const LN_description: &[u8; 12] = b"description\0";
1295pub const NID_description: i32 = 107;
1296pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1297pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1298pub const NID_cast5_cbc: i32 = 108;
1299pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1300pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1301pub const NID_cast5_ecb: i32 = 109;
1302pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1303pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1304pub const NID_cast5_cfb64: i32 = 110;
1305pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1306pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1307pub const NID_cast5_ofb64: i32 = 111;
1308pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1309pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1310pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1311pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1312pub const NID_dsaWithSHA1: i32 = 113;
1313pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1314pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1315pub const NID_md5_sha1: i32 = 114;
1316pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1317pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1318pub const NID_sha1WithRSA: i32 = 115;
1319pub const SN_dsa: &[u8; 4] = b"DSA\0";
1320pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1321pub const NID_dsa: i32 = 116;
1322pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1323pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1324pub const NID_ripemd160: i32 = 117;
1325pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1326pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1327pub const NID_ripemd160WithRSA: i32 = 119;
1328pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1329pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1330pub const NID_rc5_cbc: i32 = 120;
1331pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1332pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1333pub const NID_rc5_ecb: i32 = 121;
1334pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1335pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1336pub const NID_rc5_cfb64: i32 = 122;
1337pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1338pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1339pub const NID_rc5_ofb64: i32 = 123;
1340pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1341pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1342pub const NID_zlib_compression: i32 = 125;
1343pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1344pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1345pub const NID_ext_key_usage: i32 = 126;
1346pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1347pub const NID_id_pkix: i32 = 127;
1348pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1349pub const NID_id_kp: i32 = 128;
1350pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1351pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1352pub const NID_server_auth: i32 = 129;
1353pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1354pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1355pub const NID_client_auth: i32 = 130;
1356pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1357pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1358pub const NID_code_sign: i32 = 131;
1359pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1360pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1361pub const NID_email_protect: i32 = 132;
1362pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1363pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1364pub const NID_time_stamp: i32 = 133;
1365pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1366pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1367pub const NID_ms_code_ind: i32 = 134;
1368pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1369pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1370pub const NID_ms_code_com: i32 = 135;
1371pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1372pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1373pub const NID_ms_ctl_sign: i32 = 136;
1374pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1375pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1376pub const NID_ms_sgc: i32 = 137;
1377pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1378pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1379pub const NID_ms_efs: i32 = 138;
1380pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1381pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1382pub const NID_ns_sgc: i32 = 139;
1383pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1384pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1385pub const NID_delta_crl: i32 = 140;
1386pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1387pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1388pub const NID_crl_reason: i32 = 141;
1389pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1390pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1391pub const NID_invalidity_date: i32 = 142;
1392pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1393pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1394pub const NID_sxnet: i32 = 143;
1395pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1396pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1397pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1398pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1399pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1400pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1401pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1402pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1403pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1404pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1405pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1406pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1407pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1408pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1409pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1410pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1411pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1412pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1413pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1414pub const NID_keyBag: i32 = 150;
1415pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1416pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1417pub const LN_certBag: &[u8; 8] = b"certBag\0";
1418pub const NID_certBag: i32 = 152;
1419pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1420pub const NID_crlBag: i32 = 153;
1421pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1422pub const NID_secretBag: i32 = 154;
1423pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1424pub const NID_safeContentsBag: i32 = 155;
1425pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1426pub const NID_friendlyName: i32 = 156;
1427pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1428pub const NID_localKeyID: i32 = 157;
1429pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1430pub const NID_x509Certificate: i32 = 158;
1431pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1432pub const NID_sdsiCertificate: i32 = 159;
1433pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1434pub const NID_x509Crl: i32 = 160;
1435pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1436pub const NID_pbes2: i32 = 161;
1437pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1438pub const NID_pbmac1: i32 = 162;
1439pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1440pub const NID_hmacWithSHA1: i32 = 163;
1441pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1442pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1443pub const NID_id_qt_cps: i32 = 164;
1444pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1445pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1446pub const NID_id_qt_unotice: i32 = 165;
1447pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1448pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1449pub const NID_rc2_64_cbc: i32 = 166;
1450pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1451pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1452pub const NID_SMIMECapabilities: i32 = 167;
1453pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1454pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1455pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1456pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1457pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1458pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1459pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1460pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1461pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1462pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1463pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1464pub const NID_ms_ext_req: i32 = 171;
1465pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1466pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1467pub const NID_ext_req: i32 = 172;
1468pub const SN_name: &[u8; 5] = b"name\0";
1469pub const LN_name: &[u8; 5] = b"name\0";
1470pub const NID_name: i32 = 173;
1471pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1472pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1473pub const NID_dnQualifier: i32 = 174;
1474pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1475pub const NID_id_pe: i32 = 175;
1476pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1477pub const NID_id_ad: i32 = 176;
1478pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1479pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1480pub const NID_info_access: i32 = 177;
1481pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1482pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1483pub const NID_ad_OCSP: i32 = 178;
1484pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1485pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1486pub const NID_ad_ca_issuers: i32 = 179;
1487pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1488pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1489pub const NID_OCSP_sign: i32 = 180;
1490pub const SN_iso: &[u8; 4] = b"ISO\0";
1491pub const LN_iso: &[u8; 4] = b"iso\0";
1492pub const NID_iso: i32 = 181;
1493pub const OBJ_iso: i32 = 1;
1494pub const SN_member_body: &[u8; 12] = b"member-body\0";
1495pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1496pub const NID_member_body: i32 = 182;
1497pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1498pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1499pub const NID_ISO_US: i32 = 183;
1500pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1501pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1502pub const NID_X9_57: i32 = 184;
1503pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1504pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1505pub const NID_X9cm: i32 = 185;
1506pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1507pub const NID_pkcs1: i32 = 186;
1508pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1509pub const NID_pkcs5: i32 = 187;
1510pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1511pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1512pub const NID_SMIME: i32 = 188;
1513pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1514pub const NID_id_smime_mod: i32 = 189;
1515pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1516pub const NID_id_smime_ct: i32 = 190;
1517pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1518pub const NID_id_smime_aa: i32 = 191;
1519pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1520pub const NID_id_smime_alg: i32 = 192;
1521pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1522pub const NID_id_smime_cd: i32 = 193;
1523pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1524pub const NID_id_smime_spq: i32 = 194;
1525pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1526pub const NID_id_smime_cti: i32 = 195;
1527pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1528pub const NID_id_smime_mod_cms: i32 = 196;
1529pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1530pub const NID_id_smime_mod_ess: i32 = 197;
1531pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1532pub const NID_id_smime_mod_oid: i32 = 198;
1533pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1534pub const NID_id_smime_mod_msg_v3: i32 = 199;
1535pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1536pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1537pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1538pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1539pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1540pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1541pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1542pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1543pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1544pub const NID_id_smime_ct_receipt: i32 = 204;
1545pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1546pub const NID_id_smime_ct_authData: i32 = 205;
1547pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1548pub const NID_id_smime_ct_publishCert: i32 = 206;
1549pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1550pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1551pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1552pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1553pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1554pub const NID_id_smime_ct_contentInfo: i32 = 209;
1555pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1556pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1557pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1558pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1559pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1560pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1561pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1562pub const NID_id_smime_aa_securityLabel: i32 = 213;
1563pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1564pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1565pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1566pub const NID_id_smime_aa_contentHint: i32 = 215;
1567pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1568pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1569pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1570pub const NID_id_smime_aa_encapContentType: i32 = 217;
1571pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1572pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1573pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1574pub const NID_id_smime_aa_macValue: i32 = 219;
1575pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1576pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1577pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1578pub const NID_id_smime_aa_contentReference: i32 = 221;
1579pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1580pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1581pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1582pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1583pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1584pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1585pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1586pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1587pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1588pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1589pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1590pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1591pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1592pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1593pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1594pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1595pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1596pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1597pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1598pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1599pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1600pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1601pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1602pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1603pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1604pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1605pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1606pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1607pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1608pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1609pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1610pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1611pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1612pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1613pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1614pub const NID_id_smime_aa_signatureType: i32 = 239;
1615pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1616pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1617pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1618pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1619pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1620pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1621pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1622pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1623pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1624pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1625pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1626pub const NID_id_smime_alg_ESDH: i32 = 245;
1627pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1628pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1629pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1630pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1631pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1632pub const NID_id_smime_cd_ldap: i32 = 248;
1633pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1634pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1635pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1636pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1637pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1638pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1639pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1640pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1641pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1642pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1643pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1644pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1645pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1646pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1647pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1648pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1649pub const SN_md4: &[u8; 4] = b"MD4\0";
1650pub const LN_md4: &[u8; 4] = b"md4\0";
1651pub const NID_md4: i32 = 257;
1652pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1653pub const NID_id_pkix_mod: i32 = 258;
1654pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1655pub const NID_id_qt: i32 = 259;
1656pub const SN_id_it: &[u8; 6] = b"id-it\0";
1657pub const NID_id_it: i32 = 260;
1658pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1659pub const NID_id_pkip: i32 = 261;
1660pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1661pub const NID_id_alg: i32 = 262;
1662pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1663pub const NID_id_cmc: i32 = 263;
1664pub const SN_id_on: &[u8; 6] = b"id-on\0";
1665pub const NID_id_on: i32 = 264;
1666pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1667pub const NID_id_pda: i32 = 265;
1668pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1669pub const NID_id_aca: i32 = 266;
1670pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1671pub const NID_id_qcs: i32 = 267;
1672pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1673pub const NID_id_cct: i32 = 268;
1674pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1675pub const NID_id_pkix1_explicit_88: i32 = 269;
1676pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1677pub const NID_id_pkix1_implicit_88: i32 = 270;
1678pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1679pub const NID_id_pkix1_explicit_93: i32 = 271;
1680pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1681pub const NID_id_pkix1_implicit_93: i32 = 272;
1682pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1683pub const NID_id_mod_crmf: i32 = 273;
1684pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1685pub const NID_id_mod_cmc: i32 = 274;
1686pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1687pub const NID_id_mod_kea_profile_88: i32 = 275;
1688pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1689pub const NID_id_mod_kea_profile_93: i32 = 276;
1690pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1691pub const NID_id_mod_cmp: i32 = 277;
1692pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1693pub const NID_id_mod_qualified_cert_88: i32 = 278;
1694pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1695pub const NID_id_mod_qualified_cert_93: i32 = 279;
1696pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1697pub const NID_id_mod_attribute_cert: i32 = 280;
1698pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1699pub const NID_id_mod_timestamp_protocol: i32 = 281;
1700pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1701pub const NID_id_mod_ocsp: i32 = 282;
1702pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1703pub const NID_id_mod_dvcs: i32 = 283;
1704pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1705pub const NID_id_mod_cmp2000: i32 = 284;
1706pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1707pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1708pub const NID_biometricInfo: i32 = 285;
1709pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1710pub const NID_qcStatements: i32 = 286;
1711pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1712pub const NID_ac_auditEntity: i32 = 287;
1713pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1714pub const NID_ac_targeting: i32 = 288;
1715pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1716pub const NID_aaControls: i32 = 289;
1717pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1718pub const NID_sbgp_ipAddrBlock: i32 = 290;
1719pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1720pub const NID_sbgp_autonomousSysNum: i32 = 291;
1721pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1722pub const NID_sbgp_routerIdentifier: i32 = 292;
1723pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1724pub const NID_textNotice: i32 = 293;
1725pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1726pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1727pub const NID_ipsecEndSystem: i32 = 294;
1728pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1729pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1730pub const NID_ipsecTunnel: i32 = 295;
1731pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1732pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1733pub const NID_ipsecUser: i32 = 296;
1734pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1735pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1736pub const NID_dvcs: i32 = 297;
1737pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1738pub const NID_id_it_caProtEncCert: i32 = 298;
1739pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1740pub const NID_id_it_signKeyPairTypes: i32 = 299;
1741pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1742pub const NID_id_it_encKeyPairTypes: i32 = 300;
1743pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1744pub const NID_id_it_preferredSymmAlg: i32 = 301;
1745pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1746pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1747pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1748pub const NID_id_it_currentCRL: i32 = 303;
1749pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1750pub const NID_id_it_unsupportedOIDs: i32 = 304;
1751pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1752pub const NID_id_it_subscriptionRequest: i32 = 305;
1753pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1754pub const NID_id_it_subscriptionResponse: i32 = 306;
1755pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1756pub const NID_id_it_keyPairParamReq: i32 = 307;
1757pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1758pub const NID_id_it_keyPairParamRep: i32 = 308;
1759pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1760pub const NID_id_it_revPassphrase: i32 = 309;
1761pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1762pub const NID_id_it_implicitConfirm: i32 = 310;
1763pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1764pub const NID_id_it_confirmWaitTime: i32 = 311;
1765pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1766pub const NID_id_it_origPKIMessage: i32 = 312;
1767pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1768pub const NID_id_regCtrl: i32 = 313;
1769pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1770pub const NID_id_regInfo: i32 = 314;
1771pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1772pub const NID_id_regCtrl_regToken: i32 = 315;
1773pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1774pub const NID_id_regCtrl_authenticator: i32 = 316;
1775pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1776pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1777pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1778pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1779pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1780pub const NID_id_regCtrl_oldCertID: i32 = 319;
1781pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1782pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1783pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1784pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1785pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1786pub const NID_id_regInfo_certReq: i32 = 322;
1787pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1788pub const NID_id_alg_des40: i32 = 323;
1789pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1790pub const NID_id_alg_noSignature: i32 = 324;
1791pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1792pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1793pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1794pub const NID_id_alg_dh_pop: i32 = 326;
1795pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1796pub const NID_id_cmc_statusInfo: i32 = 327;
1797pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1798pub const NID_id_cmc_identification: i32 = 328;
1799pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1800pub const NID_id_cmc_identityProof: i32 = 329;
1801pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1802pub const NID_id_cmc_dataReturn: i32 = 330;
1803pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1804pub const NID_id_cmc_transactionId: i32 = 331;
1805pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1806pub const NID_id_cmc_senderNonce: i32 = 332;
1807pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1808pub const NID_id_cmc_recipientNonce: i32 = 333;
1809pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1810pub const NID_id_cmc_addExtensions: i32 = 334;
1811pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1812pub const NID_id_cmc_encryptedPOP: i32 = 335;
1813pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1814pub const NID_id_cmc_decryptedPOP: i32 = 336;
1815pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1816pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1817pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1818pub const NID_id_cmc_getCert: i32 = 338;
1819pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1820pub const NID_id_cmc_getCRL: i32 = 339;
1821pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1822pub const NID_id_cmc_revokeRequest: i32 = 340;
1823pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1824pub const NID_id_cmc_regInfo: i32 = 341;
1825pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1826pub const NID_id_cmc_responseInfo: i32 = 342;
1827pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1828pub const NID_id_cmc_queryPending: i32 = 343;
1829pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1830pub const NID_id_cmc_popLinkRandom: i32 = 344;
1831pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1832pub const NID_id_cmc_popLinkWitness: i32 = 345;
1833pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1834pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1835pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1836pub const NID_id_on_personalData: i32 = 347;
1837pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1838pub const NID_id_pda_dateOfBirth: i32 = 348;
1839pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1840pub const NID_id_pda_placeOfBirth: i32 = 349;
1841pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1842pub const NID_id_pda_gender: i32 = 351;
1843pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1844pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1845pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1846pub const NID_id_pda_countryOfResidence: i32 = 353;
1847pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1848pub const NID_id_aca_authenticationInfo: i32 = 354;
1849pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1850pub const NID_id_aca_accessIdentity: i32 = 355;
1851pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1852pub const NID_id_aca_chargingIdentity: i32 = 356;
1853pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1854pub const NID_id_aca_group: i32 = 357;
1855pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1856pub const NID_id_aca_role: i32 = 358;
1857pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1858pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1859pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1860pub const NID_id_cct_crs: i32 = 360;
1861pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1862pub const NID_id_cct_PKIData: i32 = 361;
1863pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1864pub const NID_id_cct_PKIResponse: i32 = 362;
1865pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1866pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1867pub const NID_ad_timeStamping: i32 = 363;
1868pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1869pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1870pub const NID_ad_dvcs: i32 = 364;
1871pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1872pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1873pub const NID_id_pkix_OCSP_basic: i32 = 365;
1874pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1875pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1876pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1877pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1878pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1879pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1880pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1881pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1882pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1883pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1884pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1885pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1886pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1887pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1888pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1889pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1890pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1891pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1892pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1893pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1894pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1895pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1896pub const NID_id_pkix_OCSP_valid: i32 = 373;
1897pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1898pub const NID_id_pkix_OCSP_path: i32 = 374;
1899pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1900pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1901pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1902pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1903pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1904pub const NID_algorithm: i32 = 376;
1905pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1906pub const NID_rsaSignature: i32 = 377;
1907pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1908pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1909pub const NID_X500algorithms: i32 = 378;
1910pub const SN_org: &[u8; 4] = b"ORG\0";
1911pub const LN_org: &[u8; 4] = b"org\0";
1912pub const NID_org: i32 = 379;
1913pub const SN_dod: &[u8; 4] = b"DOD\0";
1914pub const LN_dod: &[u8; 4] = b"dod\0";
1915pub const NID_dod: i32 = 380;
1916pub const SN_iana: &[u8; 5] = b"IANA\0";
1917pub const LN_iana: &[u8; 5] = b"iana\0";
1918pub const NID_iana: i32 = 381;
1919pub const SN_Directory: &[u8; 10] = b"directory\0";
1920pub const LN_Directory: &[u8; 10] = b"Directory\0";
1921pub const NID_Directory: i32 = 382;
1922pub const SN_Management: &[u8; 5] = b"mgmt\0";
1923pub const LN_Management: &[u8; 11] = b"Management\0";
1924pub const NID_Management: i32 = 383;
1925pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1926pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1927pub const NID_Experimental: i32 = 384;
1928pub const SN_Private: &[u8; 8] = b"private\0";
1929pub const LN_Private: &[u8; 8] = b"Private\0";
1930pub const NID_Private: i32 = 385;
1931pub const SN_Security: &[u8; 9] = b"security\0";
1932pub const LN_Security: &[u8; 9] = b"Security\0";
1933pub const NID_Security: i32 = 386;
1934pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1935pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1936pub const NID_SNMPv2: i32 = 387;
1937pub const LN_Mail: &[u8; 5] = b"Mail\0";
1938pub const NID_Mail: i32 = 388;
1939pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1940pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1941pub const NID_Enterprises: i32 = 389;
1942pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1943pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1944pub const NID_dcObject: i32 = 390;
1945pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1946pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1947pub const NID_domainComponent: i32 = 391;
1948pub const SN_Domain: &[u8; 7] = b"domain\0";
1949pub const LN_Domain: &[u8; 7] = b"Domain\0";
1950pub const NID_Domain: i32 = 392;
1951pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1952pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1953pub const NID_selected_attribute_types: i32 = 394;
1954pub const SN_clearance: &[u8; 10] = b"clearance\0";
1955pub const NID_clearance: i32 = 395;
1956pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1957pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1958pub const NID_md4WithRSAEncryption: i32 = 396;
1959pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1960pub const NID_ac_proxying: i32 = 397;
1961pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1962pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1963pub const NID_sinfo_access: i32 = 398;
1964pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1965pub const NID_id_aca_encAttrs: i32 = 399;
1966pub const SN_role: &[u8; 5] = b"role\0";
1967pub const LN_role: &[u8; 5] = b"role\0";
1968pub const NID_role: i32 = 400;
1969pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1970pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1971pub const NID_policy_constraints: i32 = 401;
1972pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1973pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1974pub const NID_target_information: i32 = 402;
1975pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1976pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1977pub const NID_no_rev_avail: i32 = 403;
1978pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1979pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1980pub const NID_ansi_X9_62: i32 = 405;
1981pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1982pub const NID_X9_62_prime_field: i32 = 406;
1983pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1984pub const NID_X9_62_characteristic_two_field: i32 = 407;
1985pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1986pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1987pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1988pub const NID_X9_62_prime192v1: i32 = 409;
1989pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1990pub const NID_X9_62_prime192v2: i32 = 410;
1991pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1992pub const NID_X9_62_prime192v3: i32 = 411;
1993pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1994pub const NID_X9_62_prime239v1: i32 = 412;
1995pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1996pub const NID_X9_62_prime239v2: i32 = 413;
1997pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1998pub const NID_X9_62_prime239v3: i32 = 414;
1999pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
2000pub const NID_X9_62_prime256v1: i32 = 415;
2001pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
2002pub const NID_ecdsa_with_SHA1: i32 = 416;
2003pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
2004pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
2005pub const NID_ms_csp_name: i32 = 417;
2006pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
2007pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
2008pub const NID_aes_128_ecb: i32 = 418;
2009pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
2010pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
2011pub const NID_aes_128_cbc: i32 = 419;
2012pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
2013pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
2014pub const NID_aes_128_ofb128: i32 = 420;
2015pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
2016pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
2017pub const NID_aes_128_cfb128: i32 = 421;
2018pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
2019pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
2020pub const NID_aes_192_ecb: i32 = 422;
2021pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
2022pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
2023pub const NID_aes_192_cbc: i32 = 423;
2024pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
2025pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
2026pub const NID_aes_192_ofb128: i32 = 424;
2027pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
2028pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
2029pub const NID_aes_192_cfb128: i32 = 425;
2030pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
2031pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
2032pub const NID_aes_256_ecb: i32 = 426;
2033pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
2034pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
2035pub const NID_aes_256_cbc: i32 = 427;
2036pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
2037pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
2038pub const NID_aes_256_ofb128: i32 = 428;
2039pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
2040pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
2041pub const NID_aes_256_cfb128: i32 = 429;
2042pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
2043pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
2044pub const NID_hold_instruction_code: i32 = 430;
2045pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
2046pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
2047pub const NID_hold_instruction_none: i32 = 431;
2048pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
2049pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
2050pub const NID_hold_instruction_call_issuer: i32 = 432;
2051pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
2052pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
2053pub const NID_hold_instruction_reject: i32 = 433;
2054pub const SN_data: &[u8; 5] = b"data\0";
2055pub const NID_data: i32 = 434;
2056pub const SN_pss: &[u8; 4] = b"pss\0";
2057pub const NID_pss: i32 = 435;
2058pub const SN_ucl: &[u8; 4] = b"ucl\0";
2059pub const NID_ucl: i32 = 436;
2060pub const SN_pilot: &[u8; 6] = b"pilot\0";
2061pub const NID_pilot: i32 = 437;
2062pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
2063pub const NID_pilotAttributeType: i32 = 438;
2064pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2065pub const NID_pilotAttributeSyntax: i32 = 439;
2066pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2067pub const NID_pilotObjectClass: i32 = 440;
2068pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2069pub const NID_pilotGroups: i32 = 441;
2070pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2071pub const NID_iA5StringSyntax: i32 = 442;
2072pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2073pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2074pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2075pub const NID_pilotObject: i32 = 444;
2076pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2077pub const NID_pilotPerson: i32 = 445;
2078pub const SN_account: &[u8; 8] = b"account\0";
2079pub const NID_account: i32 = 446;
2080pub const SN_document: &[u8; 9] = b"document\0";
2081pub const NID_document: i32 = 447;
2082pub const SN_room: &[u8; 5] = b"room\0";
2083pub const NID_room: i32 = 448;
2084pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2085pub const NID_documentSeries: i32 = 449;
2086pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2087pub const NID_rFC822localPart: i32 = 450;
2088pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2089pub const NID_dNSDomain: i32 = 451;
2090pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2091pub const NID_domainRelatedObject: i32 = 452;
2092pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2093pub const NID_friendlyCountry: i32 = 453;
2094pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2095pub const NID_simpleSecurityObject: i32 = 454;
2096pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2097pub const NID_pilotOrganization: i32 = 455;
2098pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2099pub const NID_pilotDSA: i32 = 456;
2100pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2101pub const NID_qualityLabelledData: i32 = 457;
2102pub const SN_userId: &[u8; 4] = b"UID\0";
2103pub const LN_userId: &[u8; 7] = b"userId\0";
2104pub const NID_userId: i32 = 458;
2105pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2106pub const NID_textEncodedORAddress: i32 = 459;
2107pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2108pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2109pub const NID_rfc822Mailbox: i32 = 460;
2110pub const SN_info: &[u8; 5] = b"info\0";
2111pub const NID_info: i32 = 461;
2112pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2113pub const NID_favouriteDrink: i32 = 462;
2114pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2115pub const NID_roomNumber: i32 = 463;
2116pub const SN_photo: &[u8; 6] = b"photo\0";
2117pub const NID_photo: i32 = 464;
2118pub const LN_userClass: &[u8; 10] = b"userClass\0";
2119pub const NID_userClass: i32 = 465;
2120pub const SN_host: &[u8; 5] = b"host\0";
2121pub const NID_host: i32 = 466;
2122pub const SN_manager: &[u8; 8] = b"manager\0";
2123pub const NID_manager: i32 = 467;
2124pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2125pub const NID_documentIdentifier: i32 = 468;
2126pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2127pub const NID_documentTitle: i32 = 469;
2128pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2129pub const NID_documentVersion: i32 = 470;
2130pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2131pub const NID_documentAuthor: i32 = 471;
2132pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2133pub const NID_documentLocation: i32 = 472;
2134pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2135pub const NID_homeTelephoneNumber: i32 = 473;
2136pub const SN_secretary: &[u8; 10] = b"secretary\0";
2137pub const NID_secretary: i32 = 474;
2138pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2139pub const NID_otherMailbox: i32 = 475;
2140pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2141pub const NID_lastModifiedTime: i32 = 476;
2142pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2143pub const NID_lastModifiedBy: i32 = 477;
2144pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2145pub const NID_aRecord: i32 = 478;
2146pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2147pub const NID_pilotAttributeType27: i32 = 479;
2148pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2149pub const NID_mXRecord: i32 = 480;
2150pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2151pub const NID_nSRecord: i32 = 481;
2152pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2153pub const NID_sOARecord: i32 = 482;
2154pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2155pub const NID_cNAMERecord: i32 = 483;
2156pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2157pub const NID_associatedDomain: i32 = 484;
2158pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2159pub const NID_associatedName: i32 = 485;
2160pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2161pub const NID_homePostalAddress: i32 = 486;
2162pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2163pub const NID_personalTitle: i32 = 487;
2164pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2165pub const NID_mobileTelephoneNumber: i32 = 488;
2166pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2167pub const NID_pagerTelephoneNumber: i32 = 489;
2168pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2169pub const NID_friendlyCountryName: i32 = 490;
2170pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2171pub const NID_organizationalStatus: i32 = 491;
2172pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2173pub const NID_janetMailbox: i32 = 492;
2174pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2175pub const NID_mailPreferenceOption: i32 = 493;
2176pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2177pub const NID_buildingName: i32 = 494;
2178pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2179pub const NID_dSAQuality: i32 = 495;
2180pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2181pub const NID_singleLevelQuality: i32 = 496;
2182pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2183pub const NID_subtreeMinimumQuality: i32 = 497;
2184pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2185pub const NID_subtreeMaximumQuality: i32 = 498;
2186pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2187pub const NID_personalSignature: i32 = 499;
2188pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2189pub const NID_dITRedirect: i32 = 500;
2190pub const SN_audio: &[u8; 6] = b"audio\0";
2191pub const NID_audio: i32 = 501;
2192pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2193pub const NID_documentPublisher: i32 = 502;
2194pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2195pub const NID_x500UniqueIdentifier: i32 = 503;
2196pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2197pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2198pub const NID_mime_mhs: i32 = 504;
2199pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2200pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2201pub const NID_mime_mhs_headings: i32 = 505;
2202pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2203pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2204pub const NID_mime_mhs_bodies: i32 = 506;
2205pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2206pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2207pub const NID_id_hex_partial_message: i32 = 507;
2208pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2209pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2210pub const NID_id_hex_multipart_message: i32 = 508;
2211pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2212pub const NID_generationQualifier: i32 = 509;
2213pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2214pub const NID_pseudonym: i32 = 510;
2215pub const SN_id_set: &[u8; 7] = b"id-set\0";
2216pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2217pub const NID_id_set: i32 = 512;
2218pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2219pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2220pub const NID_set_ctype: i32 = 513;
2221pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2222pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2223pub const NID_set_msgExt: i32 = 514;
2224pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2225pub const NID_set_attr: i32 = 515;
2226pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2227pub const NID_set_policy: i32 = 516;
2228pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2229pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2230pub const NID_set_certExt: i32 = 517;
2231pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2232pub const NID_set_brand: i32 = 518;
2233pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2234pub const NID_setct_PANData: i32 = 519;
2235pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2236pub const NID_setct_PANToken: i32 = 520;
2237pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2238pub const NID_setct_PANOnly: i32 = 521;
2239pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2240pub const NID_setct_OIData: i32 = 522;
2241pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2242pub const NID_setct_PI: i32 = 523;
2243pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2244pub const NID_setct_PIData: i32 = 524;
2245pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2246pub const NID_setct_PIDataUnsigned: i32 = 525;
2247pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2248pub const NID_setct_HODInput: i32 = 526;
2249pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2250pub const NID_setct_AuthResBaggage: i32 = 527;
2251pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2252pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2253pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2254pub const NID_setct_AuthRevResBaggage: i32 = 529;
2255pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2256pub const NID_setct_CapTokenSeq: i32 = 530;
2257pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2258pub const NID_setct_PInitResData: i32 = 531;
2259pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2260pub const NID_setct_PI_TBS: i32 = 532;
2261pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2262pub const NID_setct_PResData: i32 = 533;
2263pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2264pub const NID_setct_AuthReqTBS: i32 = 534;
2265pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2266pub const NID_setct_AuthResTBS: i32 = 535;
2267pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2268pub const NID_setct_AuthResTBSX: i32 = 536;
2269pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2270pub const NID_setct_AuthTokenTBS: i32 = 537;
2271pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2272pub const NID_setct_CapTokenData: i32 = 538;
2273pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2274pub const NID_setct_CapTokenTBS: i32 = 539;
2275pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2276pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2277pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2278pub const NID_setct_AuthRevReqTBS: i32 = 541;
2279pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2280pub const NID_setct_AuthRevResData: i32 = 542;
2281pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2282pub const NID_setct_AuthRevResTBS: i32 = 543;
2283pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2284pub const NID_setct_CapReqTBS: i32 = 544;
2285pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2286pub const NID_setct_CapReqTBSX: i32 = 545;
2287pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2288pub const NID_setct_CapResData: i32 = 546;
2289pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2290pub const NID_setct_CapRevReqTBS: i32 = 547;
2291pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2292pub const NID_setct_CapRevReqTBSX: i32 = 548;
2293pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2294pub const NID_setct_CapRevResData: i32 = 549;
2295pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2296pub const NID_setct_CredReqTBS: i32 = 550;
2297pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2298pub const NID_setct_CredReqTBSX: i32 = 551;
2299pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2300pub const NID_setct_CredResData: i32 = 552;
2301pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2302pub const NID_setct_CredRevReqTBS: i32 = 553;
2303pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2304pub const NID_setct_CredRevReqTBSX: i32 = 554;
2305pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2306pub const NID_setct_CredRevResData: i32 = 555;
2307pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2308pub const NID_setct_PCertReqData: i32 = 556;
2309pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2310pub const NID_setct_PCertResTBS: i32 = 557;
2311pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2312pub const NID_setct_BatchAdminReqData: i32 = 558;
2313pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2314pub const NID_setct_BatchAdminResData: i32 = 559;
2315pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2316pub const NID_setct_CardCInitResTBS: i32 = 560;
2317pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2318pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2319pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2320pub const NID_setct_RegFormResTBS: i32 = 562;
2321pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2322pub const NID_setct_CertReqData: i32 = 563;
2323pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2324pub const NID_setct_CertReqTBS: i32 = 564;
2325pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2326pub const NID_setct_CertResData: i32 = 565;
2327pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2328pub const NID_setct_CertInqReqTBS: i32 = 566;
2329pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2330pub const NID_setct_ErrorTBS: i32 = 567;
2331pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2332pub const NID_setct_PIDualSignedTBE: i32 = 568;
2333pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2334pub const NID_setct_PIUnsignedTBE: i32 = 569;
2335pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2336pub const NID_setct_AuthReqTBE: i32 = 570;
2337pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2338pub const NID_setct_AuthResTBE: i32 = 571;
2339pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2340pub const NID_setct_AuthResTBEX: i32 = 572;
2341pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2342pub const NID_setct_AuthTokenTBE: i32 = 573;
2343pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2344pub const NID_setct_CapTokenTBE: i32 = 574;
2345pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2346pub const NID_setct_CapTokenTBEX: i32 = 575;
2347pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2348pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2349pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2350pub const NID_setct_AuthRevReqTBE: i32 = 577;
2351pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2352pub const NID_setct_AuthRevResTBE: i32 = 578;
2353pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2354pub const NID_setct_AuthRevResTBEB: i32 = 579;
2355pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2356pub const NID_setct_CapReqTBE: i32 = 580;
2357pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2358pub const NID_setct_CapReqTBEX: i32 = 581;
2359pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2360pub const NID_setct_CapResTBE: i32 = 582;
2361pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2362pub const NID_setct_CapRevReqTBE: i32 = 583;
2363pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2364pub const NID_setct_CapRevReqTBEX: i32 = 584;
2365pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2366pub const NID_setct_CapRevResTBE: i32 = 585;
2367pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2368pub const NID_setct_CredReqTBE: i32 = 586;
2369pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2370pub const NID_setct_CredReqTBEX: i32 = 587;
2371pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2372pub const NID_setct_CredResTBE: i32 = 588;
2373pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2374pub const NID_setct_CredRevReqTBE: i32 = 589;
2375pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2376pub const NID_setct_CredRevReqTBEX: i32 = 590;
2377pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2378pub const NID_setct_CredRevResTBE: i32 = 591;
2379pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2380pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2381pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2382pub const NID_setct_BatchAdminResTBE: i32 = 593;
2383pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2384pub const NID_setct_RegFormReqTBE: i32 = 594;
2385pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2386pub const NID_setct_CertReqTBE: i32 = 595;
2387pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2388pub const NID_setct_CertReqTBEX: i32 = 596;
2389pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2390pub const NID_setct_CertResTBE: i32 = 597;
2391pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2392pub const NID_setct_CRLNotificationTBS: i32 = 598;
2393pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2394pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2395pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2396pub const NID_setct_BCIDistributionTBS: i32 = 600;
2397pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2398pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2399pub const NID_setext_genCrypt: i32 = 601;
2400pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2401pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2402pub const NID_setext_miAuth: i32 = 602;
2403pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2404pub const NID_setext_pinSecure: i32 = 603;
2405pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2406pub const NID_setext_pinAny: i32 = 604;
2407pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2408pub const NID_setext_track2: i32 = 605;
2409pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2410pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2411pub const NID_setext_cv: i32 = 606;
2412pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2413pub const NID_set_policy_root: i32 = 607;
2414pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2415pub const NID_setCext_hashedRoot: i32 = 608;
2416pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2417pub const NID_setCext_certType: i32 = 609;
2418pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2419pub const NID_setCext_merchData: i32 = 610;
2420pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2421pub const NID_setCext_cCertRequired: i32 = 611;
2422pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2423pub const NID_setCext_tunneling: i32 = 612;
2424pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2425pub const NID_setCext_setExt: i32 = 613;
2426pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2427pub const NID_setCext_setQualf: i32 = 614;
2428pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2429pub const NID_setCext_PGWYcapabilities: i32 = 615;
2430pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2431pub const NID_setCext_TokenIdentifier: i32 = 616;
2432pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2433pub const NID_setCext_Track2Data: i32 = 617;
2434pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2435pub const NID_setCext_TokenType: i32 = 618;
2436pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2437pub const NID_setCext_IssuerCapabilities: i32 = 619;
2438pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2439pub const NID_setAttr_Cert: i32 = 620;
2440pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2441pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2442pub const NID_setAttr_PGWYcap: i32 = 621;
2443pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2444pub const NID_setAttr_TokenType: i32 = 622;
2445pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2446pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2447pub const NID_setAttr_IssCap: i32 = 623;
2448pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2449pub const NID_set_rootKeyThumb: i32 = 624;
2450pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2451pub const NID_set_addPolicy: i32 = 625;
2452pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2453pub const NID_setAttr_Token_EMV: i32 = 626;
2454pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2455pub const NID_setAttr_Token_B0Prime: i32 = 627;
2456pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2457pub const NID_setAttr_IssCap_CVM: i32 = 628;
2458pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2459pub const NID_setAttr_IssCap_T2: i32 = 629;
2460pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2461pub const NID_setAttr_IssCap_Sig: i32 = 630;
2462pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2463pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2464pub const NID_setAttr_GenCryptgrm: i32 = 631;
2465pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2466pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2467pub const NID_setAttr_T2Enc: i32 = 632;
2468pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2469pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2470pub const NID_setAttr_T2cleartxt: i32 = 633;
2471pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2472pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2473pub const NID_setAttr_TokICCsig: i32 = 634;
2474pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2475pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2476pub const NID_setAttr_SecDevSig: i32 = 635;
2477pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2478pub const NID_set_brand_IATA_ATA: i32 = 636;
2479pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2480pub const NID_set_brand_Diners: i32 = 637;
2481pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2482pub const NID_set_brand_AmericanExpress: i32 = 638;
2483pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2484pub const NID_set_brand_JCB: i32 = 639;
2485pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2486pub const NID_set_brand_Visa: i32 = 640;
2487pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2488pub const NID_set_brand_MasterCard: i32 = 641;
2489pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2490pub const NID_set_brand_Novus: i32 = 642;
2491pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2492pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2493pub const NID_des_cdmf: i32 = 643;
2494pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2495pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2496pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2497pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2498pub const NID_itu_t: i32 = 645;
2499pub const OBJ_itu_t: i32 = 0;
2500pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2501pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2502pub const NID_joint_iso_itu_t: i32 = 646;
2503pub const OBJ_joint_iso_itu_t: i32 = 2;
2504pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2505pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2506pub const NID_international_organizations: i32 = 647;
2507pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2508pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2509pub const NID_ms_smartcard_login: i32 = 648;
2510pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2511pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2512pub const NID_ms_upn: i32 = 649;
2513pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2514pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2515pub const NID_aes_128_cfb1: i32 = 650;
2516pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2517pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2518pub const NID_aes_192_cfb1: i32 = 651;
2519pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2520pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2521pub const NID_aes_256_cfb1: i32 = 652;
2522pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2523pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2524pub const NID_aes_128_cfb8: i32 = 653;
2525pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2526pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2527pub const NID_aes_192_cfb8: i32 = 654;
2528pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2529pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2530pub const NID_aes_256_cfb8: i32 = 655;
2531pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2532pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2533pub const NID_des_cfb1: i32 = 656;
2534pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2535pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2536pub const NID_des_cfb8: i32 = 657;
2537pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2538pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2539pub const NID_des_ede3_cfb1: i32 = 658;
2540pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2541pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2542pub const NID_des_ede3_cfb8: i32 = 659;
2543pub const SN_streetAddress: &[u8; 7] = b"street\0";
2544pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2545pub const NID_streetAddress: i32 = 660;
2546pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2547pub const NID_postalCode: i32 = 661;
2548pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2549pub const NID_id_ppl: i32 = 662;
2550pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2551pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2552pub const NID_proxyCertInfo: i32 = 663;
2553pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2554pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2555pub const NID_id_ppl_anyLanguage: i32 = 664;
2556pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2557pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2558pub const NID_id_ppl_inheritAll: i32 = 665;
2559pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2560pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2561pub const NID_name_constraints: i32 = 666;
2562pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2563pub const LN_Independent: &[u8; 12] = b"Independent\0";
2564pub const NID_Independent: i32 = 667;
2565pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2566pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2567pub const NID_sha256WithRSAEncryption: i32 = 668;
2568pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2569pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2570pub const NID_sha384WithRSAEncryption: i32 = 669;
2571pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2572pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2573pub const NID_sha512WithRSAEncryption: i32 = 670;
2574pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2575pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2576pub const NID_sha224WithRSAEncryption: i32 = 671;
2577pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2578pub const LN_sha256: &[u8; 7] = b"sha256\0";
2579pub const NID_sha256: i32 = 672;
2580pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2581pub const LN_sha384: &[u8; 7] = b"sha384\0";
2582pub const NID_sha384: i32 = 673;
2583pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2584pub const LN_sha512: &[u8; 7] = b"sha512\0";
2585pub const NID_sha512: i32 = 674;
2586pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2587pub const LN_sha224: &[u8; 7] = b"sha224\0";
2588pub const NID_sha224: i32 = 675;
2589pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2590pub const NID_identified_organization: i32 = 676;
2591pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2592pub const NID_certicom_arc: i32 = 677;
2593pub const SN_wap: &[u8; 4] = b"wap\0";
2594pub const NID_wap: i32 = 678;
2595pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2596pub const NID_wap_wsg: i32 = 679;
2597pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2598pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2599pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2600pub const NID_X9_62_onBasis: i32 = 681;
2601pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2602pub const NID_X9_62_tpBasis: i32 = 682;
2603pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2604pub const NID_X9_62_ppBasis: i32 = 683;
2605pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2606pub const NID_X9_62_c2pnb163v1: i32 = 684;
2607pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2608pub const NID_X9_62_c2pnb163v2: i32 = 685;
2609pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2610pub const NID_X9_62_c2pnb163v3: i32 = 686;
2611pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2612pub const NID_X9_62_c2pnb176v1: i32 = 687;
2613pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2614pub const NID_X9_62_c2tnb191v1: i32 = 688;
2615pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2616pub const NID_X9_62_c2tnb191v2: i32 = 689;
2617pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2618pub const NID_X9_62_c2tnb191v3: i32 = 690;
2619pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2620pub const NID_X9_62_c2onb191v4: i32 = 691;
2621pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2622pub const NID_X9_62_c2onb191v5: i32 = 692;
2623pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2624pub const NID_X9_62_c2pnb208w1: i32 = 693;
2625pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2626pub const NID_X9_62_c2tnb239v1: i32 = 694;
2627pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2628pub const NID_X9_62_c2tnb239v2: i32 = 695;
2629pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2630pub const NID_X9_62_c2tnb239v3: i32 = 696;
2631pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2632pub const NID_X9_62_c2onb239v4: i32 = 697;
2633pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2634pub const NID_X9_62_c2onb239v5: i32 = 698;
2635pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2636pub const NID_X9_62_c2pnb272w1: i32 = 699;
2637pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2638pub const NID_X9_62_c2pnb304w1: i32 = 700;
2639pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2640pub const NID_X9_62_c2tnb359v1: i32 = 701;
2641pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2642pub const NID_X9_62_c2pnb368w1: i32 = 702;
2643pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2644pub const NID_X9_62_c2tnb431r1: i32 = 703;
2645pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2646pub const NID_secp112r1: i32 = 704;
2647pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2648pub const NID_secp112r2: i32 = 705;
2649pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2650pub const NID_secp128r1: i32 = 706;
2651pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2652pub const NID_secp128r2: i32 = 707;
2653pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2654pub const NID_secp160k1: i32 = 708;
2655pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2656pub const NID_secp160r1: i32 = 709;
2657pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2658pub const NID_secp160r2: i32 = 710;
2659pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2660pub const NID_secp192k1: i32 = 711;
2661pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2662pub const NID_secp224k1: i32 = 712;
2663pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2664pub const NID_secp224r1: i32 = 713;
2665pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2666pub const NID_secp256k1: i32 = 714;
2667pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2668pub const NID_secp384r1: i32 = 715;
2669pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2670pub const NID_secp521r1: i32 = 716;
2671pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2672pub const NID_sect113r1: i32 = 717;
2673pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2674pub const NID_sect113r2: i32 = 718;
2675pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2676pub const NID_sect131r1: i32 = 719;
2677pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2678pub const NID_sect131r2: i32 = 720;
2679pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2680pub const NID_sect163k1: i32 = 721;
2681pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2682pub const NID_sect163r1: i32 = 722;
2683pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2684pub const NID_sect163r2: i32 = 723;
2685pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2686pub const NID_sect193r1: i32 = 724;
2687pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2688pub const NID_sect193r2: i32 = 725;
2689pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2690pub const NID_sect233k1: i32 = 726;
2691pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2692pub const NID_sect233r1: i32 = 727;
2693pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2694pub const NID_sect239k1: i32 = 728;
2695pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2696pub const NID_sect283k1: i32 = 729;
2697pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2698pub const NID_sect283r1: i32 = 730;
2699pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2700pub const NID_sect409k1: i32 = 731;
2701pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2702pub const NID_sect409r1: i32 = 732;
2703pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2704pub const NID_sect571k1: i32 = 733;
2705pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2706pub const NID_sect571r1: i32 = 734;
2707pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2708pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2709pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2710pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2711pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2712pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2713pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2714pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2715pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2716pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2717pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2718pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2719pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2720pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2721pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2722pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2723pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2724pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2725pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2726pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2727pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2728pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2729pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2730pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2731pub const NID_any_policy: i32 = 746;
2732pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2733pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2734pub const NID_policy_mappings: i32 = 747;
2735pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2736pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2737pub const NID_inhibit_any_policy: i32 = 748;
2738pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2739pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2740pub const NID_ipsec3: i32 = 749;
2741pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2742pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2743pub const NID_ipsec4: i32 = 750;
2744pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2745pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2746pub const NID_camellia_128_cbc: i32 = 751;
2747pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2748pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2749pub const NID_camellia_192_cbc: i32 = 752;
2750pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2751pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2752pub const NID_camellia_256_cbc: i32 = 753;
2753pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2754pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2755pub const NID_camellia_128_ecb: i32 = 754;
2756pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2757pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2758pub const NID_camellia_192_ecb: i32 = 755;
2759pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2760pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2761pub const NID_camellia_256_ecb: i32 = 756;
2762pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2763pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2764pub const NID_camellia_128_cfb128: i32 = 757;
2765pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2766pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2767pub const NID_camellia_192_cfb128: i32 = 758;
2768pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2769pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2770pub const NID_camellia_256_cfb128: i32 = 759;
2771pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2772pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2773pub const NID_camellia_128_cfb1: i32 = 760;
2774pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2775pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2776pub const NID_camellia_192_cfb1: i32 = 761;
2777pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2778pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2779pub const NID_camellia_256_cfb1: i32 = 762;
2780pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2781pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2782pub const NID_camellia_128_cfb8: i32 = 763;
2783pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2784pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2785pub const NID_camellia_192_cfb8: i32 = 764;
2786pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2787pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2788pub const NID_camellia_256_cfb8: i32 = 765;
2789pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2790pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2791pub const NID_camellia_128_ofb128: i32 = 766;
2792pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2793pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2794pub const NID_camellia_192_ofb128: i32 = 767;
2795pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2796pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2797pub const NID_camellia_256_ofb128: i32 = 768;
2798pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2799pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2800pub const NID_subject_directory_attributes: i32 = 769;
2801pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2802pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2803pub const NID_issuing_distribution_point: i32 = 770;
2804pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2805pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2806pub const NID_certificate_issuer: i32 = 771;
2807pub const SN_kisa: &[u8; 5] = b"KISA\0";
2808pub const LN_kisa: &[u8; 5] = b"kisa\0";
2809pub const NID_kisa: i32 = 773;
2810pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2811pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2812pub const NID_seed_ecb: i32 = 776;
2813pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2814pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2815pub const NID_seed_cbc: i32 = 777;
2816pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2817pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2818pub const NID_seed_ofb128: i32 = 778;
2819pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2820pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2821pub const NID_seed_cfb128: i32 = 779;
2822pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2823pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2824pub const NID_hmac_md5: i32 = 780;
2825pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2826pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2827pub const NID_hmac_sha1: i32 = 781;
2828pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2829pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2830pub const NID_id_PasswordBasedMAC: i32 = 782;
2831pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2832pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2833pub const NID_id_DHBasedMac: i32 = 783;
2834pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2835pub const NID_id_it_suppLangTags: i32 = 784;
2836pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2837pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2838pub const NID_caRepository: i32 = 785;
2839pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2840pub const NID_id_smime_ct_compressedData: i32 = 786;
2841pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2842pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2843pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2844pub const NID_id_aes128_wrap: i32 = 788;
2845pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2846pub const NID_id_aes192_wrap: i32 = 789;
2847pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2848pub const NID_id_aes256_wrap: i32 = 790;
2849pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2850pub const NID_ecdsa_with_Recommended: i32 = 791;
2851pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2852pub const NID_ecdsa_with_Specified: i32 = 792;
2853pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2854pub const NID_ecdsa_with_SHA224: i32 = 793;
2855pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2856pub const NID_ecdsa_with_SHA256: i32 = 794;
2857pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2858pub const NID_ecdsa_with_SHA384: i32 = 795;
2859pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2860pub const NID_ecdsa_with_SHA512: i32 = 796;
2861pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2862pub const NID_hmacWithMD5: i32 = 797;
2863pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2864pub const NID_hmacWithSHA224: i32 = 798;
2865pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2866pub const NID_hmacWithSHA256: i32 = 799;
2867pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2868pub const NID_hmacWithSHA384: i32 = 800;
2869pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2870pub const NID_hmacWithSHA512: i32 = 801;
2871pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2872pub const NID_dsa_with_SHA224: i32 = 802;
2873pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2874pub const NID_dsa_with_SHA256: i32 = 803;
2875pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2876pub const NID_whirlpool: i32 = 804;
2877pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2878pub const NID_cryptopro: i32 = 805;
2879pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2880pub const NID_cryptocom: i32 = 806;
2881pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2882    b"id-GostR3411-94-with-GostR3410-2001\0";
2883pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2884    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2885pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2886pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2887pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2888    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2889pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2890pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2891pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2892pub const NID_id_GostR3411_94: i32 = 809;
2893pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2894pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2895pub const NID_id_HMACGostR3411_94: i32 = 810;
2896pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2897pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2898pub const NID_id_GostR3410_2001: i32 = 811;
2899pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2900pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2901pub const NID_id_GostR3410_94: i32 = 812;
2902pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2903pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2904pub const NID_id_Gost28147_89: i32 = 813;
2905pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2906pub const NID_gost89_cnt: i32 = 814;
2907pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2908pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2909pub const NID_id_Gost28147_89_MAC: i32 = 815;
2910pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2911pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2912pub const NID_id_GostR3411_94_prf: i32 = 816;
2913pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2914pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2915pub const NID_id_GostR3410_2001DH: i32 = 817;
2916pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2917pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2918pub const NID_id_GostR3410_94DH: i32 = 818;
2919pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2920    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2921pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2922pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2923pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2924pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2925pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2926pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2927pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2928pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2929pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2930pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2931    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2932pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2933pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2934    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2935pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2936pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2937    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2938pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2939pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2940    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2941pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2942pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2943    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2944pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2945pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2946    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2947pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2948pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2949    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2950pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2951pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2952pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2953pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2954    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2955pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2956pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2957    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2958pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2959pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2960    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2961pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2962pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2963    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2964pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2965pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2966    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2967pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2968pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2969    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2970pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2971pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2972    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2973pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2974pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2975pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2976pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2977    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2978pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2979pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2980    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2981pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2982pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2983    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2984pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2985pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2986    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2987pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2988pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2989    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2990pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2991pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2992pub const NID_id_GostR3410_94_a: i32 = 845;
2993pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2994pub const NID_id_GostR3410_94_aBis: i32 = 846;
2995pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2996pub const NID_id_GostR3410_94_b: i32 = 847;
2997pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2998pub const NID_id_GostR3410_94_bBis: i32 = 848;
2999pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
3000pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
3001pub const NID_id_Gost28147_89_cc: i32 = 849;
3002pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
3003pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
3004pub const NID_id_GostR3410_94_cc: i32 = 850;
3005pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
3006pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
3007pub const NID_id_GostR3410_2001_cc: i32 = 851;
3008pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
3009    b"id-GostR3411-94-with-GostR3410-94-cc\0";
3010pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
3011    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
3012pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
3013pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
3014    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
3015pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
3016    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
3017pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
3018pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
3019pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
3020    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
3021pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
3022pub const SN_hmac: &[u8; 5] = b"HMAC\0";
3023pub const LN_hmac: &[u8; 5] = b"hmac\0";
3024pub const NID_hmac: i32 = 855;
3025pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
3026pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
3027pub const NID_LocalKeySet: i32 = 856;
3028pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
3029pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
3030pub const NID_freshest_crl: i32 = 857;
3031pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
3032pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
3033pub const NID_id_on_permanentIdentifier: i32 = 858;
3034pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
3035pub const NID_searchGuide: i32 = 859;
3036pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
3037pub const NID_businessCategory: i32 = 860;
3038pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
3039pub const NID_postalAddress: i32 = 861;
3040pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
3041pub const NID_postOfficeBox: i32 = 862;
3042pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
3043pub const NID_physicalDeliveryOfficeName: i32 = 863;
3044pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
3045pub const NID_telephoneNumber: i32 = 864;
3046pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
3047pub const NID_telexNumber: i32 = 865;
3048pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
3049pub const NID_teletexTerminalIdentifier: i32 = 866;
3050pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
3051pub const NID_facsimileTelephoneNumber: i32 = 867;
3052pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
3053pub const NID_x121Address: i32 = 868;
3054pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
3055pub const NID_internationaliSDNNumber: i32 = 869;
3056pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
3057pub const NID_registeredAddress: i32 = 870;
3058pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
3059pub const NID_destinationIndicator: i32 = 871;
3060pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
3061pub const NID_preferredDeliveryMethod: i32 = 872;
3062pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
3063pub const NID_presentationAddress: i32 = 873;
3064pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3065pub const NID_supportedApplicationContext: i32 = 874;
3066pub const SN_member: &[u8; 7] = b"member\0";
3067pub const NID_member: i32 = 875;
3068pub const SN_owner: &[u8; 6] = b"owner\0";
3069pub const NID_owner: i32 = 876;
3070pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3071pub const NID_roleOccupant: i32 = 877;
3072pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3073pub const NID_seeAlso: i32 = 878;
3074pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3075pub const NID_userPassword: i32 = 879;
3076pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3077pub const NID_userCertificate: i32 = 880;
3078pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3079pub const NID_cACertificate: i32 = 881;
3080pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3081pub const NID_authorityRevocationList: i32 = 882;
3082pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3083pub const NID_certificateRevocationList: i32 = 883;
3084pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3085pub const NID_crossCertificatePair: i32 = 884;
3086pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3087pub const NID_enhancedSearchGuide: i32 = 885;
3088pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3089pub const NID_protocolInformation: i32 = 886;
3090pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3091pub const NID_distinguishedName: i32 = 887;
3092pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3093pub const NID_uniqueMember: i32 = 888;
3094pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3095pub const NID_houseIdentifier: i32 = 889;
3096pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3097pub const NID_supportedAlgorithms: i32 = 890;
3098pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3099pub const NID_deltaRevocationList: i32 = 891;
3100pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3101pub const NID_dmdName: i32 = 892;
3102pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3103pub const NID_id_alg_PWRI_KEK: i32 = 893;
3104pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3105pub const LN_cmac: &[u8; 5] = b"cmac\0";
3106pub const NID_cmac: i32 = 894;
3107pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3108pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3109pub const NID_aes_128_gcm: i32 = 895;
3110pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3111pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3112pub const NID_aes_128_ccm: i32 = 896;
3113pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3114pub const NID_id_aes128_wrap_pad: i32 = 897;
3115pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3116pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3117pub const NID_aes_192_gcm: i32 = 898;
3118pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3119pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3120pub const NID_aes_192_ccm: i32 = 899;
3121pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3122pub const NID_id_aes192_wrap_pad: i32 = 900;
3123pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3124pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3125pub const NID_aes_256_gcm: i32 = 901;
3126pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3127pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3128pub const NID_aes_256_ccm: i32 = 902;
3129pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3130pub const NID_id_aes256_wrap_pad: i32 = 903;
3131pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3132pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3133pub const NID_aes_128_ctr: i32 = 904;
3134pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3135pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3136pub const NID_aes_192_ctr: i32 = 905;
3137pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3138pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3139pub const NID_aes_256_ctr: i32 = 906;
3140pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3141pub const NID_id_camellia128_wrap: i32 = 907;
3142pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3143pub const NID_id_camellia192_wrap: i32 = 908;
3144pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3145pub const NID_id_camellia256_wrap: i32 = 909;
3146pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3147pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3148pub const NID_anyExtendedKeyUsage: i32 = 910;
3149pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3150pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3151pub const NID_mgf1: i32 = 911;
3152pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3153pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3154pub const NID_rsassaPss: i32 = 912;
3155pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3156pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3157pub const NID_aes_128_xts: i32 = 913;
3158pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3159pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3160pub const NID_aes_256_xts: i32 = 914;
3161pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3162pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3163pub const NID_rc4_hmac_md5: i32 = 915;
3164pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3165pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3166pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3167pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3168pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3169pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3170pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3171pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3172pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3173pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3174pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3175pub const NID_rsaesOaep: i32 = 919;
3176pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3177pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3178pub const NID_dhpublicnumber: i32 = 920;
3179pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3180pub const NID_brainpoolP160r1: i32 = 921;
3181pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3182pub const NID_brainpoolP160t1: i32 = 922;
3183pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3184pub const NID_brainpoolP192r1: i32 = 923;
3185pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3186pub const NID_brainpoolP192t1: i32 = 924;
3187pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3188pub const NID_brainpoolP224r1: i32 = 925;
3189pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3190pub const NID_brainpoolP224t1: i32 = 926;
3191pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3192pub const NID_brainpoolP256r1: i32 = 927;
3193pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3194pub const NID_brainpoolP256t1: i32 = 928;
3195pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3196pub const NID_brainpoolP320r1: i32 = 929;
3197pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3198pub const NID_brainpoolP320t1: i32 = 930;
3199pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3200pub const NID_brainpoolP384r1: i32 = 931;
3201pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3202pub const NID_brainpoolP384t1: i32 = 932;
3203pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3204pub const NID_brainpoolP512r1: i32 = 933;
3205pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3206pub const NID_brainpoolP512t1: i32 = 934;
3207pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3208pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3209pub const NID_pSpecified: i32 = 935;
3210pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3211pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3212pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3213    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3214pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3215pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3216    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3217pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3218pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3219    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3220pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3221pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3222    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3223pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3224pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3225    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3226pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3227pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3228    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3229pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3230pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3231    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3232pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3233pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3234    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3235pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3236pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3237    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3238pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3239pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3240pub const NID_dh_std_kdf: i32 = 946;
3241pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3242pub const NID_dh_cofactor_kdf: i32 = 947;
3243pub const SN_X25519: &[u8; 7] = b"X25519\0";
3244pub const NID_X25519: i32 = 948;
3245pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3246pub const NID_ED25519: i32 = 949;
3247pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3248pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3249pub const NID_chacha20_poly1305: i32 = 950;
3250pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3251pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3252pub const NID_kx_rsa: i32 = 951;
3253pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3254pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3255pub const NID_kx_ecdhe: i32 = 952;
3256pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3257pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3258pub const NID_kx_psk: i32 = 953;
3259pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3260pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3261pub const NID_auth_rsa: i32 = 954;
3262pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3263pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3264pub const NID_auth_ecdsa: i32 = 955;
3265pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3266pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3267pub const NID_auth_psk: i32 = 956;
3268pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3269pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3270pub const NID_kx_any: i32 = 957;
3271pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3272pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3273pub const NID_auth_any: i32 = 958;
3274pub const SN_ED448: &[u8; 6] = b"ED448\0";
3275pub const NID_ED448: i32 = 960;
3276pub const SN_X448: &[u8; 5] = b"X448\0";
3277pub const NID_X448: i32 = 961;
3278pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3279pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3280pub const NID_sha512_256: i32 = 962;
3281pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3282pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3283pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3284pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3285pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3286pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3287pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3288pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3289pub const NID_sha3_224: i32 = 965;
3290pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3291pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3292pub const NID_sha3_256: i32 = 966;
3293pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3294pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3295pub const NID_sha3_384: i32 = 967;
3296pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3297pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3298pub const NID_sha3_512: i32 = 968;
3299pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3300pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3301pub const NID_hkdf: i32 = 969;
3302pub const SN_kem: &[u8; 4] = b"KEM\0";
3303pub const LN_kem: &[u8; 4] = b"kem\0";
3304pub const NID_kem: i32 = 970;
3305pub const SN_KYBER512: &[u8; 9] = b"KYBER512\0";
3306pub const NID_KYBER512: i32 = 971;
3307pub const SN_KYBER512_R3: &[u8; 12] = b"KYBER512_R3\0";
3308pub const NID_KYBER512_R3: i32 = 972;
3309pub const SN_KYBER768_R3: &[u8; 12] = b"KYBER768_R3\0";
3310pub const NID_KYBER768_R3: i32 = 973;
3311pub const SN_KYBER1024_R3: &[u8; 13] = b"KYBER1024_R3\0";
3312pub const NID_KYBER1024_R3: i32 = 974;
3313pub const SN_DILITHIUM3_R3: &[u8; 14] = b"DILITHIUM3_R3\0";
3314pub const NID_DILITHIUM3_R3: i32 = 975;
3315pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3316pub const NID_ffdhe2048: i32 = 976;
3317pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3318pub const NID_ffdhe4096: i32 = 977;
3319pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3320pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3321pub const NID_sha512_224: i32 = 978;
3322pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3323pub const LN_shake128: &[u8; 9] = b"shake128\0";
3324pub const NID_shake128: i32 = 979;
3325pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3326pub const LN_shake256: &[u8; 9] = b"shake256\0";
3327pub const NID_shake256: i32 = 980;
3328pub const SN_SecP256r1Kyber768Draft00: &[u8; 25] = b"SecP256r1Kyber768Draft00\0";
3329pub const NID_SecP256r1Kyber768Draft00: i32 = 981;
3330pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3331pub const NID_X25519Kyber768Draft00: i32 = 982;
3332pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3333pub const NID_ffdhe3072: i32 = 983;
3334pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3335pub const NID_ffdhe8192: i32 = 984;
3336pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3337pub const NID_MLKEM512IPD: i32 = 985;
3338pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3339pub const NID_MLKEM768IPD: i32 = 986;
3340pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3341pub const NID_MLKEM1024IPD: i32 = 987;
3342pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3343pub const NID_MLKEM512: i32 = 988;
3344pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3345pub const NID_MLKEM768: i32 = 989;
3346pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3347pub const NID_MLKEM1024: i32 = 990;
3348pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3349pub const NID_X25519MLKEM768: i32 = 991;
3350pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3351pub const NID_SecP256r1MLKEM768: i32 = 992;
3352pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
3353pub const NID_PQDSA: i32 = 993;
3354pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
3355pub const NID_MLDSA44: i32 = 994;
3356pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
3357pub const NID_MLDSA65: i32 = 995;
3358pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
3359pub const NID_MLDSA87: i32 = 996;
3360pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
3361pub const NID_ED25519ph: i32 = 997;
3362pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
3363pub const NID_SecP384r1MLKEM1024: i32 = 998;
3364pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3365pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3366pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3367pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3368pub const MD5_CBLOCK: i32 = 64;
3369pub const MD5_DIGEST_LENGTH: i32 = 16;
3370pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3371pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3372pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3373pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3374pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3375pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3376pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3377pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3378pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3379pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3380pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3381pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3382pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3383pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
3384pub const EVP_PKEY_NONE: i32 = 0;
3385pub const EVP_PKEY_RSA: i32 = 6;
3386pub const EVP_PKEY_RSA_PSS: i32 = 912;
3387pub const EVP_PKEY_EC: i32 = 408;
3388pub const EVP_PKEY_ED25519: i32 = 949;
3389pub const EVP_PKEY_ED25519PH: i32 = 997;
3390pub const EVP_PKEY_X25519: i32 = 948;
3391pub const EVP_PKEY_HKDF: i32 = 969;
3392pub const EVP_PKEY_HMAC: i32 = 855;
3393pub const EVP_PKEY_DH: i32 = 28;
3394pub const EVP_PKEY_PQDSA: i32 = 993;
3395pub const EVP_PKEY_KEM: i32 = 970;
3396pub const PKCS5_SALT_LEN: i32 = 8;
3397pub const EVP_PKEY_RSA2: i32 = 19;
3398pub const EVP_PKEY_X448: i32 = 961;
3399pub const EVP_PKEY_ED448: i32 = 960;
3400pub const EVP_PKEY_DSA: i32 = 116;
3401pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3402pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3403pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3404pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3405pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3406pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 32;
3407pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 32;
3408pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 32;
3409pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3410pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3411pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3412pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3413pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3414pub const HRSS_SAMPLE_BYTES: i32 = 700;
3415pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3416pub const HRSS_ENCAP_BYTES: i32 = 1400;
3417pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3418pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3419pub const HRSS_KEY_BYTES: i32 = 32;
3420pub const HRSS_POLY3_BYTES: i32 = 140;
3421pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3422pub const MD4_CBLOCK: i32 = 64;
3423pub const MD4_DIGEST_LENGTH: i32 = 16;
3424pub const PKCS7_DETACHED: i32 = 64;
3425pub const PKCS7_BINARY: i32 = 128;
3426pub const PKCS7_NOINTERN: i32 = 16;
3427pub const PKCS7_NOATTR: i32 = 256;
3428pub const PKCS7_NOCERTS: i32 = 2;
3429pub const PKCS7_NOVERIFY: i32 = 32;
3430pub const PKCS7_TEXT: i32 = 1;
3431pub const PKCS7_NOSIGS: i32 = 4;
3432pub const PKCS7_NOCHAIN: i32 = 8;
3433pub const PKCS7_NOSMIMECAP: i32 = 512;
3434pub const PKCS7_STREAM: i32 = 4096;
3435pub const PKCS7_PARTIAL: i32 = 16384;
3436pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3437pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3438pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3439pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3440pub const PKCS7_R_INVALID_NULL_POINTER: i32 = 104;
3441pub const PKCS7_R_NO_CONTENT: i32 = 105;
3442pub const PKCS7_R_CIPHER_NOT_INITIALIZED: i32 = 106;
3443pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 107;
3444pub const PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST: i32 = 108;
3445pub const PKCS7_R_UNABLE_TO_FIND_MEM_BIO: i32 = 109;
3446pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 110;
3447pub const PKCS7_R_CONTENT_AND_DATA_PRESENT: i32 = 111;
3448pub const PKCS7_R_NO_SIGNATURES_ON_DATA: i32 = 112;
3449pub const PKCS7_R_CERTIFICATE_VERIFY_ERROR: i32 = 113;
3450pub const PKCS7_R_SMIME_TEXT_ERROR: i32 = 114;
3451pub const PKCS7_R_SIGNATURE_FAILURE: i32 = 115;
3452pub const PKCS7_R_NO_SIGNERS: i32 = 116;
3453pub const PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 117;
3454pub const PKCS7_R_ERROR_SETTING_CIPHER: i32 = 118;
3455pub const PKCS7_R_ERROR_ADDING_RECIPIENT: i32 = 119;
3456pub const PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 120;
3457pub const PKCS7_R_DECRYPT_ERROR: i32 = 121;
3458pub const PKCS7_R_PKCS7_DATASIGN: i32 = 122;
3459pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 123;
3460pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 124;
3461pub const PKCS7_R_UNKNOWN_DIGEST_TYPE: i32 = 125;
3462pub const PKCS7_R_INVALID_SIGNED_DATA_TYPE: i32 = 126;
3463pub const PKCS7_R_UNSUPPORTED_CIPHER_TYPE: i32 = 127;
3464pub const PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE: i32 = 128;
3465pub const PKCS7_R_DIGEST_FAILURE: i32 = 129;
3466pub const PKCS7_R_WRONG_PKCS7_TYPE: i32 = 130;
3467pub const PKCS7_R_PKCS7_ADD_SIGNER_ERROR: i32 = 131;
3468pub const PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR: i32 = 132;
3469pub const PKCS7_R_NO_DEFAULT_DIGEST: i32 = 133;
3470pub const PKCS7_R_CERT_MUST_BE_RSA: i32 = 134;
3471pub const PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE: i32 = 135;
3472pub const RSA_PKCS1_PADDING: i32 = 1;
3473pub const RSA_NO_PADDING: i32 = 3;
3474pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3475pub const RSA_X931_PADDING: i32 = 5;
3476pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3477pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3478pub const RSA_FLAG_OPAQUE: i32 = 1;
3479pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3480pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3481pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3482pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3483pub const RSA_3: i32 = 3;
3484pub const RSA_F4: i32 = 65537;
3485pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3486pub const RSA_R_BAD_ENCODING: i32 = 100;
3487pub const RSA_R_BAD_E_VALUE: i32 = 101;
3488pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3489pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3490pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3491pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3492pub const RSA_R_BAD_VERSION: i32 = 106;
3493pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3494pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3495pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3496pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3497pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3498pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3499pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3500pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3501pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3502pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3503pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3504pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3505pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3506pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3507pub const RSA_R_ENCODE_ERROR: i32 = 121;
3508pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3509pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3510pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3511pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3512pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3513pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3514pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3515pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3516pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3517pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3518pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3519pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3520pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3521pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3522pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3523pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3524pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3525pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3526pub const RSA_R_TOO_LONG: i32 = 140;
3527pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3528pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3529pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3530pub const RSA_R_VALUE_MISSING: i32 = 144;
3531pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3532pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3533pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3534pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3535pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3536pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3537pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3538pub const X509V3_R_BAD_OBJECT: i32 = 101;
3539pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3540pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3541pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3542pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3543pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3544pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3545pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3546pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3547pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3548pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3549pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3550pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3551pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3552pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3553pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3554pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3555pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3556pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3557pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3558pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3559pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3560pub const X509V3_R_INVALID_NAME: i32 = 123;
3561pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3562pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3563pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3564pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3565pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3566pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3567pub const X509V3_R_INVALID_OPTION: i32 = 130;
3568pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3569pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3570pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3571pub const X509V3_R_INVALID_SECTION: i32 = 134;
3572pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3573pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3574pub const X509V3_R_MISSING_VALUE: i32 = 137;
3575pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3576pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3577pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3578pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3579pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3580pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3581pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3582pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3583pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3584pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3585pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3586pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3587pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3588pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3589pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3590pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3591pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3592pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3593pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3594pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3595pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3596pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3597pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3598pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3599pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3600pub const X509V3_R_INVALID_VALUE: i32 = 163;
3601pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3602pub const X509_VERSION_1: i32 = 0;
3603pub const X509_VERSION_2: i32 = 1;
3604pub const X509_VERSION_3: i32 = 2;
3605pub const EXFLAG_BCONS: i32 = 1;
3606pub const EXFLAG_KUSAGE: i32 = 2;
3607pub const EXFLAG_XKUSAGE: i32 = 4;
3608pub const EXFLAG_NSCERT: i32 = 8;
3609pub const EXFLAG_CA: i32 = 16;
3610pub const EXFLAG_SI: i32 = 32;
3611pub const EXFLAG_V1: i32 = 64;
3612pub const EXFLAG_INVALID: i32 = 128;
3613pub const EXFLAG_SET: i32 = 256;
3614pub const EXFLAG_CRITICAL: i32 = 512;
3615pub const EXFLAG_SS: i32 = 8192;
3616pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3617pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3618pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3619pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3620pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3621pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3622pub const X509v3_KU_CRL_SIGN: i32 = 2;
3623pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3624pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3625pub const XKU_SSL_SERVER: i32 = 1;
3626pub const XKU_SSL_CLIENT: i32 = 2;
3627pub const XKU_SMIME: i32 = 4;
3628pub const XKU_CODE_SIGN: i32 = 8;
3629pub const XKU_SGC: i32 = 16;
3630pub const XKU_OCSP_SIGN: i32 = 32;
3631pub const XKU_TIMESTAMP: i32 = 64;
3632pub const XKU_DVCS: i32 = 128;
3633pub const XKU_ANYEKU: i32 = 256;
3634pub const X509_SIG_INFO_VALID: i32 = 1;
3635pub const X509_SIG_INFO_TLS: i32 = 2;
3636pub const X509_CRL_VERSION_1: i32 = 0;
3637pub const X509_CRL_VERSION_2: i32 = 1;
3638pub const X509_REQ_VERSION_1: i32 = 0;
3639pub const X509V3_ADD_OP_MASK: i32 = 15;
3640pub const X509V3_ADD_DEFAULT: i32 = 0;
3641pub const X509V3_ADD_APPEND: i32 = 1;
3642pub const X509V3_ADD_REPLACE: i32 = 2;
3643pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3644pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3645pub const X509V3_ADD_DELETE: i32 = 5;
3646pub const X509V3_ADD_SILENT: i32 = 16;
3647pub const GEN_OTHERNAME: i32 = 0;
3648pub const GEN_EMAIL: i32 = 1;
3649pub const GEN_DNS: i32 = 2;
3650pub const GEN_X400: i32 = 3;
3651pub const GEN_DIRNAME: i32 = 4;
3652pub const GEN_EDIPARTY: i32 = 5;
3653pub const GEN_URI: i32 = 6;
3654pub const GEN_IPADD: i32 = 7;
3655pub const GEN_RID: i32 = 8;
3656pub const X509_LU_NONE: i32 = 0;
3657pub const X509_LU_X509: i32 = 1;
3658pub const X509_LU_CRL: i32 = 2;
3659pub const X509_LU_PKEY: i32 = 3;
3660pub const X509_V_OK: i32 = 0;
3661pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3662pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3663pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3664pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3665pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3666pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3667pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3668pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3669pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3670pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3671pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3672pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3673pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3674pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3675pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3676pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3677pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3678pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3679pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3680pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3681pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3682pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3683pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3684pub const X509_V_ERR_INVALID_CA: i32 = 24;
3685pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3686pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3687pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3688pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3689pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3690pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3691pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3692pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3693pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3694pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3695pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3696pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3697pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3698pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3699pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3700pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3701pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3702pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3703pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3704pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3705pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3706pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3707pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3708pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3709pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3710pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3711pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3712pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3713pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3714pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3715pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3716pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3717pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3718pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3719pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3720pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3721pub const X509_V_ERR_EE_KEY_TOO_SMALL: i32 = 68;
3722pub const X509_V_ERR_CA_KEY_TOO_SMALL: i32 = 69;
3723pub const X509_V_ERR_CA_MD_TOO_WEAK: i32 = 70;
3724pub const X509_V_UNABLE_TO_GET_CERTS_PUBLIC_KEY: i32 = 71;
3725pub const X509_V_ERR_EC_KEY_EXPLICIT_PARAMS: i32 = 72;
3726pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3727pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3728pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3729pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3730pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3731pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3732pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3733pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3734pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3735pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3736pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3737pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3738pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3739pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3740pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3741pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
3742pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3743pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
3744pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3745pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 1;
3746pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3747pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 16;
3748pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3749pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3750pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3751pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3752pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3753pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3754pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3755pub const X509_PURPOSE_ANY: i32 = 7;
3756pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3757pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3758pub const X509_TRUST_COMPAT: i32 = 1;
3759pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3760pub const X509_TRUST_SSL_SERVER: i32 = 3;
3761pub const X509_TRUST_EMAIL: i32 = 4;
3762pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3763pub const X509_TRUST_OCSP_SIGN: i32 = 6;
3764pub const X509_TRUST_OCSP_REQUEST: i32 = 7;
3765pub const X509_TRUST_TSA: i32 = 8;
3766pub const X509_FILETYPE_PEM: i32 = 1;
3767pub const X509_FILETYPE_ASN1: i32 = 2;
3768pub const X509_FILETYPE_DEFAULT: i32 = 3;
3769pub const X509_L_FILE_LOAD: i32 = 1;
3770pub const X509_L_ADD_DIR: i32 = 2;
3771pub const X509_FLAG_COMPAT: i32 = 0;
3772pub const X509_FLAG_NO_HEADER: i32 = 1;
3773pub const X509_FLAG_NO_VERSION: i32 = 2;
3774pub const X509_FLAG_NO_SERIAL: i32 = 4;
3775pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3776pub const X509_FLAG_NO_ISSUER: i32 = 16;
3777pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3778pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3779pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3780pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3781pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3782pub const X509_FLAG_NO_AUX: i32 = 1024;
3783pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3784pub const X509_FLAG_NO_IDS: i32 = 4096;
3785pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3786pub const X509V3_EXT_DEFAULT: i32 = 0;
3787pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3788pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3789pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3790pub const XN_FLAG_COMPAT: i32 = 0;
3791pub const XN_FLAG_SEP_MASK: i32 = 983040;
3792pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3793pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3794pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3795pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3796pub const XN_FLAG_DN_REV: i32 = 1048576;
3797pub const XN_FLAG_FN_MASK: i32 = 6291456;
3798pub const XN_FLAG_FN_SN: i32 = 0;
3799pub const XN_FLAG_FN_LN: i32 = 2097152;
3800pub const XN_FLAG_FN_OID: i32 = 4194304;
3801pub const XN_FLAG_FN_NONE: i32 = 6291456;
3802pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3803pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3804pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
3805pub const XN_FLAG_RFC2253: i32 = 17892119;
3806pub const XN_FLAG_ONELINE: i32 = 8520479;
3807pub const XN_FLAG_MULTILINE: i32 = 44302342;
3808pub const X509_TRUST_TRUSTED: i32 = 1;
3809pub const X509_TRUST_REJECTED: i32 = 2;
3810pub const X509_TRUST_UNTRUSTED: i32 = 3;
3811pub const X509V3_EXT_MULTILINE: i32 = 4;
3812pub const X509V3_CTX_TEST: i32 = 1;
3813pub const X509V3_CTX_REPLACE: i32 = 2;
3814pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3815pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3816pub const NS_SSL_CLIENT: i32 = 128;
3817pub const NS_SSL_SERVER: i32 = 64;
3818pub const NS_SMIME: i32 = 32;
3819pub const NS_OBJSIGN: i32 = 16;
3820pub const NS_SSL_CA: i32 = 4;
3821pub const NS_SMIME_CA: i32 = 2;
3822pub const NS_OBJSIGN_CA: i32 = 1;
3823pub const NS_ANY_CA: i32 = 7;
3824pub const X509_V_FLAG_POLICY_MASK: i32 = 1920;
3825pub const X509_R_AKID_MISMATCH: i32 = 100;
3826pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3827pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3828pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3829pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3830pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3831pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3832pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3833pub const X509_R_IDP_MISMATCH: i32 = 108;
3834pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3835pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3836pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3837pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3838pub const X509_R_INVALID_TRUST: i32 = 113;
3839pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3840pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3841pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3842pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3843pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3844pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3845pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3846pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3847pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3848pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3849pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3850pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3851pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3852pub const X509_R_SHOULD_RETRY: i32 = 127;
3853pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3854pub const X509_R_UNKNOWN_NID: i32 = 129;
3855pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3856pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3857pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3858pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3859pub const X509_R_WRONG_TYPE: i32 = 134;
3860pub const X509_R_NAME_TOO_LONG: i32 = 135;
3861pub const X509_R_INVALID_PARAMETER: i32 = 136;
3862pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3863pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3864pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3865pub const X509_R_INVALID_VERSION: i32 = 140;
3866pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3867pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3868pub const X509_R_NO_CRL_FOUND: i32 = 143;
3869pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3870pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
3871pub const CRL_REASON_NONE: i32 = -1;
3872pub const CRL_REASON_UNSPECIFIED: i32 = 0;
3873pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
3874pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
3875pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
3876pub const CRL_REASON_SUPERSEDED: i32 = 4;
3877pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
3878pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
3879pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
3880pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
3881pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
3882pub const KU_DIGITAL_SIGNATURE: i32 = 128;
3883pub const KU_NON_REPUDIATION: i32 = 64;
3884pub const KU_KEY_ENCIPHERMENT: i32 = 32;
3885pub const KU_DATA_ENCIPHERMENT: i32 = 16;
3886pub const KU_KEY_AGREEMENT: i32 = 8;
3887pub const KU_KEY_CERT_SIGN: i32 = 4;
3888pub const KU_CRL_SIGN: i32 = 2;
3889pub const KU_ENCIPHER_ONLY: i32 = 1;
3890pub const KU_DECIPHER_ONLY: i32 = 32768;
3891pub const OCSP_REVOKED_STATUS_NOSTATUS: i32 = -1;
3892pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
3893pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
3894pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
3895pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
3896pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
3897pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
3898pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
3899pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
3900pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
3901pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
3902pub const OCSP_NOCERTS: i32 = 1;
3903pub const OCSP_NOINTERN: i32 = 2;
3904pub const OCSP_NOCHAIN: i32 = 8;
3905pub const OCSP_NOVERIFY: i32 = 16;
3906pub const OCSP_NOEXPLICIT: i32 = 32;
3907pub const OCSP_TRUSTOTHER: i32 = 512;
3908pub const OCSP_RESPID_KEY: i32 = 1024;
3909pub const OCSP_NOTIME: i32 = 2048;
3910pub const OCSP_NOSIGS: i32 = 0;
3911pub const OCSP_NOCASIGN: i32 = 0;
3912pub const OCSP_NODELEGATED: i32 = 0;
3913pub const OCSP_NOCHECKS: i32 = 0;
3914pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
3915pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
3916pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
3917pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
3918pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
3919pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
3920pub const V_OCSP_RESPID_NAME: i32 = 0;
3921pub const V_OCSP_RESPID_KEY: i32 = 1;
3922pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
3923pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
3924pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
3925pub const OCSP_NONCE_EQUAL: i32 = 1;
3926pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
3927pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
3928pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
3929pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
3930pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
3931pub const OCSP_R_DIGEST_ERR: i32 = 102;
3932pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
3933pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
3934pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
3935pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
3936pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
3937pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
3938pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
3939pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
3940pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
3941pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
3942pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
3943pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
3944pub const OCSP_R_UNKNOWN_NID: i32 = 120;
3945pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
3946pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
3947pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
3948pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
3949pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
3950pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
3951pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
3952pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
3953pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
3954pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
3955pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
3956pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
3957pub const PEM_BUFSIZE: i32 = 1024;
3958pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3959pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3960pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3961pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3962pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3963pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
3964pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
3965pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
3966pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
3967pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
3968pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
3969pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
3970pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
3971pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
3972pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
3973pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
3974pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
3975pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
3976pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
3977pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
3978pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
3979pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
3980pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
3981pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
3982pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
3983pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
3984pub const PEM_TYPE_ENCRYPTED: i32 = 10;
3985pub const PEM_TYPE_MIC_ONLY: i32 = 20;
3986pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
3987pub const PEM_TYPE_CLEAR: i32 = 40;
3988pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
3989pub const PEM_R_BAD_DECRYPT: i32 = 101;
3990pub const PEM_R_BAD_END_LINE: i32 = 102;
3991pub const PEM_R_BAD_IV_CHARS: i32 = 103;
3992pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
3993pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
3994pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
3995pub const PEM_R_NOT_DEK_INFO: i32 = 107;
3996pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
3997pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
3998pub const PEM_R_NO_START_LINE: i32 = 110;
3999pub const PEM_R_READ_KEY: i32 = 111;
4000pub const PEM_R_SHORT_HEADER: i32 = 112;
4001pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4002pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4003pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
4004pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4005pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4006pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4007pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4008pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4009pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4010pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4011pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4012pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4013pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4014pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4015pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4016pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4017pub const PKCS8_R_MISSING_MAC: i32 = 112;
4018pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4019pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4020pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4021pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4022pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4023pub const PKCS8_R_TOO_LONG: i32 = 118;
4024pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4025pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4026pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4027pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4028pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4029pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4030pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4031pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4032pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4033pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4034pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4035pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4036pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4037pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4038pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4039pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
4040pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
4041pub const RIPEMD160_CBLOCK: i32 = 64;
4042pub const RIPEMD160_LBLOCK: i32 = 16;
4043pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4044pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4045pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4046pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4047pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4048pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4049pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4050pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4051pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4052pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4053pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4054pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4055pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4056pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4057pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4058pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4059pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4060pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4061pub type __off_t = ::std::os::raw::c_long;
4062pub type __off64_t = ::std::os::raw::c_long;
4063pub type __time_t = ::std::os::raw::c_long;
4064pub type time_t = __time_t;
4065pub type ossl_ssize_t = isize;
4066pub type CBS_ASN1_TAG = u32;
4067pub type CRYPTO_THREADID = ::std::os::raw::c_int;
4068#[repr(C)]
4069#[derive(Debug, Copy, Clone)]
4070pub struct asn1_null_st {
4071    _unused: [u8; 0],
4072}
4073pub type ASN1_NULL = asn1_null_st;
4074pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4075pub type ASN1_ITEM = ASN1_ITEM_st;
4076#[repr(C)]
4077#[derive(Debug, Copy, Clone)]
4078pub struct asn1_object_st {
4079    _unused: [u8; 0],
4080}
4081pub type ASN1_OBJECT = asn1_object_st;
4082#[repr(C)]
4083#[derive(Debug, Copy, Clone)]
4084pub struct asn1_pctx_st {
4085    _unused: [u8; 0],
4086}
4087pub type ASN1_PCTX = asn1_pctx_st;
4088pub type ASN1_BIT_STRING = asn1_string_st;
4089pub type ASN1_BMPSTRING = asn1_string_st;
4090pub type ASN1_ENUMERATED = asn1_string_st;
4091pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4092pub type ASN1_GENERALSTRING = asn1_string_st;
4093pub type ASN1_IA5STRING = asn1_string_st;
4094pub type ASN1_INTEGER = asn1_string_st;
4095pub type ASN1_OCTET_STRING = asn1_string_st;
4096pub type ASN1_PRINTABLESTRING = asn1_string_st;
4097pub type ASN1_STRING = asn1_string_st;
4098pub type ASN1_T61STRING = asn1_string_st;
4099pub type ASN1_TIME = asn1_string_st;
4100pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4101pub type ASN1_UTCTIME = asn1_string_st;
4102pub type ASN1_UTF8STRING = asn1_string_st;
4103pub type ASN1_VISIBLESTRING = asn1_string_st;
4104pub type ASN1_TYPE = asn1_type_st;
4105pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4106pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4107pub type DIST_POINT = DIST_POINT_st;
4108pub type DSA_SIG = DSA_SIG_st;
4109pub type GENERAL_NAME = GENERAL_NAME_st;
4110pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4111pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4112pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4113pub type NETSCAPE_SPKI = Netscape_spki_st;
4114pub type RIPEMD160_CTX = RIPEMD160state_st;
4115#[repr(C)]
4116#[derive(Debug, Copy, Clone)]
4117pub struct X509_VERIFY_PARAM_st {
4118    _unused: [u8; 0],
4119}
4120pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4121pub type X509_ALGOR = X509_algor_st;
4122#[repr(C)]
4123#[derive(Debug, Copy, Clone)]
4124pub struct X509_crl_st {
4125    _unused: [u8; 0],
4126}
4127pub type X509_CRL = X509_crl_st;
4128#[repr(C)]
4129#[derive(Debug, Copy, Clone)]
4130pub struct X509_extension_st {
4131    _unused: [u8; 0],
4132}
4133pub type X509_EXTENSION = X509_extension_st;
4134pub type X509_INFO = X509_info_st;
4135#[repr(C)]
4136#[derive(Debug, Copy, Clone)]
4137pub struct X509_name_entry_st {
4138    _unused: [u8; 0],
4139}
4140pub type X509_NAME_ENTRY = X509_name_entry_st;
4141#[repr(C)]
4142#[derive(Debug, Copy, Clone)]
4143pub struct X509_name_st {
4144    _unused: [u8; 0],
4145}
4146pub type X509_NAME = X509_name_st;
4147#[repr(C)]
4148#[derive(Debug, Copy, Clone)]
4149pub struct X509_pubkey_st {
4150    _unused: [u8; 0],
4151}
4152pub type X509_PUBKEY = X509_pubkey_st;
4153#[repr(C)]
4154#[derive(Debug, Copy, Clone)]
4155pub struct X509_req_st {
4156    _unused: [u8; 0],
4157}
4158pub type X509_REQ = X509_req_st;
4159#[repr(C)]
4160#[derive(Debug, Copy, Clone)]
4161pub struct x509_sig_info_st {
4162    _unused: [u8; 0],
4163}
4164pub type X509_SIG_INFO = x509_sig_info_st;
4165#[repr(C)]
4166#[derive(Debug, Copy, Clone)]
4167pub struct X509_sig_st {
4168    _unused: [u8; 0],
4169}
4170pub type X509_SIG = X509_sig_st;
4171#[repr(C)]
4172#[derive(Debug, Copy, Clone)]
4173pub struct bignum_ctx {
4174    _unused: [u8; 0],
4175}
4176pub type BN_CTX = bignum_ctx;
4177pub type BIGNUM = bignum_st;
4178pub type BIO_METHOD = bio_method_st;
4179pub type BIO = bio_st;
4180pub type BLAKE2B_CTX = blake2b_state_st;
4181pub type BN_GENCB = bn_gencb_st;
4182pub type BN_MONT_CTX = bn_mont_ctx_st;
4183pub type BUF_MEM = buf_mem_st;
4184#[repr(C)]
4185#[derive(Debug, Copy, Clone)]
4186pub struct cast_key_st {
4187    _unused: [u8; 0],
4188}
4189pub type CAST_KEY = cast_key_st;
4190pub type CBB = cbb_st;
4191pub type CBS = cbs_st;
4192#[repr(C)]
4193#[derive(Debug, Copy, Clone)]
4194pub struct cmac_ctx_st {
4195    _unused: [u8; 0],
4196}
4197pub type CMAC_CTX = cmac_ctx_st;
4198pub type CONF = conf_st;
4199pub type CONF_VALUE = conf_value_st;
4200#[repr(C)]
4201#[derive(Debug, Copy, Clone)]
4202pub struct crypto_buffer_pool_st {
4203    _unused: [u8; 0],
4204}
4205pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4206#[repr(C)]
4207#[derive(Debug, Copy, Clone)]
4208pub struct crypto_buffer_st {
4209    _unused: [u8; 0],
4210}
4211pub type CRYPTO_BUFFER = crypto_buffer_st;
4212#[repr(C)]
4213#[derive(Debug, Copy, Clone)]
4214pub struct ctr_drbg_state_st {
4215    _unused: [u8; 0],
4216}
4217pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct dh_st {
4221    _unused: [u8; 0],
4222}
4223pub type DH = dh_st;
4224#[repr(C)]
4225#[derive(Debug, Copy, Clone)]
4226pub struct dsa_st {
4227    _unused: [u8; 0],
4228}
4229pub type DSA = dsa_st;
4230#[repr(C)]
4231#[derive(Debug, Copy, Clone)]
4232pub struct ec_group_st {
4233    _unused: [u8; 0],
4234}
4235pub type EC_GROUP = ec_group_st;
4236#[repr(C)]
4237#[derive(Debug, Copy, Clone)]
4238pub struct ec_key_st {
4239    _unused: [u8; 0],
4240}
4241pub type EC_KEY = ec_key_st;
4242#[repr(C)]
4243#[derive(Debug, Copy, Clone)]
4244pub struct ec_point_st {
4245    _unused: [u8; 0],
4246}
4247pub type EC_POINT = ec_point_st;
4248#[repr(C)]
4249#[derive(Debug, Copy, Clone)]
4250pub struct ec_key_method_st {
4251    _unused: [u8; 0],
4252}
4253pub type EC_KEY_METHOD = ec_key_method_st;
4254pub type ECDSA_SIG = ecdsa_sig_st;
4255#[repr(C)]
4256#[derive(Debug, Copy, Clone)]
4257pub struct engine_st {
4258    _unused: [u8; 0],
4259}
4260pub type ENGINE = engine_st;
4261pub type EVP_MD_CTX = env_md_ctx_st;
4262#[repr(C)]
4263#[derive(Debug, Copy, Clone)]
4264pub struct env_md_st {
4265    _unused: [u8; 0],
4266}
4267pub type EVP_MD = env_md_st;
4268#[repr(C)]
4269#[derive(Debug, Copy, Clone)]
4270pub struct evp_aead_st {
4271    _unused: [u8; 0],
4272}
4273pub type EVP_AEAD = evp_aead_st;
4274pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4275pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4276#[repr(C)]
4277#[derive(Debug, Copy, Clone)]
4278pub struct evp_cipher_st {
4279    _unused: [u8; 0],
4280}
4281pub type EVP_CIPHER = evp_cipher_st;
4282pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4283#[repr(C)]
4284#[derive(Debug, Copy, Clone)]
4285pub struct evp_hpke_aead_st {
4286    _unused: [u8; 0],
4287}
4288pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4289pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4290#[repr(C)]
4291#[derive(Debug, Copy, Clone)]
4292pub struct evp_hpke_kdf_st {
4293    _unused: [u8; 0],
4294}
4295pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4296#[repr(C)]
4297#[derive(Debug, Copy, Clone)]
4298pub struct evp_hpke_kem_st {
4299    _unused: [u8; 0],
4300}
4301pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4302pub type EVP_HPKE_KEY = evp_hpke_key_st;
4303#[repr(C)]
4304#[derive(Debug, Copy, Clone)]
4305pub struct evp_kem_st {
4306    _unused: [u8; 0],
4307}
4308pub type EVP_KEM = evp_kem_st;
4309#[repr(C)]
4310#[derive(Debug, Copy, Clone)]
4311pub struct kem_key_st {
4312    _unused: [u8; 0],
4313}
4314pub type KEM_KEY = kem_key_st;
4315#[repr(C)]
4316#[derive(Debug, Copy, Clone)]
4317pub struct evp_pkey_ctx_st {
4318    _unused: [u8; 0],
4319}
4320pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4321#[repr(C)]
4322#[derive(Debug, Copy, Clone)]
4323pub struct evp_pkey_asn1_method_st {
4324    _unused: [u8; 0],
4325}
4326pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4327#[repr(C)]
4328#[derive(Debug, Copy, Clone)]
4329pub struct evp_pkey_st {
4330    _unused: [u8; 0],
4331}
4332pub type EVP_PKEY = evp_pkey_st;
4333#[repr(C)]
4334#[derive(Debug, Copy, Clone)]
4335pub struct evp_pkey_ctx_signature_context_params_st {
4336    _unused: [u8; 0],
4337}
4338pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4339pub type HMAC_CTX = hmac_ctx_st;
4340pub type MD4_CTX = md4_state_st;
4341pub type MD5_CTX = md5_state_st;
4342#[repr(C)]
4343#[derive(Debug, Copy, Clone)]
4344pub struct pqdsa_key_st {
4345    _unused: [u8; 0],
4346}
4347pub type PQDSA_KEY = pqdsa_key_st;
4348#[repr(C)]
4349#[derive(Debug, Copy, Clone)]
4350pub struct ocsp_req_ctx_st {
4351    _unused: [u8; 0],
4352}
4353pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4354#[repr(C)]
4355#[derive(Debug, Copy, Clone)]
4356pub struct ossl_init_settings_st {
4357    _unused: [u8; 0],
4358}
4359pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4360#[repr(C)]
4361#[derive(Debug, Copy, Clone)]
4362pub struct pkcs7_digest_st {
4363    _unused: [u8; 0],
4364}
4365pub type PKCS7_DIGEST = pkcs7_digest_st;
4366#[repr(C)]
4367#[derive(Debug, Copy, Clone)]
4368pub struct pkcs7_enc_content_st {
4369    _unused: [u8; 0],
4370}
4371pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4372#[repr(C)]
4373#[derive(Debug, Copy, Clone)]
4374pub struct pkcs7_encrypt_st {
4375    _unused: [u8; 0],
4376}
4377pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4378pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4379pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4380pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4381pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4382pub type PKCS7_SIGNED = pkcs7_signed_st;
4383pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4384pub type PKCS7 = pkcs7_st;
4385#[repr(C)]
4386#[derive(Debug, Copy, Clone)]
4387pub struct pkcs12_st {
4388    _unused: [u8; 0],
4389}
4390pub type PKCS12 = pkcs12_st;
4391#[repr(C)]
4392#[derive(Debug, Copy, Clone)]
4393pub struct pkcs8_priv_key_info_st {
4394    _unused: [u8; 0],
4395}
4396pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4397pub type X509_PKEY = private_key_st;
4398pub type RAND_METHOD = rand_meth_st;
4399pub type RC4_KEY = rc4_key_st;
4400#[repr(C)]
4401#[derive(Debug, Copy, Clone)]
4402pub struct rsa_meth_st {
4403    _unused: [u8; 0],
4404}
4405pub type RSA_METHOD = rsa_meth_st;
4406#[repr(C)]
4407#[derive(Debug, Copy, Clone)]
4408pub struct rsassa_pss_params_st {
4409    _unused: [u8; 0],
4410}
4411pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4412pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4413#[repr(C)]
4414#[derive(Debug, Copy, Clone)]
4415pub struct rsa_st {
4416    _unused: [u8; 0],
4417}
4418pub type RSA = rsa_st;
4419pub type SHA256_CTX = sha256_state_st;
4420pub type SHA512_CTX = sha512_state_st;
4421pub type SHA_CTX = sha_state_st;
4422#[repr(C)]
4423#[derive(Debug, Copy, Clone)]
4424pub struct spake2_ctx_st {
4425    _unused: [u8; 0],
4426}
4427pub type SPAKE2_CTX = spake2_ctx_st;
4428#[repr(C)]
4429#[derive(Debug, Copy, Clone)]
4430pub struct srtp_protection_profile_st {
4431    _unused: [u8; 0],
4432}
4433pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4434#[repr(C)]
4435#[derive(Debug, Copy, Clone)]
4436pub struct ssl_cipher_st {
4437    _unused: [u8; 0],
4438}
4439pub type SSL_CIPHER = ssl_cipher_st;
4440#[repr(C)]
4441#[derive(Debug, Copy, Clone)]
4442pub struct ssl_ctx_st {
4443    _unused: [u8; 0],
4444}
4445pub type SSL_CTX = ssl_ctx_st;
4446#[repr(C)]
4447#[derive(Debug, Copy, Clone)]
4448pub struct ssl_early_callback_ctx {
4449    _unused: [u8; 0],
4450}
4451pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4452#[repr(C)]
4453#[derive(Debug, Copy, Clone)]
4454pub struct ssl_ech_keys_st {
4455    _unused: [u8; 0],
4456}
4457pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4458#[repr(C)]
4459#[derive(Debug, Copy, Clone)]
4460pub struct ssl_method_st {
4461    _unused: [u8; 0],
4462}
4463pub type SSL_METHOD = ssl_method_st;
4464#[repr(C)]
4465#[derive(Debug, Copy, Clone)]
4466pub struct ssl_private_key_method_st {
4467    _unused: [u8; 0],
4468}
4469pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4470#[repr(C)]
4471#[derive(Debug, Copy, Clone)]
4472pub struct ssl_quic_method_st {
4473    _unused: [u8; 0],
4474}
4475pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4476#[repr(C)]
4477#[derive(Debug, Copy, Clone)]
4478pub struct ssl_session_st {
4479    _unused: [u8; 0],
4480}
4481pub type SSL_SESSION = ssl_session_st;
4482#[repr(C)]
4483#[derive(Debug, Copy, Clone)]
4484pub struct ssl_st {
4485    _unused: [u8; 0],
4486}
4487pub type SSL = ssl_st;
4488#[repr(C)]
4489#[derive(Debug, Copy, Clone)]
4490pub struct ssl_ticket_aead_method_st {
4491    _unused: [u8; 0],
4492}
4493pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4494#[repr(C)]
4495#[derive(Debug, Copy, Clone)]
4496pub struct st_ERR_FNS {
4497    _unused: [u8; 0],
4498}
4499pub type ERR_FNS = st_ERR_FNS;
4500pub type TRUST_TOKEN = trust_token_st;
4501#[repr(C)]
4502#[derive(Debug, Copy, Clone)]
4503pub struct trust_token_client_st {
4504    _unused: [u8; 0],
4505}
4506pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4507#[repr(C)]
4508#[derive(Debug, Copy, Clone)]
4509pub struct trust_token_issuer_st {
4510    _unused: [u8; 0],
4511}
4512pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4513#[repr(C)]
4514#[derive(Debug, Copy, Clone)]
4515pub struct trust_token_method_st {
4516    _unused: [u8; 0],
4517}
4518pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4519pub type X509V3_CTX = v3_ext_ctx;
4520pub type X509V3_EXT_METHOD = v3_ext_method;
4521#[repr(C)]
4522#[derive(Debug, Copy, Clone)]
4523pub struct x509_attributes_st {
4524    _unused: [u8; 0],
4525}
4526pub type X509_ATTRIBUTE = x509_attributes_st;
4527#[repr(C)]
4528#[derive(Debug, Copy, Clone)]
4529pub struct x509_lookup_st {
4530    _unused: [u8; 0],
4531}
4532pub type X509_LOOKUP = x509_lookup_st;
4533#[repr(C)]
4534#[derive(Debug, Copy, Clone)]
4535pub struct x509_lookup_method_st {
4536    _unused: [u8; 0],
4537}
4538pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4539#[repr(C)]
4540#[derive(Debug, Copy, Clone)]
4541pub struct x509_object_st {
4542    _unused: [u8; 0],
4543}
4544pub type X509_OBJECT = x509_object_st;
4545#[repr(C)]
4546#[derive(Debug, Copy, Clone)]
4547pub struct x509_revoked_st {
4548    _unused: [u8; 0],
4549}
4550pub type X509_REVOKED = x509_revoked_st;
4551#[repr(C)]
4552#[derive(Debug, Copy, Clone)]
4553pub struct x509_st {
4554    _unused: [u8; 0],
4555}
4556pub type X509 = x509_st;
4557#[repr(C)]
4558#[derive(Debug, Copy, Clone)]
4559pub struct x509_store_ctx_st {
4560    _unused: [u8; 0],
4561}
4562pub type X509_STORE_CTX = x509_store_ctx_st;
4563#[repr(C)]
4564#[derive(Debug, Copy, Clone)]
4565pub struct x509_store_st {
4566    _unused: [u8; 0],
4567}
4568pub type X509_STORE = x509_store_st;
4569pub type X509_TRUST = x509_trust_st;
4570pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4571#[repr(C)]
4572#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4573pub struct aes_key_st {
4574    pub rd_key: [u32; 60usize],
4575    pub rounds: ::std::os::raw::c_uint,
4576}
4577#[test]
4578fn bindgen_test_layout_aes_key_st() {
4579    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4580    let ptr = UNINIT.as_ptr();
4581    assert_eq!(
4582        ::std::mem::size_of::<aes_key_st>(),
4583        244usize,
4584        "Size of aes_key_st"
4585    );
4586    assert_eq!(
4587        ::std::mem::align_of::<aes_key_st>(),
4588        4usize,
4589        "Alignment of aes_key_st"
4590    );
4591    assert_eq!(
4592        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4593        0usize,
4594        "Offset of field: aes_key_st::rd_key"
4595    );
4596    assert_eq!(
4597        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4598        240usize,
4599        "Offset of field: aes_key_st::rounds"
4600    );
4601}
4602impl Default for aes_key_st {
4603    fn default() -> Self {
4604        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4605        unsafe {
4606            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4607            s.assume_init()
4608        }
4609    }
4610}
4611pub type AES_KEY = aes_key_st;
4612extern "C" {
4613    #[link_name = "\u{1}aws_lc_0_35_0_AES_set_encrypt_key"]
4614    pub fn AES_set_encrypt_key(
4615        key: *const u8,
4616        bits: ::std::os::raw::c_uint,
4617        aeskey: *mut AES_KEY,
4618    ) -> ::std::os::raw::c_int;
4619}
4620extern "C" {
4621    #[link_name = "\u{1}aws_lc_0_35_0_AES_set_decrypt_key"]
4622    pub fn AES_set_decrypt_key(
4623        key: *const u8,
4624        bits: ::std::os::raw::c_uint,
4625        aeskey: *mut AES_KEY,
4626    ) -> ::std::os::raw::c_int;
4627}
4628extern "C" {
4629    #[link_name = "\u{1}aws_lc_0_35_0_AES_encrypt"]
4630    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4631}
4632extern "C" {
4633    #[link_name = "\u{1}aws_lc_0_35_0_AES_decrypt"]
4634    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4635}
4636extern "C" {
4637    #[link_name = "\u{1}aws_lc_0_35_0_AES_ctr128_encrypt"]
4638    pub fn AES_ctr128_encrypt(
4639        in_: *const u8,
4640        out: *mut u8,
4641        len: usize,
4642        key: *const AES_KEY,
4643        ivec: *mut u8,
4644        ecount_buf: *mut u8,
4645        num: *mut ::std::os::raw::c_uint,
4646    );
4647}
4648extern "C" {
4649    #[link_name = "\u{1}aws_lc_0_35_0_AES_ecb_encrypt"]
4650    pub fn AES_ecb_encrypt(
4651        in_: *const u8,
4652        out: *mut u8,
4653        key: *const AES_KEY,
4654        enc: ::std::os::raw::c_int,
4655    );
4656}
4657extern "C" {
4658    #[link_name = "\u{1}aws_lc_0_35_0_AES_cbc_encrypt"]
4659    pub fn AES_cbc_encrypt(
4660        in_: *const u8,
4661        out: *mut u8,
4662        len: usize,
4663        key: *const AES_KEY,
4664        ivec: *mut u8,
4665        enc: ::std::os::raw::c_int,
4666    );
4667}
4668extern "C" {
4669    #[link_name = "\u{1}aws_lc_0_35_0_AES_ofb128_encrypt"]
4670    pub fn AES_ofb128_encrypt(
4671        in_: *const u8,
4672        out: *mut u8,
4673        len: usize,
4674        key: *const AES_KEY,
4675        ivec: *mut u8,
4676        num: *mut ::std::os::raw::c_int,
4677    );
4678}
4679extern "C" {
4680    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb1_encrypt"]
4681    pub fn AES_cfb1_encrypt(
4682        in_: *const u8,
4683        out: *mut u8,
4684        bits: usize,
4685        key: *const AES_KEY,
4686        ivec: *mut u8,
4687        num: *mut ::std::os::raw::c_int,
4688        enc: ::std::os::raw::c_int,
4689    );
4690}
4691extern "C" {
4692    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb8_encrypt"]
4693    pub fn AES_cfb8_encrypt(
4694        in_: *const u8,
4695        out: *mut u8,
4696        len: usize,
4697        key: *const AES_KEY,
4698        ivec: *mut u8,
4699        num: *mut ::std::os::raw::c_int,
4700        enc: ::std::os::raw::c_int,
4701    );
4702}
4703extern "C" {
4704    #[link_name = "\u{1}aws_lc_0_35_0_AES_cfb128_encrypt"]
4705    pub fn AES_cfb128_encrypt(
4706        in_: *const u8,
4707        out: *mut u8,
4708        len: usize,
4709        key: *const AES_KEY,
4710        ivec: *mut u8,
4711        num: *mut ::std::os::raw::c_int,
4712        enc: ::std::os::raw::c_int,
4713    );
4714}
4715extern "C" {
4716    #[link_name = "\u{1}aws_lc_0_35_0_AES_wrap_key"]
4717    pub fn AES_wrap_key(
4718        key: *const AES_KEY,
4719        iv: *const u8,
4720        out: *mut u8,
4721        in_: *const u8,
4722        in_len: usize,
4723    ) -> ::std::os::raw::c_int;
4724}
4725extern "C" {
4726    #[link_name = "\u{1}aws_lc_0_35_0_AES_unwrap_key"]
4727    pub fn AES_unwrap_key(
4728        key: *const AES_KEY,
4729        iv: *const u8,
4730        out: *mut u8,
4731        in_: *const u8,
4732        in_len: usize,
4733    ) -> ::std::os::raw::c_int;
4734}
4735extern "C" {
4736    #[link_name = "\u{1}aws_lc_0_35_0_AES_wrap_key_padded"]
4737    pub fn AES_wrap_key_padded(
4738        key: *const AES_KEY,
4739        out: *mut u8,
4740        out_len: *mut usize,
4741        max_out: usize,
4742        in_: *const u8,
4743        in_len: usize,
4744    ) -> ::std::os::raw::c_int;
4745}
4746extern "C" {
4747    #[link_name = "\u{1}aws_lc_0_35_0_AES_unwrap_key_padded"]
4748    pub fn AES_unwrap_key_padded(
4749        key: *const AES_KEY,
4750        out: *mut u8,
4751        out_len: *mut usize,
4752        max_out: usize,
4753        in_: *const u8,
4754        in_len: usize,
4755    ) -> ::std::os::raw::c_int;
4756}
4757#[repr(C)]
4758#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4759pub struct tm {
4760    pub tm_sec: ::std::os::raw::c_int,
4761    pub tm_min: ::std::os::raw::c_int,
4762    pub tm_hour: ::std::os::raw::c_int,
4763    pub tm_mday: ::std::os::raw::c_int,
4764    pub tm_mon: ::std::os::raw::c_int,
4765    pub tm_year: ::std::os::raw::c_int,
4766    pub tm_wday: ::std::os::raw::c_int,
4767    pub tm_yday: ::std::os::raw::c_int,
4768    pub tm_isdst: ::std::os::raw::c_int,
4769    pub tm_gmtoff: ::std::os::raw::c_long,
4770    pub tm_zone: *const ::std::os::raw::c_char,
4771}
4772#[test]
4773fn bindgen_test_layout_tm() {
4774    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4775    let ptr = UNINIT.as_ptr();
4776    assert_eq!(::std::mem::size_of::<tm>(), 56usize, "Size of tm");
4777    assert_eq!(::std::mem::align_of::<tm>(), 8usize, "Alignment of tm");
4778    assert_eq!(
4779        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4780        0usize,
4781        "Offset of field: tm::tm_sec"
4782    );
4783    assert_eq!(
4784        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4785        4usize,
4786        "Offset of field: tm::tm_min"
4787    );
4788    assert_eq!(
4789        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4790        8usize,
4791        "Offset of field: tm::tm_hour"
4792    );
4793    assert_eq!(
4794        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4795        12usize,
4796        "Offset of field: tm::tm_mday"
4797    );
4798    assert_eq!(
4799        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4800        16usize,
4801        "Offset of field: tm::tm_mon"
4802    );
4803    assert_eq!(
4804        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4805        20usize,
4806        "Offset of field: tm::tm_year"
4807    );
4808    assert_eq!(
4809        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4810        24usize,
4811        "Offset of field: tm::tm_wday"
4812    );
4813    assert_eq!(
4814        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4815        28usize,
4816        "Offset of field: tm::tm_yday"
4817    );
4818    assert_eq!(
4819        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4820        32usize,
4821        "Offset of field: tm::tm_isdst"
4822    );
4823    assert_eq!(
4824        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4825        40usize,
4826        "Offset of field: tm::tm_gmtoff"
4827    );
4828    assert_eq!(
4829        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4830        48usize,
4831        "Offset of field: tm::tm_zone"
4832    );
4833}
4834impl Default for tm {
4835    fn default() -> Self {
4836        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4837        unsafe {
4838            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4839            s.assume_init()
4840        }
4841    }
4842}
4843pub type __gnuc_va_list = __builtin_va_list;
4844pub type FILE = _IO_FILE;
4845#[repr(C)]
4846#[derive(Debug, Copy, Clone)]
4847pub struct _IO_marker {
4848    _unused: [u8; 0],
4849}
4850#[repr(C)]
4851#[derive(Debug, Copy, Clone)]
4852pub struct _IO_codecvt {
4853    _unused: [u8; 0],
4854}
4855#[repr(C)]
4856#[derive(Debug, Copy, Clone)]
4857pub struct _IO_wide_data {
4858    _unused: [u8; 0],
4859}
4860pub type _IO_lock_t = ::std::os::raw::c_void;
4861#[repr(C)]
4862#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4863pub struct _IO_FILE {
4864    pub _flags: ::std::os::raw::c_int,
4865    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4866    pub _IO_read_end: *mut ::std::os::raw::c_char,
4867    pub _IO_read_base: *mut ::std::os::raw::c_char,
4868    pub _IO_write_base: *mut ::std::os::raw::c_char,
4869    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4870    pub _IO_write_end: *mut ::std::os::raw::c_char,
4871    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4872    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4873    pub _IO_save_base: *mut ::std::os::raw::c_char,
4874    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4875    pub _IO_save_end: *mut ::std::os::raw::c_char,
4876    pub _markers: *mut _IO_marker,
4877    pub _chain: *mut _IO_FILE,
4878    pub _fileno: ::std::os::raw::c_int,
4879    pub _flags2: ::std::os::raw::c_int,
4880    pub _old_offset: __off_t,
4881    pub _cur_column: ::std::os::raw::c_ushort,
4882    pub _vtable_offset: ::std::os::raw::c_schar,
4883    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4884    pub _lock: *mut _IO_lock_t,
4885    pub _offset: __off64_t,
4886    pub _codecvt: *mut _IO_codecvt,
4887    pub _wide_data: *mut _IO_wide_data,
4888    pub _freeres_list: *mut _IO_FILE,
4889    pub _freeres_buf: *mut ::std::os::raw::c_void,
4890    pub __pad5: usize,
4891    pub _mode: ::std::os::raw::c_int,
4892    pub _unused2: [::std::os::raw::c_char; 20usize],
4893}
4894#[test]
4895fn bindgen_test_layout__IO_FILE() {
4896    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4897    let ptr = UNINIT.as_ptr();
4898    assert_eq!(
4899        ::std::mem::size_of::<_IO_FILE>(),
4900        216usize,
4901        "Size of _IO_FILE"
4902    );
4903    assert_eq!(
4904        ::std::mem::align_of::<_IO_FILE>(),
4905        8usize,
4906        "Alignment of _IO_FILE"
4907    );
4908    assert_eq!(
4909        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4910        0usize,
4911        "Offset of field: _IO_FILE::_flags"
4912    );
4913    assert_eq!(
4914        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4915        8usize,
4916        "Offset of field: _IO_FILE::_IO_read_ptr"
4917    );
4918    assert_eq!(
4919        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4920        16usize,
4921        "Offset of field: _IO_FILE::_IO_read_end"
4922    );
4923    assert_eq!(
4924        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4925        24usize,
4926        "Offset of field: _IO_FILE::_IO_read_base"
4927    );
4928    assert_eq!(
4929        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4930        32usize,
4931        "Offset of field: _IO_FILE::_IO_write_base"
4932    );
4933    assert_eq!(
4934        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4935        40usize,
4936        "Offset of field: _IO_FILE::_IO_write_ptr"
4937    );
4938    assert_eq!(
4939        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4940        48usize,
4941        "Offset of field: _IO_FILE::_IO_write_end"
4942    );
4943    assert_eq!(
4944        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4945        56usize,
4946        "Offset of field: _IO_FILE::_IO_buf_base"
4947    );
4948    assert_eq!(
4949        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4950        64usize,
4951        "Offset of field: _IO_FILE::_IO_buf_end"
4952    );
4953    assert_eq!(
4954        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
4955        72usize,
4956        "Offset of field: _IO_FILE::_IO_save_base"
4957    );
4958    assert_eq!(
4959        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
4960        80usize,
4961        "Offset of field: _IO_FILE::_IO_backup_base"
4962    );
4963    assert_eq!(
4964        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
4965        88usize,
4966        "Offset of field: _IO_FILE::_IO_save_end"
4967    );
4968    assert_eq!(
4969        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
4970        96usize,
4971        "Offset of field: _IO_FILE::_markers"
4972    );
4973    assert_eq!(
4974        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
4975        104usize,
4976        "Offset of field: _IO_FILE::_chain"
4977    );
4978    assert_eq!(
4979        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
4980        112usize,
4981        "Offset of field: _IO_FILE::_fileno"
4982    );
4983    assert_eq!(
4984        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
4985        116usize,
4986        "Offset of field: _IO_FILE::_flags2"
4987    );
4988    assert_eq!(
4989        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
4990        120usize,
4991        "Offset of field: _IO_FILE::_old_offset"
4992    );
4993    assert_eq!(
4994        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
4995        128usize,
4996        "Offset of field: _IO_FILE::_cur_column"
4997    );
4998    assert_eq!(
4999        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5000        130usize,
5001        "Offset of field: _IO_FILE::_vtable_offset"
5002    );
5003    assert_eq!(
5004        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5005        131usize,
5006        "Offset of field: _IO_FILE::_shortbuf"
5007    );
5008    assert_eq!(
5009        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5010        136usize,
5011        "Offset of field: _IO_FILE::_lock"
5012    );
5013    assert_eq!(
5014        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5015        144usize,
5016        "Offset of field: _IO_FILE::_offset"
5017    );
5018    assert_eq!(
5019        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5020        152usize,
5021        "Offset of field: _IO_FILE::_codecvt"
5022    );
5023    assert_eq!(
5024        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5025        160usize,
5026        "Offset of field: _IO_FILE::_wide_data"
5027    );
5028    assert_eq!(
5029        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5030        168usize,
5031        "Offset of field: _IO_FILE::_freeres_list"
5032    );
5033    assert_eq!(
5034        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5035        176usize,
5036        "Offset of field: _IO_FILE::_freeres_buf"
5037    );
5038    assert_eq!(
5039        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5040        184usize,
5041        "Offset of field: _IO_FILE::__pad5"
5042    );
5043    assert_eq!(
5044        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5045        192usize,
5046        "Offset of field: _IO_FILE::_mode"
5047    );
5048    assert_eq!(
5049        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5050        196usize,
5051        "Offset of field: _IO_FILE::_unused2"
5052    );
5053}
5054impl Default for _IO_FILE {
5055    fn default() -> Self {
5056        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5057        unsafe {
5058            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5059            s.assume_init()
5060        }
5061    }
5062}
5063pub type va_list = __gnuc_va_list;
5064#[repr(C)]
5065#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5066pub struct buf_mem_st {
5067    pub length: usize,
5068    pub data: *mut ::std::os::raw::c_char,
5069    pub max: usize,
5070}
5071#[test]
5072fn bindgen_test_layout_buf_mem_st() {
5073    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5074    let ptr = UNINIT.as_ptr();
5075    assert_eq!(
5076        ::std::mem::size_of::<buf_mem_st>(),
5077        24usize,
5078        "Size of buf_mem_st"
5079    );
5080    assert_eq!(
5081        ::std::mem::align_of::<buf_mem_st>(),
5082        8usize,
5083        "Alignment of buf_mem_st"
5084    );
5085    assert_eq!(
5086        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5087        0usize,
5088        "Offset of field: buf_mem_st::length"
5089    );
5090    assert_eq!(
5091        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5092        8usize,
5093        "Offset of field: buf_mem_st::data"
5094    );
5095    assert_eq!(
5096        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5097        16usize,
5098        "Offset of field: buf_mem_st::max"
5099    );
5100}
5101impl Default for buf_mem_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}
5110extern "C" {
5111    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_new"]
5112    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5113}
5114extern "C" {
5115    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_free"]
5116    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5117}
5118extern "C" {
5119    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_reserve"]
5120    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5121}
5122extern "C" {
5123    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_grow"]
5124    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5125}
5126extern "C" {
5127    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_grow_clean"]
5128    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5129}
5130extern "C" {
5131    #[link_name = "\u{1}aws_lc_0_35_0_BUF_MEM_append"]
5132    pub fn BUF_MEM_append(
5133        buf: *mut BUF_MEM,
5134        in_: *const ::std::os::raw::c_void,
5135        len: usize,
5136    ) -> ::std::os::raw::c_int;
5137}
5138extern "C" {
5139    #[link_name = "\u{1}aws_lc_0_35_0_BUF_strdup"]
5140    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5141}
5142extern "C" {
5143    #[link_name = "\u{1}aws_lc_0_35_0_BUF_strnlen"]
5144    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5145}
5146extern "C" {
5147    #[link_name = "\u{1}aws_lc_0_35_0_BUF_strndup"]
5148    pub fn BUF_strndup(
5149        str_: *const ::std::os::raw::c_char,
5150        size: usize,
5151    ) -> *mut ::std::os::raw::c_char;
5152}
5153extern "C" {
5154    #[link_name = "\u{1}aws_lc_0_35_0_BUF_memdup"]
5155    pub fn BUF_memdup(
5156        data: *const ::std::os::raw::c_void,
5157        size: usize,
5158    ) -> *mut ::std::os::raw::c_void;
5159}
5160extern "C" {
5161    #[link_name = "\u{1}aws_lc_0_35_0_BUF_strlcpy"]
5162    pub fn BUF_strlcpy(
5163        dst: *mut ::std::os::raw::c_char,
5164        src: *const ::std::os::raw::c_char,
5165        dst_size: usize,
5166    ) -> usize;
5167}
5168extern "C" {
5169    #[link_name = "\u{1}aws_lc_0_35_0_BUF_strlcat"]
5170    pub fn BUF_strlcat(
5171        dst: *mut ::std::os::raw::c_char,
5172        src: *const ::std::os::raw::c_char,
5173        dst_size: usize,
5174    ) -> usize;
5175}
5176extern "C" {
5177    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Init"]
5178    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5179}
5180extern "C" {
5181    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Update"]
5182    pub fn SHA1_Update(
5183        sha: *mut SHA_CTX,
5184        data: *const ::std::os::raw::c_void,
5185        len: usize,
5186    ) -> ::std::os::raw::c_int;
5187}
5188extern "C" {
5189    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Final"]
5190    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5191}
5192extern "C" {
5193    #[link_name = "\u{1}aws_lc_0_35_0_SHA1"]
5194    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5195}
5196extern "C" {
5197    #[link_name = "\u{1}aws_lc_0_35_0_SHA1_Transform"]
5198    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5199}
5200#[repr(C)]
5201#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5202pub struct sha_state_st {
5203    pub h: [u32; 5usize],
5204    pub Nl: u32,
5205    pub Nh: u32,
5206    pub data: [u8; 64usize],
5207    pub num: ::std::os::raw::c_uint,
5208}
5209#[test]
5210fn bindgen_test_layout_sha_state_st() {
5211    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5212    let ptr = UNINIT.as_ptr();
5213    assert_eq!(
5214        ::std::mem::size_of::<sha_state_st>(),
5215        96usize,
5216        "Size of sha_state_st"
5217    );
5218    assert_eq!(
5219        ::std::mem::align_of::<sha_state_st>(),
5220        4usize,
5221        "Alignment of sha_state_st"
5222    );
5223    assert_eq!(
5224        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5225        0usize,
5226        "Offset of field: sha_state_st::h"
5227    );
5228    assert_eq!(
5229        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5230        20usize,
5231        "Offset of field: sha_state_st::Nl"
5232    );
5233    assert_eq!(
5234        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5235        24usize,
5236        "Offset of field: sha_state_st::Nh"
5237    );
5238    assert_eq!(
5239        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5240        28usize,
5241        "Offset of field: sha_state_st::data"
5242    );
5243    assert_eq!(
5244        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5245        92usize,
5246        "Offset of field: sha_state_st::num"
5247    );
5248}
5249impl Default for sha_state_st {
5250    fn default() -> Self {
5251        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5252        unsafe {
5253            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5254            s.assume_init()
5255        }
5256    }
5257}
5258extern "C" {
5259    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Init"]
5260    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5261}
5262extern "C" {
5263    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Update"]
5264    pub fn SHA224_Update(
5265        sha: *mut SHA256_CTX,
5266        data: *const ::std::os::raw::c_void,
5267        len: usize,
5268    ) -> ::std::os::raw::c_int;
5269}
5270extern "C" {
5271    #[link_name = "\u{1}aws_lc_0_35_0_SHA224_Final"]
5272    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5273}
5274extern "C" {
5275    #[link_name = "\u{1}aws_lc_0_35_0_SHA224"]
5276    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5277}
5278extern "C" {
5279    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Init"]
5280    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5281}
5282extern "C" {
5283    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Update"]
5284    pub fn SHA256_Update(
5285        sha: *mut SHA256_CTX,
5286        data: *const ::std::os::raw::c_void,
5287        len: usize,
5288    ) -> ::std::os::raw::c_int;
5289}
5290extern "C" {
5291    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Final"]
5292    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5293}
5294extern "C" {
5295    #[link_name = "\u{1}aws_lc_0_35_0_SHA256"]
5296    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5297}
5298extern "C" {
5299    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_Transform"]
5300    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5301}
5302extern "C" {
5303    #[link_name = "\u{1}aws_lc_0_35_0_SHA256_TransformBlocks"]
5304    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5305}
5306#[repr(C)]
5307#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5308pub struct sha256_state_st {
5309    pub h: [u32; 8usize],
5310    pub Nl: u32,
5311    pub Nh: u32,
5312    pub data: [u8; 64usize],
5313    pub num: ::std::os::raw::c_uint,
5314    pub md_len: ::std::os::raw::c_uint,
5315}
5316#[test]
5317fn bindgen_test_layout_sha256_state_st() {
5318    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5319    let ptr = UNINIT.as_ptr();
5320    assert_eq!(
5321        ::std::mem::size_of::<sha256_state_st>(),
5322        112usize,
5323        "Size of sha256_state_st"
5324    );
5325    assert_eq!(
5326        ::std::mem::align_of::<sha256_state_st>(),
5327        4usize,
5328        "Alignment of sha256_state_st"
5329    );
5330    assert_eq!(
5331        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5332        0usize,
5333        "Offset of field: sha256_state_st::h"
5334    );
5335    assert_eq!(
5336        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5337        32usize,
5338        "Offset of field: sha256_state_st::Nl"
5339    );
5340    assert_eq!(
5341        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5342        36usize,
5343        "Offset of field: sha256_state_st::Nh"
5344    );
5345    assert_eq!(
5346        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5347        40usize,
5348        "Offset of field: sha256_state_st::data"
5349    );
5350    assert_eq!(
5351        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5352        104usize,
5353        "Offset of field: sha256_state_st::num"
5354    );
5355    assert_eq!(
5356        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5357        108usize,
5358        "Offset of field: sha256_state_st::md_len"
5359    );
5360}
5361impl Default for sha256_state_st {
5362    fn default() -> Self {
5363        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5364        unsafe {
5365            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5366            s.assume_init()
5367        }
5368    }
5369}
5370extern "C" {
5371    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Init"]
5372    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5373}
5374extern "C" {
5375    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Update"]
5376    pub fn SHA384_Update(
5377        sha: *mut SHA512_CTX,
5378        data: *const ::std::os::raw::c_void,
5379        len: usize,
5380    ) -> ::std::os::raw::c_int;
5381}
5382extern "C" {
5383    #[link_name = "\u{1}aws_lc_0_35_0_SHA384_Final"]
5384    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5385}
5386extern "C" {
5387    #[link_name = "\u{1}aws_lc_0_35_0_SHA384"]
5388    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5389}
5390extern "C" {
5391    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Init"]
5392    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5393}
5394extern "C" {
5395    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Update"]
5396    pub fn SHA512_Update(
5397        sha: *mut SHA512_CTX,
5398        data: *const ::std::os::raw::c_void,
5399        len: usize,
5400    ) -> ::std::os::raw::c_int;
5401}
5402extern "C" {
5403    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Final"]
5404    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5405}
5406extern "C" {
5407    #[link_name = "\u{1}aws_lc_0_35_0_SHA512"]
5408    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5409}
5410extern "C" {
5411    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_Transform"]
5412    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5413}
5414#[repr(C)]
5415#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5416pub struct sha512_state_st {
5417    pub h: [u64; 8usize],
5418    pub Nl: u64,
5419    pub Nh: u64,
5420    pub p: [u8; 128usize],
5421    pub num: ::std::os::raw::c_uint,
5422    pub md_len: ::std::os::raw::c_uint,
5423}
5424#[test]
5425fn bindgen_test_layout_sha512_state_st() {
5426    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5427    let ptr = UNINIT.as_ptr();
5428    assert_eq!(
5429        ::std::mem::size_of::<sha512_state_st>(),
5430        216usize,
5431        "Size of sha512_state_st"
5432    );
5433    assert_eq!(
5434        ::std::mem::align_of::<sha512_state_st>(),
5435        8usize,
5436        "Alignment of sha512_state_st"
5437    );
5438    assert_eq!(
5439        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5440        0usize,
5441        "Offset of field: sha512_state_st::h"
5442    );
5443    assert_eq!(
5444        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5445        64usize,
5446        "Offset of field: sha512_state_st::Nl"
5447    );
5448    assert_eq!(
5449        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5450        72usize,
5451        "Offset of field: sha512_state_st::Nh"
5452    );
5453    assert_eq!(
5454        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5455        80usize,
5456        "Offset of field: sha512_state_st::p"
5457    );
5458    assert_eq!(
5459        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5460        208usize,
5461        "Offset of field: sha512_state_st::num"
5462    );
5463    assert_eq!(
5464        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5465        212usize,
5466        "Offset of field: sha512_state_st::md_len"
5467    );
5468}
5469impl Default for sha512_state_st {
5470    fn default() -> Self {
5471        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5472        unsafe {
5473            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5474            s.assume_init()
5475        }
5476    }
5477}
5478extern "C" {
5479    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Init"]
5480    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5481}
5482extern "C" {
5483    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Update"]
5484    pub fn SHA512_224_Update(
5485        sha: *mut SHA512_CTX,
5486        data: *const ::std::os::raw::c_void,
5487        len: usize,
5488    ) -> ::std::os::raw::c_int;
5489}
5490extern "C" {
5491    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224_Final"]
5492    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5493}
5494extern "C" {
5495    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_224"]
5496    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5497}
5498extern "C" {
5499    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Init"]
5500    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5501}
5502extern "C" {
5503    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Update"]
5504    pub fn SHA512_256_Update(
5505        sha: *mut SHA512_CTX,
5506        data: *const ::std::os::raw::c_void,
5507        len: usize,
5508    ) -> ::std::os::raw::c_int;
5509}
5510extern "C" {
5511    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256_Final"]
5512    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5513}
5514extern "C" {
5515    #[link_name = "\u{1}aws_lc_0_35_0_SHA512_256"]
5516    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5517}
5518extern "C" {
5519    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_malloc"]
5520    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5521}
5522extern "C" {
5523    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_zalloc"]
5524    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5525}
5526extern "C" {
5527    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_calloc"]
5528    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5529}
5530extern "C" {
5531    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_realloc"]
5532    pub fn OPENSSL_realloc(
5533        ptr: *mut ::std::os::raw::c_void,
5534        new_size: usize,
5535    ) -> *mut ::std::os::raw::c_void;
5536}
5537extern "C" {
5538    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_free"]
5539    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5540}
5541extern "C" {
5542    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_cleanse"]
5543    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5544}
5545extern "C" {
5546    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_memcmp"]
5547    pub fn CRYPTO_memcmp(
5548        a: *const ::std::os::raw::c_void,
5549        b: *const ::std::os::raw::c_void,
5550        len: usize,
5551    ) -> ::std::os::raw::c_int;
5552}
5553extern "C" {
5554    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_hash32"]
5555    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
5556}
5557extern "C" {
5558    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strhash"]
5559    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
5560}
5561extern "C" {
5562    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strdup"]
5563    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5564}
5565extern "C" {
5566    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strnlen"]
5567    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
5568}
5569extern "C" {
5570    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isalpha"]
5571    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5572}
5573extern "C" {
5574    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isdigit"]
5575    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5576}
5577extern "C" {
5578    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isxdigit"]
5579    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5580}
5581extern "C" {
5582    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_fromxdigit"]
5583    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5584}
5585extern "C" {
5586    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_hexstr2buf"]
5587    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
5588}
5589extern "C" {
5590    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isalnum"]
5591    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5592}
5593extern "C" {
5594    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_tolower"]
5595    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5596}
5597extern "C" {
5598    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_isspace"]
5599    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5600}
5601extern "C" {
5602    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strcasecmp"]
5603    pub fn OPENSSL_strcasecmp(
5604        a: *const ::std::os::raw::c_char,
5605        b: *const ::std::os::raw::c_char,
5606    ) -> ::std::os::raw::c_int;
5607}
5608extern "C" {
5609    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strncasecmp"]
5610    pub fn OPENSSL_strncasecmp(
5611        a: *const ::std::os::raw::c_char,
5612        b: *const ::std::os::raw::c_char,
5613        n: usize,
5614    ) -> ::std::os::raw::c_int;
5615}
5616extern "C" {
5617    #[link_name = "\u{1}aws_lc_0_35_0_BIO_snprintf"]
5618    pub fn BIO_snprintf(
5619        buf: *mut ::std::os::raw::c_char,
5620        n: usize,
5621        format: *const ::std::os::raw::c_char,
5622        ...
5623    ) -> ::std::os::raw::c_int;
5624}
5625extern "C" {
5626    #[link_name = "\u{1}aws_lc_0_35_0_BIO_vsnprintf"]
5627    pub fn BIO_vsnprintf(
5628        buf: *mut ::std::os::raw::c_char,
5629        n: usize,
5630        format: *const ::std::os::raw::c_char,
5631        args: *mut __va_list_tag,
5632    ) -> ::std::os::raw::c_int;
5633}
5634extern "C" {
5635    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_vasprintf"]
5636    pub fn OPENSSL_vasprintf(
5637        str_: *mut *mut ::std::os::raw::c_char,
5638        format: *const ::std::os::raw::c_char,
5639        args: *mut __va_list_tag,
5640    ) -> ::std::os::raw::c_int;
5641}
5642extern "C" {
5643    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_asprintf"]
5644    pub fn OPENSSL_asprintf(
5645        str_: *mut *mut ::std::os::raw::c_char,
5646        format: *const ::std::os::raw::c_char,
5647        ...
5648    ) -> ::std::os::raw::c_int;
5649}
5650extern "C" {
5651    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strndup"]
5652    pub fn OPENSSL_strndup(
5653        str_: *const ::std::os::raw::c_char,
5654        size: usize,
5655    ) -> *mut ::std::os::raw::c_char;
5656}
5657extern "C" {
5658    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_memdup"]
5659    pub fn OPENSSL_memdup(
5660        data: *const ::std::os::raw::c_void,
5661        size: usize,
5662    ) -> *mut ::std::os::raw::c_void;
5663}
5664extern "C" {
5665    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strlcpy"]
5666    pub fn OPENSSL_strlcpy(
5667        dst: *mut ::std::os::raw::c_char,
5668        src: *const ::std::os::raw::c_char,
5669        dst_size: usize,
5670    ) -> usize;
5671}
5672extern "C" {
5673    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_strlcat"]
5674    pub fn OPENSSL_strlcat(
5675        dst: *mut ::std::os::raw::c_char,
5676        src: *const ::std::os::raw::c_char,
5677        dst_size: usize,
5678    ) -> usize;
5679}
5680extern "C" {
5681    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_malloc"]
5682    pub fn CRYPTO_malloc(
5683        size: usize,
5684        file: *const ::std::os::raw::c_char,
5685        line: ::std::os::raw::c_int,
5686    ) -> *mut ::std::os::raw::c_void;
5687}
5688extern "C" {
5689    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_realloc"]
5690    pub fn CRYPTO_realloc(
5691        ptr: *mut ::std::os::raw::c_void,
5692        new_size: usize,
5693        file: *const ::std::os::raw::c_char,
5694        line: ::std::os::raw::c_int,
5695    ) -> *mut ::std::os::raw::c_void;
5696}
5697extern "C" {
5698    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_free"]
5699    pub fn CRYPTO_free(
5700        ptr: *mut ::std::os::raw::c_void,
5701        file: *const ::std::os::raw::c_char,
5702        line: ::std::os::raw::c_int,
5703    );
5704}
5705extern "C" {
5706    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_clear_free"]
5707    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5708}
5709extern "C" {
5710    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_mem_functions"]
5711    pub fn CRYPTO_set_mem_functions(
5712        m: ::std::option::Option<
5713            unsafe extern "C" fn(
5714                arg1: usize,
5715                arg2: *const ::std::os::raw::c_char,
5716                arg3: ::std::os::raw::c_int,
5717            ) -> *mut ::std::os::raw::c_void,
5718        >,
5719        r: ::std::option::Option<
5720            unsafe extern "C" fn(
5721                arg1: *mut ::std::os::raw::c_void,
5722                arg2: usize,
5723                arg3: *const ::std::os::raw::c_char,
5724                arg4: ::std::os::raw::c_int,
5725            ) -> *mut ::std::os::raw::c_void,
5726        >,
5727        f: ::std::option::Option<
5728            unsafe extern "C" fn(
5729                arg1: *mut ::std::os::raw::c_void,
5730                arg2: *const ::std::os::raw::c_char,
5731                arg3: ::std::os::raw::c_int,
5732            ),
5733        >,
5734    ) -> ::std::os::raw::c_int;
5735}
5736extern "C" {
5737    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_malloc_init"]
5738    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
5739}
5740extern "C" {
5741    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_malloc_initialized"]
5742    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
5743}
5744extern "C" {
5745    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_secure_used"]
5746    pub fn CRYPTO_secure_used() -> usize;
5747}
5748extern "C" {
5749    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_malloc"]
5750    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5751}
5752extern "C" {
5753    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_zalloc"]
5754    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5755}
5756extern "C" {
5757    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_secure_clear_free"]
5758    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5759}
5760#[repr(C)]
5761#[derive(Copy, Clone)]
5762pub union crypto_mutex_st {
5763    pub alignment: f64,
5764    pub padding: [u8; 56usize],
5765}
5766#[test]
5767fn bindgen_test_layout_crypto_mutex_st() {
5768    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
5769    let ptr = UNINIT.as_ptr();
5770    assert_eq!(
5771        ::std::mem::size_of::<crypto_mutex_st>(),
5772        56usize,
5773        "Size of crypto_mutex_st"
5774    );
5775    assert_eq!(
5776        ::std::mem::align_of::<crypto_mutex_st>(),
5777        8usize,
5778        "Alignment of crypto_mutex_st"
5779    );
5780    assert_eq!(
5781        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
5782        0usize,
5783        "Offset of field: crypto_mutex_st::alignment"
5784    );
5785    assert_eq!(
5786        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
5787        0usize,
5788        "Offset of field: crypto_mutex_st::padding"
5789    );
5790}
5791impl Default for crypto_mutex_st {
5792    fn default() -> Self {
5793        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5794        unsafe {
5795            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5796            s.assume_init()
5797        }
5798    }
5799}
5800pub type CRYPTO_MUTEX = crypto_mutex_st;
5801pub type CRYPTO_refcount_t = u32;
5802extern "C" {
5803    #[link_name = "\u{1}aws_lc_0_35_0_AWSLC_thread_local_clear"]
5804    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
5805}
5806extern "C" {
5807    #[link_name = "\u{1}aws_lc_0_35_0_AWSLC_thread_local_shutdown"]
5808    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
5809}
5810extern "C" {
5811    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_num_locks"]
5812    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
5813}
5814extern "C" {
5815    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_locking_callback"]
5816    pub fn CRYPTO_set_locking_callback(
5817        func: ::std::option::Option<
5818            unsafe extern "C" fn(
5819                mode: ::std::os::raw::c_int,
5820                lock_num: ::std::os::raw::c_int,
5821                file: *const ::std::os::raw::c_char,
5822                line: ::std::os::raw::c_int,
5823            ),
5824        >,
5825    );
5826}
5827extern "C" {
5828    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_add_lock_callback"]
5829    pub fn CRYPTO_set_add_lock_callback(
5830        func: ::std::option::Option<
5831            unsafe extern "C" fn(
5832                num: *mut ::std::os::raw::c_int,
5833                amount: ::std::os::raw::c_int,
5834                lock_num: ::std::os::raw::c_int,
5835                file: *const ::std::os::raw::c_char,
5836                line: ::std::os::raw::c_int,
5837            ) -> ::std::os::raw::c_int,
5838        >,
5839    );
5840}
5841extern "C" {
5842    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_get_locking_callback"]
5843    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
5844        unsafe extern "C" fn(
5845            arg1: ::std::os::raw::c_int,
5846            arg2: ::std::os::raw::c_int,
5847            arg3: *const ::std::os::raw::c_char,
5848            arg4: ::std::os::raw::c_int,
5849        ),
5850    >;
5851}
5852extern "C" {
5853    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_get_lock_name"]
5854    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5855}
5856extern "C" {
5857    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_THREADID_set_callback"]
5858    pub fn CRYPTO_THREADID_set_callback(
5859        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
5860    ) -> ::std::os::raw::c_int;
5861}
5862extern "C" {
5863    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_THREADID_set_numeric"]
5864    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
5865}
5866extern "C" {
5867    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_THREADID_set_pointer"]
5868    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
5869}
5870extern "C" {
5871    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_THREADID_current"]
5872    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
5873}
5874extern "C" {
5875    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_id_callback"]
5876    pub fn CRYPTO_set_id_callback(
5877        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
5878    );
5879}
5880#[repr(C)]
5881#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5882pub struct CRYPTO_dynlock {
5883    pub references: ::std::os::raw::c_int,
5884    pub data: *mut CRYPTO_dynlock_value,
5885}
5886#[test]
5887fn bindgen_test_layout_CRYPTO_dynlock() {
5888    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
5889    let ptr = UNINIT.as_ptr();
5890    assert_eq!(
5891        ::std::mem::size_of::<CRYPTO_dynlock>(),
5892        16usize,
5893        "Size of CRYPTO_dynlock"
5894    );
5895    assert_eq!(
5896        ::std::mem::align_of::<CRYPTO_dynlock>(),
5897        8usize,
5898        "Alignment of CRYPTO_dynlock"
5899    );
5900    assert_eq!(
5901        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5902        0usize,
5903        "Offset of field: CRYPTO_dynlock::references"
5904    );
5905    assert_eq!(
5906        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5907        8usize,
5908        "Offset of field: CRYPTO_dynlock::data"
5909    );
5910}
5911impl Default for CRYPTO_dynlock {
5912    fn default() -> Self {
5913        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5914        unsafe {
5915            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5916            s.assume_init()
5917        }
5918    }
5919}
5920extern "C" {
5921    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_dynlock_create_callback"]
5922    pub fn CRYPTO_set_dynlock_create_callback(
5923        dyn_create_function: ::std::option::Option<
5924            unsafe extern "C" fn(
5925                file: *const ::std::os::raw::c_char,
5926                line: ::std::os::raw::c_int,
5927            ) -> *mut CRYPTO_dynlock_value,
5928        >,
5929    );
5930}
5931extern "C" {
5932    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_dynlock_lock_callback"]
5933    pub fn CRYPTO_set_dynlock_lock_callback(
5934        dyn_lock_function: ::std::option::Option<
5935            unsafe extern "C" fn(
5936                mode: ::std::os::raw::c_int,
5937                l: *mut CRYPTO_dynlock_value,
5938                file: *const ::std::os::raw::c_char,
5939                line: ::std::os::raw::c_int,
5940            ),
5941        >,
5942    );
5943}
5944extern "C" {
5945    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_set_dynlock_destroy_callback"]
5946    pub fn CRYPTO_set_dynlock_destroy_callback(
5947        dyn_destroy_function: ::std::option::Option<
5948            unsafe extern "C" fn(
5949                l: *mut CRYPTO_dynlock_value,
5950                file: *const ::std::os::raw::c_char,
5951                line: ::std::os::raw::c_int,
5952            ),
5953        >,
5954    );
5955}
5956extern "C" {
5957    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_get_dynlock_create_callback"]
5958    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
5959        unsafe extern "C" fn(
5960            arg1: *const ::std::os::raw::c_char,
5961            arg2: ::std::os::raw::c_int,
5962        ) -> *mut CRYPTO_dynlock_value,
5963    >;
5964}
5965extern "C" {
5966    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_get_dynlock_lock_callback"]
5967    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
5968        unsafe extern "C" fn(
5969            arg1: ::std::os::raw::c_int,
5970            arg2: *mut CRYPTO_dynlock_value,
5971            arg3: *const ::std::os::raw::c_char,
5972            arg4: ::std::os::raw::c_int,
5973        ),
5974    >;
5975}
5976extern "C" {
5977    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_get_dynlock_destroy_callback"]
5978    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
5979        unsafe extern "C" fn(
5980            arg1: *mut CRYPTO_dynlock_value,
5981            arg2: *const ::std::os::raw::c_char,
5982            arg3: ::std::os::raw::c_int,
5983        ),
5984    >;
5985}
5986extern "C" {
5987    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_library_init"]
5988    pub fn CRYPTO_library_init();
5989}
5990extern "C" {
5991    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_is_confidential_build"]
5992    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
5993}
5994extern "C" {
5995    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_has_asm"]
5996    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
5997}
5998extern "C" {
5999    #[link_name = "\u{1}aws_lc_0_35_0_BORINGSSL_self_test"]
6000    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6001}
6002extern "C" {
6003    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6004}
6005extern "C" {
6006    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_pre_sandbox_init"]
6007    pub fn CRYPTO_pre_sandbox_init();
6008}
6009extern "C" {
6010    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_mode"]
6011    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6012}
6013extern "C" {
6014    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_is_entropy_cpu_jitter"]
6015    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6016}
6017pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
6018pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
6019pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
6020pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
6021pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
6022pub type fips_counter_t = ::std::os::raw::c_uint;
6023extern "C" {
6024    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_read_counter"]
6025    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
6026}
6027extern "C" {
6028    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_version"]
6029    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6030}
6031extern "C" {
6032    #[link_name = "\u{1}aws_lc_0_35_0_SSLeay_version"]
6033    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6034}
6035extern "C" {
6036    #[link_name = "\u{1}aws_lc_0_35_0_SSLeay"]
6037    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6038}
6039extern "C" {
6040    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_version_num"]
6041    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6042}
6043extern "C" {
6044    #[link_name = "\u{1}aws_lc_0_35_0_awslc_api_version_num"]
6045    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6046}
6047extern "C" {
6048    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_malloc_init"]
6049    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6050}
6051extern "C" {
6052    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_malloc_init"]
6053    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6054}
6055extern "C" {
6056    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_load_builtin_engines"]
6057    pub fn ENGINE_load_builtin_engines();
6058}
6059extern "C" {
6060    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_ciphers"]
6061    pub fn ENGINE_register_all_ciphers();
6062}
6063extern "C" {
6064    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_digests"]
6065    pub fn ENGINE_register_all_digests();
6066}
6067extern "C" {
6068    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_register_all_complete"]
6069    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6070}
6071extern "C" {
6072    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_load_builtin_modules"]
6073    pub fn OPENSSL_load_builtin_modules();
6074}
6075extern "C" {
6076    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_init_crypto"]
6077    pub fn OPENSSL_init_crypto(
6078        opts: u64,
6079        settings: *const OPENSSL_INIT_SETTINGS,
6080    ) -> ::std::os::raw::c_int;
6081}
6082extern "C" {
6083    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_init"]
6084    pub fn OPENSSL_init();
6085}
6086extern "C" {
6087    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_cleanup"]
6088    pub fn OPENSSL_cleanup();
6089}
6090extern "C" {
6091    #[link_name = "\u{1}aws_lc_0_35_0_FIPS_mode_set"]
6092    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6093}
6094extern "C" {
6095    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_mem_ctrl"]
6096    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6097}
6098extern "C" {
6099    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_BIO_strings"]
6100    pub fn ERR_load_BIO_strings();
6101}
6102extern "C" {
6103    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_ERR_strings"]
6104    pub fn ERR_load_ERR_strings();
6105}
6106extern "C" {
6107    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_CRYPTO_strings"]
6108    pub fn ERR_load_CRYPTO_strings();
6109}
6110extern "C" {
6111    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_crypto_strings"]
6112    pub fn ERR_load_crypto_strings();
6113}
6114extern "C" {
6115    #[link_name = "\u{1}aws_lc_0_35_0_ERR_load_RAND_strings"]
6116    pub fn ERR_load_RAND_strings();
6117}
6118extern "C" {
6119    #[link_name = "\u{1}aws_lc_0_35_0_ERR_free_strings"]
6120    pub fn ERR_free_strings();
6121}
6122extern "C" {
6123    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error"]
6124    pub fn ERR_get_error() -> u32;
6125}
6126extern "C" {
6127    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error_line"]
6128    pub fn ERR_get_error_line(
6129        file: *mut *const ::std::os::raw::c_char,
6130        line: *mut ::std::os::raw::c_int,
6131    ) -> u32;
6132}
6133extern "C" {
6134    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_error_line_data"]
6135    pub fn ERR_get_error_line_data(
6136        file: *mut *const ::std::os::raw::c_char,
6137        line: *mut ::std::os::raw::c_int,
6138        data: *mut *const ::std::os::raw::c_char,
6139        flags: *mut ::std::os::raw::c_int,
6140    ) -> u32;
6141}
6142extern "C" {
6143    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error"]
6144    pub fn ERR_peek_error() -> u32;
6145}
6146extern "C" {
6147    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error_line"]
6148    pub fn ERR_peek_error_line(
6149        file: *mut *const ::std::os::raw::c_char,
6150        line: *mut ::std::os::raw::c_int,
6151    ) -> u32;
6152}
6153extern "C" {
6154    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_error_line_data"]
6155    pub fn ERR_peek_error_line_data(
6156        file: *mut *const ::std::os::raw::c_char,
6157        line: *mut ::std::os::raw::c_int,
6158        data: *mut *const ::std::os::raw::c_char,
6159        flags: *mut ::std::os::raw::c_int,
6160    ) -> u32;
6161}
6162extern "C" {
6163    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error"]
6164    pub fn ERR_peek_last_error() -> u32;
6165}
6166extern "C" {
6167    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error_line"]
6168    pub fn ERR_peek_last_error_line(
6169        file: *mut *const ::std::os::raw::c_char,
6170        line: *mut ::std::os::raw::c_int,
6171    ) -> u32;
6172}
6173extern "C" {
6174    #[link_name = "\u{1}aws_lc_0_35_0_ERR_peek_last_error_line_data"]
6175    pub fn ERR_peek_last_error_line_data(
6176        file: *mut *const ::std::os::raw::c_char,
6177        line: *mut ::std::os::raw::c_int,
6178        data: *mut *const ::std::os::raw::c_char,
6179        flags: *mut ::std::os::raw::c_int,
6180    ) -> u32;
6181}
6182extern "C" {
6183    #[link_name = "\u{1}aws_lc_0_35_0_ERR_error_string_n"]
6184    pub fn ERR_error_string_n(
6185        packed_error: u32,
6186        buf: *mut ::std::os::raw::c_char,
6187        len: usize,
6188    ) -> *mut ::std::os::raw::c_char;
6189}
6190extern "C" {
6191    #[link_name = "\u{1}aws_lc_0_35_0_ERR_lib_error_string"]
6192    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6193}
6194extern "C" {
6195    #[link_name = "\u{1}aws_lc_0_35_0_ERR_reason_error_string"]
6196    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6197}
6198pub type ERR_print_errors_callback_t = ::std::option::Option<
6199    unsafe extern "C" fn(
6200        str_: *const ::std::os::raw::c_char,
6201        len: usize,
6202        ctx: *mut ::std::os::raw::c_void,
6203    ) -> ::std::os::raw::c_int,
6204>;
6205extern "C" {
6206    #[link_name = "\u{1}aws_lc_0_35_0_ERR_print_errors_cb"]
6207    pub fn ERR_print_errors_cb(
6208        callback: ERR_print_errors_callback_t,
6209        ctx: *mut ::std::os::raw::c_void,
6210    );
6211}
6212extern "C" {
6213    #[link_name = "\u{1}aws_lc_0_35_0_ERR_print_errors_fp"]
6214    pub fn ERR_print_errors_fp(file: *mut FILE);
6215}
6216extern "C" {
6217    #[link_name = "\u{1}aws_lc_0_35_0_ERR_clear_error"]
6218    pub fn ERR_clear_error();
6219}
6220extern "C" {
6221    #[link_name = "\u{1}aws_lc_0_35_0_ERR_set_mark"]
6222    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6223}
6224extern "C" {
6225    #[link_name = "\u{1}aws_lc_0_35_0_ERR_pop_to_mark"]
6226    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6227}
6228extern "C" {
6229    #[link_name = "\u{1}aws_lc_0_35_0_ERR_get_next_error_library"]
6230    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6231}
6232extern "C" {
6233    #[link_name = "\u{1}aws_lc_0_35_0_ERR_remove_state"]
6234    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6235}
6236extern "C" {
6237    #[link_name = "\u{1}aws_lc_0_35_0_ERR_remove_thread_state"]
6238    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6239}
6240extern "C" {
6241    #[link_name = "\u{1}aws_lc_0_35_0_ERR_func_error_string"]
6242    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6243}
6244extern "C" {
6245    #[link_name = "\u{1}aws_lc_0_35_0_ERR_error_string"]
6246    pub fn ERR_error_string(
6247        packed_error: u32,
6248        buf: *mut ::std::os::raw::c_char,
6249    ) -> *mut ::std::os::raw::c_char;
6250}
6251extern "C" {
6252    #[link_name = "\u{1}aws_lc_0_35_0_ERR_clear_system_error"]
6253    pub fn ERR_clear_system_error();
6254}
6255extern "C" {
6256    #[link_name = "\u{1}aws_lc_0_35_0_ERR_put_error"]
6257    pub fn ERR_put_error(
6258        library: ::std::os::raw::c_int,
6259        unused: ::std::os::raw::c_int,
6260        reason: ::std::os::raw::c_int,
6261        file: *const ::std::os::raw::c_char,
6262        line: ::std::os::raw::c_uint,
6263    );
6264}
6265extern "C" {
6266    #[link_name = "\u{1}aws_lc_0_35_0_ERR_add_error_data"]
6267    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6268}
6269extern "C" {
6270    #[link_name = "\u{1}aws_lc_0_35_0_ERR_add_error_dataf"]
6271    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6272}
6273extern "C" {
6274    #[link_name = "\u{1}aws_lc_0_35_0_ERR_set_error_data"]
6275    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6276}
6277pub type OPENSSL_sk_free_func =
6278    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6279pub type OPENSSL_sk_copy_func = ::std::option::Option<
6280    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6281>;
6282pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6283    unsafe extern "C" fn(
6284        a: *const *const ::std::os::raw::c_void,
6285        b: *const *const ::std::os::raw::c_void,
6286    ) -> ::std::os::raw::c_int,
6287>;
6288pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6289    unsafe extern "C" fn(
6290        obj: *mut ::std::os::raw::c_void,
6291        data: *mut ::std::os::raw::c_void,
6292    ) -> ::std::os::raw::c_int,
6293>;
6294pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6295    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6296>;
6297pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6298    unsafe extern "C" fn(
6299        arg1: OPENSSL_sk_copy_func,
6300        arg2: *const ::std::os::raw::c_void,
6301    ) -> *mut ::std::os::raw::c_void,
6302>;
6303pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6304    unsafe extern "C" fn(
6305        arg1: OPENSSL_sk_cmp_func,
6306        arg2: *const ::std::os::raw::c_void,
6307        arg3: *const ::std::os::raw::c_void,
6308    ) -> ::std::os::raw::c_int,
6309>;
6310pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6311    unsafe extern "C" fn(
6312        arg1: OPENSSL_sk_delete_if_func,
6313        arg2: *mut ::std::os::raw::c_void,
6314        arg3: *mut ::std::os::raw::c_void,
6315    ) -> ::std::os::raw::c_int,
6316>;
6317#[repr(C)]
6318#[derive(Debug, Copy, Clone)]
6319pub struct stack_st {
6320    _unused: [u8; 0],
6321}
6322pub type OPENSSL_STACK = stack_st;
6323extern "C" {
6324    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_new"]
6325    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6326}
6327extern "C" {
6328    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_new_null"]
6329    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6330}
6331extern "C" {
6332    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_num"]
6333    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6334}
6335extern "C" {
6336    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_zero"]
6337    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6338}
6339extern "C" {
6340    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_value"]
6341    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6342}
6343extern "C" {
6344    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_set"]
6345    pub fn OPENSSL_sk_set(
6346        sk: *mut OPENSSL_STACK,
6347        i: usize,
6348        p: *mut ::std::os::raw::c_void,
6349    ) -> *mut ::std::os::raw::c_void;
6350}
6351extern "C" {
6352    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_free"]
6353    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6354}
6355extern "C" {
6356    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_pop_free_ex"]
6357    pub fn OPENSSL_sk_pop_free_ex(
6358        sk: *mut OPENSSL_STACK,
6359        call_free_func: OPENSSL_sk_call_free_func,
6360        free_func: OPENSSL_sk_free_func,
6361    );
6362}
6363extern "C" {
6364    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_insert"]
6365    pub fn OPENSSL_sk_insert(
6366        sk: *mut OPENSSL_STACK,
6367        p: *mut ::std::os::raw::c_void,
6368        where_: usize,
6369    ) -> usize;
6370}
6371extern "C" {
6372    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_delete"]
6373    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6374}
6375extern "C" {
6376    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_delete_ptr"]
6377    pub fn OPENSSL_sk_delete_ptr(
6378        sk: *mut OPENSSL_STACK,
6379        p: *const ::std::os::raw::c_void,
6380    ) -> *mut ::std::os::raw::c_void;
6381}
6382extern "C" {
6383    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_delete_if"]
6384    pub fn OPENSSL_sk_delete_if(
6385        sk: *mut OPENSSL_STACK,
6386        call_func: OPENSSL_sk_call_delete_if_func,
6387        func: OPENSSL_sk_delete_if_func,
6388        data: *mut ::std::os::raw::c_void,
6389    );
6390}
6391extern "C" {
6392    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_find"]
6393    pub fn OPENSSL_sk_find(
6394        sk: *const OPENSSL_STACK,
6395        out_index: *mut usize,
6396        p: *const ::std::os::raw::c_void,
6397        call_cmp_func: OPENSSL_sk_call_cmp_func,
6398    ) -> ::std::os::raw::c_int;
6399}
6400extern "C" {
6401    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_unshift"]
6402    pub fn OPENSSL_sk_unshift(
6403        sk: *mut OPENSSL_STACK,
6404        data: *mut ::std::os::raw::c_void,
6405    ) -> ::std::os::raw::c_int;
6406}
6407extern "C" {
6408    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_shift"]
6409    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6410}
6411extern "C" {
6412    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_push"]
6413    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6414}
6415extern "C" {
6416    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_pop"]
6417    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6418}
6419extern "C" {
6420    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_dup"]
6421    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6422}
6423extern "C" {
6424    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_sort"]
6425    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6426}
6427extern "C" {
6428    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_is_sorted"]
6429    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6430}
6431extern "C" {
6432    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_set_cmp_func"]
6433    pub fn OPENSSL_sk_set_cmp_func(
6434        sk: *mut OPENSSL_STACK,
6435        comp: OPENSSL_sk_cmp_func,
6436    ) -> OPENSSL_sk_cmp_func;
6437}
6438extern "C" {
6439    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_sk_deep_copy"]
6440    pub fn OPENSSL_sk_deep_copy(
6441        sk: *const OPENSSL_STACK,
6442        call_copy_func: OPENSSL_sk_call_copy_func,
6443        copy_func: OPENSSL_sk_copy_func,
6444        call_free_func: OPENSSL_sk_call_free_func,
6445        free_func: OPENSSL_sk_free_func,
6446    ) -> *mut OPENSSL_STACK;
6447}
6448pub type _STACK = OPENSSL_STACK;
6449extern "C" {
6450    #[link_name = "\u{1}aws_lc_0_35_0_sk_pop_free"]
6451    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6452}
6453pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6454#[repr(C)]
6455#[derive(Debug, Copy, Clone)]
6456pub struct stack_st_void {
6457    _unused: [u8; 0],
6458}
6459pub type sk_void_free_func =
6460    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6461pub type sk_void_copy_func = ::std::option::Option<
6462    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6463>;
6464pub type sk_void_cmp_func = ::std::option::Option<
6465    unsafe extern "C" fn(
6466        arg1: *const *const ::std::os::raw::c_void,
6467        arg2: *const *const ::std::os::raw::c_void,
6468    ) -> ::std::os::raw::c_int,
6469>;
6470pub type sk_void_delete_if_func = ::std::option::Option<
6471    unsafe extern "C" fn(
6472        arg1: *mut ::std::os::raw::c_void,
6473        arg2: *mut ::std::os::raw::c_void,
6474    ) -> ::std::os::raw::c_int,
6475>;
6476#[repr(C)]
6477#[derive(Debug, Copy, Clone)]
6478pub struct stack_st_OPENSSL_STRING {
6479    _unused: [u8; 0],
6480}
6481pub type sk_OPENSSL_STRING_free_func =
6482    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6483pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6484    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6485>;
6486pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6487    unsafe extern "C" fn(
6488        arg1: *const *const ::std::os::raw::c_char,
6489        arg2: *const *const ::std::os::raw::c_char,
6490    ) -> ::std::os::raw::c_int,
6491>;
6492pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6493    unsafe extern "C" fn(
6494        arg1: *mut ::std::os::raw::c_char,
6495        arg2: *mut ::std::os::raw::c_void,
6496    ) -> ::std::os::raw::c_int,
6497>;
6498pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6499pub type CRYPTO_EX_free = ::std::option::Option<
6500    unsafe extern "C" fn(
6501        parent: *mut ::std::os::raw::c_void,
6502        ptr: *mut ::std::os::raw::c_void,
6503        ad: *mut CRYPTO_EX_DATA,
6504        index: ::std::os::raw::c_int,
6505        argl: ::std::os::raw::c_long,
6506        argp: *mut ::std::os::raw::c_void,
6507    ),
6508>;
6509extern "C" {
6510    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_cleanup_all_ex_data"]
6511    pub fn CRYPTO_cleanup_all_ex_data();
6512}
6513pub type CRYPTO_EX_dup = ::std::option::Option<
6514    unsafe extern "C" fn(
6515        to: *mut CRYPTO_EX_DATA,
6516        from: *const CRYPTO_EX_DATA,
6517        from_d: *mut *mut ::std::os::raw::c_void,
6518        index: ::std::os::raw::c_int,
6519        argl: ::std::os::raw::c_long,
6520        argp: *mut ::std::os::raw::c_void,
6521    ) -> ::std::os::raw::c_int,
6522>;
6523pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6524#[repr(C)]
6525#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6526pub struct crypto_ex_data_st {
6527    pub sk: *mut stack_st_void,
6528}
6529#[test]
6530fn bindgen_test_layout_crypto_ex_data_st() {
6531    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6532    let ptr = UNINIT.as_ptr();
6533    assert_eq!(
6534        ::std::mem::size_of::<crypto_ex_data_st>(),
6535        8usize,
6536        "Size of crypto_ex_data_st"
6537    );
6538    assert_eq!(
6539        ::std::mem::align_of::<crypto_ex_data_st>(),
6540        8usize,
6541        "Alignment of crypto_ex_data_st"
6542    );
6543    assert_eq!(
6544        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6545        0usize,
6546        "Offset of field: crypto_ex_data_st::sk"
6547    );
6548}
6549impl Default for crypto_ex_data_st {
6550    fn default() -> Self {
6551        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6552        unsafe {
6553            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6554            s.assume_init()
6555        }
6556    }
6557}
6558#[repr(C)]
6559#[derive(Debug, Copy, Clone)]
6560pub struct stack_st_BIO {
6561    _unused: [u8; 0],
6562}
6563pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6564pub type sk_BIO_copy_func =
6565    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6566pub type sk_BIO_cmp_func = ::std::option::Option<
6567    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
6568>;
6569pub type sk_BIO_delete_if_func = ::std::option::Option<
6570    unsafe extern "C" fn(
6571        arg1: *mut BIO,
6572        arg2: *mut ::std::os::raw::c_void,
6573    ) -> ::std::os::raw::c_int,
6574>;
6575extern "C" {
6576    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new"]
6577    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6578}
6579extern "C" {
6580    #[link_name = "\u{1}aws_lc_0_35_0_BIO_free"]
6581    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
6582}
6583extern "C" {
6584    #[link_name = "\u{1}aws_lc_0_35_0_BIO_vfree"]
6585    pub fn BIO_vfree(bio: *mut BIO);
6586}
6587extern "C" {
6588    #[link_name = "\u{1}aws_lc_0_35_0_BIO_up_ref"]
6589    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
6590}
6591extern "C" {
6592    #[link_name = "\u{1}aws_lc_0_35_0_BIO_read"]
6593    pub fn BIO_read(
6594        bio: *mut BIO,
6595        data: *mut ::std::os::raw::c_void,
6596        len: ::std::os::raw::c_int,
6597    ) -> ::std::os::raw::c_int;
6598}
6599extern "C" {
6600    #[link_name = "\u{1}aws_lc_0_35_0_BIO_read_ex"]
6601    pub fn BIO_read_ex(
6602        bio: *mut BIO,
6603        data: *mut ::std::os::raw::c_void,
6604        data_len: usize,
6605        read_bytes: *mut usize,
6606    ) -> ::std::os::raw::c_int;
6607}
6608extern "C" {
6609    #[link_name = "\u{1}aws_lc_0_35_0_BIO_gets"]
6610    pub fn BIO_gets(
6611        bio: *mut BIO,
6612        buf: *mut ::std::os::raw::c_char,
6613        size: ::std::os::raw::c_int,
6614    ) -> ::std::os::raw::c_int;
6615}
6616extern "C" {
6617    #[link_name = "\u{1}aws_lc_0_35_0_BIO_write"]
6618    pub fn BIO_write(
6619        bio: *mut BIO,
6620        data: *const ::std::os::raw::c_void,
6621        len: ::std::os::raw::c_int,
6622    ) -> ::std::os::raw::c_int;
6623}
6624extern "C" {
6625    #[link_name = "\u{1}aws_lc_0_35_0_BIO_write_ex"]
6626    pub fn BIO_write_ex(
6627        bio: *mut BIO,
6628        data: *const ::std::os::raw::c_void,
6629        data_len: usize,
6630        written_bytes: *mut usize,
6631    ) -> ::std::os::raw::c_int;
6632}
6633extern "C" {
6634    #[link_name = "\u{1}aws_lc_0_35_0_BIO_write_all"]
6635    pub fn BIO_write_all(
6636        bio: *mut BIO,
6637        data: *const ::std::os::raw::c_void,
6638        len: usize,
6639    ) -> ::std::os::raw::c_int;
6640}
6641extern "C" {
6642    #[link_name = "\u{1}aws_lc_0_35_0_BIO_puts"]
6643    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6644}
6645extern "C" {
6646    #[link_name = "\u{1}aws_lc_0_35_0_BIO_flush"]
6647    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
6648}
6649extern "C" {
6650    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl"]
6651    pub fn BIO_ctrl(
6652        bio: *mut BIO,
6653        cmd: ::std::os::raw::c_int,
6654        larg: ::std::os::raw::c_long,
6655        parg: *mut ::std::os::raw::c_void,
6656    ) -> ::std::os::raw::c_long;
6657}
6658extern "C" {
6659    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ptr_ctrl"]
6660    pub fn BIO_ptr_ctrl(
6661        bp: *mut BIO,
6662        cmd: ::std::os::raw::c_int,
6663        larg: ::std::os::raw::c_long,
6664    ) -> *mut ::std::os::raw::c_char;
6665}
6666extern "C" {
6667    #[link_name = "\u{1}aws_lc_0_35_0_BIO_int_ctrl"]
6668    pub fn BIO_int_ctrl(
6669        bp: *mut BIO,
6670        cmd: ::std::os::raw::c_int,
6671        larg: ::std::os::raw::c_long,
6672        iarg: ::std::os::raw::c_int,
6673    ) -> ::std::os::raw::c_long;
6674}
6675extern "C" {
6676    #[link_name = "\u{1}aws_lc_0_35_0_BIO_reset"]
6677    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
6678}
6679extern "C" {
6680    #[link_name = "\u{1}aws_lc_0_35_0_BIO_eof"]
6681    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
6682}
6683extern "C" {
6684    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_flags"]
6685    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6686}
6687extern "C" {
6688    #[link_name = "\u{1}aws_lc_0_35_0_BIO_test_flags"]
6689    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6690}
6691extern "C" {
6692    #[link_name = "\u{1}aws_lc_0_35_0_BIO_should_read"]
6693    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
6694}
6695extern "C" {
6696    #[link_name = "\u{1}aws_lc_0_35_0_BIO_should_write"]
6697    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
6698}
6699extern "C" {
6700    #[link_name = "\u{1}aws_lc_0_35_0_BIO_should_retry"]
6701    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
6702}
6703extern "C" {
6704    #[link_name = "\u{1}aws_lc_0_35_0_BIO_should_io_special"]
6705    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
6706}
6707extern "C" {
6708    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_retry_reason"]
6709    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
6710}
6711extern "C" {
6712    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_retry_reason"]
6713    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
6714}
6715extern "C" {
6716    #[link_name = "\u{1}aws_lc_0_35_0_BIO_clear_flags"]
6717    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6718}
6719extern "C" {
6720    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_retry_read"]
6721    pub fn BIO_set_retry_read(bio: *mut BIO);
6722}
6723extern "C" {
6724    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_retry_write"]
6725    pub fn BIO_set_retry_write(bio: *mut BIO);
6726}
6727extern "C" {
6728    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_retry_flags"]
6729    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
6730}
6731extern "C" {
6732    #[link_name = "\u{1}aws_lc_0_35_0_BIO_clear_retry_flags"]
6733    pub fn BIO_clear_retry_flags(bio: *mut BIO);
6734}
6735extern "C" {
6736    #[link_name = "\u{1}aws_lc_0_35_0_BIO_method_type"]
6737    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
6738}
6739extern "C" {
6740    #[link_name = "\u{1}aws_lc_0_35_0_BIO_method_name"]
6741    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
6742}
6743pub type bio_info_cb = ::std::option::Option<
6744    unsafe extern "C" fn(
6745        b: *mut BIO,
6746        state: ::std::os::raw::c_int,
6747        res: ::std::os::raw::c_int,
6748    ) -> ::std::os::raw::c_long,
6749>;
6750pub type BIO_callback_fn_ex = ::std::option::Option<
6751    unsafe extern "C" fn(
6752        bio: *mut BIO,
6753        oper: ::std::os::raw::c_int,
6754        argp: *const ::std::os::raw::c_char,
6755        len: usize,
6756        argi: ::std::os::raw::c_int,
6757        argl: ::std::os::raw::c_long,
6758        bio_ret: ::std::os::raw::c_int,
6759        processed: *mut usize,
6760    ) -> ::std::os::raw::c_long,
6761>;
6762pub type BIO_callback_fn = ::std::option::Option<
6763    unsafe extern "C" fn(
6764        bio: *mut BIO,
6765        oper: ::std::os::raw::c_int,
6766        argp: *const ::std::os::raw::c_char,
6767        argi: ::std::os::raw::c_int,
6768        argl: ::std::os::raw::c_long,
6769        bio_ret: ::std::os::raw::c_long,
6770    ) -> ::std::os::raw::c_long,
6771>;
6772extern "C" {
6773    #[link_name = "\u{1}aws_lc_0_35_0_BIO_callback_ctrl"]
6774    pub fn BIO_callback_ctrl(
6775        bio: *mut BIO,
6776        cmd: ::std::os::raw::c_int,
6777        fp: bio_info_cb,
6778    ) -> ::std::os::raw::c_long;
6779}
6780extern "C" {
6781    #[link_name = "\u{1}aws_lc_0_35_0_BIO_pending"]
6782    pub fn BIO_pending(bio: *const BIO) -> usize;
6783}
6784extern "C" {
6785    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl_pending"]
6786    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6787}
6788extern "C" {
6789    #[link_name = "\u{1}aws_lc_0_35_0_BIO_wpending"]
6790    pub fn BIO_wpending(bio: *const BIO) -> usize;
6791}
6792extern "C" {
6793    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_close"]
6794    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
6795        -> ::std::os::raw::c_int;
6796}
6797extern "C" {
6798    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_close"]
6799    pub fn BIO_get_close(bio: *mut BIO) -> ::std::os::raw::c_int;
6800}
6801extern "C" {
6802    #[link_name = "\u{1}aws_lc_0_35_0_BIO_number_read"]
6803    pub fn BIO_number_read(bio: *const BIO) -> u64;
6804}
6805extern "C" {
6806    #[link_name = "\u{1}aws_lc_0_35_0_BIO_number_written"]
6807    pub fn BIO_number_written(bio: *const BIO) -> u64;
6808}
6809extern "C" {
6810    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_callback_ex"]
6811    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
6812}
6813extern "C" {
6814    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_callback"]
6815    pub fn BIO_set_callback(bio: *mut BIO, callback: BIO_callback_fn);
6816}
6817extern "C" {
6818    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_callback_arg"]
6819    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
6820}
6821extern "C" {
6822    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_callback_arg"]
6823    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_0_35_0_BIO_push"]
6827    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6828}
6829extern "C" {
6830    #[link_name = "\u{1}aws_lc_0_35_0_BIO_pop"]
6831    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6832}
6833extern "C" {
6834    #[link_name = "\u{1}aws_lc_0_35_0_BIO_next"]
6835    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6836}
6837extern "C" {
6838    #[link_name = "\u{1}aws_lc_0_35_0_BIO_free_all"]
6839    pub fn BIO_free_all(bio: *mut BIO);
6840}
6841extern "C" {
6842    #[link_name = "\u{1}aws_lc_0_35_0_BIO_find_type"]
6843    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
6844}
6845extern "C" {
6846    #[link_name = "\u{1}aws_lc_0_35_0_BIO_copy_next_retry"]
6847    pub fn BIO_copy_next_retry(bio: *mut BIO);
6848}
6849extern "C" {
6850    #[link_name = "\u{1}aws_lc_0_35_0_BIO_printf"]
6851    pub fn BIO_printf(
6852        bio: *mut BIO,
6853        format: *const ::std::os::raw::c_char,
6854        ...
6855    ) -> ::std::os::raw::c_int;
6856}
6857extern "C" {
6858    #[link_name = "\u{1}aws_lc_0_35_0_BIO_indent"]
6859    pub fn BIO_indent(
6860        bio: *mut BIO,
6861        indent: ::std::os::raw::c_uint,
6862        max_indent: ::std::os::raw::c_uint,
6863    ) -> ::std::os::raw::c_int;
6864}
6865extern "C" {
6866    #[link_name = "\u{1}aws_lc_0_35_0_BIO_hexdump"]
6867    pub fn BIO_hexdump(
6868        bio: *mut BIO,
6869        data: *const u8,
6870        len: usize,
6871        indent: ::std::os::raw::c_uint,
6872    ) -> ::std::os::raw::c_int;
6873}
6874extern "C" {
6875    #[link_name = "\u{1}aws_lc_0_35_0_BIO_dump"]
6876    pub fn BIO_dump(
6877        bio: *mut BIO,
6878        data: *const ::std::os::raw::c_void,
6879        len: ::std::os::raw::c_int,
6880    ) -> ::std::os::raw::c_int;
6881}
6882extern "C" {
6883    #[link_name = "\u{1}aws_lc_0_35_0_ERR_print_errors"]
6884    pub fn ERR_print_errors(bio: *mut BIO);
6885}
6886extern "C" {
6887    #[link_name = "\u{1}aws_lc_0_35_0_BIO_read_asn1"]
6888    pub fn BIO_read_asn1(
6889        bio: *mut BIO,
6890        out: *mut *mut u8,
6891        out_len: *mut usize,
6892        max_len: usize,
6893    ) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_mem"]
6897    pub fn BIO_s_mem() -> *const BIO_METHOD;
6898}
6899extern "C" {
6900    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_mem_buf"]
6901    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
6902}
6903extern "C" {
6904    #[link_name = "\u{1}aws_lc_0_35_0_BIO_mem_contents"]
6905    pub fn BIO_mem_contents(
6906        bio: *const BIO,
6907        out_contents: *mut *const u8,
6908        out_len: *mut usize,
6909    ) -> ::std::os::raw::c_int;
6910}
6911extern "C" {
6912    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_mem_ptr"]
6913    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
6914}
6915extern "C" {
6916    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_mem_buf"]
6917    pub fn BIO_set_mem_buf(
6918        bio: *mut BIO,
6919        b: *mut BUF_MEM,
6920        take_ownership: ::std::os::raw::c_int,
6921    ) -> ::std::os::raw::c_int;
6922}
6923extern "C" {
6924    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_mem_eof_return"]
6925    pub fn BIO_set_mem_eof_return(
6926        bio: *mut BIO,
6927        eof_value: ::std::os::raw::c_int,
6928    ) -> ::std::os::raw::c_int;
6929}
6930extern "C" {
6931    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_fd"]
6932    pub fn BIO_s_fd() -> *const BIO_METHOD;
6933}
6934extern "C" {
6935    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_fd"]
6936    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6937}
6938extern "C" {
6939    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_fd"]
6940    pub fn BIO_set_fd(
6941        bio: *mut BIO,
6942        fd: ::std::os::raw::c_int,
6943        close_flag: ::std::os::raw::c_int,
6944    ) -> ::std::os::raw::c_int;
6945}
6946extern "C" {
6947    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_fd"]
6948    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6949}
6950extern "C" {
6951    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_file"]
6952    pub fn BIO_s_file() -> *const BIO_METHOD;
6953}
6954extern "C" {
6955    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_file"]
6956    pub fn BIO_new_file(
6957        filename: *const ::std::os::raw::c_char,
6958        mode: *const ::std::os::raw::c_char,
6959    ) -> *mut BIO;
6960}
6961extern "C" {
6962    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_fp"]
6963    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6964}
6965extern "C" {
6966    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_fp"]
6967    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
6968}
6969extern "C" {
6970    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_fp"]
6971    pub fn BIO_set_fp(
6972        bio: *mut BIO,
6973        file: *mut FILE,
6974        close_flag: ::std::os::raw::c_int,
6975    ) -> ::std::os::raw::c_int;
6976}
6977extern "C" {
6978    #[link_name = "\u{1}aws_lc_0_35_0_BIO_read_filename"]
6979    pub fn BIO_read_filename(
6980        bio: *mut BIO,
6981        filename: *const ::std::os::raw::c_char,
6982    ) -> ::std::os::raw::c_int;
6983}
6984extern "C" {
6985    #[link_name = "\u{1}aws_lc_0_35_0_BIO_write_filename"]
6986    pub fn BIO_write_filename(
6987        bio: *mut BIO,
6988        filename: *const ::std::os::raw::c_char,
6989    ) -> ::std::os::raw::c_int;
6990}
6991extern "C" {
6992    #[link_name = "\u{1}aws_lc_0_35_0_BIO_append_filename"]
6993    pub fn BIO_append_filename(
6994        bio: *mut BIO,
6995        filename: *const ::std::os::raw::c_char,
6996    ) -> ::std::os::raw::c_int;
6997}
6998extern "C" {
6999    #[link_name = "\u{1}aws_lc_0_35_0_BIO_rw_filename"]
7000    pub fn BIO_rw_filename(
7001        bio: *mut BIO,
7002        filename: *const ::std::os::raw::c_char,
7003    ) -> ::std::os::raw::c_int;
7004}
7005extern "C" {
7006    #[link_name = "\u{1}aws_lc_0_35_0_BIO_tell"]
7007    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7008}
7009extern "C" {
7010    #[link_name = "\u{1}aws_lc_0_35_0_BIO_seek"]
7011    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7012}
7013extern "C" {
7014    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_socket"]
7015    pub fn BIO_s_socket() -> *const BIO_METHOD;
7016}
7017extern "C" {
7018    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_socket"]
7019    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7020        -> *mut BIO;
7021}
7022extern "C" {
7023    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_connect"]
7024    pub fn BIO_s_connect() -> *const BIO_METHOD;
7025}
7026extern "C" {
7027    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_connect"]
7028    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7029}
7030extern "C" {
7031    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_conn_hostname"]
7032    pub fn BIO_set_conn_hostname(
7033        bio: *mut BIO,
7034        host_and_optional_port: *const ::std::os::raw::c_char,
7035    ) -> ::std::os::raw::c_int;
7036}
7037extern "C" {
7038    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_conn_port"]
7039    pub fn BIO_set_conn_port(
7040        bio: *mut BIO,
7041        port_str: *const ::std::os::raw::c_char,
7042    ) -> ::std::os::raw::c_int;
7043}
7044extern "C" {
7045    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_conn_int_port"]
7046    pub fn BIO_set_conn_int_port(
7047        bio: *mut BIO,
7048        port: *const ::std::os::raw::c_int,
7049    ) -> ::std::os::raw::c_int;
7050}
7051extern "C" {
7052    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_nbio"]
7053    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7054}
7055extern "C" {
7056    #[link_name = "\u{1}aws_lc_0_35_0_BIO_do_connect"]
7057    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7058}
7059extern "C" {
7060    #[link_name = "\u{1}aws_lc_0_35_0_BIO_f_md"]
7061    pub fn BIO_f_md() -> *const BIO_METHOD;
7062}
7063extern "C" {
7064    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_md_ctx"]
7065    pub fn BIO_get_md_ctx(b: *mut BIO, ctx: *mut *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
7066}
7067extern "C" {
7068    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_md"]
7069    pub fn BIO_set_md(b: *mut BIO, md: *const EVP_MD) -> ::std::os::raw::c_int;
7070}
7071extern "C" {
7072    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_md"]
7073    pub fn BIO_get_md(b: *mut BIO, md: *mut *mut EVP_MD) -> ::std::os::raw::c_int;
7074}
7075#[repr(C)]
7076#[derive(Copy, Clone)]
7077pub struct bio_addr_st {
7078    _unused: [u8; 0],
7079}
7080pub type BIO_ADDR = bio_addr_st;
7081extern "C" {
7082    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_datagram"]
7083    pub fn BIO_s_datagram() -> *const BIO_METHOD;
7084}
7085extern "C" {
7086    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_dgram"]
7087    pub fn BIO_new_dgram(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7088}
7089extern "C" {
7090    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl_dgram_connect"]
7091    pub fn BIO_ctrl_dgram_connect(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7092}
7093extern "C" {
7094    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl_set_connected"]
7095    pub fn BIO_ctrl_set_connected(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7096}
7097extern "C" {
7098    #[link_name = "\u{1}aws_lc_0_35_0_BIO_dgram_recv_timedout"]
7099    pub fn BIO_dgram_recv_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7100}
7101extern "C" {
7102    #[link_name = "\u{1}aws_lc_0_35_0_BIO_dgram_send_timedout"]
7103    pub fn BIO_dgram_send_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7104}
7105extern "C" {
7106    #[link_name = "\u{1}aws_lc_0_35_0_BIO_dgram_get_peer"]
7107    pub fn BIO_dgram_get_peer(bp: *mut BIO, peer: *mut BIO_ADDR) -> ::std::os::raw::c_int;
7108}
7109extern "C" {
7110    #[link_name = "\u{1}aws_lc_0_35_0_BIO_dgram_set_peer"]
7111    pub fn BIO_dgram_set_peer(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7112}
7113extern "C" {
7114    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_new"]
7115    pub fn BIO_ADDR_new() -> *mut BIO_ADDR;
7116}
7117extern "C" {
7118    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_copy"]
7119    pub fn BIO_ADDR_copy(dst: *mut BIO_ADDR, src: *const BIO_ADDR) -> ::std::os::raw::c_int;
7120}
7121extern "C" {
7122    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_dup"]
7123    pub fn BIO_ADDR_dup(ap: *const BIO_ADDR) -> *mut BIO_ADDR;
7124}
7125extern "C" {
7126    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_free"]
7127    pub fn BIO_ADDR_free(ap: *mut BIO_ADDR);
7128}
7129extern "C" {
7130    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_clear"]
7131    pub fn BIO_ADDR_clear(ap: *mut BIO_ADDR);
7132}
7133extern "C" {
7134    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_rawmake"]
7135    pub fn BIO_ADDR_rawmake(
7136        ap: *mut BIO_ADDR,
7137        family: ::std::os::raw::c_int,
7138        where_: *const ::std::os::raw::c_void,
7139        wherelen: usize,
7140        port: ::std::os::raw::c_ushort,
7141    ) -> ::std::os::raw::c_int;
7142}
7143extern "C" {
7144    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_family"]
7145    pub fn BIO_ADDR_family(ap: *const BIO_ADDR) -> ::std::os::raw::c_int;
7146}
7147extern "C" {
7148    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_rawaddress"]
7149    pub fn BIO_ADDR_rawaddress(
7150        ap: *const BIO_ADDR,
7151        p: *mut ::std::os::raw::c_void,
7152        l: *mut usize,
7153    ) -> ::std::os::raw::c_int;
7154}
7155extern "C" {
7156    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ADDR_rawport"]
7157    pub fn BIO_ADDR_rawport(ap: *const BIO_ADDR) -> ::std::os::raw::c_ushort;
7158}
7159extern "C" {
7160    #[link_name = "\u{1}aws_lc_0_35_0_BIO_new_bio_pair"]
7161    pub fn BIO_new_bio_pair(
7162        out1: *mut *mut BIO,
7163        writebuf1: usize,
7164        out2: *mut *mut BIO,
7165        writebuf2: usize,
7166    ) -> ::std::os::raw::c_int;
7167}
7168extern "C" {
7169    #[link_name = "\u{1}aws_lc_0_35_0_BIO_destroy_bio_pair"]
7170    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7171}
7172extern "C" {
7173    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl_get_read_request"]
7174    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7175}
7176extern "C" {
7177    #[link_name = "\u{1}aws_lc_0_35_0_BIO_ctrl_get_write_guarantee"]
7178    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7179}
7180extern "C" {
7181    #[link_name = "\u{1}aws_lc_0_35_0_BIO_shutdown_wr"]
7182    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7183}
7184extern "C" {
7185    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_new_index"]
7186    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7187}
7188extern "C" {
7189    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_new"]
7190    pub fn BIO_meth_new(
7191        type_: ::std::os::raw::c_int,
7192        name: *const ::std::os::raw::c_char,
7193    ) -> *mut BIO_METHOD;
7194}
7195extern "C" {
7196    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_free"]
7197    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7198}
7199extern "C" {
7200    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_create"]
7201    pub fn BIO_meth_set_create(
7202        method: *mut BIO_METHOD,
7203        create: ::std::option::Option<
7204            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7205        >,
7206    ) -> ::std::os::raw::c_int;
7207}
7208extern "C" {
7209    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_create"]
7210    pub fn BIO_meth_get_create(
7211        method: *const BIO_METHOD,
7212    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7213}
7214extern "C" {
7215    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_destroy"]
7216    pub fn BIO_meth_set_destroy(
7217        method: *mut BIO_METHOD,
7218        destroy: ::std::option::Option<
7219            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7220        >,
7221    ) -> ::std::os::raw::c_int;
7222}
7223extern "C" {
7224    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_destroy"]
7225    pub fn BIO_meth_get_destroy(
7226        method: *const BIO_METHOD,
7227    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7228}
7229extern "C" {
7230    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_write"]
7231    pub fn BIO_meth_set_write(
7232        method: *mut BIO_METHOD,
7233        write: ::std::option::Option<
7234            unsafe extern "C" fn(
7235                arg1: *mut BIO,
7236                arg2: *const ::std::os::raw::c_char,
7237                arg3: ::std::os::raw::c_int,
7238            ) -> ::std::os::raw::c_int,
7239        >,
7240    ) -> ::std::os::raw::c_int;
7241}
7242extern "C" {
7243    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_read"]
7244    pub fn BIO_meth_set_read(
7245        method: *mut BIO_METHOD,
7246        read: ::std::option::Option<
7247            unsafe extern "C" fn(
7248                arg1: *mut BIO,
7249                arg2: *mut ::std::os::raw::c_char,
7250                arg3: ::std::os::raw::c_int,
7251            ) -> ::std::os::raw::c_int,
7252        >,
7253    ) -> ::std::os::raw::c_int;
7254}
7255extern "C" {
7256    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_gets"]
7257    pub fn BIO_meth_set_gets(
7258        method: *mut BIO_METHOD,
7259        gets: ::std::option::Option<
7260            unsafe extern "C" fn(
7261                arg1: *mut BIO,
7262                arg2: *mut ::std::os::raw::c_char,
7263                arg3: ::std::os::raw::c_int,
7264            ) -> ::std::os::raw::c_int,
7265        >,
7266    ) -> ::std::os::raw::c_int;
7267}
7268extern "C" {
7269    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_gets"]
7270    pub fn BIO_meth_get_gets(
7271        method: *const BIO_METHOD,
7272    ) -> ::std::option::Option<
7273        unsafe extern "C" fn(
7274            method: *mut BIO,
7275            arg1: *mut ::std::os::raw::c_char,
7276            arg2: ::std::os::raw::c_int,
7277        ) -> ::std::os::raw::c_int,
7278    >;
7279}
7280extern "C" {
7281    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_ctrl"]
7282    pub fn BIO_meth_set_ctrl(
7283        method: *mut BIO_METHOD,
7284        ctrl: ::std::option::Option<
7285            unsafe extern "C" fn(
7286                arg1: *mut BIO,
7287                arg2: ::std::os::raw::c_int,
7288                arg3: ::std::os::raw::c_long,
7289                arg4: *mut ::std::os::raw::c_void,
7290            ) -> ::std::os::raw::c_long,
7291        >,
7292    ) -> ::std::os::raw::c_int;
7293}
7294extern "C" {
7295    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_ctrl"]
7296    pub fn BIO_meth_get_ctrl(
7297        method: *const BIO_METHOD,
7298    ) -> ::std::option::Option<
7299        unsafe extern "C" fn(
7300            method: *mut BIO,
7301            arg1: ::std::os::raw::c_int,
7302            arg2: ::std::os::raw::c_long,
7303            arg3: *mut ::std::os::raw::c_void,
7304        ) -> ::std::os::raw::c_long,
7305    >;
7306}
7307extern "C" {
7308    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_callback_ctrl"]
7309    pub fn BIO_meth_set_callback_ctrl(
7310        method: *mut BIO_METHOD,
7311        callback_ctrl: ::std::option::Option<
7312            unsafe extern "C" fn(
7313                arg1: *mut BIO,
7314                arg2: ::std::os::raw::c_int,
7315                arg3: bio_info_cb,
7316            ) -> ::std::os::raw::c_long,
7317        >,
7318    ) -> ::std::os::raw::c_int;
7319}
7320extern "C" {
7321    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_callback_ctrl"]
7322    pub fn BIO_meth_get_callback_ctrl(
7323        method: *const BIO_METHOD,
7324    ) -> ::std::option::Option<
7325        unsafe extern "C" fn(
7326            method: *mut BIO,
7327            arg1: ::std::os::raw::c_int,
7328            arg2: bio_info_cb,
7329        ) -> ::std::os::raw::c_long,
7330    >;
7331}
7332extern "C" {
7333    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_data"]
7334    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7335}
7336extern "C" {
7337    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_data"]
7338    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7339}
7340extern "C" {
7341    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_init"]
7342    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7343}
7344extern "C" {
7345    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_init"]
7346    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7347}
7348extern "C" {
7349    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_ex_new_index"]
7350    pub fn BIO_get_ex_new_index(
7351        argl: ::std::os::raw::c_long,
7352        argp: *mut ::std::os::raw::c_void,
7353        unused: *mut CRYPTO_EX_unused,
7354        dup_unused: CRYPTO_EX_dup,
7355        free_func: CRYPTO_EX_free,
7356    ) -> ::std::os::raw::c_int;
7357}
7358extern "C" {
7359    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_ex_data"]
7360    pub fn BIO_set_ex_data(
7361        bio: *mut BIO,
7362        idx: ::std::os::raw::c_int,
7363        arg: *mut ::std::os::raw::c_void,
7364    ) -> ::std::os::raw::c_int;
7365}
7366extern "C" {
7367    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_ex_data"]
7368    pub fn BIO_get_ex_data(
7369        bio: *const BIO,
7370        idx: ::std::os::raw::c_int,
7371    ) -> *mut ::std::os::raw::c_void;
7372}
7373extern "C" {
7374    #[link_name = "\u{1}aws_lc_0_35_0_BIO_f_base64"]
7375    pub fn BIO_f_base64() -> *const BIO_METHOD;
7376}
7377extern "C" {
7378    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_retry_special"]
7379    pub fn BIO_set_retry_special(bio: *mut BIO);
7380}
7381extern "C" {
7382    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_shutdown"]
7383    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7384}
7385extern "C" {
7386    #[link_name = "\u{1}aws_lc_0_35_0_BIO_get_shutdown"]
7387    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7388}
7389extern "C" {
7390    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_set_puts"]
7391    pub fn BIO_meth_set_puts(
7392        method: *mut BIO_METHOD,
7393        puts: ::std::option::Option<
7394            unsafe extern "C" fn(
7395                arg1: *mut BIO,
7396                arg2: *const ::std::os::raw::c_char,
7397            ) -> ::std::os::raw::c_int,
7398        >,
7399    ) -> ::std::os::raw::c_int;
7400}
7401extern "C" {
7402    #[link_name = "\u{1}aws_lc_0_35_0_BIO_meth_get_puts"]
7403    pub fn BIO_meth_get_puts(
7404        method: *const BIO_METHOD,
7405    ) -> ::std::option::Option<
7406        unsafe extern "C" fn(
7407            method: *mut BIO,
7408            arg1: *const ::std::os::raw::c_char,
7409        ) -> ::std::os::raw::c_int,
7410    >;
7411}
7412extern "C" {
7413    #[link_name = "\u{1}aws_lc_0_35_0_BIO_s_secmem"]
7414    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7415}
7416extern "C" {
7417    #[link_name = "\u{1}aws_lc_0_35_0_BIO_set_write_buffer_size"]
7418    pub fn BIO_set_write_buffer_size(
7419        bio: *mut BIO,
7420        buffer_size: ::std::os::raw::c_int,
7421    ) -> ::std::os::raw::c_int;
7422}
7423#[repr(C)]
7424#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7425pub struct bio_method_st {
7426    pub type_: ::std::os::raw::c_int,
7427    pub name: *const ::std::os::raw::c_char,
7428    pub bwrite: ::std::option::Option<
7429        unsafe extern "C" fn(
7430            arg1: *mut BIO,
7431            arg2: *const ::std::os::raw::c_char,
7432            arg3: ::std::os::raw::c_int,
7433        ) -> ::std::os::raw::c_int,
7434    >,
7435    pub bread: ::std::option::Option<
7436        unsafe extern "C" fn(
7437            arg1: *mut BIO,
7438            arg2: *mut ::std::os::raw::c_char,
7439            arg3: ::std::os::raw::c_int,
7440        ) -> ::std::os::raw::c_int,
7441    >,
7442    pub bputs: ::std::option::Option<
7443        unsafe extern "C" fn(
7444            arg1: *mut BIO,
7445            arg2: *const ::std::os::raw::c_char,
7446        ) -> ::std::os::raw::c_int,
7447    >,
7448    pub bgets: ::std::option::Option<
7449        unsafe extern "C" fn(
7450            arg1: *mut BIO,
7451            arg2: *mut ::std::os::raw::c_char,
7452            arg3: ::std::os::raw::c_int,
7453        ) -> ::std::os::raw::c_int,
7454    >,
7455    pub ctrl: ::std::option::Option<
7456        unsafe extern "C" fn(
7457            arg1: *mut BIO,
7458            arg2: ::std::os::raw::c_int,
7459            arg3: ::std::os::raw::c_long,
7460            arg4: *mut ::std::os::raw::c_void,
7461        ) -> ::std::os::raw::c_long,
7462    >,
7463    pub create:
7464        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7465    pub destroy:
7466        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7467    pub callback_ctrl: ::std::option::Option<
7468        unsafe extern "C" fn(
7469            arg1: *mut BIO,
7470            arg2: ::std::os::raw::c_int,
7471            arg3: bio_info_cb,
7472        ) -> ::std::os::raw::c_long,
7473    >,
7474}
7475#[test]
7476fn bindgen_test_layout_bio_method_st() {
7477    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7478    let ptr = UNINIT.as_ptr();
7479    assert_eq!(
7480        ::std::mem::size_of::<bio_method_st>(),
7481        80usize,
7482        "Size of bio_method_st"
7483    );
7484    assert_eq!(
7485        ::std::mem::align_of::<bio_method_st>(),
7486        8usize,
7487        "Alignment of bio_method_st"
7488    );
7489    assert_eq!(
7490        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7491        0usize,
7492        "Offset of field: bio_method_st::type_"
7493    );
7494    assert_eq!(
7495        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7496        8usize,
7497        "Offset of field: bio_method_st::name"
7498    );
7499    assert_eq!(
7500        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7501        16usize,
7502        "Offset of field: bio_method_st::bwrite"
7503    );
7504    assert_eq!(
7505        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7506        24usize,
7507        "Offset of field: bio_method_st::bread"
7508    );
7509    assert_eq!(
7510        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7511        32usize,
7512        "Offset of field: bio_method_st::bputs"
7513    );
7514    assert_eq!(
7515        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7516        40usize,
7517        "Offset of field: bio_method_st::bgets"
7518    );
7519    assert_eq!(
7520        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7521        48usize,
7522        "Offset of field: bio_method_st::ctrl"
7523    );
7524    assert_eq!(
7525        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7526        56usize,
7527        "Offset of field: bio_method_st::create"
7528    );
7529    assert_eq!(
7530        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7531        64usize,
7532        "Offset of field: bio_method_st::destroy"
7533    );
7534    assert_eq!(
7535        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7536        72usize,
7537        "Offset of field: bio_method_st::callback_ctrl"
7538    );
7539}
7540impl Default for bio_method_st {
7541    fn default() -> Self {
7542        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7543        unsafe {
7544            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7545            s.assume_init()
7546        }
7547    }
7548}
7549#[repr(C)]
7550#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7551pub struct bio_st {
7552    pub method: *const BIO_METHOD,
7553    pub ex_data: CRYPTO_EX_DATA,
7554    pub callback_ex: BIO_callback_fn_ex,
7555    pub callback: BIO_callback_fn,
7556    pub cb_arg: *mut ::std::os::raw::c_char,
7557    pub init: ::std::os::raw::c_int,
7558    pub shutdown: ::std::os::raw::c_int,
7559    pub flags: ::std::os::raw::c_int,
7560    pub retry_reason: ::std::os::raw::c_int,
7561    pub num: ::std::os::raw::c_int,
7562    pub references: CRYPTO_refcount_t,
7563    pub ptr: *mut ::std::os::raw::c_void,
7564    pub next_bio: *mut BIO,
7565    pub num_read: u64,
7566    pub num_write: u64,
7567}
7568#[test]
7569fn bindgen_test_layout_bio_st() {
7570    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
7571    let ptr = UNINIT.as_ptr();
7572    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
7573    assert_eq!(
7574        ::std::mem::align_of::<bio_st>(),
7575        8usize,
7576        "Alignment of bio_st"
7577    );
7578    assert_eq!(
7579        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
7580        0usize,
7581        "Offset of field: bio_st::method"
7582    );
7583    assert_eq!(
7584        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
7585        8usize,
7586        "Offset of field: bio_st::ex_data"
7587    );
7588    assert_eq!(
7589        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
7590        16usize,
7591        "Offset of field: bio_st::callback_ex"
7592    );
7593    assert_eq!(
7594        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
7595        24usize,
7596        "Offset of field: bio_st::callback"
7597    );
7598    assert_eq!(
7599        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
7600        32usize,
7601        "Offset of field: bio_st::cb_arg"
7602    );
7603    assert_eq!(
7604        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7605        40usize,
7606        "Offset of field: bio_st::init"
7607    );
7608    assert_eq!(
7609        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
7610        44usize,
7611        "Offset of field: bio_st::shutdown"
7612    );
7613    assert_eq!(
7614        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7615        48usize,
7616        "Offset of field: bio_st::flags"
7617    );
7618    assert_eq!(
7619        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
7620        52usize,
7621        "Offset of field: bio_st::retry_reason"
7622    );
7623    assert_eq!(
7624        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
7625        56usize,
7626        "Offset of field: bio_st::num"
7627    );
7628    assert_eq!(
7629        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
7630        60usize,
7631        "Offset of field: bio_st::references"
7632    );
7633    assert_eq!(
7634        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
7635        64usize,
7636        "Offset of field: bio_st::ptr"
7637    );
7638    assert_eq!(
7639        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
7640        72usize,
7641        "Offset of field: bio_st::next_bio"
7642    );
7643    assert_eq!(
7644        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
7645        80usize,
7646        "Offset of field: bio_st::num_read"
7647    );
7648    assert_eq!(
7649        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
7650        88usize,
7651        "Offset of field: bio_st::num_write"
7652    );
7653}
7654impl Default for bio_st {
7655    fn default() -> Self {
7656        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7657        unsafe {
7658            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7659            s.assume_init()
7660        }
7661    }
7662}
7663pub type BN_ULONG = u64;
7664extern "C" {
7665    #[link_name = "\u{1}aws_lc_0_35_0_BN_new"]
7666    pub fn BN_new() -> *mut BIGNUM;
7667}
7668extern "C" {
7669    #[link_name = "\u{1}aws_lc_0_35_0_BN_init"]
7670    pub fn BN_init(bn: *mut BIGNUM);
7671}
7672extern "C" {
7673    #[link_name = "\u{1}aws_lc_0_35_0_BN_free"]
7674    pub fn BN_free(bn: *mut BIGNUM);
7675}
7676extern "C" {
7677    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear_free"]
7678    pub fn BN_clear_free(bn: *mut BIGNUM);
7679}
7680extern "C" {
7681    #[link_name = "\u{1}aws_lc_0_35_0_BN_dup"]
7682    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7683}
7684extern "C" {
7685    #[link_name = "\u{1}aws_lc_0_35_0_BN_copy"]
7686    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7687}
7688extern "C" {
7689    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear"]
7690    pub fn BN_clear(bn: *mut BIGNUM);
7691}
7692extern "C" {
7693    #[link_name = "\u{1}aws_lc_0_35_0_BN_value_one"]
7694    pub fn BN_value_one() -> *const BIGNUM;
7695}
7696extern "C" {
7697    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bits"]
7698    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7699}
7700extern "C" {
7701    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bytes"]
7702    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7703}
7704extern "C" {
7705    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_minimal_width"]
7706    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7707}
7708extern "C" {
7709    #[link_name = "\u{1}aws_lc_0_35_0_BN_zero"]
7710    pub fn BN_zero(bn: *mut BIGNUM);
7711}
7712extern "C" {
7713    #[link_name = "\u{1}aws_lc_0_35_0_BN_one"]
7714    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
7715}
7716extern "C" {
7717    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_word"]
7718    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
7719}
7720extern "C" {
7721    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_u64"]
7722    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
7723}
7724extern "C" {
7725    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_negative"]
7726    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
7727}
7728extern "C" {
7729    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_negative"]
7730    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7731}
7732extern "C" {
7733    #[link_name = "\u{1}aws_lc_0_35_0_BN_bin2bn"]
7734    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7735}
7736extern "C" {
7737    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2bin"]
7738    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7739}
7740extern "C" {
7741    #[link_name = "\u{1}aws_lc_0_35_0_BN_le2bn"]
7742    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7743}
7744extern "C" {
7745    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2le_padded"]
7746    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7747}
7748extern "C" {
7749    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2bin_padded"]
7750    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7751}
7752extern "C" {
7753    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2cbb_padded"]
7754    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
7755        -> ::std::os::raw::c_int;
7756}
7757extern "C" {
7758    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2hex"]
7759    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7760}
7761extern "C" {
7762    #[link_name = "\u{1}aws_lc_0_35_0_BN_hex2bn"]
7763    pub fn BN_hex2bn(
7764        outp: *mut *mut BIGNUM,
7765        in_: *const ::std::os::raw::c_char,
7766    ) -> ::std::os::raw::c_int;
7767}
7768extern "C" {
7769    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2dec"]
7770    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7771}
7772extern "C" {
7773    #[link_name = "\u{1}aws_lc_0_35_0_BN_dec2bn"]
7774    pub fn BN_dec2bn(
7775        outp: *mut *mut BIGNUM,
7776        in_: *const ::std::os::raw::c_char,
7777    ) -> ::std::os::raw::c_int;
7778}
7779extern "C" {
7780    #[link_name = "\u{1}aws_lc_0_35_0_BN_asc2bn"]
7781    pub fn BN_asc2bn(
7782        outp: *mut *mut BIGNUM,
7783        in_: *const ::std::os::raw::c_char,
7784    ) -> ::std::os::raw::c_int;
7785}
7786extern "C" {
7787    #[link_name = "\u{1}aws_lc_0_35_0_BN_print"]
7788    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
7789}
7790extern "C" {
7791    #[link_name = "\u{1}aws_lc_0_35_0_BN_print_fp"]
7792    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
7793}
7794extern "C" {
7795    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_word"]
7796    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7797}
7798extern "C" {
7799    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_u64"]
7800    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
7801}
7802extern "C" {
7803    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_flags"]
7804    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7805}
7806extern "C" {
7807    #[link_name = "\u{1}aws_lc_0_35_0_BN_parse_asn1_unsigned"]
7808    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
7809}
7810extern "C" {
7811    #[link_name = "\u{1}aws_lc_0_35_0_BN_marshal_asn1"]
7812    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
7813}
7814extern "C" {
7815    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_new"]
7816    pub fn BN_CTX_new() -> *mut BN_CTX;
7817}
7818extern "C" {
7819    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_free"]
7820    pub fn BN_CTX_free(ctx: *mut BN_CTX);
7821}
7822extern "C" {
7823    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_start"]
7824    pub fn BN_CTX_start(ctx: *mut BN_CTX);
7825}
7826extern "C" {
7827    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_get"]
7828    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7829}
7830extern "C" {
7831    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_end"]
7832    pub fn BN_CTX_end(ctx: *mut BN_CTX);
7833}
7834extern "C" {
7835    #[link_name = "\u{1}aws_lc_0_35_0_BN_add"]
7836    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7837}
7838extern "C" {
7839    #[link_name = "\u{1}aws_lc_0_35_0_BN_uadd"]
7840    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7841}
7842extern "C" {
7843    #[link_name = "\u{1}aws_lc_0_35_0_BN_add_word"]
7844    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7845}
7846extern "C" {
7847    #[link_name = "\u{1}aws_lc_0_35_0_BN_sub"]
7848    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7849}
7850extern "C" {
7851    #[link_name = "\u{1}aws_lc_0_35_0_BN_usub"]
7852    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7853}
7854extern "C" {
7855    #[link_name = "\u{1}aws_lc_0_35_0_BN_sub_word"]
7856    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7857}
7858extern "C" {
7859    #[link_name = "\u{1}aws_lc_0_35_0_BN_mul"]
7860    pub fn BN_mul(
7861        r: *mut BIGNUM,
7862        a: *const BIGNUM,
7863        b: *const BIGNUM,
7864        ctx: *mut BN_CTX,
7865    ) -> ::std::os::raw::c_int;
7866}
7867extern "C" {
7868    #[link_name = "\u{1}aws_lc_0_35_0_BN_mul_word"]
7869    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7870}
7871extern "C" {
7872    #[link_name = "\u{1}aws_lc_0_35_0_BN_sqr"]
7873    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
7874}
7875extern "C" {
7876    #[link_name = "\u{1}aws_lc_0_35_0_BN_div"]
7877    pub fn BN_div(
7878        quotient: *mut BIGNUM,
7879        rem: *mut BIGNUM,
7880        numerator: *const BIGNUM,
7881        divisor: *const BIGNUM,
7882        ctx: *mut BN_CTX,
7883    ) -> ::std::os::raw::c_int;
7884}
7885extern "C" {
7886    #[link_name = "\u{1}aws_lc_0_35_0_BN_div_word"]
7887    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7888}
7889extern "C" {
7890    #[link_name = "\u{1}aws_lc_0_35_0_BN_sqrt"]
7891    pub fn BN_sqrt(
7892        out_sqrt: *mut BIGNUM,
7893        in_: *const BIGNUM,
7894        ctx: *mut BN_CTX,
7895    ) -> ::std::os::raw::c_int;
7896}
7897extern "C" {
7898    #[link_name = "\u{1}aws_lc_0_35_0_BN_cmp"]
7899    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7900}
7901extern "C" {
7902    #[link_name = "\u{1}aws_lc_0_35_0_BN_cmp_word"]
7903    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
7904}
7905extern "C" {
7906    #[link_name = "\u{1}aws_lc_0_35_0_BN_ucmp"]
7907    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7908}
7909extern "C" {
7910    #[link_name = "\u{1}aws_lc_0_35_0_BN_equal_consttime"]
7911    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7912}
7913extern "C" {
7914    #[link_name = "\u{1}aws_lc_0_35_0_BN_abs_is_word"]
7915    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7916}
7917extern "C" {
7918    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_zero"]
7919    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7920}
7921extern "C" {
7922    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_one"]
7923    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7924}
7925extern "C" {
7926    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_word"]
7927    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7928}
7929extern "C" {
7930    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_odd"]
7931    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7932}
7933extern "C" {
7934    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_pow2"]
7935    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
7936}
7937extern "C" {
7938    #[link_name = "\u{1}aws_lc_0_35_0_BN_lshift"]
7939    pub fn BN_lshift(
7940        r: *mut BIGNUM,
7941        a: *const BIGNUM,
7942        n: ::std::os::raw::c_int,
7943    ) -> ::std::os::raw::c_int;
7944}
7945extern "C" {
7946    #[link_name = "\u{1}aws_lc_0_35_0_BN_lshift1"]
7947    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7948}
7949extern "C" {
7950    #[link_name = "\u{1}aws_lc_0_35_0_BN_rshift"]
7951    pub fn BN_rshift(
7952        r: *mut BIGNUM,
7953        a: *const BIGNUM,
7954        n: ::std::os::raw::c_int,
7955    ) -> ::std::os::raw::c_int;
7956}
7957extern "C" {
7958    #[link_name = "\u{1}aws_lc_0_35_0_BN_rshift1"]
7959    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7960}
7961extern "C" {
7962    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_bit"]
7963    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7964}
7965extern "C" {
7966    #[link_name = "\u{1}aws_lc_0_35_0_BN_clear_bit"]
7967    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7968}
7969extern "C" {
7970    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_bit_set"]
7971    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7972}
7973extern "C" {
7974    #[link_name = "\u{1}aws_lc_0_35_0_BN_mask_bits"]
7975    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7976}
7977extern "C" {
7978    #[link_name = "\u{1}aws_lc_0_35_0_BN_count_low_zero_bits"]
7979    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7980}
7981extern "C" {
7982    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_word"]
7983    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7984}
7985extern "C" {
7986    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_pow2"]
7987    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7988}
7989extern "C" {
7990    #[link_name = "\u{1}aws_lc_0_35_0_BN_nnmod_pow2"]
7991    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7992}
7993extern "C" {
7994    #[link_name = "\u{1}aws_lc_0_35_0_BN_nnmod"]
7995    pub fn BN_nnmod(
7996        rem: *mut BIGNUM,
7997        numerator: *const BIGNUM,
7998        divisor: *const BIGNUM,
7999        ctx: *mut BN_CTX,
8000    ) -> ::std::os::raw::c_int;
8001}
8002extern "C" {
8003    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_add"]
8004    pub fn BN_mod_add(
8005        r: *mut BIGNUM,
8006        a: *const BIGNUM,
8007        b: *const BIGNUM,
8008        m: *const BIGNUM,
8009        ctx: *mut BN_CTX,
8010    ) -> ::std::os::raw::c_int;
8011}
8012extern "C" {
8013    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_add_quick"]
8014    pub fn BN_mod_add_quick(
8015        r: *mut BIGNUM,
8016        a: *const BIGNUM,
8017        b: *const BIGNUM,
8018        m: *const BIGNUM,
8019    ) -> ::std::os::raw::c_int;
8020}
8021extern "C" {
8022    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sub"]
8023    pub fn BN_mod_sub(
8024        r: *mut BIGNUM,
8025        a: *const BIGNUM,
8026        b: *const BIGNUM,
8027        m: *const BIGNUM,
8028        ctx: *mut BN_CTX,
8029    ) -> ::std::os::raw::c_int;
8030}
8031extern "C" {
8032    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sub_quick"]
8033    pub fn BN_mod_sub_quick(
8034        r: *mut BIGNUM,
8035        a: *const BIGNUM,
8036        b: *const BIGNUM,
8037        m: *const BIGNUM,
8038    ) -> ::std::os::raw::c_int;
8039}
8040extern "C" {
8041    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_mul"]
8042    pub fn BN_mod_mul(
8043        r: *mut BIGNUM,
8044        a: *const BIGNUM,
8045        b: *const BIGNUM,
8046        m: *const BIGNUM,
8047        ctx: *mut BN_CTX,
8048    ) -> ::std::os::raw::c_int;
8049}
8050extern "C" {
8051    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sqr"]
8052    pub fn BN_mod_sqr(
8053        r: *mut BIGNUM,
8054        a: *const BIGNUM,
8055        m: *const BIGNUM,
8056        ctx: *mut BN_CTX,
8057    ) -> ::std::os::raw::c_int;
8058}
8059extern "C" {
8060    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift"]
8061    pub fn BN_mod_lshift(
8062        r: *mut BIGNUM,
8063        a: *const BIGNUM,
8064        n: ::std::os::raw::c_int,
8065        m: *const BIGNUM,
8066        ctx: *mut BN_CTX,
8067    ) -> ::std::os::raw::c_int;
8068}
8069extern "C" {
8070    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift_quick"]
8071    pub fn BN_mod_lshift_quick(
8072        r: *mut BIGNUM,
8073        a: *const BIGNUM,
8074        n: ::std::os::raw::c_int,
8075        m: *const BIGNUM,
8076    ) -> ::std::os::raw::c_int;
8077}
8078extern "C" {
8079    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift1"]
8080    pub fn BN_mod_lshift1(
8081        r: *mut BIGNUM,
8082        a: *const BIGNUM,
8083        m: *const BIGNUM,
8084        ctx: *mut BN_CTX,
8085    ) -> ::std::os::raw::c_int;
8086}
8087extern "C" {
8088    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_lshift1_quick"]
8089    pub fn BN_mod_lshift1_quick(
8090        r: *mut BIGNUM,
8091        a: *const BIGNUM,
8092        m: *const BIGNUM,
8093    ) -> ::std::os::raw::c_int;
8094}
8095extern "C" {
8096    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_sqrt"]
8097    pub fn BN_mod_sqrt(
8098        in_: *mut BIGNUM,
8099        a: *const BIGNUM,
8100        p: *const BIGNUM,
8101        ctx: *mut BN_CTX,
8102    ) -> *mut BIGNUM;
8103}
8104extern "C" {
8105    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand"]
8106    pub fn BN_rand(
8107        rnd: *mut BIGNUM,
8108        bits: ::std::os::raw::c_int,
8109        top: ::std::os::raw::c_int,
8110        bottom: ::std::os::raw::c_int,
8111    ) -> ::std::os::raw::c_int;
8112}
8113extern "C" {
8114    #[link_name = "\u{1}aws_lc_0_35_0_BN_pseudo_rand"]
8115    pub fn BN_pseudo_rand(
8116        rnd: *mut BIGNUM,
8117        bits: ::std::os::raw::c_int,
8118        top: ::std::os::raw::c_int,
8119        bottom: ::std::os::raw::c_int,
8120    ) -> ::std::os::raw::c_int;
8121}
8122extern "C" {
8123    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand_range"]
8124    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8125}
8126extern "C" {
8127    #[link_name = "\u{1}aws_lc_0_35_0_BN_rand_range_ex"]
8128    pub fn BN_rand_range_ex(
8129        r: *mut BIGNUM,
8130        min_inclusive: BN_ULONG,
8131        max_exclusive: *const BIGNUM,
8132    ) -> ::std::os::raw::c_int;
8133}
8134extern "C" {
8135    #[link_name = "\u{1}aws_lc_0_35_0_BN_pseudo_rand_range"]
8136    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8137}
8138#[repr(C)]
8139#[derive(Copy, Clone)]
8140pub struct bn_gencb_st {
8141    pub type_: u8,
8142    pub arg: *mut ::std::os::raw::c_void,
8143    pub callback: bn_gencb_st__bindgen_ty_1,
8144}
8145#[repr(C)]
8146#[derive(Copy, Clone)]
8147pub union bn_gencb_st__bindgen_ty_1 {
8148    pub new_style: ::std::option::Option<
8149        unsafe extern "C" fn(
8150            event: ::std::os::raw::c_int,
8151            n: ::std::os::raw::c_int,
8152            arg1: *mut bn_gencb_st,
8153        ) -> ::std::os::raw::c_int,
8154    >,
8155    pub old_style: ::std::option::Option<
8156        unsafe extern "C" fn(
8157            arg1: ::std::os::raw::c_int,
8158            arg2: ::std::os::raw::c_int,
8159            arg3: *mut ::std::os::raw::c_void,
8160        ),
8161    >,
8162}
8163#[test]
8164fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8165    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8166        ::std::mem::MaybeUninit::uninit();
8167    let ptr = UNINIT.as_ptr();
8168    assert_eq!(
8169        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8170        8usize,
8171        "Size of bn_gencb_st__bindgen_ty_1"
8172    );
8173    assert_eq!(
8174        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8175        8usize,
8176        "Alignment of bn_gencb_st__bindgen_ty_1"
8177    );
8178    assert_eq!(
8179        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8180        0usize,
8181        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
8182    );
8183    assert_eq!(
8184        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8185        0usize,
8186        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
8187    );
8188}
8189impl Default for bn_gencb_st__bindgen_ty_1 {
8190    fn default() -> Self {
8191        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8192        unsafe {
8193            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8194            s.assume_init()
8195        }
8196    }
8197}
8198#[test]
8199fn bindgen_test_layout_bn_gencb_st() {
8200    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8201    let ptr = UNINIT.as_ptr();
8202    assert_eq!(
8203        ::std::mem::size_of::<bn_gencb_st>(),
8204        24usize,
8205        "Size of bn_gencb_st"
8206    );
8207    assert_eq!(
8208        ::std::mem::align_of::<bn_gencb_st>(),
8209        8usize,
8210        "Alignment of bn_gencb_st"
8211    );
8212    assert_eq!(
8213        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8214        0usize,
8215        "Offset of field: bn_gencb_st::type_"
8216    );
8217    assert_eq!(
8218        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8219        8usize,
8220        "Offset of field: bn_gencb_st::arg"
8221    );
8222    assert_eq!(
8223        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8224        16usize,
8225        "Offset of field: bn_gencb_st::callback"
8226    );
8227}
8228impl Default for bn_gencb_st {
8229    fn default() -> Self {
8230        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8231        unsafe {
8232            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8233            s.assume_init()
8234        }
8235    }
8236}
8237extern "C" {
8238    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_new"]
8239    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8240}
8241extern "C" {
8242    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_free"]
8243    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8244}
8245extern "C" {
8246    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_set"]
8247    pub fn BN_GENCB_set(
8248        callback: *mut BN_GENCB,
8249        f: ::std::option::Option<
8250            unsafe extern "C" fn(
8251                event: ::std::os::raw::c_int,
8252                n: ::std::os::raw::c_int,
8253                arg1: *mut BN_GENCB,
8254            ) -> ::std::os::raw::c_int,
8255        >,
8256        arg: *mut ::std::os::raw::c_void,
8257    );
8258}
8259extern "C" {
8260    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_call"]
8261    pub fn BN_GENCB_call(
8262        callback: *mut BN_GENCB,
8263        event: ::std::os::raw::c_int,
8264        n: ::std::os::raw::c_int,
8265    ) -> ::std::os::raw::c_int;
8266}
8267extern "C" {
8268    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_get_arg"]
8269    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8270}
8271extern "C" {
8272    #[link_name = "\u{1}aws_lc_0_35_0_BN_generate_prime_ex"]
8273    pub fn BN_generate_prime_ex(
8274        ret: *mut BIGNUM,
8275        bits: ::std::os::raw::c_int,
8276        safe: ::std::os::raw::c_int,
8277        add: *const BIGNUM,
8278        rem: *const BIGNUM,
8279        cb: *mut BN_GENCB,
8280    ) -> ::std::os::raw::c_int;
8281}
8282pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8283pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8284pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8285pub type bn_primality_result_t = ::std::os::raw::c_uint;
8286extern "C" {
8287    #[link_name = "\u{1}aws_lc_0_35_0_BN_enhanced_miller_rabin_primality_test"]
8288    pub fn BN_enhanced_miller_rabin_primality_test(
8289        out_result: *mut bn_primality_result_t,
8290        w: *const BIGNUM,
8291        checks: ::std::os::raw::c_int,
8292        ctx: *mut BN_CTX,
8293        cb: *mut BN_GENCB,
8294    ) -> ::std::os::raw::c_int;
8295}
8296extern "C" {
8297    #[link_name = "\u{1}aws_lc_0_35_0_BN_primality_test"]
8298    pub fn BN_primality_test(
8299        is_probably_prime: *mut ::std::os::raw::c_int,
8300        candidate: *const BIGNUM,
8301        checks: ::std::os::raw::c_int,
8302        ctx: *mut BN_CTX,
8303        do_trial_division: ::std::os::raw::c_int,
8304        cb: *mut BN_GENCB,
8305    ) -> ::std::os::raw::c_int;
8306}
8307extern "C" {
8308    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_prime_fasttest_ex"]
8309    pub fn BN_is_prime_fasttest_ex(
8310        candidate: *const BIGNUM,
8311        checks: ::std::os::raw::c_int,
8312        ctx: *mut BN_CTX,
8313        do_trial_division: ::std::os::raw::c_int,
8314        cb: *mut BN_GENCB,
8315    ) -> ::std::os::raw::c_int;
8316}
8317extern "C" {
8318    #[link_name = "\u{1}aws_lc_0_35_0_BN_is_prime_ex"]
8319    pub fn BN_is_prime_ex(
8320        candidate: *const BIGNUM,
8321        checks: ::std::os::raw::c_int,
8322        ctx: *mut BN_CTX,
8323        cb: *mut BN_GENCB,
8324    ) -> ::std::os::raw::c_int;
8325}
8326extern "C" {
8327    #[link_name = "\u{1}aws_lc_0_35_0_BN_gcd"]
8328    pub fn BN_gcd(
8329        r: *mut BIGNUM,
8330        a: *const BIGNUM,
8331        b: *const BIGNUM,
8332        ctx: *mut BN_CTX,
8333    ) -> ::std::os::raw::c_int;
8334}
8335extern "C" {
8336    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse"]
8337    pub fn BN_mod_inverse(
8338        out: *mut BIGNUM,
8339        a: *const BIGNUM,
8340        n: *const BIGNUM,
8341        ctx: *mut BN_CTX,
8342    ) -> *mut BIGNUM;
8343}
8344extern "C" {
8345    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse_blinded"]
8346    pub fn BN_mod_inverse_blinded(
8347        out: *mut BIGNUM,
8348        out_no_inverse: *mut ::std::os::raw::c_int,
8349        a: *const BIGNUM,
8350        mont: *const BN_MONT_CTX,
8351        ctx: *mut BN_CTX,
8352    ) -> ::std::os::raw::c_int;
8353}
8354extern "C" {
8355    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_inverse_odd"]
8356    pub fn BN_mod_inverse_odd(
8357        out: *mut BIGNUM,
8358        out_no_inverse: *mut ::std::os::raw::c_int,
8359        a: *const BIGNUM,
8360        n: *const BIGNUM,
8361        ctx: *mut BN_CTX,
8362    ) -> ::std::os::raw::c_int;
8363}
8364extern "C" {
8365    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new_for_modulus"]
8366    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8367}
8368extern "C" {
8369    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new_consttime"]
8370    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8371}
8372extern "C" {
8373    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_free"]
8374    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8375}
8376extern "C" {
8377    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_copy"]
8378    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8379}
8380extern "C" {
8381    #[link_name = "\u{1}aws_lc_0_35_0_BN_to_montgomery"]
8382    pub fn BN_to_montgomery(
8383        ret: *mut BIGNUM,
8384        a: *const BIGNUM,
8385        mont: *const BN_MONT_CTX,
8386        ctx: *mut BN_CTX,
8387    ) -> ::std::os::raw::c_int;
8388}
8389extern "C" {
8390    #[link_name = "\u{1}aws_lc_0_35_0_BN_from_montgomery"]
8391    pub fn BN_from_montgomery(
8392        ret: *mut BIGNUM,
8393        a: *const BIGNUM,
8394        mont: *const BN_MONT_CTX,
8395        ctx: *mut BN_CTX,
8396    ) -> ::std::os::raw::c_int;
8397}
8398extern "C" {
8399    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_mul_montgomery"]
8400    pub fn BN_mod_mul_montgomery(
8401        r: *mut BIGNUM,
8402        a: *const BIGNUM,
8403        b: *const BIGNUM,
8404        mont: *const BN_MONT_CTX,
8405        ctx: *mut BN_CTX,
8406    ) -> ::std::os::raw::c_int;
8407}
8408extern "C" {
8409    #[link_name = "\u{1}aws_lc_0_35_0_BN_exp"]
8410    pub fn BN_exp(
8411        r: *mut BIGNUM,
8412        a: *const BIGNUM,
8413        p: *const BIGNUM,
8414        ctx: *mut BN_CTX,
8415    ) -> ::std::os::raw::c_int;
8416}
8417extern "C" {
8418    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp"]
8419    pub fn BN_mod_exp(
8420        r: *mut BIGNUM,
8421        a: *const BIGNUM,
8422        p: *const BIGNUM,
8423        m: *const BIGNUM,
8424        ctx: *mut BN_CTX,
8425    ) -> ::std::os::raw::c_int;
8426}
8427extern "C" {
8428    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont"]
8429    pub fn BN_mod_exp_mont(
8430        r: *mut BIGNUM,
8431        a: *const BIGNUM,
8432        p: *const BIGNUM,
8433        m: *const BIGNUM,
8434        ctx: *mut BN_CTX,
8435        mont: *const BN_MONT_CTX,
8436    ) -> ::std::os::raw::c_int;
8437}
8438extern "C" {
8439    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_consttime"]
8440    pub fn BN_mod_exp_mont_consttime(
8441        rr: *mut BIGNUM,
8442        a: *const BIGNUM,
8443        p: *const BIGNUM,
8444        m: *const BIGNUM,
8445        ctx: *mut BN_CTX,
8446        mont: *const BN_MONT_CTX,
8447    ) -> ::std::os::raw::c_int;
8448}
8449extern "C" {
8450    #[link_name = "\u{1}aws_lc_0_35_0_BN_GENCB_set_old"]
8451    pub fn BN_GENCB_set_old(
8452        callback: *mut BN_GENCB,
8453        f: ::std::option::Option<
8454            unsafe extern "C" fn(
8455                arg1: ::std::os::raw::c_int,
8456                arg2: ::std::os::raw::c_int,
8457                arg3: *mut ::std::os::raw::c_void,
8458            ),
8459        >,
8460        cb_arg: *mut ::std::os::raw::c_void,
8461    );
8462}
8463extern "C" {
8464    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2mpi"]
8465    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8466}
8467extern "C" {
8468    #[link_name = "\u{1}aws_lc_0_35_0_BN_mpi2bn"]
8469    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8470}
8471extern "C" {
8472    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_word"]
8473    pub fn BN_mod_exp_mont_word(
8474        r: *mut BIGNUM,
8475        a: BN_ULONG,
8476        p: *const BIGNUM,
8477        m: *const BIGNUM,
8478        ctx: *mut BN_CTX,
8479        mont: *const BN_MONT_CTX,
8480    ) -> ::std::os::raw::c_int;
8481}
8482extern "C" {
8483    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp2_mont"]
8484    pub fn BN_mod_exp2_mont(
8485        r: *mut BIGNUM,
8486        a1: *const BIGNUM,
8487        p1: *const BIGNUM,
8488        a2: *const BIGNUM,
8489        p2: *const BIGNUM,
8490        m: *const BIGNUM,
8491        ctx: *mut BN_CTX,
8492        mont: *const BN_MONT_CTX,
8493    ) -> ::std::os::raw::c_int;
8494}
8495extern "C" {
8496    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_new"]
8497    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8498}
8499extern "C" {
8500    #[link_name = "\u{1}aws_lc_0_35_0_BN_MONT_CTX_set"]
8501    pub fn BN_MONT_CTX_set(
8502        mont: *mut BN_MONT_CTX,
8503        mod_: *const BIGNUM,
8504        ctx: *mut BN_CTX,
8505    ) -> ::std::os::raw::c_int;
8506}
8507extern "C" {
8508    #[link_name = "\u{1}aws_lc_0_35_0_BN_bn2binpad"]
8509    pub fn BN_bn2binpad(
8510        in_: *const BIGNUM,
8511        out: *mut u8,
8512        len: ::std::os::raw::c_int,
8513    ) -> ::std::os::raw::c_int;
8514}
8515extern "C" {
8516    #[link_name = "\u{1}aws_lc_0_35_0_BN_secure_new"]
8517    pub fn BN_secure_new() -> *mut BIGNUM;
8518}
8519extern "C" {
8520    #[link_name = "\u{1}aws_lc_0_35_0_BN_CTX_secure_new"]
8521    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8522}
8523extern "C" {
8524    #[link_name = "\u{1}aws_lc_0_35_0_BN_mod_exp_mont_consttime_x2"]
8525    pub fn BN_mod_exp_mont_consttime_x2(
8526        rr1: *mut BIGNUM,
8527        a1: *const BIGNUM,
8528        p1: *const BIGNUM,
8529        m1: *const BIGNUM,
8530        in_mont1: *const BN_MONT_CTX,
8531        rr2: *mut BIGNUM,
8532        a2: *const BIGNUM,
8533        p2: *const BIGNUM,
8534        m2: *const BIGNUM,
8535        in_mont2: *const BN_MONT_CTX,
8536        ctx: *mut BN_CTX,
8537    ) -> ::std::os::raw::c_int;
8538}
8539extern "C" {
8540    #[link_name = "\u{1}aws_lc_0_35_0_BN_set_flags"]
8541    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8542}
8543#[repr(C)]
8544#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8545pub struct bignum_st {
8546    pub d: *mut BN_ULONG,
8547    pub width: ::std::os::raw::c_int,
8548    pub dmax: ::std::os::raw::c_int,
8549    pub neg: ::std::os::raw::c_int,
8550    pub flags: ::std::os::raw::c_int,
8551}
8552#[test]
8553fn bindgen_test_layout_bignum_st() {
8554    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8555    let ptr = UNINIT.as_ptr();
8556    assert_eq!(
8557        ::std::mem::size_of::<bignum_st>(),
8558        24usize,
8559        "Size of bignum_st"
8560    );
8561    assert_eq!(
8562        ::std::mem::align_of::<bignum_st>(),
8563        8usize,
8564        "Alignment of bignum_st"
8565    );
8566    assert_eq!(
8567        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8568        0usize,
8569        "Offset of field: bignum_st::d"
8570    );
8571    assert_eq!(
8572        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8573        8usize,
8574        "Offset of field: bignum_st::width"
8575    );
8576    assert_eq!(
8577        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8578        12usize,
8579        "Offset of field: bignum_st::dmax"
8580    );
8581    assert_eq!(
8582        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
8583        16usize,
8584        "Offset of field: bignum_st::neg"
8585    );
8586    assert_eq!(
8587        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8588        20usize,
8589        "Offset of field: bignum_st::flags"
8590    );
8591}
8592impl Default for bignum_st {
8593    fn default() -> Self {
8594        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8595        unsafe {
8596            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8597            s.assume_init()
8598        }
8599    }
8600}
8601#[repr(C)]
8602#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8603pub struct bn_mont_ctx_st {
8604    pub RR: BIGNUM,
8605    pub N: BIGNUM,
8606    pub n0: [BN_ULONG; 2usize],
8607}
8608#[test]
8609fn bindgen_test_layout_bn_mont_ctx_st() {
8610    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
8611    let ptr = UNINIT.as_ptr();
8612    assert_eq!(
8613        ::std::mem::size_of::<bn_mont_ctx_st>(),
8614        64usize,
8615        "Size of bn_mont_ctx_st"
8616    );
8617    assert_eq!(
8618        ::std::mem::align_of::<bn_mont_ctx_st>(),
8619        8usize,
8620        "Alignment of bn_mont_ctx_st"
8621    );
8622    assert_eq!(
8623        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
8624        0usize,
8625        "Offset of field: bn_mont_ctx_st::RR"
8626    );
8627    assert_eq!(
8628        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
8629        24usize,
8630        "Offset of field: bn_mont_ctx_st::N"
8631    );
8632    assert_eq!(
8633        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
8634        48usize,
8635        "Offset of field: bn_mont_ctx_st::n0"
8636    );
8637}
8638impl Default for bn_mont_ctx_st {
8639    fn default() -> Self {
8640        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8641        unsafe {
8642            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8643            s.assume_init()
8644        }
8645    }
8646}
8647extern "C" {
8648    #[link_name = "\u{1}aws_lc_0_35_0_BN_num_bits_word"]
8649    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
8650}
8651extern "C" {
8652    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_tag2bit"]
8653    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
8654}
8655extern "C" {
8656    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_tag2str"]
8657    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8658}
8659pub type d2i_of_void = ::std::option::Option<
8660    unsafe extern "C" fn(
8661        arg1: *mut *mut ::std::os::raw::c_void,
8662        arg2: *mut *const ::std::os::raw::c_uchar,
8663        arg3: ::std::os::raw::c_long,
8664    ) -> *mut ::std::os::raw::c_void,
8665>;
8666pub type i2d_of_void = ::std::option::Option<
8667    unsafe extern "C" fn(
8668        arg1: *const ::std::os::raw::c_void,
8669        arg2: *mut *mut ::std::os::raw::c_uchar,
8670    ) -> ::std::os::raw::c_int,
8671>;
8672pub type ASN1_ITEM_EXP = ASN1_ITEM;
8673#[repr(C)]
8674#[derive(Debug, Copy, Clone)]
8675pub struct ASN1_VALUE_st {
8676    _unused: [u8; 0],
8677}
8678pub type ASN1_VALUE = ASN1_VALUE_st;
8679extern "C" {
8680    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_parse"]
8681    pub fn ASN1_parse(
8682        bp: *mut BIO,
8683        pp: *const ::std::os::raw::c_uchar,
8684        len: ::std::os::raw::c_long,
8685        indent: ::std::os::raw::c_int,
8686    ) -> ::std::os::raw::c_int;
8687}
8688extern "C" {
8689    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_new"]
8690    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
8691}
8692extern "C" {
8693    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_free"]
8694    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
8695}
8696extern "C" {
8697    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_d2i"]
8698    pub fn ASN1_item_d2i(
8699        out: *mut *mut ASN1_VALUE,
8700        inp: *mut *const ::std::os::raw::c_uchar,
8701        len: ::std::os::raw::c_long,
8702        it: *const ASN1_ITEM,
8703    ) -> *mut ASN1_VALUE;
8704}
8705extern "C" {
8706    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_i2d"]
8707    pub fn ASN1_item_i2d(
8708        val: *mut ASN1_VALUE,
8709        outp: *mut *mut ::std::os::raw::c_uchar,
8710        it: *const ASN1_ITEM,
8711    ) -> ::std::os::raw::c_int;
8712}
8713extern "C" {
8714    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_dup"]
8715    pub fn ASN1_dup(
8716        i2d: i2d_of_void,
8717        d2i: d2i_of_void,
8718        x: *mut ::std::os::raw::c_void,
8719    ) -> *mut ::std::os::raw::c_void;
8720}
8721extern "C" {
8722    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_dup"]
8723    pub fn ASN1_item_dup(
8724        it: *const ASN1_ITEM,
8725        x: *mut ::std::os::raw::c_void,
8726    ) -> *mut ::std::os::raw::c_void;
8727}
8728extern "C" {
8729    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_d2i_fp"]
8730    pub fn ASN1_item_d2i_fp(
8731        it: *const ASN1_ITEM,
8732        in_: *mut FILE,
8733        out: *mut ::std::os::raw::c_void,
8734    ) -> *mut ::std::os::raw::c_void;
8735}
8736extern "C" {
8737    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_d2i_bio"]
8738    pub fn ASN1_item_d2i_bio(
8739        it: *const ASN1_ITEM,
8740        in_: *mut BIO,
8741        out: *mut ::std::os::raw::c_void,
8742    ) -> *mut ::std::os::raw::c_void;
8743}
8744extern "C" {
8745    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_i2d_fp"]
8746    pub fn ASN1_item_i2d_fp(
8747        it: *const ASN1_ITEM,
8748        out: *mut FILE,
8749        in_: *mut ::std::os::raw::c_void,
8750    ) -> ::std::os::raw::c_int;
8751}
8752extern "C" {
8753    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_i2d_bio"]
8754    pub fn ASN1_item_i2d_bio(
8755        it: *const ASN1_ITEM,
8756        out: *mut BIO,
8757        in_: *mut ::std::os::raw::c_void,
8758    ) -> ::std::os::raw::c_int;
8759}
8760extern "C" {
8761    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_i2d_bio"]
8762    pub fn ASN1_i2d_bio(
8763        i2d: i2d_of_void,
8764        out: *mut BIO,
8765        in_: *mut ::std::os::raw::c_void,
8766    ) -> ::std::os::raw::c_int;
8767}
8768extern "C" {
8769    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_unpack"]
8770    pub fn ASN1_item_unpack(
8771        oct: *const ASN1_STRING,
8772        it: *const ASN1_ITEM,
8773    ) -> *mut ::std::os::raw::c_void;
8774}
8775extern "C" {
8776    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_pack"]
8777    pub fn ASN1_item_pack(
8778        obj: *mut ::std::os::raw::c_void,
8779        it: *const ASN1_ITEM,
8780        out: *mut *mut ASN1_STRING,
8781    ) -> *mut ASN1_STRING;
8782}
8783extern "C" {
8784    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_BOOLEAN"]
8785    pub fn d2i_ASN1_BOOLEAN(
8786        out: *mut ASN1_BOOLEAN,
8787        inp: *mut *const ::std::os::raw::c_uchar,
8788        len: ::std::os::raw::c_long,
8789    ) -> ASN1_BOOLEAN;
8790}
8791extern "C" {
8792    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_BOOLEAN"]
8793    pub fn i2d_ASN1_BOOLEAN(
8794        a: ASN1_BOOLEAN,
8795        outp: *mut *mut ::std::os::raw::c_uchar,
8796    ) -> ::std::os::raw::c_int;
8797}
8798extern "C" {
8799    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BOOLEAN_it"]
8800    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
8801}
8802extern "C" {
8803    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TBOOLEAN_it"]
8804    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
8805}
8806extern "C" {
8807    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_FBOOLEAN_it"]
8808    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
8809}
8810#[repr(C)]
8811#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8812pub struct asn1_string_st {
8813    pub length: ::std::os::raw::c_int,
8814    pub type_: ::std::os::raw::c_int,
8815    pub data: *mut ::std::os::raw::c_uchar,
8816    pub flags: ::std::os::raw::c_long,
8817}
8818#[test]
8819fn bindgen_test_layout_asn1_string_st() {
8820    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
8821    let ptr = UNINIT.as_ptr();
8822    assert_eq!(
8823        ::std::mem::size_of::<asn1_string_st>(),
8824        24usize,
8825        "Size of asn1_string_st"
8826    );
8827    assert_eq!(
8828        ::std::mem::align_of::<asn1_string_st>(),
8829        8usize,
8830        "Alignment of asn1_string_st"
8831    );
8832    assert_eq!(
8833        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8834        0usize,
8835        "Offset of field: asn1_string_st::length"
8836    );
8837    assert_eq!(
8838        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8839        4usize,
8840        "Offset of field: asn1_string_st::type_"
8841    );
8842    assert_eq!(
8843        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8844        8usize,
8845        "Offset of field: asn1_string_st::data"
8846    );
8847    assert_eq!(
8848        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8849        16usize,
8850        "Offset of field: asn1_string_st::flags"
8851    );
8852}
8853impl Default for asn1_string_st {
8854    fn default() -> Self {
8855        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8856        unsafe {
8857            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8858            s.assume_init()
8859        }
8860    }
8861}
8862extern "C" {
8863    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_type_new"]
8864    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
8865}
8866extern "C" {
8867    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_new"]
8868    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
8869}
8870extern "C" {
8871    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_free"]
8872    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
8873}
8874extern "C" {
8875    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_clear_free"]
8876    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
8877}
8878extern "C" {
8879    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_copy"]
8880    pub fn ASN1_STRING_copy(
8881        dst: *mut ASN1_STRING,
8882        str_: *const ASN1_STRING,
8883    ) -> ::std::os::raw::c_int;
8884}
8885extern "C" {
8886    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_dup"]
8887    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
8888}
8889extern "C" {
8890    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_type"]
8891    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8892}
8893extern "C" {
8894    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_get0_data"]
8895    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
8896}
8897extern "C" {
8898    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_data"]
8899    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
8900}
8901extern "C" {
8902    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_length"]
8903    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8904}
8905extern "C" {
8906    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_cmp"]
8907    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
8908}
8909extern "C" {
8910    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_set"]
8911    pub fn ASN1_STRING_set(
8912        str_: *mut ASN1_STRING,
8913        data: *const ::std::os::raw::c_void,
8914        len: ossl_ssize_t,
8915    ) -> ::std::os::raw::c_int;
8916}
8917extern "C" {
8918    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_set0"]
8919    pub fn ASN1_STRING_set0(
8920        str_: *mut ASN1_STRING,
8921        data: *mut ::std::os::raw::c_void,
8922        len: ::std::os::raw::c_int,
8923    );
8924}
8925extern "C" {
8926    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BMPSTRING_new"]
8927    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
8928}
8929extern "C" {
8930    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALSTRING_new"]
8931    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
8932}
8933extern "C" {
8934    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_IA5STRING_new"]
8935    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
8936}
8937extern "C" {
8938    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_new"]
8939    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
8940}
8941extern "C" {
8942    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLESTRING_new"]
8943    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
8944}
8945extern "C" {
8946    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_T61STRING_new"]
8947    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
8948}
8949extern "C" {
8950    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UNIVERSALSTRING_new"]
8951    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
8952}
8953extern "C" {
8954    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTF8STRING_new"]
8955    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
8956}
8957extern "C" {
8958    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_VISIBLESTRING_new"]
8959    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
8960}
8961extern "C" {
8962    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BMPSTRING_free"]
8963    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
8964}
8965extern "C" {
8966    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALSTRING_free"]
8967    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
8968}
8969extern "C" {
8970    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_IA5STRING_free"]
8971    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
8972}
8973extern "C" {
8974    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_free"]
8975    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
8976}
8977extern "C" {
8978    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLESTRING_free"]
8979    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
8980}
8981extern "C" {
8982    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_T61STRING_free"]
8983    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
8984}
8985extern "C" {
8986    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UNIVERSALSTRING_free"]
8987    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
8988}
8989extern "C" {
8990    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTF8STRING_free"]
8991    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
8992}
8993extern "C" {
8994    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_VISIBLESTRING_free"]
8995    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8996}
8997extern "C" {
8998    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_BMPSTRING"]
8999    pub fn d2i_ASN1_BMPSTRING(
9000        out: *mut *mut ASN1_BMPSTRING,
9001        inp: *mut *const u8,
9002        len: ::std::os::raw::c_long,
9003    ) -> *mut ASN1_BMPSTRING;
9004}
9005extern "C" {
9006    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_GENERALSTRING"]
9007    pub fn d2i_ASN1_GENERALSTRING(
9008        out: *mut *mut ASN1_GENERALSTRING,
9009        inp: *mut *const u8,
9010        len: ::std::os::raw::c_long,
9011    ) -> *mut ASN1_GENERALSTRING;
9012}
9013extern "C" {
9014    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_IA5STRING"]
9015    pub fn d2i_ASN1_IA5STRING(
9016        out: *mut *mut ASN1_IA5STRING,
9017        inp: *mut *const u8,
9018        len: ::std::os::raw::c_long,
9019    ) -> *mut ASN1_IA5STRING;
9020}
9021extern "C" {
9022    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_OCTET_STRING"]
9023    pub fn d2i_ASN1_OCTET_STRING(
9024        out: *mut *mut ASN1_OCTET_STRING,
9025        inp: *mut *const u8,
9026        len: ::std::os::raw::c_long,
9027    ) -> *mut ASN1_OCTET_STRING;
9028}
9029extern "C" {
9030    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_PRINTABLESTRING"]
9031    pub fn d2i_ASN1_PRINTABLESTRING(
9032        out: *mut *mut ASN1_PRINTABLESTRING,
9033        inp: *mut *const u8,
9034        len: ::std::os::raw::c_long,
9035    ) -> *mut ASN1_PRINTABLESTRING;
9036}
9037extern "C" {
9038    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_T61STRING"]
9039    pub fn d2i_ASN1_T61STRING(
9040        out: *mut *mut ASN1_T61STRING,
9041        inp: *mut *const u8,
9042        len: ::std::os::raw::c_long,
9043    ) -> *mut ASN1_T61STRING;
9044}
9045extern "C" {
9046    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_UNIVERSALSTRING"]
9047    pub fn d2i_ASN1_UNIVERSALSTRING(
9048        out: *mut *mut ASN1_UNIVERSALSTRING,
9049        inp: *mut *const u8,
9050        len: ::std::os::raw::c_long,
9051    ) -> *mut ASN1_UNIVERSALSTRING;
9052}
9053extern "C" {
9054    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_UTF8STRING"]
9055    pub fn d2i_ASN1_UTF8STRING(
9056        out: *mut *mut ASN1_UTF8STRING,
9057        inp: *mut *const u8,
9058        len: ::std::os::raw::c_long,
9059    ) -> *mut ASN1_UTF8STRING;
9060}
9061extern "C" {
9062    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_VISIBLESTRING"]
9063    pub fn d2i_ASN1_VISIBLESTRING(
9064        out: *mut *mut ASN1_VISIBLESTRING,
9065        inp: *mut *const u8,
9066        len: ::std::os::raw::c_long,
9067    ) -> *mut ASN1_VISIBLESTRING;
9068}
9069extern "C" {
9070    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_BMPSTRING"]
9071    pub fn i2d_ASN1_BMPSTRING(
9072        in_: *const ASN1_BMPSTRING,
9073        outp: *mut *mut u8,
9074    ) -> ::std::os::raw::c_int;
9075}
9076extern "C" {
9077    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_GENERALSTRING"]
9078    pub fn i2d_ASN1_GENERALSTRING(
9079        in_: *const ASN1_GENERALSTRING,
9080        outp: *mut *mut u8,
9081    ) -> ::std::os::raw::c_int;
9082}
9083extern "C" {
9084    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_IA5STRING"]
9085    pub fn i2d_ASN1_IA5STRING(
9086        in_: *const ASN1_IA5STRING,
9087        outp: *mut *mut u8,
9088    ) -> ::std::os::raw::c_int;
9089}
9090extern "C" {
9091    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_OCTET_STRING"]
9092    pub fn i2d_ASN1_OCTET_STRING(
9093        in_: *const ASN1_OCTET_STRING,
9094        outp: *mut *mut u8,
9095    ) -> ::std::os::raw::c_int;
9096}
9097extern "C" {
9098    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_PRINTABLESTRING"]
9099    pub fn i2d_ASN1_PRINTABLESTRING(
9100        in_: *const ASN1_PRINTABLESTRING,
9101        outp: *mut *mut u8,
9102    ) -> ::std::os::raw::c_int;
9103}
9104extern "C" {
9105    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_T61STRING"]
9106    pub fn i2d_ASN1_T61STRING(
9107        in_: *const ASN1_T61STRING,
9108        outp: *mut *mut u8,
9109    ) -> ::std::os::raw::c_int;
9110}
9111extern "C" {
9112    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_UNIVERSALSTRING"]
9113    pub fn i2d_ASN1_UNIVERSALSTRING(
9114        in_: *const ASN1_UNIVERSALSTRING,
9115        outp: *mut *mut u8,
9116    ) -> ::std::os::raw::c_int;
9117}
9118extern "C" {
9119    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_UTF8STRING"]
9120    pub fn i2d_ASN1_UTF8STRING(
9121        in_: *const ASN1_UTF8STRING,
9122        outp: *mut *mut u8,
9123    ) -> ::std::os::raw::c_int;
9124}
9125extern "C" {
9126    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_VISIBLESTRING"]
9127    pub fn i2d_ASN1_VISIBLESTRING(
9128        in_: *const ASN1_VISIBLESTRING,
9129        outp: *mut *mut u8,
9130    ) -> ::std::os::raw::c_int;
9131}
9132extern "C" {
9133    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BMPSTRING_it"]
9134    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9135}
9136extern "C" {
9137    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALSTRING_it"]
9138    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9139}
9140extern "C" {
9141    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_IA5STRING_it"]
9142    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9143}
9144extern "C" {
9145    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_it"]
9146    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9147}
9148extern "C" {
9149    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLESTRING_it"]
9150    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9151}
9152extern "C" {
9153    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_T61STRING_it"]
9154    pub static ASN1_T61STRING_it: ASN1_ITEM;
9155}
9156extern "C" {
9157    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UNIVERSALSTRING_it"]
9158    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9159}
9160extern "C" {
9161    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTF8STRING_it"]
9162    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9163}
9164extern "C" {
9165    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_VISIBLESTRING_it"]
9166    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9167}
9168extern "C" {
9169    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_dup"]
9170    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9171}
9172extern "C" {
9173    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_cmp"]
9174    pub fn ASN1_OCTET_STRING_cmp(
9175        a: *const ASN1_OCTET_STRING,
9176        b: *const ASN1_OCTET_STRING,
9177    ) -> ::std::os::raw::c_int;
9178}
9179extern "C" {
9180    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OCTET_STRING_set"]
9181    pub fn ASN1_OCTET_STRING_set(
9182        str_: *mut ASN1_OCTET_STRING,
9183        data: *const ::std::os::raw::c_uchar,
9184        len: ::std::os::raw::c_int,
9185    ) -> ::std::os::raw::c_int;
9186}
9187extern "C" {
9188    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_to_UTF8"]
9189    pub fn ASN1_STRING_to_UTF8(
9190        out: *mut *mut ::std::os::raw::c_uchar,
9191        in_: *const ASN1_STRING,
9192    ) -> ::std::os::raw::c_int;
9193}
9194extern "C" {
9195    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_mbstring_copy"]
9196    pub fn ASN1_mbstring_copy(
9197        out: *mut *mut ASN1_STRING,
9198        in_: *const u8,
9199        len: ossl_ssize_t,
9200        inform: ::std::os::raw::c_int,
9201        mask: ::std::os::raw::c_ulong,
9202    ) -> ::std::os::raw::c_int;
9203}
9204extern "C" {
9205    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_mbstring_ncopy"]
9206    pub fn ASN1_mbstring_ncopy(
9207        out: *mut *mut ASN1_STRING,
9208        in_: *const u8,
9209        len: ossl_ssize_t,
9210        inform: ::std::os::raw::c_int,
9211        mask: ::std::os::raw::c_ulong,
9212        minsize: ossl_ssize_t,
9213        maxsize: ossl_ssize_t,
9214    ) -> ::std::os::raw::c_int;
9215}
9216extern "C" {
9217    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_set_by_NID"]
9218    pub fn ASN1_STRING_set_by_NID(
9219        out: *mut *mut ASN1_STRING,
9220        in_: *const ::std::os::raw::c_uchar,
9221        len: ossl_ssize_t,
9222        inform: ::std::os::raw::c_int,
9223        nid: ::std::os::raw::c_int,
9224    ) -> *mut ASN1_STRING;
9225}
9226extern "C" {
9227    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_TABLE_add"]
9228    pub fn ASN1_STRING_TABLE_add(
9229        nid: ::std::os::raw::c_int,
9230        minsize: ::std::os::raw::c_long,
9231        maxsize: ::std::os::raw::c_long,
9232        mask: ::std::os::raw::c_ulong,
9233        flags: ::std::os::raw::c_ulong,
9234    ) -> ::std::os::raw::c_int;
9235}
9236extern "C" {
9237    #[link_name = "\u{1}aws_lc_0_35_0_DIRECTORYSTRING_new"]
9238    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9239}
9240extern "C" {
9241    #[link_name = "\u{1}aws_lc_0_35_0_DIRECTORYSTRING_free"]
9242    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9243}
9244extern "C" {
9245    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DIRECTORYSTRING"]
9246    pub fn d2i_DIRECTORYSTRING(
9247        out: *mut *mut ASN1_STRING,
9248        inp: *mut *const u8,
9249        len: ::std::os::raw::c_long,
9250    ) -> *mut ASN1_STRING;
9251}
9252extern "C" {
9253    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DIRECTORYSTRING"]
9254    pub fn i2d_DIRECTORYSTRING(
9255        in_: *const ASN1_STRING,
9256        outp: *mut *mut u8,
9257    ) -> ::std::os::raw::c_int;
9258}
9259extern "C" {
9260    #[link_name = "\u{1}aws_lc_0_35_0_DIRECTORYSTRING_it"]
9261    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9262}
9263extern "C" {
9264    #[link_name = "\u{1}aws_lc_0_35_0_DISPLAYTEXT_new"]
9265    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9266}
9267extern "C" {
9268    #[link_name = "\u{1}aws_lc_0_35_0_DISPLAYTEXT_free"]
9269    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9270}
9271extern "C" {
9272    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DISPLAYTEXT"]
9273    pub fn d2i_DISPLAYTEXT(
9274        out: *mut *mut ASN1_STRING,
9275        inp: *mut *const u8,
9276        len: ::std::os::raw::c_long,
9277    ) -> *mut ASN1_STRING;
9278}
9279extern "C" {
9280    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DISPLAYTEXT"]
9281    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9282}
9283extern "C" {
9284    #[link_name = "\u{1}aws_lc_0_35_0_DISPLAYTEXT_it"]
9285    pub static DISPLAYTEXT_it: ASN1_ITEM;
9286}
9287extern "C" {
9288    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_new"]
9289    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9290}
9291extern "C" {
9292    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_free"]
9293    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9294}
9295extern "C" {
9296    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_BIT_STRING"]
9297    pub fn d2i_ASN1_BIT_STRING(
9298        out: *mut *mut ASN1_BIT_STRING,
9299        inp: *mut *const u8,
9300        len: ::std::os::raw::c_long,
9301    ) -> *mut ASN1_BIT_STRING;
9302}
9303extern "C" {
9304    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_BIT_STRING"]
9305    pub fn i2d_ASN1_BIT_STRING(
9306        in_: *const ASN1_BIT_STRING,
9307        outp: *mut *mut u8,
9308    ) -> ::std::os::raw::c_int;
9309}
9310extern "C" {
9311    #[link_name = "\u{1}aws_lc_0_35_0_c2i_ASN1_BIT_STRING"]
9312    pub fn c2i_ASN1_BIT_STRING(
9313        out: *mut *mut ASN1_BIT_STRING,
9314        inp: *mut *const u8,
9315        len: ::std::os::raw::c_long,
9316    ) -> *mut ASN1_BIT_STRING;
9317}
9318extern "C" {
9319    #[link_name = "\u{1}aws_lc_0_35_0_i2c_ASN1_BIT_STRING"]
9320    pub fn i2c_ASN1_BIT_STRING(
9321        in_: *const ASN1_BIT_STRING,
9322        outp: *mut *mut u8,
9323    ) -> ::std::os::raw::c_int;
9324}
9325extern "C" {
9326    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_it"]
9327    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9328}
9329extern "C" {
9330    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_num_bytes"]
9331    pub fn ASN1_BIT_STRING_num_bytes(
9332        str_: *const ASN1_BIT_STRING,
9333        out: *mut usize,
9334    ) -> ::std::os::raw::c_int;
9335}
9336extern "C" {
9337    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_set"]
9338    pub fn ASN1_BIT_STRING_set(
9339        str_: *mut ASN1_BIT_STRING,
9340        d: *const ::std::os::raw::c_uchar,
9341        length: ossl_ssize_t,
9342    ) -> ::std::os::raw::c_int;
9343}
9344extern "C" {
9345    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_set_bit"]
9346    pub fn ASN1_BIT_STRING_set_bit(
9347        str_: *mut ASN1_BIT_STRING,
9348        n: ::std::os::raw::c_int,
9349        value: ::std::os::raw::c_int,
9350    ) -> ::std::os::raw::c_int;
9351}
9352extern "C" {
9353    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_get_bit"]
9354    pub fn ASN1_BIT_STRING_get_bit(
9355        str_: *const ASN1_BIT_STRING,
9356        n: ::std::os::raw::c_int,
9357    ) -> ::std::os::raw::c_int;
9358}
9359extern "C" {
9360    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_BIT_STRING_check"]
9361    pub fn ASN1_BIT_STRING_check(
9362        str_: *const ASN1_BIT_STRING,
9363        flags: *const ::std::os::raw::c_uchar,
9364        flags_len: ::std::os::raw::c_int,
9365    ) -> ::std::os::raw::c_int;
9366}
9367#[repr(C)]
9368#[derive(Debug, Copy, Clone)]
9369pub struct stack_st_ASN1_INTEGER {
9370    _unused: [u8; 0],
9371}
9372pub type sk_ASN1_INTEGER_free_func =
9373    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9374pub type sk_ASN1_INTEGER_copy_func =
9375    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9376pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9377    unsafe extern "C" fn(
9378        arg1: *const *const ASN1_INTEGER,
9379        arg2: *const *const ASN1_INTEGER,
9380    ) -> ::std::os::raw::c_int,
9381>;
9382pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9383    unsafe extern "C" fn(
9384        arg1: *mut ASN1_INTEGER,
9385        arg2: *mut ::std::os::raw::c_void,
9386    ) -> ::std::os::raw::c_int,
9387>;
9388extern "C" {
9389    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_new"]
9390    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9391}
9392extern "C" {
9393    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_free"]
9394    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9395}
9396extern "C" {
9397    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_dup"]
9398    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9399}
9400extern "C" {
9401    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_INTEGER"]
9402    pub fn d2i_ASN1_INTEGER(
9403        out: *mut *mut ASN1_INTEGER,
9404        inp: *mut *const u8,
9405        len: ::std::os::raw::c_long,
9406    ) -> *mut ASN1_INTEGER;
9407}
9408extern "C" {
9409    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_INTEGER"]
9410    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9411}
9412extern "C" {
9413    #[link_name = "\u{1}aws_lc_0_35_0_c2i_ASN1_INTEGER"]
9414    pub fn c2i_ASN1_INTEGER(
9415        in_: *mut *mut ASN1_INTEGER,
9416        outp: *mut *const u8,
9417        len: ::std::os::raw::c_long,
9418    ) -> *mut ASN1_INTEGER;
9419}
9420extern "C" {
9421    #[link_name = "\u{1}aws_lc_0_35_0_i2c_ASN1_INTEGER"]
9422    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9423}
9424extern "C" {
9425    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_it"]
9426    pub static ASN1_INTEGER_it: ASN1_ITEM;
9427}
9428extern "C" {
9429    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_set_uint64"]
9430    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9431}
9432extern "C" {
9433    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_set_int64"]
9434    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9435}
9436extern "C" {
9437    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_get_uint64"]
9438    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9439}
9440extern "C" {
9441    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_get_int64"]
9442    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9443}
9444extern "C" {
9445    #[link_name = "\u{1}aws_lc_0_35_0_BN_to_ASN1_INTEGER"]
9446    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9447}
9448extern "C" {
9449    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_to_BN"]
9450    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9451}
9452extern "C" {
9453    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_cmp"]
9454    pub fn ASN1_INTEGER_cmp(
9455        x: *const ASN1_INTEGER,
9456        y: *const ASN1_INTEGER,
9457    ) -> ::std::os::raw::c_int;
9458}
9459extern "C" {
9460    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_new"]
9461    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9462}
9463extern "C" {
9464    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_free"]
9465    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9466}
9467extern "C" {
9468    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_ENUMERATED"]
9469    pub fn d2i_ASN1_ENUMERATED(
9470        out: *mut *mut ASN1_ENUMERATED,
9471        inp: *mut *const u8,
9472        len: ::std::os::raw::c_long,
9473    ) -> *mut ASN1_ENUMERATED;
9474}
9475extern "C" {
9476    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_ENUMERATED"]
9477    pub fn i2d_ASN1_ENUMERATED(
9478        in_: *const ASN1_ENUMERATED,
9479        outp: *mut *mut u8,
9480    ) -> ::std::os::raw::c_int;
9481}
9482extern "C" {
9483    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_it"]
9484    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9485}
9486extern "C" {
9487    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_set_uint64"]
9488    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9489}
9490extern "C" {
9491    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_set_int64"]
9492    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9493}
9494extern "C" {
9495    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_get_uint64"]
9496    pub fn ASN1_ENUMERATED_get_uint64(
9497        out: *mut u64,
9498        a: *const ASN1_ENUMERATED,
9499    ) -> ::std::os::raw::c_int;
9500}
9501extern "C" {
9502    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_get_int64"]
9503    pub fn ASN1_ENUMERATED_get_int64(
9504        out: *mut i64,
9505        a: *const ASN1_ENUMERATED,
9506    ) -> ::std::os::raw::c_int;
9507}
9508extern "C" {
9509    #[link_name = "\u{1}aws_lc_0_35_0_BN_to_ASN1_ENUMERATED"]
9510    pub fn BN_to_ASN1_ENUMERATED(
9511        bn: *const BIGNUM,
9512        ai: *mut ASN1_ENUMERATED,
9513    ) -> *mut ASN1_ENUMERATED;
9514}
9515extern "C" {
9516    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_to_BN"]
9517    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9518}
9519extern "C" {
9520    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_new"]
9521    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9522}
9523extern "C" {
9524    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_free"]
9525    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9526}
9527extern "C" {
9528    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_UTCTIME"]
9529    pub fn d2i_ASN1_UTCTIME(
9530        out: *mut *mut ASN1_UTCTIME,
9531        inp: *mut *const u8,
9532        len: ::std::os::raw::c_long,
9533    ) -> *mut ASN1_UTCTIME;
9534}
9535extern "C" {
9536    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_UTCTIME"]
9537    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9538}
9539extern "C" {
9540    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_it"]
9541    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9542}
9543extern "C" {
9544    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_check"]
9545    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9546}
9547extern "C" {
9548    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_set"]
9549    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9550}
9551extern "C" {
9552    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_adj"]
9553    pub fn ASN1_UTCTIME_adj(
9554        s: *mut ASN1_UTCTIME,
9555        posix_time: i64,
9556        offset_day: ::std::os::raw::c_int,
9557        offset_sec: ::std::os::raw::c_long,
9558    ) -> *mut ASN1_UTCTIME;
9559}
9560extern "C" {
9561    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_set_string"]
9562    pub fn ASN1_UTCTIME_set_string(
9563        s: *mut ASN1_UTCTIME,
9564        str_: *const ::std::os::raw::c_char,
9565    ) -> ::std::os::raw::c_int;
9566}
9567extern "C" {
9568    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_cmp_time_t"]
9569    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
9570}
9571extern "C" {
9572    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_new"]
9573    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
9574}
9575extern "C" {
9576    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_free"]
9577    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
9578}
9579extern "C" {
9580    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_GENERALIZEDTIME"]
9581    pub fn d2i_ASN1_GENERALIZEDTIME(
9582        out: *mut *mut ASN1_GENERALIZEDTIME,
9583        inp: *mut *const u8,
9584        len: ::std::os::raw::c_long,
9585    ) -> *mut ASN1_GENERALIZEDTIME;
9586}
9587extern "C" {
9588    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_GENERALIZEDTIME"]
9589    pub fn i2d_ASN1_GENERALIZEDTIME(
9590        in_: *const ASN1_GENERALIZEDTIME,
9591        outp: *mut *mut u8,
9592    ) -> ::std::os::raw::c_int;
9593}
9594extern "C" {
9595    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_it"]
9596    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
9597}
9598extern "C" {
9599    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_check"]
9600    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
9601}
9602extern "C" {
9603    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_set"]
9604    pub fn ASN1_GENERALIZEDTIME_set(
9605        s: *mut ASN1_GENERALIZEDTIME,
9606        posix_time: i64,
9607    ) -> *mut ASN1_GENERALIZEDTIME;
9608}
9609extern "C" {
9610    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_adj"]
9611    pub fn ASN1_GENERALIZEDTIME_adj(
9612        s: *mut ASN1_GENERALIZEDTIME,
9613        posix_time: i64,
9614        offset_day: ::std::os::raw::c_int,
9615        offset_sec: ::std::os::raw::c_long,
9616    ) -> *mut ASN1_GENERALIZEDTIME;
9617}
9618extern "C" {
9619    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_set_string"]
9620    pub fn ASN1_GENERALIZEDTIME_set_string(
9621        s: *mut ASN1_GENERALIZEDTIME,
9622        str_: *const ::std::os::raw::c_char,
9623    ) -> ::std::os::raw::c_int;
9624}
9625extern "C" {
9626    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_new"]
9627    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
9628}
9629extern "C" {
9630    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_free"]
9631    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
9632}
9633extern "C" {
9634    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_TIME"]
9635    pub fn d2i_ASN1_TIME(
9636        out: *mut *mut ASN1_TIME,
9637        inp: *mut *const u8,
9638        len: ::std::os::raw::c_long,
9639    ) -> *mut ASN1_TIME;
9640}
9641extern "C" {
9642    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_TIME"]
9643    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9644}
9645extern "C" {
9646    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_it"]
9647    pub static ASN1_TIME_it: ASN1_ITEM;
9648}
9649extern "C" {
9650    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_diff"]
9651    pub fn ASN1_TIME_diff(
9652        out_days: *mut ::std::os::raw::c_int,
9653        out_seconds: *mut ::std::os::raw::c_int,
9654        from: *const ASN1_TIME,
9655        to: *const ASN1_TIME,
9656    ) -> ::std::os::raw::c_int;
9657}
9658extern "C" {
9659    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_set_posix"]
9660    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
9661}
9662extern "C" {
9663    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_set"]
9664    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
9665}
9666extern "C" {
9667    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_adj"]
9668    pub fn ASN1_TIME_adj(
9669        s: *mut ASN1_TIME,
9670        posix_time: i64,
9671        offset_day: ::std::os::raw::c_int,
9672        offset_sec: ::std::os::raw::c_long,
9673    ) -> *mut ASN1_TIME;
9674}
9675extern "C" {
9676    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_check"]
9677    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
9678}
9679extern "C" {
9680    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_to_generalizedtime"]
9681    pub fn ASN1_TIME_to_generalizedtime(
9682        t: *const ASN1_TIME,
9683        out: *mut *mut ASN1_GENERALIZEDTIME,
9684    ) -> *mut ASN1_GENERALIZEDTIME;
9685}
9686extern "C" {
9687    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_set_string"]
9688    pub fn ASN1_TIME_set_string(
9689        s: *mut ASN1_TIME,
9690        str_: *const ::std::os::raw::c_char,
9691    ) -> ::std::os::raw::c_int;
9692}
9693extern "C" {
9694    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_to_tm"]
9695    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
9696}
9697extern "C" {
9698    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_set_string_X509"]
9699    pub fn ASN1_TIME_set_string_X509(
9700        s: *mut ASN1_TIME,
9701        str_: *const ::std::os::raw::c_char,
9702    ) -> ::std::os::raw::c_int;
9703}
9704extern "C" {
9705    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_to_time_t"]
9706    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
9707}
9708extern "C" {
9709    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_to_posix"]
9710    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
9711}
9712extern "C" {
9713    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_NULL_new"]
9714    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
9715}
9716extern "C" {
9717    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_NULL_free"]
9718    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
9719}
9720extern "C" {
9721    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_NULL"]
9722    pub fn d2i_ASN1_NULL(
9723        out: *mut *mut ASN1_NULL,
9724        inp: *mut *const u8,
9725        len: ::std::os::raw::c_long,
9726    ) -> *mut ASN1_NULL;
9727}
9728extern "C" {
9729    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_NULL"]
9730    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9731}
9732extern "C" {
9733    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_NULL_it"]
9734    pub static ASN1_NULL_it: ASN1_ITEM;
9735}
9736#[repr(C)]
9737#[derive(Debug, Copy, Clone)]
9738pub struct stack_st_ASN1_OBJECT {
9739    _unused: [u8; 0],
9740}
9741pub type sk_ASN1_OBJECT_free_func =
9742    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
9743pub type sk_ASN1_OBJECT_copy_func =
9744    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
9745pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
9746    unsafe extern "C" fn(
9747        arg1: *const *const ASN1_OBJECT,
9748        arg2: *const *const ASN1_OBJECT,
9749    ) -> ::std::os::raw::c_int,
9750>;
9751pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
9752    unsafe extern "C" fn(
9753        arg1: *mut ASN1_OBJECT,
9754        arg2: *mut ::std::os::raw::c_void,
9755    ) -> ::std::os::raw::c_int,
9756>;
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OBJECT_create"]
9759    pub fn ASN1_OBJECT_create(
9760        nid: ::std::os::raw::c_int,
9761        data: *const u8,
9762        len: usize,
9763        sn: *const ::std::os::raw::c_char,
9764        ln: *const ::std::os::raw::c_char,
9765    ) -> *mut ASN1_OBJECT;
9766}
9767extern "C" {
9768    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OBJECT_free"]
9769    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
9770}
9771extern "C" {
9772    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_OBJECT"]
9773    pub fn d2i_ASN1_OBJECT(
9774        out: *mut *mut ASN1_OBJECT,
9775        inp: *mut *const u8,
9776        len: ::std::os::raw::c_long,
9777    ) -> *mut ASN1_OBJECT;
9778}
9779extern "C" {
9780    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_OBJECT"]
9781    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9782}
9783extern "C" {
9784    #[link_name = "\u{1}aws_lc_0_35_0_c2i_ASN1_OBJECT"]
9785    pub fn c2i_ASN1_OBJECT(
9786        out: *mut *mut ASN1_OBJECT,
9787        inp: *mut *const u8,
9788        len: ::std::os::raw::c_long,
9789    ) -> *mut ASN1_OBJECT;
9790}
9791extern "C" {
9792    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_OBJECT_it"]
9793    pub static ASN1_OBJECT_it: ASN1_ITEM;
9794}
9795#[repr(C)]
9796#[derive(Copy, Clone)]
9797pub struct asn1_type_st {
9798    pub type_: ::std::os::raw::c_int,
9799    pub value: asn1_type_st__bindgen_ty_1,
9800}
9801#[repr(C)]
9802#[derive(Copy, Clone)]
9803pub union asn1_type_st__bindgen_ty_1 {
9804    pub ptr: *mut ::std::os::raw::c_char,
9805    pub boolean: ASN1_BOOLEAN,
9806    pub asn1_string: *mut ASN1_STRING,
9807    pub object: *mut ASN1_OBJECT,
9808    pub integer: *mut ASN1_INTEGER,
9809    pub enumerated: *mut ASN1_ENUMERATED,
9810    pub bit_string: *mut ASN1_BIT_STRING,
9811    pub octet_string: *mut ASN1_OCTET_STRING,
9812    pub printablestring: *mut ASN1_PRINTABLESTRING,
9813    pub t61string: *mut ASN1_T61STRING,
9814    pub ia5string: *mut ASN1_IA5STRING,
9815    pub generalstring: *mut ASN1_GENERALSTRING,
9816    pub bmpstring: *mut ASN1_BMPSTRING,
9817    pub universalstring: *mut ASN1_UNIVERSALSTRING,
9818    pub utctime: *mut ASN1_UTCTIME,
9819    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
9820    pub visiblestring: *mut ASN1_VISIBLESTRING,
9821    pub utf8string: *mut ASN1_UTF8STRING,
9822    pub set: *mut ASN1_STRING,
9823    pub sequence: *mut ASN1_STRING,
9824    pub asn1_value: *mut ASN1_VALUE,
9825}
9826#[test]
9827fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
9828    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
9829        ::std::mem::MaybeUninit::uninit();
9830    let ptr = UNINIT.as_ptr();
9831    assert_eq!(
9832        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
9833        8usize,
9834        "Size of asn1_type_st__bindgen_ty_1"
9835    );
9836    assert_eq!(
9837        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
9838        8usize,
9839        "Alignment of asn1_type_st__bindgen_ty_1"
9840    );
9841    assert_eq!(
9842        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9843        0usize,
9844        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
9845    );
9846    assert_eq!(
9847        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
9848        0usize,
9849        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
9850    );
9851    assert_eq!(
9852        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
9853        0usize,
9854        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
9855    );
9856    assert_eq!(
9857        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
9858        0usize,
9859        "Offset of field: asn1_type_st__bindgen_ty_1::object"
9860    );
9861    assert_eq!(
9862        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
9863        0usize,
9864        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
9865    );
9866    assert_eq!(
9867        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
9868        0usize,
9869        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
9870    );
9871    assert_eq!(
9872        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
9873        0usize,
9874        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
9875    );
9876    assert_eq!(
9877        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
9878        0usize,
9879        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
9880    );
9881    assert_eq!(
9882        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
9883        0usize,
9884        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
9885    );
9886    assert_eq!(
9887        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
9888        0usize,
9889        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
9890    );
9891    assert_eq!(
9892        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
9893        0usize,
9894        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
9895    );
9896    assert_eq!(
9897        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
9898        0usize,
9899        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
9900    );
9901    assert_eq!(
9902        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
9903        0usize,
9904        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
9905    );
9906    assert_eq!(
9907        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
9908        0usize,
9909        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
9910    );
9911    assert_eq!(
9912        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
9913        0usize,
9914        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
9915    );
9916    assert_eq!(
9917        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
9918        0usize,
9919        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
9920    );
9921    assert_eq!(
9922        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
9923        0usize,
9924        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
9925    );
9926    assert_eq!(
9927        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
9928        0usize,
9929        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
9930    );
9931    assert_eq!(
9932        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
9933        0usize,
9934        "Offset of field: asn1_type_st__bindgen_ty_1::set"
9935    );
9936    assert_eq!(
9937        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
9938        0usize,
9939        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
9940    );
9941    assert_eq!(
9942        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
9943        0usize,
9944        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
9945    );
9946}
9947impl Default for asn1_type_st__bindgen_ty_1 {
9948    fn default() -> Self {
9949        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9950        unsafe {
9951            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9952            s.assume_init()
9953        }
9954    }
9955}
9956#[test]
9957fn bindgen_test_layout_asn1_type_st() {
9958    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
9959    let ptr = UNINIT.as_ptr();
9960    assert_eq!(
9961        ::std::mem::size_of::<asn1_type_st>(),
9962        16usize,
9963        "Size of asn1_type_st"
9964    );
9965    assert_eq!(
9966        ::std::mem::align_of::<asn1_type_st>(),
9967        8usize,
9968        "Alignment of asn1_type_st"
9969    );
9970    assert_eq!(
9971        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9972        0usize,
9973        "Offset of field: asn1_type_st::type_"
9974    );
9975    assert_eq!(
9976        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
9977        8usize,
9978        "Offset of field: asn1_type_st::value"
9979    );
9980}
9981impl Default for asn1_type_st {
9982    fn default() -> Self {
9983        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9984        unsafe {
9985            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9986            s.assume_init()
9987        }
9988    }
9989}
9990#[repr(C)]
9991#[derive(Debug, Copy, Clone)]
9992pub struct stack_st_ASN1_TYPE {
9993    _unused: [u8; 0],
9994}
9995pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
9996pub type sk_ASN1_TYPE_copy_func =
9997    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
9998pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
9999    unsafe extern "C" fn(
10000        arg1: *const *const ASN1_TYPE,
10001        arg2: *const *const ASN1_TYPE,
10002    ) -> ::std::os::raw::c_int,
10003>;
10004pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10005    unsafe extern "C" fn(
10006        arg1: *mut ASN1_TYPE,
10007        arg2: *mut ::std::os::raw::c_void,
10008    ) -> ::std::os::raw::c_int,
10009>;
10010extern "C" {
10011    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_new"]
10012    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10013}
10014extern "C" {
10015    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_free"]
10016    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10017}
10018extern "C" {
10019    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_TYPE"]
10020    pub fn d2i_ASN1_TYPE(
10021        out: *mut *mut ASN1_TYPE,
10022        inp: *mut *const u8,
10023        len: ::std::os::raw::c_long,
10024    ) -> *mut ASN1_TYPE;
10025}
10026extern "C" {
10027    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_TYPE"]
10028    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10029}
10030extern "C" {
10031    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ANY_it"]
10032    pub static ASN1_ANY_it: ASN1_ITEM;
10033}
10034extern "C" {
10035    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_get"]
10036    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10037}
10038extern "C" {
10039    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_set"]
10040    pub fn ASN1_TYPE_set(
10041        a: *mut ASN1_TYPE,
10042        type_: ::std::os::raw::c_int,
10043        value: *mut ::std::os::raw::c_void,
10044    );
10045}
10046extern "C" {
10047    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_set1"]
10048    pub fn ASN1_TYPE_set1(
10049        a: *mut ASN1_TYPE,
10050        type_: ::std::os::raw::c_int,
10051        value: *const ::std::os::raw::c_void,
10052    ) -> ::std::os::raw::c_int;
10053}
10054extern "C" {
10055    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TYPE_cmp"]
10056    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10057}
10058pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10059extern "C" {
10060    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_SEQUENCE_ANY"]
10061    pub fn d2i_ASN1_SEQUENCE_ANY(
10062        out: *mut *mut ASN1_SEQUENCE_ANY,
10063        inp: *mut *const u8,
10064        len: ::std::os::raw::c_long,
10065    ) -> *mut ASN1_SEQUENCE_ANY;
10066}
10067extern "C" {
10068    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_SEQUENCE_ANY"]
10069    pub fn i2d_ASN1_SEQUENCE_ANY(
10070        in_: *const ASN1_SEQUENCE_ANY,
10071        outp: *mut *mut u8,
10072    ) -> ::std::os::raw::c_int;
10073}
10074extern "C" {
10075    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_SET_ANY"]
10076    pub fn d2i_ASN1_SET_ANY(
10077        out: *mut *mut ASN1_SEQUENCE_ANY,
10078        inp: *mut *const u8,
10079        len: ::std::os::raw::c_long,
10080    ) -> *mut ASN1_SEQUENCE_ANY;
10081}
10082extern "C" {
10083    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_SET_ANY"]
10084    pub fn i2d_ASN1_SET_ANY(
10085        in_: *const ASN1_SEQUENCE_ANY,
10086        outp: *mut *mut u8,
10087    ) -> ::std::os::raw::c_int;
10088}
10089extern "C" {
10090    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_UTCTIME_print"]
10091    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10092}
10093extern "C" {
10094    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_GENERALIZEDTIME_print"]
10095    pub fn ASN1_GENERALIZEDTIME_print(
10096        out: *mut BIO,
10097        a: *const ASN1_GENERALIZEDTIME,
10098    ) -> ::std::os::raw::c_int;
10099}
10100extern "C" {
10101    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_TIME_print"]
10102    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10103}
10104extern "C" {
10105    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_print"]
10106    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10107}
10108extern "C" {
10109    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_print_ex"]
10110    pub fn ASN1_STRING_print_ex(
10111        out: *mut BIO,
10112        str_: *const ASN1_STRING,
10113        flags: ::std::os::raw::c_ulong,
10114    ) -> ::std::os::raw::c_int;
10115}
10116extern "C" {
10117    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_print_ex_fp"]
10118    pub fn ASN1_STRING_print_ex_fp(
10119        fp: *mut FILE,
10120        str_: *const ASN1_STRING,
10121        flags: ::std::os::raw::c_ulong,
10122    ) -> ::std::os::raw::c_int;
10123}
10124extern "C" {
10125    #[link_name = "\u{1}aws_lc_0_35_0_i2a_ASN1_INTEGER"]
10126    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10127}
10128extern "C" {
10129    #[link_name = "\u{1}aws_lc_0_35_0_i2a_ASN1_ENUMERATED"]
10130    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10131}
10132extern "C" {
10133    #[link_name = "\u{1}aws_lc_0_35_0_i2a_ASN1_OBJECT"]
10134    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10135}
10136extern "C" {
10137    #[link_name = "\u{1}aws_lc_0_35_0_i2a_ASN1_STRING"]
10138    pub fn i2a_ASN1_STRING(
10139        bp: *mut BIO,
10140        a: *const ASN1_STRING,
10141        type_: ::std::os::raw::c_int,
10142    ) -> ::std::os::raw::c_int;
10143}
10144extern "C" {
10145    #[link_name = "\u{1}aws_lc_0_35_0_i2t_ASN1_OBJECT"]
10146    pub fn i2t_ASN1_OBJECT(
10147        buf: *mut ::std::os::raw::c_char,
10148        buf_len: ::std::os::raw::c_int,
10149        a: *const ASN1_OBJECT,
10150    ) -> ::std::os::raw::c_int;
10151}
10152extern "C" {
10153    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_get_object"]
10154    pub fn ASN1_get_object(
10155        inp: *mut *const ::std::os::raw::c_uchar,
10156        out_length: *mut ::std::os::raw::c_long,
10157        out_tag: *mut ::std::os::raw::c_int,
10158        out_class: *mut ::std::os::raw::c_int,
10159        max_len: ::std::os::raw::c_long,
10160    ) -> ::std::os::raw::c_int;
10161}
10162extern "C" {
10163    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_put_object"]
10164    pub fn ASN1_put_object(
10165        outp: *mut *mut ::std::os::raw::c_uchar,
10166        constructed: ::std::os::raw::c_int,
10167        length: ::std::os::raw::c_int,
10168        tag: ::std::os::raw::c_int,
10169        xclass: ::std::os::raw::c_int,
10170    );
10171}
10172extern "C" {
10173    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_put_eoc"]
10174    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10175}
10176extern "C" {
10177    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_object_size"]
10178    pub fn ASN1_object_size(
10179        constructed: ::std::os::raw::c_int,
10180        length: ::std::os::raw::c_int,
10181        tag: ::std::os::raw::c_int,
10182    ) -> ::std::os::raw::c_int;
10183}
10184extern "C" {
10185    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLE_new"]
10186    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10187}
10188extern "C" {
10189    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLE_free"]
10190    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10191}
10192extern "C" {
10193    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ASN1_PRINTABLE"]
10194    pub fn d2i_ASN1_PRINTABLE(
10195        out: *mut *mut ASN1_STRING,
10196        inp: *mut *const u8,
10197        len: ::std::os::raw::c_long,
10198    ) -> *mut ASN1_STRING;
10199}
10200extern "C" {
10201    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ASN1_PRINTABLE"]
10202    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10203        -> ::std::os::raw::c_int;
10204}
10205extern "C" {
10206    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_PRINTABLE_it"]
10207    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10208}
10209extern "C" {
10210    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_set"]
10211    pub fn ASN1_INTEGER_set(
10212        a: *mut ASN1_INTEGER,
10213        v: ::std::os::raw::c_long,
10214    ) -> ::std::os::raw::c_int;
10215}
10216extern "C" {
10217    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_set"]
10218    pub fn ASN1_ENUMERATED_set(
10219        a: *mut ASN1_ENUMERATED,
10220        v: ::std::os::raw::c_long,
10221    ) -> ::std::os::raw::c_int;
10222}
10223extern "C" {
10224    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_INTEGER_get"]
10225    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10226}
10227extern "C" {
10228    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_ENUMERATED_get"]
10229    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10230}
10231extern "C" {
10232    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_set_default_mask"]
10233    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10234}
10235extern "C" {
10236    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_set_default_mask_asc"]
10237    pub fn ASN1_STRING_set_default_mask_asc(
10238        p: *const ::std::os::raw::c_char,
10239    ) -> ::std::os::raw::c_int;
10240}
10241extern "C" {
10242    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_get_default_mask"]
10243    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10244}
10245extern "C" {
10246    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_STRING_TABLE_cleanup"]
10247    pub fn ASN1_STRING_TABLE_cleanup();
10248}
10249pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10250#[repr(C)]
10251#[derive(Debug, Copy, Clone)]
10252pub struct ASN1_TLC_st {
10253    _unused: [u8; 0],
10254}
10255pub type ASN1_TLC = ASN1_TLC_st;
10256#[repr(C)]
10257#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10258pub struct ASN1_TEMPLATE_st {
10259    pub flags: u32,
10260    pub tag: ::std::os::raw::c_int,
10261    pub offset: ::std::os::raw::c_ulong,
10262    pub field_name: *const ::std::os::raw::c_char,
10263    pub item: *const ASN1_ITEM_st,
10264}
10265#[test]
10266fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10267    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10268    let ptr = UNINIT.as_ptr();
10269    assert_eq!(
10270        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10271        32usize,
10272        "Size of ASN1_TEMPLATE_st"
10273    );
10274    assert_eq!(
10275        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10276        8usize,
10277        "Alignment of ASN1_TEMPLATE_st"
10278    );
10279    assert_eq!(
10280        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10281        0usize,
10282        "Offset of field: ASN1_TEMPLATE_st::flags"
10283    );
10284    assert_eq!(
10285        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10286        4usize,
10287        "Offset of field: ASN1_TEMPLATE_st::tag"
10288    );
10289    assert_eq!(
10290        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10291        8usize,
10292        "Offset of field: ASN1_TEMPLATE_st::offset"
10293    );
10294    assert_eq!(
10295        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10296        16usize,
10297        "Offset of field: ASN1_TEMPLATE_st::field_name"
10298    );
10299    assert_eq!(
10300        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10301        24usize,
10302        "Offset of field: ASN1_TEMPLATE_st::item"
10303    );
10304}
10305impl Default for ASN1_TEMPLATE_st {
10306    fn default() -> Self {
10307        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10308        unsafe {
10309            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10310            s.assume_init()
10311        }
10312    }
10313}
10314pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10315pub type ASN1_ADB = ASN1_ADB_st;
10316#[repr(C)]
10317#[derive(Debug, Copy, Clone)]
10318pub struct asn1_must_be_null_st {
10319    _unused: [u8; 0],
10320}
10321pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10322#[repr(C)]
10323#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10324pub struct ASN1_ADB_st {
10325    pub flags: u32,
10326    pub offset: ::std::os::raw::c_ulong,
10327    pub unused: *mut ASN1_MUST_BE_NULL,
10328    pub tbl: *const ASN1_ADB_TABLE,
10329    pub tblcount: ::std::os::raw::c_long,
10330    pub default_tt: *const ASN1_TEMPLATE,
10331    pub null_tt: *const ASN1_TEMPLATE,
10332}
10333#[test]
10334fn bindgen_test_layout_ASN1_ADB_st() {
10335    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10336    let ptr = UNINIT.as_ptr();
10337    assert_eq!(
10338        ::std::mem::size_of::<ASN1_ADB_st>(),
10339        56usize,
10340        "Size of ASN1_ADB_st"
10341    );
10342    assert_eq!(
10343        ::std::mem::align_of::<ASN1_ADB_st>(),
10344        8usize,
10345        "Alignment of ASN1_ADB_st"
10346    );
10347    assert_eq!(
10348        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10349        0usize,
10350        "Offset of field: ASN1_ADB_st::flags"
10351    );
10352    assert_eq!(
10353        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10354        8usize,
10355        "Offset of field: ASN1_ADB_st::offset"
10356    );
10357    assert_eq!(
10358        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10359        16usize,
10360        "Offset of field: ASN1_ADB_st::unused"
10361    );
10362    assert_eq!(
10363        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10364        24usize,
10365        "Offset of field: ASN1_ADB_st::tbl"
10366    );
10367    assert_eq!(
10368        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10369        32usize,
10370        "Offset of field: ASN1_ADB_st::tblcount"
10371    );
10372    assert_eq!(
10373        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10374        40usize,
10375        "Offset of field: ASN1_ADB_st::default_tt"
10376    );
10377    assert_eq!(
10378        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10379        48usize,
10380        "Offset of field: ASN1_ADB_st::null_tt"
10381    );
10382}
10383impl Default for ASN1_ADB_st {
10384    fn default() -> Self {
10385        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10386        unsafe {
10387            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10388            s.assume_init()
10389        }
10390    }
10391}
10392#[repr(C)]
10393#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10394pub struct ASN1_ADB_TABLE_st {
10395    pub value: ::std::os::raw::c_int,
10396    pub tt: ASN1_TEMPLATE,
10397}
10398#[test]
10399fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10400    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10401    let ptr = UNINIT.as_ptr();
10402    assert_eq!(
10403        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10404        40usize,
10405        "Size of ASN1_ADB_TABLE_st"
10406    );
10407    assert_eq!(
10408        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10409        8usize,
10410        "Alignment of ASN1_ADB_TABLE_st"
10411    );
10412    assert_eq!(
10413        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10414        0usize,
10415        "Offset of field: ASN1_ADB_TABLE_st::value"
10416    );
10417    assert_eq!(
10418        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10419        8usize,
10420        "Offset of field: ASN1_ADB_TABLE_st::tt"
10421    );
10422}
10423impl Default for ASN1_ADB_TABLE_st {
10424    fn default() -> Self {
10425        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10426        unsafe {
10427            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10428            s.assume_init()
10429        }
10430    }
10431}
10432#[repr(C)]
10433#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10434pub struct ASN1_ITEM_st {
10435    pub itype: ::std::os::raw::c_char,
10436    pub utype: ::std::os::raw::c_int,
10437    pub templates: *const ASN1_TEMPLATE,
10438    pub tcount: ::std::os::raw::c_long,
10439    pub funcs: *const ::std::os::raw::c_void,
10440    pub size: ::std::os::raw::c_long,
10441    pub sname: *const ::std::os::raw::c_char,
10442}
10443#[test]
10444fn bindgen_test_layout_ASN1_ITEM_st() {
10445    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10446    let ptr = UNINIT.as_ptr();
10447    assert_eq!(
10448        ::std::mem::size_of::<ASN1_ITEM_st>(),
10449        48usize,
10450        "Size of ASN1_ITEM_st"
10451    );
10452    assert_eq!(
10453        ::std::mem::align_of::<ASN1_ITEM_st>(),
10454        8usize,
10455        "Alignment of ASN1_ITEM_st"
10456    );
10457    assert_eq!(
10458        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10459        0usize,
10460        "Offset of field: ASN1_ITEM_st::itype"
10461    );
10462    assert_eq!(
10463        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10464        4usize,
10465        "Offset of field: ASN1_ITEM_st::utype"
10466    );
10467    assert_eq!(
10468        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10469        8usize,
10470        "Offset of field: ASN1_ITEM_st::templates"
10471    );
10472    assert_eq!(
10473        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10474        16usize,
10475        "Offset of field: ASN1_ITEM_st::tcount"
10476    );
10477    assert_eq!(
10478        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10479        24usize,
10480        "Offset of field: ASN1_ITEM_st::funcs"
10481    );
10482    assert_eq!(
10483        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10484        32usize,
10485        "Offset of field: ASN1_ITEM_st::size"
10486    );
10487    assert_eq!(
10488        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
10489        40usize,
10490        "Offset of field: ASN1_ITEM_st::sname"
10491    );
10492}
10493impl Default for ASN1_ITEM_st {
10494    fn default() -> Self {
10495        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10496        unsafe {
10497            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10498            s.assume_init()
10499        }
10500    }
10501}
10502pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
10503pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
10504pub type ASN1_d2i_func = ::std::option::Option<
10505    unsafe extern "C" fn(
10506        a: *mut *mut ASN1_VALUE,
10507        in_: *mut *const ::std::os::raw::c_uchar,
10508        length: ::std::os::raw::c_long,
10509    ) -> *mut ASN1_VALUE,
10510>;
10511pub type ASN1_i2d_func = ::std::option::Option<
10512    unsafe extern "C" fn(
10513        a: *mut ASN1_VALUE,
10514        in_: *mut *mut ::std::os::raw::c_uchar,
10515    ) -> ::std::os::raw::c_int,
10516>;
10517pub type ASN1_ex_d2i = ::std::option::Option<
10518    unsafe extern "C" fn(
10519        pval: *mut *mut ASN1_VALUE,
10520        in_: *mut *const ::std::os::raw::c_uchar,
10521        len: ::std::os::raw::c_long,
10522        it: *const ASN1_ITEM,
10523        tag: ::std::os::raw::c_int,
10524        aclass: ::std::os::raw::c_int,
10525        opt: ::std::os::raw::c_char,
10526        ctx: *mut ASN1_TLC,
10527    ) -> ::std::os::raw::c_int,
10528>;
10529pub type ASN1_ex_i2d = ::std::option::Option<
10530    unsafe extern "C" fn(
10531        pval: *mut *mut ASN1_VALUE,
10532        out: *mut *mut ::std::os::raw::c_uchar,
10533        it: *const ASN1_ITEM,
10534        tag: ::std::os::raw::c_int,
10535        aclass: ::std::os::raw::c_int,
10536    ) -> ::std::os::raw::c_int,
10537>;
10538pub type ASN1_ex_new_func = ::std::option::Option<
10539    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
10540>;
10541pub type ASN1_ex_free_func =
10542    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
10543pub type ASN1_ex_print_func = ::std::option::Option<
10544    unsafe extern "C" fn(
10545        out: *mut BIO,
10546        pval: *mut *mut ASN1_VALUE,
10547        indent: ::std::os::raw::c_int,
10548        fname: *const ::std::os::raw::c_char,
10549        pctx: *const ASN1_PCTX,
10550    ) -> ::std::os::raw::c_int,
10551>;
10552#[repr(C)]
10553#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10554pub struct ASN1_EXTERN_FUNCS_st {
10555    pub app_data: *mut ::std::os::raw::c_void,
10556    pub asn1_ex_new: ASN1_ex_new_func,
10557    pub asn1_ex_free: ASN1_ex_free_func,
10558    pub asn1_ex_d2i: ASN1_ex_d2i,
10559    pub asn1_ex_i2d: ASN1_ex_i2d,
10560    pub asn1_ex_print: ASN1_ex_print_func,
10561}
10562#[test]
10563fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
10564    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
10565    let ptr = UNINIT.as_ptr();
10566    assert_eq!(
10567        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
10568        48usize,
10569        "Size of ASN1_EXTERN_FUNCS_st"
10570    );
10571    assert_eq!(
10572        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
10573        8usize,
10574        "Alignment of ASN1_EXTERN_FUNCS_st"
10575    );
10576    assert_eq!(
10577        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10578        0usize,
10579        "Offset of field: ASN1_EXTERN_FUNCS_st::app_data"
10580    );
10581    assert_eq!(
10582        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
10583        8usize,
10584        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_new"
10585    );
10586    assert_eq!(
10587        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
10588        16usize,
10589        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_free"
10590    );
10591    assert_eq!(
10592        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
10593        24usize,
10594        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_d2i"
10595    );
10596    assert_eq!(
10597        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
10598        32usize,
10599        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_i2d"
10600    );
10601    assert_eq!(
10602        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
10603        40usize,
10604        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_print"
10605    );
10606}
10607impl Default for ASN1_EXTERN_FUNCS_st {
10608    fn default() -> Self {
10609        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10610        unsafe {
10611            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10612            s.assume_init()
10613        }
10614    }
10615}
10616pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
10617pub type ASN1_aux_cb = ::std::option::Option<
10618    unsafe extern "C" fn(
10619        operation: ::std::os::raw::c_int,
10620        in_: *mut *mut ASN1_VALUE,
10621        it: *const ASN1_ITEM,
10622        exarg: *mut ::std::os::raw::c_void,
10623    ) -> ::std::os::raw::c_int,
10624>;
10625#[repr(C)]
10626#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10627pub struct ASN1_AUX_st {
10628    pub app_data: *mut ::std::os::raw::c_void,
10629    pub flags: u32,
10630    pub ref_offset: ::std::os::raw::c_int,
10631    pub asn1_cb: ASN1_aux_cb,
10632    pub enc_offset: ::std::os::raw::c_int,
10633}
10634#[test]
10635fn bindgen_test_layout_ASN1_AUX_st() {
10636    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
10637    let ptr = UNINIT.as_ptr();
10638    assert_eq!(
10639        ::std::mem::size_of::<ASN1_AUX_st>(),
10640        32usize,
10641        "Size of ASN1_AUX_st"
10642    );
10643    assert_eq!(
10644        ::std::mem::align_of::<ASN1_AUX_st>(),
10645        8usize,
10646        "Alignment of ASN1_AUX_st"
10647    );
10648    assert_eq!(
10649        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10650        0usize,
10651        "Offset of field: ASN1_AUX_st::app_data"
10652    );
10653    assert_eq!(
10654        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10655        8usize,
10656        "Offset of field: ASN1_AUX_st::flags"
10657    );
10658    assert_eq!(
10659        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
10660        12usize,
10661        "Offset of field: ASN1_AUX_st::ref_offset"
10662    );
10663    assert_eq!(
10664        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
10665        16usize,
10666        "Offset of field: ASN1_AUX_st::asn1_cb"
10667    );
10668    assert_eq!(
10669        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
10670        24usize,
10671        "Offset of field: ASN1_AUX_st::enc_offset"
10672    );
10673}
10674impl Default for ASN1_AUX_st {
10675    fn default() -> Self {
10676        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10677        unsafe {
10678            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10679            s.assume_init()
10680        }
10681    }
10682}
10683pub type ASN1_AUX = ASN1_AUX_st;
10684extern "C" {
10685    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_SEQUENCE_it"]
10686    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
10687}
10688#[repr(C)]
10689#[derive(Debug, Copy, Clone)]
10690pub struct stack_st_ASN1_VALUE {
10691    _unused: [u8; 0],
10692}
10693pub type sk_ASN1_VALUE_free_func =
10694    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
10695pub type sk_ASN1_VALUE_copy_func =
10696    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
10697pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
10698    unsafe extern "C" fn(
10699        arg1: *const *const ASN1_VALUE,
10700        arg2: *const *const ASN1_VALUE,
10701    ) -> ::std::os::raw::c_int,
10702>;
10703pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
10704    unsafe extern "C" fn(
10705        arg1: *mut ASN1_VALUE,
10706        arg2: *mut ::std::os::raw::c_void,
10707    ) -> ::std::os::raw::c_int,
10708>;
10709extern "C" {
10710    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncodeBlock"]
10711    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
10712}
10713extern "C" {
10714    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncodedLength"]
10715    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10716}
10717extern "C" {
10718    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodedLength"]
10719    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10720}
10721extern "C" {
10722    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodeBase64"]
10723    pub fn EVP_DecodeBase64(
10724        out: *mut u8,
10725        out_len: *mut usize,
10726        max_out: usize,
10727        in_: *const u8,
10728        in_len: usize,
10729    ) -> ::std::os::raw::c_int;
10730}
10731extern "C" {
10732    #[link_name = "\u{1}aws_lc_0_35_0_EVP_ENCODE_CTX_new"]
10733    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
10734}
10735extern "C" {
10736    #[link_name = "\u{1}aws_lc_0_35_0_EVP_ENCODE_CTX_free"]
10737    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
10738}
10739extern "C" {
10740    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncodeInit"]
10741    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
10742}
10743extern "C" {
10744    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncodeUpdate"]
10745    pub fn EVP_EncodeUpdate(
10746        ctx: *mut EVP_ENCODE_CTX,
10747        out: *mut u8,
10748        out_len: *mut ::std::os::raw::c_int,
10749        in_: *const u8,
10750        in_len: usize,
10751    ) -> ::std::os::raw::c_int;
10752}
10753extern "C" {
10754    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncodeFinal"]
10755    pub fn EVP_EncodeFinal(
10756        ctx: *mut EVP_ENCODE_CTX,
10757        out: *mut u8,
10758        out_len: *mut ::std::os::raw::c_int,
10759    );
10760}
10761extern "C" {
10762    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodeInit"]
10763    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
10764}
10765extern "C" {
10766    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodeUpdate"]
10767    pub fn EVP_DecodeUpdate(
10768        ctx: *mut EVP_ENCODE_CTX,
10769        out: *mut u8,
10770        out_len: *mut ::std::os::raw::c_int,
10771        in_: *const u8,
10772        in_len: usize,
10773    ) -> ::std::os::raw::c_int;
10774}
10775extern "C" {
10776    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodeFinal"]
10777    pub fn EVP_DecodeFinal(
10778        ctx: *mut EVP_ENCODE_CTX,
10779        out: *mut u8,
10780        out_len: *mut ::std::os::raw::c_int,
10781    ) -> ::std::os::raw::c_int;
10782}
10783extern "C" {
10784    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecodeBlock"]
10785    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
10786}
10787#[repr(C)]
10788#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10789pub struct evp_encode_ctx_st {
10790    pub data_used: ::std::os::raw::c_uint,
10791    pub data: [u8; 48usize],
10792    pub eof_seen: ::std::os::raw::c_char,
10793    pub error_encountered: ::std::os::raw::c_char,
10794}
10795#[test]
10796fn bindgen_test_layout_evp_encode_ctx_st() {
10797    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
10798    let ptr = UNINIT.as_ptr();
10799    assert_eq!(
10800        ::std::mem::size_of::<evp_encode_ctx_st>(),
10801        56usize,
10802        "Size of evp_encode_ctx_st"
10803    );
10804    assert_eq!(
10805        ::std::mem::align_of::<evp_encode_ctx_st>(),
10806        4usize,
10807        "Alignment of evp_encode_ctx_st"
10808    );
10809    assert_eq!(
10810        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
10811        0usize,
10812        "Offset of field: evp_encode_ctx_st::data_used"
10813    );
10814    assert_eq!(
10815        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10816        4usize,
10817        "Offset of field: evp_encode_ctx_st::data"
10818    );
10819    assert_eq!(
10820        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
10821        52usize,
10822        "Offset of field: evp_encode_ctx_st::eof_seen"
10823    );
10824    assert_eq!(
10825        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
10826        53usize,
10827        "Offset of field: evp_encode_ctx_st::error_encountered"
10828    );
10829}
10830impl Default for evp_encode_ctx_st {
10831    fn default() -> Self {
10832        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10833        unsafe {
10834            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10835            s.assume_init()
10836        }
10837    }
10838}
10839#[repr(C)]
10840#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10841pub struct blake2b_state_st {
10842    pub h: [u64; 8usize],
10843    pub t_low: u64,
10844    pub t_high: u64,
10845    pub block: [u8; 128usize],
10846    pub block_used: usize,
10847}
10848#[test]
10849fn bindgen_test_layout_blake2b_state_st() {
10850    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
10851    let ptr = UNINIT.as_ptr();
10852    assert_eq!(
10853        ::std::mem::size_of::<blake2b_state_st>(),
10854        216usize,
10855        "Size of blake2b_state_st"
10856    );
10857    assert_eq!(
10858        ::std::mem::align_of::<blake2b_state_st>(),
10859        8usize,
10860        "Alignment of blake2b_state_st"
10861    );
10862    assert_eq!(
10863        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10864        0usize,
10865        "Offset of field: blake2b_state_st::h"
10866    );
10867    assert_eq!(
10868        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
10869        64usize,
10870        "Offset of field: blake2b_state_st::t_low"
10871    );
10872    assert_eq!(
10873        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
10874        72usize,
10875        "Offset of field: blake2b_state_st::t_high"
10876    );
10877    assert_eq!(
10878        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
10879        80usize,
10880        "Offset of field: blake2b_state_st::block"
10881    );
10882    assert_eq!(
10883        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
10884        208usize,
10885        "Offset of field: blake2b_state_st::block_used"
10886    );
10887}
10888impl Default for blake2b_state_st {
10889    fn default() -> Self {
10890        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10891        unsafe {
10892            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10893            s.assume_init()
10894        }
10895    }
10896}
10897extern "C" {
10898    #[link_name = "\u{1}aws_lc_0_35_0_BLAKE2B256_Init"]
10899    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
10900}
10901extern "C" {
10902    #[link_name = "\u{1}aws_lc_0_35_0_BLAKE2B256_Update"]
10903    pub fn BLAKE2B256_Update(
10904        b2b: *mut BLAKE2B_CTX,
10905        data: *const ::std::os::raw::c_void,
10906        len: usize,
10907    );
10908}
10909extern "C" {
10910    #[link_name = "\u{1}aws_lc_0_35_0_BLAKE2B256_Final"]
10911    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
10912}
10913extern "C" {
10914    #[link_name = "\u{1}aws_lc_0_35_0_BLAKE2B256"]
10915    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
10916}
10917#[repr(C)]
10918#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10919pub struct bf_key_st {
10920    pub P: [u32; 18usize],
10921    pub S: [u32; 1024usize],
10922}
10923#[test]
10924fn bindgen_test_layout_bf_key_st() {
10925    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
10926    let ptr = UNINIT.as_ptr();
10927    assert_eq!(
10928        ::std::mem::size_of::<bf_key_st>(),
10929        4168usize,
10930        "Size of bf_key_st"
10931    );
10932    assert_eq!(
10933        ::std::mem::align_of::<bf_key_st>(),
10934        4usize,
10935        "Alignment of bf_key_st"
10936    );
10937    assert_eq!(
10938        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
10939        0usize,
10940        "Offset of field: bf_key_st::P"
10941    );
10942    assert_eq!(
10943        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
10944        72usize,
10945        "Offset of field: bf_key_st::S"
10946    );
10947}
10948impl Default for bf_key_st {
10949    fn default() -> Self {
10950        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10951        unsafe {
10952            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10953            s.assume_init()
10954        }
10955    }
10956}
10957pub type BF_KEY = bf_key_st;
10958extern "C" {
10959    #[link_name = "\u{1}aws_lc_0_35_0_BF_set_key"]
10960    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
10961}
10962extern "C" {
10963    #[link_name = "\u{1}aws_lc_0_35_0_BF_encrypt"]
10964    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
10965}
10966extern "C" {
10967    #[link_name = "\u{1}aws_lc_0_35_0_BF_decrypt"]
10968    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
10969}
10970extern "C" {
10971    #[link_name = "\u{1}aws_lc_0_35_0_BF_ecb_encrypt"]
10972    pub fn BF_ecb_encrypt(
10973        in_: *const u8,
10974        out: *mut u8,
10975        key: *const BF_KEY,
10976        enc: ::std::os::raw::c_int,
10977    );
10978}
10979extern "C" {
10980    #[link_name = "\u{1}aws_lc_0_35_0_BF_cbc_encrypt"]
10981    pub fn BF_cbc_encrypt(
10982        in_: *const u8,
10983        out: *mut u8,
10984        length: usize,
10985        schedule: *const BF_KEY,
10986        ivec: *mut u8,
10987        enc: ::std::os::raw::c_int,
10988    );
10989}
10990extern "C" {
10991    #[link_name = "\u{1}aws_lc_0_35_0_BF_cfb64_encrypt"]
10992    pub fn BF_cfb64_encrypt(
10993        in_: *const u8,
10994        out: *mut u8,
10995        length: usize,
10996        schedule: *const BF_KEY,
10997        ivec: *mut u8,
10998        num: *mut ::std::os::raw::c_int,
10999        encrypt: ::std::os::raw::c_int,
11000    );
11001}
11002extern "C" {
11003    #[link_name = "\u{1}aws_lc_0_35_0_BF_ofb64_encrypt"]
11004    pub fn BF_ofb64_encrypt(
11005        in_: *const u8,
11006        out: *mut u8,
11007        length: usize,
11008        schedule: *const BF_KEY,
11009        ivec: *mut u8,
11010        num: *mut ::std::os::raw::c_int,
11011    );
11012}
11013#[repr(C)]
11014#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11015pub struct cbs_st {
11016    pub data: *const u8,
11017    pub len: usize,
11018}
11019#[test]
11020fn bindgen_test_layout_cbs_st() {
11021    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11022    let ptr = UNINIT.as_ptr();
11023    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
11024    assert_eq!(
11025        ::std::mem::align_of::<cbs_st>(),
11026        8usize,
11027        "Alignment of cbs_st"
11028    );
11029    assert_eq!(
11030        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11031        0usize,
11032        "Offset of field: cbs_st::data"
11033    );
11034    assert_eq!(
11035        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11036        8usize,
11037        "Offset of field: cbs_st::len"
11038    );
11039}
11040impl Default for cbs_st {
11041    fn default() -> Self {
11042        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11043        unsafe {
11044            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11045            s.assume_init()
11046        }
11047    }
11048}
11049extern "C" {
11050    #[link_name = "\u{1}aws_lc_0_35_0_CBS_init"]
11051    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11052}
11053extern "C" {
11054    #[link_name = "\u{1}aws_lc_0_35_0_CBS_skip"]
11055    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11056}
11057extern "C" {
11058    #[link_name = "\u{1}aws_lc_0_35_0_CBS_data"]
11059    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11060}
11061extern "C" {
11062    #[link_name = "\u{1}aws_lc_0_35_0_CBS_len"]
11063    pub fn CBS_len(cbs: *const CBS) -> usize;
11064}
11065extern "C" {
11066    #[link_name = "\u{1}aws_lc_0_35_0_CBS_stow"]
11067    pub fn CBS_stow(
11068        cbs: *const CBS,
11069        out_ptr: *mut *mut u8,
11070        out_len: *mut usize,
11071    ) -> ::std::os::raw::c_int;
11072}
11073extern "C" {
11074    #[link_name = "\u{1}aws_lc_0_35_0_CBS_strdup"]
11075    pub fn CBS_strdup(
11076        cbs: *const CBS,
11077        out_ptr: *mut *mut ::std::os::raw::c_char,
11078    ) -> ::std::os::raw::c_int;
11079}
11080extern "C" {
11081    #[link_name = "\u{1}aws_lc_0_35_0_CBS_contains_zero_byte"]
11082    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11083}
11084extern "C" {
11085    #[link_name = "\u{1}aws_lc_0_35_0_CBS_mem_equal"]
11086    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11087}
11088extern "C" {
11089    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u8"]
11090    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11091}
11092extern "C" {
11093    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16"]
11094    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11095}
11096extern "C" {
11097    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16le"]
11098    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11099}
11100extern "C" {
11101    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u24"]
11102    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11103}
11104extern "C" {
11105    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u32"]
11106    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11107}
11108extern "C" {
11109    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u32le"]
11110    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11111}
11112extern "C" {
11113    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64"]
11114    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11115}
11116extern "C" {
11117    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64le"]
11118    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11119}
11120extern "C" {
11121    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_last_u8"]
11122    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11123}
11124extern "C" {
11125    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_bytes"]
11126    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11127}
11128extern "C" {
11129    #[link_name = "\u{1}aws_lc_0_35_0_CBS_copy_bytes"]
11130    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11131}
11132extern "C" {
11133    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u8_length_prefixed"]
11134    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11135}
11136extern "C" {
11137    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u16_length_prefixed"]
11138    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11139}
11140extern "C" {
11141    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u24_length_prefixed"]
11142    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11143}
11144extern "C" {
11145    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_until_first"]
11146    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11147}
11148extern "C" {
11149    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_u64_decimal"]
11150    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11151}
11152extern "C" {
11153    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1"]
11154    pub fn CBS_get_asn1(
11155        cbs: *mut CBS,
11156        out: *mut CBS,
11157        tag_value: CBS_ASN1_TAG,
11158    ) -> ::std::os::raw::c_int;
11159}
11160extern "C" {
11161    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_element"]
11162    pub fn CBS_get_asn1_element(
11163        cbs: *mut CBS,
11164        out: *mut CBS,
11165        tag_value: CBS_ASN1_TAG,
11166    ) -> ::std::os::raw::c_int;
11167}
11168extern "C" {
11169    #[link_name = "\u{1}aws_lc_0_35_0_CBS_peek_asn1_tag"]
11170    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11171}
11172extern "C" {
11173    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_asn1"]
11174    pub fn CBS_get_any_asn1(
11175        cbs: *mut CBS,
11176        out: *mut CBS,
11177        out_tag: *mut CBS_ASN1_TAG,
11178    ) -> ::std::os::raw::c_int;
11179}
11180extern "C" {
11181    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_asn1_element"]
11182    pub fn CBS_get_any_asn1_element(
11183        cbs: *mut CBS,
11184        out: *mut CBS,
11185        out_tag: *mut CBS_ASN1_TAG,
11186        out_header_len: *mut usize,
11187    ) -> ::std::os::raw::c_int;
11188}
11189extern "C" {
11190    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_any_ber_asn1_element"]
11191    pub fn CBS_get_any_ber_asn1_element(
11192        cbs: *mut CBS,
11193        out: *mut CBS,
11194        out_tag: *mut CBS_ASN1_TAG,
11195        out_header_len: *mut usize,
11196        out_ber_found: *mut ::std::os::raw::c_int,
11197        out_indefinite: *mut ::std::os::raw::c_int,
11198    ) -> ::std::os::raw::c_int;
11199}
11200extern "C" {
11201    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_uint64"]
11202    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11203}
11204extern "C" {
11205    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_int64"]
11206    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11207}
11208extern "C" {
11209    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_asn1_bool"]
11210    pub fn CBS_get_asn1_bool(
11211        cbs: *mut CBS,
11212        out: *mut ::std::os::raw::c_int,
11213    ) -> ::std::os::raw::c_int;
11214}
11215extern "C" {
11216    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1"]
11217    pub fn CBS_get_optional_asn1(
11218        cbs: *mut CBS,
11219        out: *mut CBS,
11220        out_present: *mut ::std::os::raw::c_int,
11221        tag: CBS_ASN1_TAG,
11222    ) -> ::std::os::raw::c_int;
11223}
11224extern "C" {
11225    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_octet_string"]
11226    pub fn CBS_get_optional_asn1_octet_string(
11227        cbs: *mut CBS,
11228        out: *mut CBS,
11229        out_present: *mut ::std::os::raw::c_int,
11230        tag: CBS_ASN1_TAG,
11231    ) -> ::std::os::raw::c_int;
11232}
11233extern "C" {
11234    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_uint64"]
11235    pub fn CBS_get_optional_asn1_uint64(
11236        cbs: *mut CBS,
11237        out: *mut u64,
11238        tag: CBS_ASN1_TAG,
11239        default_value: u64,
11240    ) -> ::std::os::raw::c_int;
11241}
11242extern "C" {
11243    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_bool"]
11244    pub fn CBS_get_optional_asn1_bool(
11245        cbs: *mut CBS,
11246        out: *mut ::std::os::raw::c_int,
11247        tag: CBS_ASN1_TAG,
11248        default_value: ::std::os::raw::c_int,
11249    ) -> ::std::os::raw::c_int;
11250}
11251extern "C" {
11252    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_bitstring"]
11253    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11254}
11255extern "C" {
11256    #[link_name = "\u{1}aws_lc_0_35_0_CBS_asn1_bitstring_has_bit"]
11257    pub fn CBS_asn1_bitstring_has_bit(
11258        cbs: *const CBS,
11259        bit: ::std::os::raw::c_uint,
11260    ) -> ::std::os::raw::c_int;
11261}
11262extern "C" {
11263    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_integer"]
11264    pub fn CBS_is_valid_asn1_integer(
11265        cbs: *const CBS,
11266        out_is_negative: *mut ::std::os::raw::c_int,
11267    ) -> ::std::os::raw::c_int;
11268}
11269extern "C" {
11270    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_unsigned_asn1_integer"]
11271    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11272}
11273extern "C" {
11274    #[link_name = "\u{1}aws_lc_0_35_0_CBS_is_valid_asn1_oid"]
11275    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11276}
11277extern "C" {
11278    #[link_name = "\u{1}aws_lc_0_35_0_CBS_asn1_oid_to_text"]
11279    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11280}
11281extern "C" {
11282    #[link_name = "\u{1}aws_lc_0_35_0_CBS_parse_generalized_time"]
11283    pub fn CBS_parse_generalized_time(
11284        cbs: *const CBS,
11285        out_tm: *mut tm,
11286        allow_timezone_offset: ::std::os::raw::c_int,
11287    ) -> ::std::os::raw::c_int;
11288}
11289extern "C" {
11290    #[link_name = "\u{1}aws_lc_0_35_0_CBS_parse_utc_time"]
11291    pub fn CBS_parse_utc_time(
11292        cbs: *const CBS,
11293        out_tm: *mut tm,
11294        allow_timezone_offset: ::std::os::raw::c_int,
11295    ) -> ::std::os::raw::c_int;
11296}
11297extern "C" {
11298    #[link_name = "\u{1}aws_lc_0_35_0_CBS_get_optional_asn1_int64"]
11299    pub fn CBS_get_optional_asn1_int64(
11300        cbs: *mut CBS,
11301        out: *mut i64,
11302        tag: CBS_ASN1_TAG,
11303        default_value: i64,
11304    ) -> ::std::os::raw::c_int;
11305}
11306#[repr(C)]
11307#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11308pub struct cbb_buffer_st {
11309    pub buf: *mut u8,
11310    pub len: usize,
11311    pub cap: usize,
11312    pub _bitfield_align_1: [u8; 0],
11313    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11314    pub __bindgen_padding_0: [u8; 7usize],
11315}
11316#[test]
11317fn bindgen_test_layout_cbb_buffer_st() {
11318    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11319    let ptr = UNINIT.as_ptr();
11320    assert_eq!(
11321        ::std::mem::size_of::<cbb_buffer_st>(),
11322        32usize,
11323        "Size of cbb_buffer_st"
11324    );
11325    assert_eq!(
11326        ::std::mem::align_of::<cbb_buffer_st>(),
11327        8usize,
11328        "Alignment of cbb_buffer_st"
11329    );
11330    assert_eq!(
11331        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11332        0usize,
11333        "Offset of field: cbb_buffer_st::buf"
11334    );
11335    assert_eq!(
11336        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11337        8usize,
11338        "Offset of field: cbb_buffer_st::len"
11339    );
11340    assert_eq!(
11341        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11342        16usize,
11343        "Offset of field: cbb_buffer_st::cap"
11344    );
11345}
11346impl Default for cbb_buffer_st {
11347    fn default() -> Self {
11348        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11349        unsafe {
11350            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11351            s.assume_init()
11352        }
11353    }
11354}
11355impl cbb_buffer_st {
11356    #[inline]
11357    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
11358        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11359    }
11360    #[inline]
11361    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
11362        unsafe {
11363            let val: u32 = ::std::mem::transmute(val);
11364            self._bitfield_1.set(0usize, 1u8, val as u64)
11365        }
11366    }
11367    #[inline]
11368    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
11369        unsafe {
11370            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11371                ::std::ptr::addr_of!((*this)._bitfield_1),
11372                0usize,
11373                1u8,
11374            ) as u32)
11375        }
11376    }
11377    #[inline]
11378    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11379        unsafe {
11380            let val: u32 = ::std::mem::transmute(val);
11381            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11382                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11383                0usize,
11384                1u8,
11385                val as u64,
11386            )
11387        }
11388    }
11389    #[inline]
11390    pub fn error(&self) -> ::std::os::raw::c_uint {
11391        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11392    }
11393    #[inline]
11394    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
11395        unsafe {
11396            let val: u32 = ::std::mem::transmute(val);
11397            self._bitfield_1.set(1usize, 1u8, val as u64)
11398        }
11399    }
11400    #[inline]
11401    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
11402        unsafe {
11403            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11404                ::std::ptr::addr_of!((*this)._bitfield_1),
11405                1usize,
11406                1u8,
11407            ) as u32)
11408        }
11409    }
11410    #[inline]
11411    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11412        unsafe {
11413            let val: u32 = ::std::mem::transmute(val);
11414            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11415                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11416                1usize,
11417                1u8,
11418                val as u64,
11419            )
11420        }
11421    }
11422    #[inline]
11423    pub fn new_bitfield_1(
11424        can_resize: ::std::os::raw::c_uint,
11425        error: ::std::os::raw::c_uint,
11426    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11427        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11428        __bindgen_bitfield_unit.set(0usize, 1u8, {
11429            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
11430            can_resize as u64
11431        });
11432        __bindgen_bitfield_unit.set(1usize, 1u8, {
11433            let error: u32 = unsafe { ::std::mem::transmute(error) };
11434            error as u64
11435        });
11436        __bindgen_bitfield_unit
11437    }
11438}
11439#[repr(C)]
11440#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11441pub struct cbb_child_st {
11442    pub base: *mut cbb_buffer_st,
11443    pub offset: usize,
11444    pub pending_len_len: u8,
11445    pub _bitfield_align_1: [u8; 0],
11446    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11447    pub __bindgen_padding_0: [u16; 3usize],
11448}
11449#[test]
11450fn bindgen_test_layout_cbb_child_st() {
11451    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
11452    let ptr = UNINIT.as_ptr();
11453    assert_eq!(
11454        ::std::mem::size_of::<cbb_child_st>(),
11455        24usize,
11456        "Size of cbb_child_st"
11457    );
11458    assert_eq!(
11459        ::std::mem::align_of::<cbb_child_st>(),
11460        8usize,
11461        "Alignment of cbb_child_st"
11462    );
11463    assert_eq!(
11464        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11465        0usize,
11466        "Offset of field: cbb_child_st::base"
11467    );
11468    assert_eq!(
11469        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
11470        8usize,
11471        "Offset of field: cbb_child_st::offset"
11472    );
11473    assert_eq!(
11474        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
11475        16usize,
11476        "Offset of field: cbb_child_st::pending_len_len"
11477    );
11478}
11479impl Default for cbb_child_st {
11480    fn default() -> Self {
11481        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11482        unsafe {
11483            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11484            s.assume_init()
11485        }
11486    }
11487}
11488impl cbb_child_st {
11489    #[inline]
11490    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
11491        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11492    }
11493    #[inline]
11494    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
11495        unsafe {
11496            let val: u32 = ::std::mem::transmute(val);
11497            self._bitfield_1.set(0usize, 1u8, val as u64)
11498        }
11499    }
11500    #[inline]
11501    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
11502        unsafe {
11503            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11504                ::std::ptr::addr_of!((*this)._bitfield_1),
11505                0usize,
11506                1u8,
11507            ) as u32)
11508        }
11509    }
11510    #[inline]
11511    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11512        unsafe {
11513            let val: u32 = ::std::mem::transmute(val);
11514            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11515                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11516                0usize,
11517                1u8,
11518                val as u64,
11519            )
11520        }
11521    }
11522    #[inline]
11523    pub fn new_bitfield_1(
11524        pending_is_asn1: ::std::os::raw::c_uint,
11525    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11526        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11527        __bindgen_bitfield_unit.set(0usize, 1u8, {
11528            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
11529            pending_is_asn1 as u64
11530        });
11531        __bindgen_bitfield_unit
11532    }
11533}
11534#[repr(C)]
11535#[derive(Copy, Clone)]
11536pub struct cbb_st {
11537    pub child: *mut CBB,
11538    pub is_child: ::std::os::raw::c_char,
11539    pub u: cbb_st__bindgen_ty_1,
11540}
11541#[repr(C)]
11542#[derive(Copy, Clone)]
11543pub union cbb_st__bindgen_ty_1 {
11544    pub base: cbb_buffer_st,
11545    pub child: cbb_child_st,
11546}
11547#[test]
11548fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
11549    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
11550    let ptr = UNINIT.as_ptr();
11551    assert_eq!(
11552        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
11553        32usize,
11554        "Size of cbb_st__bindgen_ty_1"
11555    );
11556    assert_eq!(
11557        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
11558        8usize,
11559        "Alignment of cbb_st__bindgen_ty_1"
11560    );
11561    assert_eq!(
11562        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11563        0usize,
11564        "Offset of field: cbb_st__bindgen_ty_1::base"
11565    );
11566    assert_eq!(
11567        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11568        0usize,
11569        "Offset of field: cbb_st__bindgen_ty_1::child"
11570    );
11571}
11572impl Default for cbb_st__bindgen_ty_1 {
11573    fn default() -> Self {
11574        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11575        unsafe {
11576            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11577            s.assume_init()
11578        }
11579    }
11580}
11581#[test]
11582fn bindgen_test_layout_cbb_st() {
11583    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
11584    let ptr = UNINIT.as_ptr();
11585    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
11586    assert_eq!(
11587        ::std::mem::align_of::<cbb_st>(),
11588        8usize,
11589        "Alignment of cbb_st"
11590    );
11591    assert_eq!(
11592        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11593        0usize,
11594        "Offset of field: cbb_st::child"
11595    );
11596    assert_eq!(
11597        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
11598        8usize,
11599        "Offset of field: cbb_st::is_child"
11600    );
11601    assert_eq!(
11602        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
11603        16usize,
11604        "Offset of field: cbb_st::u"
11605    );
11606}
11607impl Default for cbb_st {
11608    fn default() -> Self {
11609        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11610        unsafe {
11611            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11612            s.assume_init()
11613        }
11614    }
11615}
11616extern "C" {
11617    #[link_name = "\u{1}aws_lc_0_35_0_CBB_zero"]
11618    pub fn CBB_zero(cbb: *mut CBB);
11619}
11620extern "C" {
11621    #[link_name = "\u{1}aws_lc_0_35_0_CBB_init"]
11622    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
11623}
11624extern "C" {
11625    #[link_name = "\u{1}aws_lc_0_35_0_CBB_init_fixed"]
11626    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
11627}
11628extern "C" {
11629    #[link_name = "\u{1}aws_lc_0_35_0_CBB_cleanup"]
11630    pub fn CBB_cleanup(cbb: *mut CBB);
11631}
11632extern "C" {
11633    #[link_name = "\u{1}aws_lc_0_35_0_CBB_finish"]
11634    pub fn CBB_finish(
11635        cbb: *mut CBB,
11636        out_data: *mut *mut u8,
11637        out_len: *mut usize,
11638    ) -> ::std::os::raw::c_int;
11639}
11640extern "C" {
11641    #[link_name = "\u{1}aws_lc_0_35_0_CBB_flush"]
11642    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
11643}
11644extern "C" {
11645    #[link_name = "\u{1}aws_lc_0_35_0_CBB_data"]
11646    pub fn CBB_data(cbb: *const CBB) -> *const u8;
11647}
11648extern "C" {
11649    #[link_name = "\u{1}aws_lc_0_35_0_CBB_len"]
11650    pub fn CBB_len(cbb: *const CBB) -> usize;
11651}
11652extern "C" {
11653    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u8_length_prefixed"]
11654    pub fn CBB_add_u8_length_prefixed(
11655        cbb: *mut CBB,
11656        out_contents: *mut CBB,
11657    ) -> ::std::os::raw::c_int;
11658}
11659extern "C" {
11660    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16_length_prefixed"]
11661    pub fn CBB_add_u16_length_prefixed(
11662        cbb: *mut CBB,
11663        out_contents: *mut CBB,
11664    ) -> ::std::os::raw::c_int;
11665}
11666extern "C" {
11667    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u24_length_prefixed"]
11668    pub fn CBB_add_u24_length_prefixed(
11669        cbb: *mut CBB,
11670        out_contents: *mut CBB,
11671    ) -> ::std::os::raw::c_int;
11672}
11673extern "C" {
11674    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1"]
11675    pub fn CBB_add_asn1(
11676        cbb: *mut CBB,
11677        out_contents: *mut CBB,
11678        tag: CBS_ASN1_TAG,
11679    ) -> ::std::os::raw::c_int;
11680}
11681extern "C" {
11682    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_bytes"]
11683    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11684}
11685extern "C" {
11686    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_zeros"]
11687    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11688}
11689extern "C" {
11690    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_space"]
11691    pub fn CBB_add_space(
11692        cbb: *mut CBB,
11693        out_data: *mut *mut u8,
11694        len: usize,
11695    ) -> ::std::os::raw::c_int;
11696}
11697extern "C" {
11698    #[link_name = "\u{1}aws_lc_0_35_0_CBB_reserve"]
11699    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
11700}
11701extern "C" {
11702    #[link_name = "\u{1}aws_lc_0_35_0_CBB_did_write"]
11703    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11704}
11705extern "C" {
11706    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u8"]
11707    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
11708}
11709extern "C" {
11710    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16"]
11711    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11712}
11713extern "C" {
11714    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u16le"]
11715    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11716}
11717extern "C" {
11718    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u24"]
11719    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11720}
11721extern "C" {
11722    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u32"]
11723    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11724}
11725extern "C" {
11726    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u32le"]
11727    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11728}
11729extern "C" {
11730    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u64"]
11731    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11732}
11733extern "C" {
11734    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_u64le"]
11735    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11736}
11737extern "C" {
11738    #[link_name = "\u{1}aws_lc_0_35_0_CBB_discard_child"]
11739    pub fn CBB_discard_child(cbb: *mut CBB);
11740}
11741extern "C" {
11742    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_uint64"]
11743    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11744}
11745extern "C" {
11746    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_uint64_with_tag"]
11747    pub fn CBB_add_asn1_uint64_with_tag(
11748        cbb: *mut CBB,
11749        value: u64,
11750        tag: CBS_ASN1_TAG,
11751    ) -> ::std::os::raw::c_int;
11752}
11753extern "C" {
11754    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_int64"]
11755    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
11756}
11757extern "C" {
11758    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_int64_with_tag"]
11759    pub fn CBB_add_asn1_int64_with_tag(
11760        cbb: *mut CBB,
11761        value: i64,
11762        tag: CBS_ASN1_TAG,
11763    ) -> ::std::os::raw::c_int;
11764}
11765extern "C" {
11766    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_octet_string"]
11767    pub fn CBB_add_asn1_octet_string(
11768        cbb: *mut CBB,
11769        data: *const u8,
11770        data_len: usize,
11771    ) -> ::std::os::raw::c_int;
11772}
11773extern "C" {
11774    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_bool"]
11775    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11776}
11777extern "C" {
11778    #[link_name = "\u{1}aws_lc_0_35_0_CBB_add_asn1_oid_from_text"]
11779    pub fn CBB_add_asn1_oid_from_text(
11780        cbb: *mut CBB,
11781        text: *const ::std::os::raw::c_char,
11782        len: usize,
11783    ) -> ::std::os::raw::c_int;
11784}
11785extern "C" {
11786    #[link_name = "\u{1}aws_lc_0_35_0_CBB_flush_asn1_set_of"]
11787    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
11788}
11789extern "C" {
11790    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11791}
11792extern "C" {
11793    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11794}
11795extern "C" {
11796    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11797}
11798extern "C" {
11799    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11800}
11801extern "C" {
11802    pub fn CBB_get_utf8_len(u: u32) -> usize;
11803}
11804extern "C" {
11805    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11806}
11807extern "C" {
11808    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11809}
11810extern "C" {
11811    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11812}
11813extern "C" {
11814    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11815}
11816extern "C" {
11817    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_chacha_20"]
11818    pub fn CRYPTO_chacha_20(
11819        out: *mut u8,
11820        in_: *const u8,
11821        in_len: usize,
11822        key: *const u8,
11823        nonce: *const u8,
11824        counter: u32,
11825    );
11826}
11827extern "C" {
11828    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc4"]
11829    pub fn EVP_rc4() -> *const EVP_CIPHER;
11830}
11831extern "C" {
11832    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_cbc"]
11833    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
11834}
11835extern "C" {
11836    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ecb"]
11837    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
11838}
11839extern "C" {
11840    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede"]
11841    pub fn EVP_des_ede() -> *const EVP_CIPHER;
11842}
11843extern "C" {
11844    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3"]
11845    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
11846}
11847extern "C" {
11848    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede_cbc"]
11849    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
11850}
11851extern "C" {
11852    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3_cbc"]
11853    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
11854}
11855extern "C" {
11856    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ecb"]
11857    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
11858}
11859extern "C" {
11860    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc"]
11861    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
11862}
11863extern "C" {
11864    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ctr"]
11865    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
11866}
11867extern "C" {
11868    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ofb"]
11869    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
11870}
11871extern "C" {
11872    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ecb"]
11873    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
11874}
11875extern "C" {
11876    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc"]
11877    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
11878}
11879extern "C" {
11880    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ctr"]
11881    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
11882}
11883extern "C" {
11884    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ofb"]
11885    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
11886}
11887extern "C" {
11888    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_xts"]
11889    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
11890}
11891extern "C" {
11892    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_wrap"]
11893    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
11894}
11895extern "C" {
11896    #[link_name = "\u{1}aws_lc_0_35_0_EVP_enc_null"]
11897    pub fn EVP_enc_null() -> *const EVP_CIPHER;
11898}
11899extern "C" {
11900    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc2_cbc"]
11901    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
11902}
11903extern "C" {
11904    #[link_name = "\u{1}aws_lc_0_35_0_EVP_rc2_40_cbc"]
11905    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
11906}
11907extern "C" {
11908    #[link_name = "\u{1}aws_lc_0_35_0_EVP_chacha20_poly1305"]
11909    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
11910}
11911extern "C" {
11912    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_cipherbynid"]
11913    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
11914}
11915extern "C" {
11916    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_init"]
11917    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
11918}
11919extern "C" {
11920    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_new"]
11921    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
11922}
11923extern "C" {
11924    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_cleanup"]
11925    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11926}
11927extern "C" {
11928    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_free"]
11929    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
11930}
11931extern "C" {
11932    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_copy"]
11933    pub fn EVP_CIPHER_CTX_copy(
11934        out: *mut EVP_CIPHER_CTX,
11935        in_: *const EVP_CIPHER_CTX,
11936    ) -> ::std::os::raw::c_int;
11937}
11938extern "C" {
11939    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_reset"]
11940    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11941}
11942extern "C" {
11943    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherInit_ex"]
11944    pub fn EVP_CipherInit_ex(
11945        ctx: *mut EVP_CIPHER_CTX,
11946        cipher: *const EVP_CIPHER,
11947        engine: *mut ENGINE,
11948        key: *const u8,
11949        iv: *const u8,
11950        enc: ::std::os::raw::c_int,
11951    ) -> ::std::os::raw::c_int;
11952}
11953extern "C" {
11954    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptInit_ex"]
11955    pub fn EVP_EncryptInit_ex(
11956        ctx: *mut EVP_CIPHER_CTX,
11957        cipher: *const EVP_CIPHER,
11958        impl_: *mut ENGINE,
11959        key: *const u8,
11960        iv: *const u8,
11961    ) -> ::std::os::raw::c_int;
11962}
11963extern "C" {
11964    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptInit_ex"]
11965    pub fn EVP_DecryptInit_ex(
11966        ctx: *mut EVP_CIPHER_CTX,
11967        cipher: *const EVP_CIPHER,
11968        impl_: *mut ENGINE,
11969        key: *const u8,
11970        iv: *const u8,
11971    ) -> ::std::os::raw::c_int;
11972}
11973extern "C" {
11974    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptUpdate"]
11975    pub fn EVP_EncryptUpdate(
11976        ctx: *mut EVP_CIPHER_CTX,
11977        out: *mut u8,
11978        out_len: *mut ::std::os::raw::c_int,
11979        in_: *const u8,
11980        in_len: ::std::os::raw::c_int,
11981    ) -> ::std::os::raw::c_int;
11982}
11983extern "C" {
11984    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptFinal_ex"]
11985    pub fn EVP_EncryptFinal_ex(
11986        ctx: *mut EVP_CIPHER_CTX,
11987        out: *mut u8,
11988        out_len: *mut ::std::os::raw::c_int,
11989    ) -> ::std::os::raw::c_int;
11990}
11991extern "C" {
11992    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptUpdate"]
11993    pub fn EVP_DecryptUpdate(
11994        ctx: *mut EVP_CIPHER_CTX,
11995        out: *mut u8,
11996        out_len: *mut ::std::os::raw::c_int,
11997        in_: *const u8,
11998        in_len: ::std::os::raw::c_int,
11999    ) -> ::std::os::raw::c_int;
12000}
12001extern "C" {
12002    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptFinal_ex"]
12003    pub fn EVP_DecryptFinal_ex(
12004        ctx: *mut EVP_CIPHER_CTX,
12005        out: *mut u8,
12006        out_len: *mut ::std::os::raw::c_int,
12007    ) -> ::std::os::raw::c_int;
12008}
12009extern "C" {
12010    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherUpdate"]
12011    pub fn EVP_CipherUpdate(
12012        ctx: *mut EVP_CIPHER_CTX,
12013        out: *mut u8,
12014        out_len: *mut ::std::os::raw::c_int,
12015        in_: *const u8,
12016        in_len: ::std::os::raw::c_int,
12017    ) -> ::std::os::raw::c_int;
12018}
12019extern "C" {
12020    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherFinal_ex"]
12021    pub fn EVP_CipherFinal_ex(
12022        ctx: *mut EVP_CIPHER_CTX,
12023        out: *mut u8,
12024        out_len: *mut ::std::os::raw::c_int,
12025    ) -> ::std::os::raw::c_int;
12026}
12027extern "C" {
12028    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_cipher"]
12029    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12030}
12031extern "C" {
12032    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_nid"]
12033    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12034}
12035extern "C" {
12036    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_encrypting"]
12037    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12038}
12039extern "C" {
12040    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_block_size"]
12041    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12042}
12043extern "C" {
12044    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_key_length"]
12045    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12046}
12047extern "C" {
12048    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_iv_length"]
12049    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12050}
12051extern "C" {
12052    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_get_app_data"]
12053    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12054}
12055extern "C" {
12056    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_app_data"]
12057    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12058}
12059extern "C" {
12060    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_flags"]
12061    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12062}
12063extern "C" {
12064    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_mode"]
12065    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12066}
12067extern "C" {
12068    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_ctrl"]
12069    pub fn EVP_CIPHER_CTX_ctrl(
12070        ctx: *mut EVP_CIPHER_CTX,
12071        command: ::std::os::raw::c_int,
12072        arg: ::std::os::raw::c_int,
12073        ptr: *mut ::std::os::raw::c_void,
12074    ) -> ::std::os::raw::c_int;
12075}
12076extern "C" {
12077    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_padding"]
12078    pub fn EVP_CIPHER_CTX_set_padding(
12079        ctx: *mut EVP_CIPHER_CTX,
12080        pad: ::std::os::raw::c_int,
12081    ) -> ::std::os::raw::c_int;
12082}
12083extern "C" {
12084    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_key_length"]
12085    pub fn EVP_CIPHER_CTX_set_key_length(
12086        ctx: *mut EVP_CIPHER_CTX,
12087        key_len: ::std::os::raw::c_uint,
12088    ) -> ::std::os::raw::c_int;
12089}
12090extern "C" {
12091    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_nid"]
12092    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12093}
12094extern "C" {
12095    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_name"]
12096    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12097}
12098extern "C" {
12099    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_block_size"]
12100    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12101}
12102extern "C" {
12103    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_key_length"]
12104    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12105}
12106extern "C" {
12107    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_iv_length"]
12108    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12109}
12110extern "C" {
12111    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_flags"]
12112    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12113}
12114extern "C" {
12115    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_mode"]
12116    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12117}
12118extern "C" {
12119    #[link_name = "\u{1}aws_lc_0_35_0_EVP_BytesToKey"]
12120    pub fn EVP_BytesToKey(
12121        type_: *const EVP_CIPHER,
12122        md: *const EVP_MD,
12123        salt: *const u8,
12124        data: *const u8,
12125        data_len: usize,
12126        count: ::std::os::raw::c_uint,
12127        key: *mut u8,
12128        iv: *mut u8,
12129    ) -> ::std::os::raw::c_int;
12130}
12131extern "C" {
12132    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc_hmac_sha1"]
12133    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12134}
12135extern "C" {
12136    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc_hmac_sha1"]
12137    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12138}
12139extern "C" {
12140    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cbc_hmac_sha256"]
12141    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12142}
12143extern "C" {
12144    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cbc_hmac_sha256"]
12145    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12146}
12147extern "C" {
12148    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherInit"]
12149    pub fn EVP_CipherInit(
12150        ctx: *mut EVP_CIPHER_CTX,
12151        cipher: *const EVP_CIPHER,
12152        key: *const u8,
12153        iv: *const u8,
12154        enc: ::std::os::raw::c_int,
12155    ) -> ::std::os::raw::c_int;
12156}
12157extern "C" {
12158    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptInit"]
12159    pub fn EVP_EncryptInit(
12160        ctx: *mut EVP_CIPHER_CTX,
12161        cipher: *const EVP_CIPHER,
12162        key: *const u8,
12163        iv: *const u8,
12164    ) -> ::std::os::raw::c_int;
12165}
12166extern "C" {
12167    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptInit"]
12168    pub fn EVP_DecryptInit(
12169        ctx: *mut EVP_CIPHER_CTX,
12170        cipher: *const EVP_CIPHER,
12171        key: *const u8,
12172        iv: *const u8,
12173    ) -> ::std::os::raw::c_int;
12174}
12175extern "C" {
12176    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CipherFinal"]
12177    pub fn EVP_CipherFinal(
12178        ctx: *mut EVP_CIPHER_CTX,
12179        out: *mut u8,
12180        out_len: *mut ::std::os::raw::c_int,
12181    ) -> ::std::os::raw::c_int;
12182}
12183extern "C" {
12184    #[link_name = "\u{1}aws_lc_0_35_0_EVP_EncryptFinal"]
12185    pub fn EVP_EncryptFinal(
12186        ctx: *mut EVP_CIPHER_CTX,
12187        out: *mut u8,
12188        out_len: *mut ::std::os::raw::c_int,
12189    ) -> ::std::os::raw::c_int;
12190}
12191extern "C" {
12192    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DecryptFinal"]
12193    pub fn EVP_DecryptFinal(
12194        ctx: *mut EVP_CIPHER_CTX,
12195        out: *mut u8,
12196        out_len: *mut ::std::os::raw::c_int,
12197    ) -> ::std::os::raw::c_int;
12198}
12199extern "C" {
12200    #[link_name = "\u{1}aws_lc_0_35_0_EVP_Cipher"]
12201    pub fn EVP_Cipher(
12202        ctx: *mut EVP_CIPHER_CTX,
12203        out: *mut u8,
12204        in_: *const u8,
12205        in_len: usize,
12206    ) -> ::std::os::raw::c_int;
12207}
12208extern "C" {
12209    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_cipherbyname"]
12210    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12211}
12212extern "C" {
12213    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_gcm"]
12214    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12215}
12216extern "C" {
12217    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_gcm"]
12218    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12219}
12220extern "C" {
12221    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_ccm"]
12222    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12223}
12224extern "C" {
12225    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ccm"]
12226    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12227}
12228extern "C" {
12229    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_ccm"]
12230    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12231}
12232extern "C" {
12233    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ecb"]
12234    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12235}
12236extern "C" {
12237    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cbc"]
12238    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12239}
12240extern "C" {
12241    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ctr"]
12242    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12243}
12244extern "C" {
12245    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_gcm"]
12246    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12247}
12248extern "C" {
12249    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_ofb"]
12250    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12251}
12252extern "C" {
12253    #[link_name = "\u{1}aws_lc_0_35_0_EVP_des_ede3_ecb"]
12254    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12255}
12256extern "C" {
12257    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb128"]
12258    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12259}
12260extern "C" {
12261    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb"]
12262    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12263}
12264extern "C" {
12265    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb1"]
12266    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12267}
12268extern "C" {
12269    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_128_cfb8"]
12270    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12271}
12272extern "C" {
12273    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb128"]
12274    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12275}
12276extern "C" {
12277    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb"]
12278    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12279}
12280extern "C" {
12281    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb1"]
12282    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12283}
12284extern "C" {
12285    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_192_cfb8"]
12286    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12287}
12288extern "C" {
12289    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb128"]
12290    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12291}
12292extern "C" {
12293    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb"]
12294    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12295}
12296extern "C" {
12297    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb1"]
12298    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12299}
12300extern "C" {
12301    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aes_256_cfb8"]
12302    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12303}
12304extern "C" {
12305    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_ecb"]
12306    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12307}
12308extern "C" {
12309    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cbc"]
12310    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12311}
12312extern "C" {
12313    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cfb"]
12314    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12315}
12316extern "C" {
12317    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_cfb64"]
12318    pub fn EVP_bf_cfb64() -> *const EVP_CIPHER;
12319}
12320extern "C" {
12321    #[link_name = "\u{1}aws_lc_0_35_0_EVP_bf_ofb"]
12322    pub fn EVP_bf_ofb() -> *const EVP_CIPHER;
12323}
12324extern "C" {
12325    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cast5_ecb"]
12326    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12327}
12328extern "C" {
12329    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cast5_cbc"]
12330    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12331}
12332extern "C" {
12333    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_CTX_set_flags"]
12334    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12335}
12336extern "C" {
12337    #[link_name = "\u{1}aws_lc_0_35_0_EVP_add_cipher_alias"]
12338    pub fn EVP_add_cipher_alias(
12339        a: *const ::std::os::raw::c_char,
12340        b: *const ::std::os::raw::c_char,
12341    ) -> ::std::os::raw::c_int;
12342}
12343#[repr(C)]
12344#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12345pub struct evp_cipher_ctx_st {
12346    pub cipher: *const EVP_CIPHER,
12347    pub app_data: *mut ::std::os::raw::c_void,
12348    pub cipher_data: *mut ::std::os::raw::c_void,
12349    pub key_len: ::std::os::raw::c_uint,
12350    pub encrypt: ::std::os::raw::c_int,
12351    pub flags: u32,
12352    pub oiv: [u8; 16usize],
12353    pub iv: [u8; 16usize],
12354    pub buf: [u8; 32usize],
12355    pub buf_len: ::std::os::raw::c_int,
12356    pub num: ::std::os::raw::c_uint,
12357    pub final_used: ::std::os::raw::c_int,
12358    pub final_: [u8; 32usize],
12359    pub poisoned: ::std::os::raw::c_int,
12360}
12361#[test]
12362fn bindgen_test_layout_evp_cipher_ctx_st() {
12363    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12364    let ptr = UNINIT.as_ptr();
12365    assert_eq!(
12366        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12367        152usize,
12368        "Size of evp_cipher_ctx_st"
12369    );
12370    assert_eq!(
12371        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12372        8usize,
12373        "Alignment of evp_cipher_ctx_st"
12374    );
12375    assert_eq!(
12376        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12377        0usize,
12378        "Offset of field: evp_cipher_ctx_st::cipher"
12379    );
12380    assert_eq!(
12381        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12382        8usize,
12383        "Offset of field: evp_cipher_ctx_st::app_data"
12384    );
12385    assert_eq!(
12386        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
12387        16usize,
12388        "Offset of field: evp_cipher_ctx_st::cipher_data"
12389    );
12390    assert_eq!(
12391        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
12392        24usize,
12393        "Offset of field: evp_cipher_ctx_st::key_len"
12394    );
12395    assert_eq!(
12396        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
12397        28usize,
12398        "Offset of field: evp_cipher_ctx_st::encrypt"
12399    );
12400    assert_eq!(
12401        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12402        32usize,
12403        "Offset of field: evp_cipher_ctx_st::flags"
12404    );
12405    assert_eq!(
12406        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
12407        36usize,
12408        "Offset of field: evp_cipher_ctx_st::oiv"
12409    );
12410    assert_eq!(
12411        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12412        52usize,
12413        "Offset of field: evp_cipher_ctx_st::iv"
12414    );
12415    assert_eq!(
12416        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12417        68usize,
12418        "Offset of field: evp_cipher_ctx_st::buf"
12419    );
12420    assert_eq!(
12421        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
12422        100usize,
12423        "Offset of field: evp_cipher_ctx_st::buf_len"
12424    );
12425    assert_eq!(
12426        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
12427        104usize,
12428        "Offset of field: evp_cipher_ctx_st::num"
12429    );
12430    assert_eq!(
12431        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
12432        108usize,
12433        "Offset of field: evp_cipher_ctx_st::final_used"
12434    );
12435    assert_eq!(
12436        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
12437        112usize,
12438        "Offset of field: evp_cipher_ctx_st::final_"
12439    );
12440    assert_eq!(
12441        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
12442        144usize,
12443        "Offset of field: evp_cipher_ctx_st::poisoned"
12444    );
12445}
12446impl Default for evp_cipher_ctx_st {
12447    fn default() -> Self {
12448        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12449        unsafe {
12450            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12451            s.assume_init()
12452        }
12453    }
12454}
12455#[repr(C)]
12456#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12457pub struct evp_cipher_info_st {
12458    pub cipher: *const EVP_CIPHER,
12459    pub iv: [::std::os::raw::c_uchar; 16usize],
12460}
12461#[test]
12462fn bindgen_test_layout_evp_cipher_info_st() {
12463    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
12464    let ptr = UNINIT.as_ptr();
12465    assert_eq!(
12466        ::std::mem::size_of::<evp_cipher_info_st>(),
12467        24usize,
12468        "Size of evp_cipher_info_st"
12469    );
12470    assert_eq!(
12471        ::std::mem::align_of::<evp_cipher_info_st>(),
12472        8usize,
12473        "Alignment of evp_cipher_info_st"
12474    );
12475    assert_eq!(
12476        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12477        0usize,
12478        "Offset of field: evp_cipher_info_st::cipher"
12479    );
12480    assert_eq!(
12481        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12482        8usize,
12483        "Offset of field: evp_cipher_info_st::iv"
12484    );
12485}
12486impl Default for evp_cipher_info_st {
12487    fn default() -> Self {
12488        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12489        unsafe {
12490            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12491            s.assume_init()
12492        }
12493    }
12494}
12495pub type EVP_CIPHER_INFO = evp_cipher_info_st;
12496extern "C" {
12497    #[link_name = "\u{1}aws_lc_0_35_0_AES_CMAC"]
12498    pub fn AES_CMAC(
12499        out: *mut u8,
12500        key: *const u8,
12501        key_len: usize,
12502        in_: *const u8,
12503        in_len: usize,
12504    ) -> ::std::os::raw::c_int;
12505}
12506extern "C" {
12507    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_new"]
12508    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
12509}
12510extern "C" {
12511    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_free"]
12512    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
12513}
12514extern "C" {
12515    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_copy"]
12516    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
12517}
12518extern "C" {
12519    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Init"]
12520    pub fn CMAC_Init(
12521        ctx: *mut CMAC_CTX,
12522        key: *const ::std::os::raw::c_void,
12523        key_len: usize,
12524        cipher: *const EVP_CIPHER,
12525        engine: *mut ENGINE,
12526    ) -> ::std::os::raw::c_int;
12527}
12528extern "C" {
12529    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Reset"]
12530    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
12531}
12532extern "C" {
12533    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Update"]
12534    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
12535}
12536extern "C" {
12537    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_Final"]
12538    pub fn CMAC_Final(
12539        ctx: *mut CMAC_CTX,
12540        out: *mut u8,
12541        out_len: *mut usize,
12542    ) -> ::std::os::raw::c_int;
12543}
12544extern "C" {
12545    #[link_name = "\u{1}aws_lc_0_35_0_CMAC_CTX_get0_cipher_ctx"]
12546    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
12547}
12548#[repr(C)]
12549#[derive(Debug, Copy, Clone)]
12550pub struct lhash_st {
12551    _unused: [u8; 0],
12552}
12553pub type _LHASH = lhash_st;
12554extern "C" {
12555    #[link_name = "\u{1}aws_lc_0_35_0_lh_doall_arg"]
12556    pub fn lh_doall_arg(
12557        lh: *mut _LHASH,
12558        func: ::std::option::Option<
12559            unsafe extern "C" fn(
12560                arg1: *mut ::std::os::raw::c_void,
12561                arg2: *mut ::std::os::raw::c_void,
12562            ),
12563        >,
12564        arg: *mut ::std::os::raw::c_void,
12565    );
12566}
12567#[repr(C)]
12568#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12569pub struct conf_value_st {
12570    pub section: *mut ::std::os::raw::c_char,
12571    pub name: *mut ::std::os::raw::c_char,
12572    pub value: *mut ::std::os::raw::c_char,
12573}
12574#[test]
12575fn bindgen_test_layout_conf_value_st() {
12576    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
12577    let ptr = UNINIT.as_ptr();
12578    assert_eq!(
12579        ::std::mem::size_of::<conf_value_st>(),
12580        24usize,
12581        "Size of conf_value_st"
12582    );
12583    assert_eq!(
12584        ::std::mem::align_of::<conf_value_st>(),
12585        8usize,
12586        "Alignment of conf_value_st"
12587    );
12588    assert_eq!(
12589        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
12590        0usize,
12591        "Offset of field: conf_value_st::section"
12592    );
12593    assert_eq!(
12594        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
12595        8usize,
12596        "Offset of field: conf_value_st::name"
12597    );
12598    assert_eq!(
12599        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12600        16usize,
12601        "Offset of field: conf_value_st::value"
12602    );
12603}
12604impl Default for conf_value_st {
12605    fn default() -> Self {
12606        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12607        unsafe {
12608            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12609            s.assume_init()
12610        }
12611    }
12612}
12613#[repr(C)]
12614#[derive(Debug, Copy, Clone)]
12615pub struct stack_st_CONF_VALUE {
12616    _unused: [u8; 0],
12617}
12618pub type sk_CONF_VALUE_free_func =
12619    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
12620pub type sk_CONF_VALUE_copy_func =
12621    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
12622pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
12623    unsafe extern "C" fn(
12624        arg1: *const *const CONF_VALUE,
12625        arg2: *const *const CONF_VALUE,
12626    ) -> ::std::os::raw::c_int,
12627>;
12628pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
12629    unsafe extern "C" fn(
12630        arg1: *mut CONF_VALUE,
12631        arg2: *mut ::std::os::raw::c_void,
12632    ) -> ::std::os::raw::c_int,
12633>;
12634#[repr(C)]
12635#[derive(Debug, Copy, Clone)]
12636pub struct lhash_st_CONF_VALUE {
12637    _unused: [u8; 0],
12638}
12639#[repr(C)]
12640#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12641pub struct conf_st {
12642    pub data: *mut lhash_st_CONF_VALUE,
12643}
12644#[test]
12645fn bindgen_test_layout_conf_st() {
12646    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
12647    let ptr = UNINIT.as_ptr();
12648    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
12649    assert_eq!(
12650        ::std::mem::align_of::<conf_st>(),
12651        8usize,
12652        "Alignment of conf_st"
12653    );
12654    assert_eq!(
12655        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12656        0usize,
12657        "Offset of field: conf_st::data"
12658    );
12659}
12660impl Default for conf_st {
12661    fn default() -> Self {
12662        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12663        unsafe {
12664            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12665            s.assume_init()
12666        }
12667    }
12668}
12669extern "C" {
12670    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_new"]
12671    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
12672}
12673extern "C" {
12674    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_free"]
12675    pub fn NCONF_free(conf: *mut CONF);
12676}
12677extern "C" {
12678    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_load"]
12679    pub fn NCONF_load(
12680        conf: *mut CONF,
12681        filename: *const ::std::os::raw::c_char,
12682        out_error_line: *mut ::std::os::raw::c_long,
12683    ) -> ::std::os::raw::c_int;
12684}
12685extern "C" {
12686    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_load_bio"]
12687    pub fn NCONF_load_bio(
12688        conf: *mut CONF,
12689        bio: *mut BIO,
12690        out_error_line: *mut ::std::os::raw::c_long,
12691    ) -> ::std::os::raw::c_int;
12692}
12693extern "C" {
12694    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_get_section"]
12695    pub fn NCONF_get_section(
12696        conf: *const CONF,
12697        section: *const ::std::os::raw::c_char,
12698    ) -> *const stack_st_CONF_VALUE;
12699}
12700extern "C" {
12701    #[link_name = "\u{1}aws_lc_0_35_0_NCONF_get_string"]
12702    pub fn NCONF_get_string(
12703        conf: *const CONF,
12704        section: *const ::std::os::raw::c_char,
12705        name: *const ::std::os::raw::c_char,
12706    ) -> *const ::std::os::raw::c_char;
12707}
12708extern "C" {
12709    #[link_name = "\u{1}aws_lc_0_35_0_CONF_modules_load_file"]
12710    pub fn CONF_modules_load_file(
12711        filename: *const ::std::os::raw::c_char,
12712        appname: *const ::std::os::raw::c_char,
12713        flags: ::std::os::raw::c_ulong,
12714    ) -> ::std::os::raw::c_int;
12715}
12716extern "C" {
12717    #[link_name = "\u{1}aws_lc_0_35_0_CONF_get1_default_config_file"]
12718    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
12719}
12720extern "C" {
12721    #[link_name = "\u{1}aws_lc_0_35_0_CONF_modules_free"]
12722    pub fn CONF_modules_free();
12723}
12724extern "C" {
12725    #[link_name = "\u{1}aws_lc_0_35_0_CONF_modules_unload"]
12726    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
12727}
12728extern "C" {
12729    #[link_name = "\u{1}aws_lc_0_35_0_CONF_modules_finish"]
12730    pub fn CONF_modules_finish();
12731}
12732extern "C" {
12733    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_config"]
12734    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
12735}
12736extern "C" {
12737    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_no_config"]
12738    pub fn OPENSSL_no_config();
12739}
12740extern "C" {
12741    #[link_name = "\u{1}aws_lc_0_35_0_CTR_DRBG_new"]
12742    pub fn CTR_DRBG_new(
12743        entropy: *const u8,
12744        personalization: *const u8,
12745        personalization_len: usize,
12746    ) -> *mut CTR_DRBG_STATE;
12747}
12748extern "C" {
12749    #[link_name = "\u{1}aws_lc_0_35_0_CTR_DRBG_free"]
12750    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
12751}
12752extern "C" {
12753    #[link_name = "\u{1}aws_lc_0_35_0_CTR_DRBG_reseed"]
12754    pub fn CTR_DRBG_reseed(
12755        drbg: *mut CTR_DRBG_STATE,
12756        entropy: *const u8,
12757        additional_data: *const u8,
12758        additional_data_len: usize,
12759    ) -> ::std::os::raw::c_int;
12760}
12761extern "C" {
12762    #[link_name = "\u{1}aws_lc_0_35_0_CTR_DRBG_generate"]
12763    pub fn CTR_DRBG_generate(
12764        drbg: *mut CTR_DRBG_STATE,
12765        out: *mut u8,
12766        out_len: usize,
12767        additional_data: *const u8,
12768        additional_data_len: usize,
12769    ) -> ::std::os::raw::c_int;
12770}
12771extern "C" {
12772    #[link_name = "\u{1}aws_lc_0_35_0_CTR_DRBG_clear"]
12773    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
12774}
12775extern "C" {
12776    #[link_name = "\u{1}aws_lc_0_35_0_X25519_keypair"]
12777    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
12778}
12779extern "C" {
12780    #[link_name = "\u{1}aws_lc_0_35_0_X25519"]
12781    pub fn X25519(
12782        out_shared_key: *mut u8,
12783        private_key: *const u8,
12784        peer_public_value: *const u8,
12785    ) -> ::std::os::raw::c_int;
12786}
12787extern "C" {
12788    #[link_name = "\u{1}aws_lc_0_35_0_X25519_public_from_private"]
12789    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
12790}
12791extern "C" {
12792    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_keypair"]
12793    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
12794}
12795extern "C" {
12796    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_sign"]
12797    pub fn ED25519_sign(
12798        out_sig: *mut u8,
12799        message: *const u8,
12800        message_len: usize,
12801        private_key: *const u8,
12802    ) -> ::std::os::raw::c_int;
12803}
12804extern "C" {
12805    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_verify"]
12806    pub fn ED25519_verify(
12807        message: *const u8,
12808        message_len: usize,
12809        signature: *const u8,
12810        public_key: *const u8,
12811    ) -> ::std::os::raw::c_int;
12812}
12813extern "C" {
12814    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ctx_sign"]
12815    pub fn ED25519ctx_sign(
12816        out_sig: *mut u8,
12817        message: *const u8,
12818        message_len: usize,
12819        private_key: *const u8,
12820        context: *const u8,
12821        context_len: usize,
12822    ) -> ::std::os::raw::c_int;
12823}
12824extern "C" {
12825    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ctx_verify"]
12826    pub fn ED25519ctx_verify(
12827        message: *const u8,
12828        message_len: usize,
12829        signature: *const u8,
12830        public_key: *const u8,
12831        context: *const u8,
12832        context_len: usize,
12833    ) -> ::std::os::raw::c_int;
12834}
12835extern "C" {
12836    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_sign"]
12837    pub fn ED25519ph_sign(
12838        out_sig: *mut u8,
12839        message: *const u8,
12840        message_len: usize,
12841        private_key: *const u8,
12842        context: *const u8,
12843        context_len: usize,
12844    ) -> ::std::os::raw::c_int;
12845}
12846extern "C" {
12847    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_verify"]
12848    pub fn ED25519ph_verify(
12849        message: *const u8,
12850        message_len: usize,
12851        signature: *const u8,
12852        public_key: *const u8,
12853        context: *const u8,
12854        context_len: usize,
12855    ) -> ::std::os::raw::c_int;
12856}
12857extern "C" {
12858    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_sign_digest"]
12859    pub fn ED25519ph_sign_digest(
12860        out_sig: *mut u8,
12861        digest: *const u8,
12862        private_key: *const u8,
12863        context: *const u8,
12864        context_len: usize,
12865    ) -> ::std::os::raw::c_int;
12866}
12867extern "C" {
12868    #[link_name = "\u{1}aws_lc_0_35_0_ED25519ph_verify_digest"]
12869    pub fn ED25519ph_verify_digest(
12870        digest: *const u8,
12871        signature: *const u8,
12872        public_key: *const u8,
12873        context: *const u8,
12874        context_len: usize,
12875    ) -> ::std::os::raw::c_int;
12876}
12877extern "C" {
12878    #[link_name = "\u{1}aws_lc_0_35_0_ED25519_keypair_from_seed"]
12879    pub fn ED25519_keypair_from_seed(
12880        out_public_key: *mut u8,
12881        out_private_key: *mut u8,
12882        seed: *const u8,
12883    );
12884}
12885pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
12886pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
12887pub type spake2_role_t = ::std::os::raw::c_uint;
12888extern "C" {
12889    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_CTX_new"]
12890    pub fn SPAKE2_CTX_new(
12891        my_role: spake2_role_t,
12892        my_name: *const u8,
12893        my_name_len: usize,
12894        their_name: *const u8,
12895        their_name_len: usize,
12896    ) -> *mut SPAKE2_CTX;
12897}
12898extern "C" {
12899    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_CTX_free"]
12900    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
12901}
12902extern "C" {
12903    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_generate_msg"]
12904    pub fn SPAKE2_generate_msg(
12905        ctx: *mut SPAKE2_CTX,
12906        out: *mut u8,
12907        out_len: *mut usize,
12908        max_out_len: usize,
12909        password: *const u8,
12910        password_len: usize,
12911    ) -> ::std::os::raw::c_int;
12912}
12913extern "C" {
12914    #[link_name = "\u{1}aws_lc_0_35_0_SPAKE2_process_msg"]
12915    pub fn SPAKE2_process_msg(
12916        ctx: *mut SPAKE2_CTX,
12917        out_key: *mut u8,
12918        out_key_len: *mut usize,
12919        max_out_key_len: usize,
12920        their_msg: *const u8,
12921        their_msg_len: usize,
12922    ) -> ::std::os::raw::c_int;
12923}
12924#[repr(C)]
12925#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12926pub struct DES_cblock_st {
12927    pub bytes: [u8; 8usize],
12928}
12929#[test]
12930fn bindgen_test_layout_DES_cblock_st() {
12931    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
12932    let ptr = UNINIT.as_ptr();
12933    assert_eq!(
12934        ::std::mem::size_of::<DES_cblock_st>(),
12935        8usize,
12936        "Size of DES_cblock_st"
12937    );
12938    assert_eq!(
12939        ::std::mem::align_of::<DES_cblock_st>(),
12940        1usize,
12941        "Alignment of DES_cblock_st"
12942    );
12943    assert_eq!(
12944        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
12945        0usize,
12946        "Offset of field: DES_cblock_st::bytes"
12947    );
12948}
12949pub type DES_cblock = DES_cblock_st;
12950pub type const_DES_cblock = DES_cblock_st;
12951#[repr(C)]
12952#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12953pub struct DES_ks {
12954    pub subkeys: [[u32; 2usize]; 16usize],
12955}
12956#[test]
12957fn bindgen_test_layout_DES_ks() {
12958    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
12959    let ptr = UNINIT.as_ptr();
12960    assert_eq!(::std::mem::size_of::<DES_ks>(), 128usize, "Size of DES_ks");
12961    assert_eq!(
12962        ::std::mem::align_of::<DES_ks>(),
12963        4usize,
12964        "Alignment of DES_ks"
12965    );
12966    assert_eq!(
12967        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
12968        0usize,
12969        "Offset of field: DES_ks::subkeys"
12970    );
12971}
12972pub type DES_key_schedule = DES_ks;
12973extern "C" {
12974    #[link_name = "\u{1}aws_lc_0_35_0_DES_is_weak_key"]
12975    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
12976}
12977extern "C" {
12978    #[link_name = "\u{1}aws_lc_0_35_0_DES_set_key"]
12979    pub fn DES_set_key(
12980        key: *const DES_cblock,
12981        schedule: *mut DES_key_schedule,
12982    ) -> ::std::os::raw::c_int;
12983}
12984extern "C" {
12985    #[link_name = "\u{1}aws_lc_0_35_0_DES_set_key_unchecked"]
12986    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
12987}
12988extern "C" {
12989    #[link_name = "\u{1}aws_lc_0_35_0_DES_key_sched"]
12990    pub fn DES_key_sched(
12991        key: *const DES_cblock,
12992        schedule: *mut DES_key_schedule,
12993    ) -> ::std::os::raw::c_int;
12994}
12995extern "C" {
12996    #[link_name = "\u{1}aws_lc_0_35_0_DES_set_odd_parity"]
12997    pub fn DES_set_odd_parity(key: *mut DES_cblock);
12998}
12999extern "C" {
13000    #[link_name = "\u{1}aws_lc_0_35_0_DES_ecb_encrypt"]
13001    pub fn DES_ecb_encrypt(
13002        in_: *const DES_cblock,
13003        out: *mut DES_cblock,
13004        schedule: *const DES_key_schedule,
13005        is_encrypt: ::std::os::raw::c_int,
13006    );
13007}
13008extern "C" {
13009    #[link_name = "\u{1}aws_lc_0_35_0_DES_ncbc_encrypt"]
13010    pub fn DES_ncbc_encrypt(
13011        in_: *const u8,
13012        out: *mut u8,
13013        len: usize,
13014        schedule: *const DES_key_schedule,
13015        ivec: *mut DES_cblock,
13016        enc: ::std::os::raw::c_int,
13017    );
13018}
13019extern "C" {
13020    #[link_name = "\u{1}aws_lc_0_35_0_DES_ecb3_encrypt"]
13021    pub fn DES_ecb3_encrypt(
13022        input: *const DES_cblock,
13023        output: *mut DES_cblock,
13024        ks1: *const DES_key_schedule,
13025        ks2: *const DES_key_schedule,
13026        ks3: *const DES_key_schedule,
13027        enc: ::std::os::raw::c_int,
13028    );
13029}
13030extern "C" {
13031    #[link_name = "\u{1}aws_lc_0_35_0_DES_ede3_cbc_encrypt"]
13032    pub fn DES_ede3_cbc_encrypt(
13033        in_: *const u8,
13034        out: *mut u8,
13035        len: usize,
13036        ks1: *const DES_key_schedule,
13037        ks2: *const DES_key_schedule,
13038        ks3: *const DES_key_schedule,
13039        ivec: *mut DES_cblock,
13040        enc: ::std::os::raw::c_int,
13041    );
13042}
13043extern "C" {
13044    #[link_name = "\u{1}aws_lc_0_35_0_DES_ede2_cbc_encrypt"]
13045    pub fn DES_ede2_cbc_encrypt(
13046        in_: *const u8,
13047        out: *mut u8,
13048        len: usize,
13049        ks1: *const DES_key_schedule,
13050        ks2: *const DES_key_schedule,
13051        ivec: *mut DES_cblock,
13052        enc: ::std::os::raw::c_int,
13053    );
13054}
13055extern "C" {
13056    #[link_name = "\u{1}aws_lc_0_35_0_DH_new"]
13057    pub fn DH_new() -> *mut DH;
13058}
13059extern "C" {
13060    #[link_name = "\u{1}aws_lc_0_35_0_DH_new_by_nid"]
13061    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13062}
13063extern "C" {
13064    #[link_name = "\u{1}aws_lc_0_35_0_DH_free"]
13065    pub fn DH_free(dh: *mut DH);
13066}
13067extern "C" {
13068    #[link_name = "\u{1}aws_lc_0_35_0_DH_up_ref"]
13069    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13070}
13071extern "C" {
13072    #[link_name = "\u{1}aws_lc_0_35_0_DH_bits"]
13073    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13074}
13075extern "C" {
13076    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_pub_key"]
13077    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13078}
13079extern "C" {
13080    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_priv_key"]
13081    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13082}
13083extern "C" {
13084    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_p"]
13085    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13086}
13087extern "C" {
13088    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_q"]
13089    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13090}
13091extern "C" {
13092    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_g"]
13093    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13094}
13095extern "C" {
13096    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_key"]
13097    pub fn DH_get0_key(
13098        dh: *const DH,
13099        out_pub_key: *mut *const BIGNUM,
13100        out_priv_key: *mut *const BIGNUM,
13101    );
13102}
13103extern "C" {
13104    #[link_name = "\u{1}aws_lc_0_35_0_DH_set0_key"]
13105    pub fn DH_set0_key(
13106        dh: *mut DH,
13107        pub_key: *mut BIGNUM,
13108        priv_key: *mut BIGNUM,
13109    ) -> ::std::os::raw::c_int;
13110}
13111extern "C" {
13112    #[link_name = "\u{1}aws_lc_0_35_0_DH_get0_pqg"]
13113    pub fn DH_get0_pqg(
13114        dh: *const DH,
13115        out_p: *mut *const BIGNUM,
13116        out_q: *mut *const BIGNUM,
13117        out_g: *mut *const BIGNUM,
13118    );
13119}
13120extern "C" {
13121    #[link_name = "\u{1}aws_lc_0_35_0_DH_set0_pqg"]
13122    pub fn DH_set0_pqg(
13123        dh: *mut DH,
13124        p: *mut BIGNUM,
13125        q: *mut BIGNUM,
13126        g: *mut BIGNUM,
13127    ) -> ::std::os::raw::c_int;
13128}
13129extern "C" {
13130    #[link_name = "\u{1}aws_lc_0_35_0_DH_set_length"]
13131    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13132        -> ::std::os::raw::c_int;
13133}
13134extern "C" {
13135    #[link_name = "\u{1}aws_lc_0_35_0_DH_get_rfc7919_2048"]
13136    pub fn DH_get_rfc7919_2048() -> *mut DH;
13137}
13138extern "C" {
13139    #[link_name = "\u{1}aws_lc_0_35_0_DH_get_rfc7919_4096"]
13140    pub fn DH_get_rfc7919_4096() -> *mut DH;
13141}
13142extern "C" {
13143    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_1536"]
13144    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13145}
13146extern "C" {
13147    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_2048"]
13148    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13149}
13150extern "C" {
13151    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_3072"]
13152    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13153}
13154extern "C" {
13155    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_4096"]
13156    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13157}
13158extern "C" {
13159    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_6144"]
13160    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13161}
13162extern "C" {
13163    #[link_name = "\u{1}aws_lc_0_35_0_BN_get_rfc3526_prime_8192"]
13164    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13165}
13166extern "C" {
13167    #[link_name = "\u{1}aws_lc_0_35_0_DH_generate_parameters_ex"]
13168    pub fn DH_generate_parameters_ex(
13169        dh: *mut DH,
13170        prime_bits: ::std::os::raw::c_int,
13171        generator: ::std::os::raw::c_int,
13172        cb: *mut BN_GENCB,
13173    ) -> ::std::os::raw::c_int;
13174}
13175extern "C" {
13176    #[link_name = "\u{1}aws_lc_0_35_0_DH_generate_key"]
13177    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13178}
13179extern "C" {
13180    #[link_name = "\u{1}aws_lc_0_35_0_DH_compute_key_padded"]
13181    pub fn DH_compute_key_padded(
13182        out: *mut u8,
13183        peers_key: *const BIGNUM,
13184        dh: *mut DH,
13185    ) -> ::std::os::raw::c_int;
13186}
13187extern "C" {
13188    #[link_name = "\u{1}aws_lc_0_35_0_DH_compute_key_hashed"]
13189    pub fn DH_compute_key_hashed(
13190        dh: *mut DH,
13191        out: *mut u8,
13192        out_len: *mut usize,
13193        max_out_len: usize,
13194        peers_key: *const BIGNUM,
13195        digest: *const EVP_MD,
13196    ) -> ::std::os::raw::c_int;
13197}
13198extern "C" {
13199    #[link_name = "\u{1}aws_lc_0_35_0_DH_size"]
13200    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13201}
13202extern "C" {
13203    #[link_name = "\u{1}aws_lc_0_35_0_DH_num_bits"]
13204    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13205}
13206extern "C" {
13207    #[link_name = "\u{1}aws_lc_0_35_0_DH_check"]
13208    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13209}
13210extern "C" {
13211    #[link_name = "\u{1}aws_lc_0_35_0_DH_check_pub_key"]
13212    pub fn DH_check_pub_key(
13213        dh: *const DH,
13214        pub_key: *const BIGNUM,
13215        out_flags: *mut ::std::os::raw::c_int,
13216    ) -> ::std::os::raw::c_int;
13217}
13218extern "C" {
13219    #[link_name = "\u{1}aws_lc_0_35_0_DHparams_dup"]
13220    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13221}
13222extern "C" {
13223    #[link_name = "\u{1}aws_lc_0_35_0_DH_parse_parameters"]
13224    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13225}
13226extern "C" {
13227    #[link_name = "\u{1}aws_lc_0_35_0_DH_marshal_parameters"]
13228    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13229}
13230extern "C" {
13231    #[link_name = "\u{1}aws_lc_0_35_0_DH_generate_parameters"]
13232    pub fn DH_generate_parameters(
13233        prime_len: ::std::os::raw::c_int,
13234        generator: ::std::os::raw::c_int,
13235        callback: ::std::option::Option<
13236            unsafe extern "C" fn(
13237                arg1: ::std::os::raw::c_int,
13238                arg2: ::std::os::raw::c_int,
13239                arg3: *mut ::std::os::raw::c_void,
13240            ),
13241        >,
13242        cb_arg: *mut ::std::os::raw::c_void,
13243    ) -> *mut DH;
13244}
13245extern "C" {
13246    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DHparams"]
13247    pub fn d2i_DHparams(
13248        ret: *mut *mut DH,
13249        inp: *mut *const ::std::os::raw::c_uchar,
13250        len: ::std::os::raw::c_long,
13251    ) -> *mut DH;
13252}
13253extern "C" {
13254    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DHparams"]
13255    pub fn i2d_DHparams(
13256        in_: *const DH,
13257        outp: *mut *mut ::std::os::raw::c_uchar,
13258    ) -> ::std::os::raw::c_int;
13259}
13260extern "C" {
13261    #[link_name = "\u{1}aws_lc_0_35_0_DH_compute_key"]
13262    pub fn DH_compute_key(
13263        out: *mut u8,
13264        peers_key: *const BIGNUM,
13265        dh: *mut DH,
13266    ) -> ::std::os::raw::c_int;
13267}
13268extern "C" {
13269    #[link_name = "\u{1}aws_lc_0_35_0_DH_get_2048_256"]
13270    pub fn DH_get_2048_256() -> *mut DH;
13271}
13272extern "C" {
13273    #[link_name = "\u{1}aws_lc_0_35_0_DH_clear_flags"]
13274    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
13275}
13276extern "C" {
13277    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md4"]
13278    pub fn EVP_md4() -> *const EVP_MD;
13279}
13280extern "C" {
13281    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md5"]
13282    pub fn EVP_md5() -> *const EVP_MD;
13283}
13284extern "C" {
13285    #[link_name = "\u{1}aws_lc_0_35_0_EVP_ripemd160"]
13286    pub fn EVP_ripemd160() -> *const EVP_MD;
13287}
13288extern "C" {
13289    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha1"]
13290    pub fn EVP_sha1() -> *const EVP_MD;
13291}
13292extern "C" {
13293    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha224"]
13294    pub fn EVP_sha224() -> *const EVP_MD;
13295}
13296extern "C" {
13297    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha256"]
13298    pub fn EVP_sha256() -> *const EVP_MD;
13299}
13300extern "C" {
13301    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha384"]
13302    pub fn EVP_sha384() -> *const EVP_MD;
13303}
13304extern "C" {
13305    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512"]
13306    pub fn EVP_sha512() -> *const EVP_MD;
13307}
13308extern "C" {
13309    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512_224"]
13310    pub fn EVP_sha512_224() -> *const EVP_MD;
13311}
13312extern "C" {
13313    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha512_256"]
13314    pub fn EVP_sha512_256() -> *const EVP_MD;
13315}
13316extern "C" {
13317    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_224"]
13318    pub fn EVP_sha3_224() -> *const EVP_MD;
13319}
13320extern "C" {
13321    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_256"]
13322    pub fn EVP_sha3_256() -> *const EVP_MD;
13323}
13324extern "C" {
13325    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_384"]
13326    pub fn EVP_sha3_384() -> *const EVP_MD;
13327}
13328extern "C" {
13329    #[link_name = "\u{1}aws_lc_0_35_0_EVP_sha3_512"]
13330    pub fn EVP_sha3_512() -> *const EVP_MD;
13331}
13332extern "C" {
13333    #[link_name = "\u{1}aws_lc_0_35_0_EVP_shake128"]
13334    pub fn EVP_shake128() -> *const EVP_MD;
13335}
13336extern "C" {
13337    #[link_name = "\u{1}aws_lc_0_35_0_EVP_shake256"]
13338    pub fn EVP_shake256() -> *const EVP_MD;
13339}
13340extern "C" {
13341    #[link_name = "\u{1}aws_lc_0_35_0_EVP_blake2b256"]
13342    pub fn EVP_blake2b256() -> *const EVP_MD;
13343}
13344extern "C" {
13345    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md5_sha1"]
13346    pub fn EVP_md5_sha1() -> *const EVP_MD;
13347}
13348extern "C" {
13349    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbynid"]
13350    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
13351}
13352extern "C" {
13353    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbyobj"]
13354    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
13355}
13356extern "C" {
13357    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_init"]
13358    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
13359}
13360extern "C" {
13361    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_new"]
13362    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
13363}
13364extern "C" {
13365    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_cleanup"]
13366    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13367}
13368extern "C" {
13369    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_cleanse"]
13370    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
13371}
13372extern "C" {
13373    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_free"]
13374    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
13375}
13376extern "C" {
13377    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_copy_ex"]
13378    pub fn EVP_MD_CTX_copy_ex(
13379        out: *mut EVP_MD_CTX,
13380        in_: *const EVP_MD_CTX,
13381    ) -> ::std::os::raw::c_int;
13382}
13383extern "C" {
13384    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_move"]
13385    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
13386}
13387extern "C" {
13388    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_reset"]
13389    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13390}
13391extern "C" {
13392    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestInit_ex"]
13393    pub fn EVP_DigestInit_ex(
13394        ctx: *mut EVP_MD_CTX,
13395        type_: *const EVP_MD,
13396        engine: *mut ENGINE,
13397    ) -> ::std::os::raw::c_int;
13398}
13399extern "C" {
13400    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestInit"]
13401    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
13402}
13403extern "C" {
13404    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestUpdate"]
13405    pub fn EVP_DigestUpdate(
13406        ctx: *mut EVP_MD_CTX,
13407        data: *const ::std::os::raw::c_void,
13408        len: usize,
13409    ) -> ::std::os::raw::c_int;
13410}
13411extern "C" {
13412    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinal_ex"]
13413    pub fn EVP_DigestFinal_ex(
13414        ctx: *mut EVP_MD_CTX,
13415        md_out: *mut u8,
13416        out_size: *mut ::std::os::raw::c_uint,
13417    ) -> ::std::os::raw::c_int;
13418}
13419extern "C" {
13420    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinal"]
13421    pub fn EVP_DigestFinal(
13422        ctx: *mut EVP_MD_CTX,
13423        md_out: *mut u8,
13424        out_size: *mut ::std::os::raw::c_uint,
13425    ) -> ::std::os::raw::c_int;
13426}
13427extern "C" {
13428    #[link_name = "\u{1}aws_lc_0_35_0_EVP_Digest"]
13429    pub fn EVP_Digest(
13430        data: *const ::std::os::raw::c_void,
13431        len: usize,
13432        md_out: *mut u8,
13433        out_size: *mut ::std::os::raw::c_uint,
13434        type_: *const EVP_MD,
13435        impl_: *mut ENGINE,
13436    ) -> ::std::os::raw::c_int;
13437}
13438extern "C" {
13439    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_type"]
13440    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
13441}
13442extern "C" {
13443    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_flags"]
13444    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
13445}
13446extern "C" {
13447    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_size"]
13448    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
13449}
13450extern "C" {
13451    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_block_size"]
13452    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
13453}
13454extern "C" {
13455    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_md"]
13456    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
13457}
13458extern "C" {
13459    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_size"]
13460    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
13461}
13462extern "C" {
13463    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_block_size"]
13464    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
13465}
13466extern "C" {
13467    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_type"]
13468    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13469}
13470extern "C" {
13471    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_digest_algorithm"]
13472    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
13473}
13474extern "C" {
13475    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_digest_algorithm"]
13476    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
13477}
13478extern "C" {
13479    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_copy"]
13480    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13481}
13482extern "C" {
13483    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_digestbyname"]
13484    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
13485}
13486extern "C" {
13487    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_create"]
13488    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
13489}
13490extern "C" {
13491    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_destroy"]
13492    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
13493}
13494extern "C" {
13495    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestFinalXOF"]
13496    pub fn EVP_DigestFinalXOF(
13497        ctx: *mut EVP_MD_CTX,
13498        out: *mut u8,
13499        len: usize,
13500    ) -> ::std::os::raw::c_int;
13501}
13502extern "C" {
13503    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSqueeze"]
13504    pub fn EVP_DigestSqueeze(
13505        ctx: *mut EVP_MD_CTX,
13506        out: *mut u8,
13507        len: usize,
13508    ) -> ::std::os::raw::c_int;
13509}
13510extern "C" {
13511    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_meth_get_flags"]
13512    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
13513}
13514extern "C" {
13515    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_nid"]
13516    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
13517}
13518extern "C" {
13519    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_set_pkey_ctx"]
13520    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
13521}
13522extern "C" {
13523    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_get_pkey_ctx"]
13524    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13525}
13526extern "C" {
13527    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_pkey_ctx"]
13528    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13529}
13530#[repr(C)]
13531#[derive(Debug, Copy, Clone)]
13532pub struct evp_md_pctx_ops {
13533    _unused: [u8; 0],
13534}
13535#[repr(C)]
13536#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13537pub struct env_md_ctx_st {
13538    pub digest: *const EVP_MD,
13539    pub md_data: *mut ::std::os::raw::c_void,
13540    pub update: ::std::option::Option<
13541        unsafe extern "C" fn(
13542            ctx: *mut EVP_MD_CTX,
13543            data: *const ::std::os::raw::c_void,
13544            count: usize,
13545        ) -> ::std::os::raw::c_int,
13546    >,
13547    pub pctx: *mut EVP_PKEY_CTX,
13548    pub pctx_ops: *const evp_md_pctx_ops,
13549    pub flags: ::std::os::raw::c_ulong,
13550}
13551#[test]
13552fn bindgen_test_layout_env_md_ctx_st() {
13553    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
13554    let ptr = UNINIT.as_ptr();
13555    assert_eq!(
13556        ::std::mem::size_of::<env_md_ctx_st>(),
13557        48usize,
13558        "Size of env_md_ctx_st"
13559    );
13560    assert_eq!(
13561        ::std::mem::align_of::<env_md_ctx_st>(),
13562        8usize,
13563        "Alignment of env_md_ctx_st"
13564    );
13565    assert_eq!(
13566        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
13567        0usize,
13568        "Offset of field: env_md_ctx_st::digest"
13569    );
13570    assert_eq!(
13571        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
13572        8usize,
13573        "Offset of field: env_md_ctx_st::md_data"
13574    );
13575    assert_eq!(
13576        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
13577        16usize,
13578        "Offset of field: env_md_ctx_st::update"
13579    );
13580    assert_eq!(
13581        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
13582        24usize,
13583        "Offset of field: env_md_ctx_st::pctx"
13584    );
13585    assert_eq!(
13586        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
13587        32usize,
13588        "Offset of field: env_md_ctx_st::pctx_ops"
13589    );
13590    assert_eq!(
13591        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13592        40usize,
13593        "Offset of field: env_md_ctx_st::flags"
13594    );
13595}
13596impl Default for env_md_ctx_st {
13597    fn default() -> Self {
13598        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13599        unsafe {
13600            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13601            s.assume_init()
13602        }
13603    }
13604}
13605extern "C" {
13606    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_unstable_sha3_enable"]
13607    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
13608}
13609extern "C" {
13610    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_unstable_sha3_is_enabled"]
13611    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
13612}
13613extern "C" {
13614    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_CTX_set_flags"]
13615    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
13616}
13617extern "C" {
13618    #[link_name = "\u{1}aws_lc_0_35_0_EVP_add_digest"]
13619    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
13620}
13621extern "C" {
13622    #[link_name = "\u{1}aws_lc_0_35_0_EVP_md_null"]
13623    pub fn EVP_md_null() -> *const EVP_MD;
13624}
13625extern "C" {
13626    #[link_name = "\u{1}aws_lc_0_35_0_DSA_new"]
13627    pub fn DSA_new() -> *mut DSA;
13628}
13629extern "C" {
13630    #[link_name = "\u{1}aws_lc_0_35_0_DSA_free"]
13631    pub fn DSA_free(dsa: *mut DSA);
13632}
13633extern "C" {
13634    #[link_name = "\u{1}aws_lc_0_35_0_DSA_up_ref"]
13635    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
13636}
13637extern "C" {
13638    #[link_name = "\u{1}aws_lc_0_35_0_DSA_print"]
13639    pub fn DSA_print(
13640        bio: *mut BIO,
13641        dsa: *const DSA,
13642        indent: ::std::os::raw::c_int,
13643    ) -> ::std::os::raw::c_int;
13644}
13645extern "C" {
13646    #[link_name = "\u{1}aws_lc_0_35_0_DSA_print_fp"]
13647    pub fn DSA_print_fp(
13648        fp: *mut FILE,
13649        dsa: *const DSA,
13650        indent: ::std::os::raw::c_int,
13651    ) -> ::std::os::raw::c_int;
13652}
13653extern "C" {
13654    #[link_name = "\u{1}aws_lc_0_35_0_DSA_bits"]
13655    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
13656}
13657extern "C" {
13658    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_pub_key"]
13659    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
13660}
13661extern "C" {
13662    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_priv_key"]
13663    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
13664}
13665extern "C" {
13666    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_p"]
13667    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
13668}
13669extern "C" {
13670    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_q"]
13671    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
13672}
13673extern "C" {
13674    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_g"]
13675    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
13676}
13677extern "C" {
13678    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_key"]
13679    pub fn DSA_get0_key(
13680        dsa: *const DSA,
13681        out_pub_key: *mut *const BIGNUM,
13682        out_priv_key: *mut *const BIGNUM,
13683    );
13684}
13685extern "C" {
13686    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get0_pqg"]
13687    pub fn DSA_get0_pqg(
13688        dsa: *const DSA,
13689        out_p: *mut *const BIGNUM,
13690        out_q: *mut *const BIGNUM,
13691        out_g: *mut *const BIGNUM,
13692    );
13693}
13694extern "C" {
13695    #[link_name = "\u{1}aws_lc_0_35_0_DSA_set0_key"]
13696    pub fn DSA_set0_key(
13697        dsa: *mut DSA,
13698        pub_key: *mut BIGNUM,
13699        priv_key: *mut BIGNUM,
13700    ) -> ::std::os::raw::c_int;
13701}
13702extern "C" {
13703    #[link_name = "\u{1}aws_lc_0_35_0_DSA_set0_pqg"]
13704    pub fn DSA_set0_pqg(
13705        dsa: *mut DSA,
13706        p: *mut BIGNUM,
13707        q: *mut BIGNUM,
13708        g: *mut BIGNUM,
13709    ) -> ::std::os::raw::c_int;
13710}
13711extern "C" {
13712    #[link_name = "\u{1}aws_lc_0_35_0_DSA_generate_parameters_ex"]
13713    pub fn DSA_generate_parameters_ex(
13714        dsa: *mut DSA,
13715        bits: ::std::os::raw::c_uint,
13716        seed: *const u8,
13717        seed_len: usize,
13718        out_counter: *mut ::std::os::raw::c_int,
13719        out_h: *mut ::std::os::raw::c_ulong,
13720        cb: *mut BN_GENCB,
13721    ) -> ::std::os::raw::c_int;
13722}
13723extern "C" {
13724    #[link_name = "\u{1}aws_lc_0_35_0_DSAparams_dup"]
13725    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
13726}
13727extern "C" {
13728    #[link_name = "\u{1}aws_lc_0_35_0_DSA_generate_key"]
13729    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
13730}
13731#[repr(C)]
13732#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13733pub struct DSA_SIG_st {
13734    pub r: *mut BIGNUM,
13735    pub s: *mut BIGNUM,
13736}
13737#[test]
13738fn bindgen_test_layout_DSA_SIG_st() {
13739    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
13740    let ptr = UNINIT.as_ptr();
13741    assert_eq!(
13742        ::std::mem::size_of::<DSA_SIG_st>(),
13743        16usize,
13744        "Size of DSA_SIG_st"
13745    );
13746    assert_eq!(
13747        ::std::mem::align_of::<DSA_SIG_st>(),
13748        8usize,
13749        "Alignment of DSA_SIG_st"
13750    );
13751    assert_eq!(
13752        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
13753        0usize,
13754        "Offset of field: DSA_SIG_st::r"
13755    );
13756    assert_eq!(
13757        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
13758        8usize,
13759        "Offset of field: DSA_SIG_st::s"
13760    );
13761}
13762impl Default for DSA_SIG_st {
13763    fn default() -> Self {
13764        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13765        unsafe {
13766            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13767            s.assume_init()
13768        }
13769    }
13770}
13771extern "C" {
13772    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_new"]
13773    pub fn DSA_SIG_new() -> *mut DSA_SIG;
13774}
13775extern "C" {
13776    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_free"]
13777    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
13778}
13779extern "C" {
13780    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_get0"]
13781    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
13782}
13783extern "C" {
13784    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_set0"]
13785    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
13786        -> ::std::os::raw::c_int;
13787}
13788extern "C" {
13789    #[link_name = "\u{1}aws_lc_0_35_0_DSA_do_sign"]
13790    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
13791}
13792extern "C" {
13793    #[link_name = "\u{1}aws_lc_0_35_0_DSA_do_verify"]
13794    pub fn DSA_do_verify(
13795        digest: *const u8,
13796        digest_len: usize,
13797        sig: *const DSA_SIG,
13798        dsa: *const DSA,
13799    ) -> ::std::os::raw::c_int;
13800}
13801extern "C" {
13802    #[link_name = "\u{1}aws_lc_0_35_0_DSA_do_check_signature"]
13803    pub fn DSA_do_check_signature(
13804        out_valid: *mut ::std::os::raw::c_int,
13805        digest: *const u8,
13806        digest_len: usize,
13807        sig: *const DSA_SIG,
13808        dsa: *const DSA,
13809    ) -> ::std::os::raw::c_int;
13810}
13811extern "C" {
13812    #[link_name = "\u{1}aws_lc_0_35_0_DSA_sign"]
13813    pub fn DSA_sign(
13814        type_: ::std::os::raw::c_int,
13815        digest: *const u8,
13816        digest_len: usize,
13817        out_sig: *mut u8,
13818        out_siglen: *mut ::std::os::raw::c_uint,
13819        dsa: *const DSA,
13820    ) -> ::std::os::raw::c_int;
13821}
13822extern "C" {
13823    #[link_name = "\u{1}aws_lc_0_35_0_DSA_verify"]
13824    pub fn DSA_verify(
13825        type_: ::std::os::raw::c_int,
13826        digest: *const u8,
13827        digest_len: usize,
13828        sig: *const u8,
13829        sig_len: usize,
13830        dsa: *const DSA,
13831    ) -> ::std::os::raw::c_int;
13832}
13833extern "C" {
13834    #[link_name = "\u{1}aws_lc_0_35_0_DSA_check_signature"]
13835    pub fn DSA_check_signature(
13836        out_valid: *mut ::std::os::raw::c_int,
13837        digest: *const u8,
13838        digest_len: usize,
13839        sig: *const u8,
13840        sig_len: usize,
13841        dsa: *const DSA,
13842    ) -> ::std::os::raw::c_int;
13843}
13844extern "C" {
13845    #[link_name = "\u{1}aws_lc_0_35_0_DSA_size"]
13846    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
13847}
13848extern "C" {
13849    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_parse"]
13850    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
13851}
13852extern "C" {
13853    #[link_name = "\u{1}aws_lc_0_35_0_DSA_SIG_marshal"]
13854    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
13855}
13856extern "C" {
13857    #[link_name = "\u{1}aws_lc_0_35_0_DSA_parse_public_key"]
13858    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
13859}
13860extern "C" {
13861    #[link_name = "\u{1}aws_lc_0_35_0_DSA_marshal_public_key"]
13862    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13863}
13864extern "C" {
13865    #[link_name = "\u{1}aws_lc_0_35_0_DSA_parse_private_key"]
13866    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
13867}
13868extern "C" {
13869    #[link_name = "\u{1}aws_lc_0_35_0_DSA_marshal_private_key"]
13870    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13871}
13872extern "C" {
13873    #[link_name = "\u{1}aws_lc_0_35_0_DSA_parse_parameters"]
13874    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
13875}
13876extern "C" {
13877    #[link_name = "\u{1}aws_lc_0_35_0_DSA_marshal_parameters"]
13878    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13879}
13880extern "C" {
13881    #[link_name = "\u{1}aws_lc_0_35_0_DSA_dup_DH"]
13882    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
13883}
13884extern "C" {
13885    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get_ex_new_index"]
13886    pub fn DSA_get_ex_new_index(
13887        argl: ::std::os::raw::c_long,
13888        argp: *mut ::std::os::raw::c_void,
13889        unused: *mut CRYPTO_EX_unused,
13890        dup_unused: CRYPTO_EX_dup,
13891        free_func: CRYPTO_EX_free,
13892    ) -> ::std::os::raw::c_int;
13893}
13894extern "C" {
13895    #[link_name = "\u{1}aws_lc_0_35_0_DSA_set_ex_data"]
13896    pub fn DSA_set_ex_data(
13897        dsa: *mut DSA,
13898        idx: ::std::os::raw::c_int,
13899        arg: *mut ::std::os::raw::c_void,
13900    ) -> ::std::os::raw::c_int;
13901}
13902extern "C" {
13903    #[link_name = "\u{1}aws_lc_0_35_0_DSA_get_ex_data"]
13904    pub fn DSA_get_ex_data(
13905        dsa: *const DSA,
13906        idx: ::std::os::raw::c_int,
13907    ) -> *mut ::std::os::raw::c_void;
13908}
13909extern "C" {
13910    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSA_SIG"]
13911    pub fn d2i_DSA_SIG(
13912        out_sig: *mut *mut DSA_SIG,
13913        inp: *mut *const u8,
13914        len: ::std::os::raw::c_long,
13915    ) -> *mut DSA_SIG;
13916}
13917extern "C" {
13918    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSA_SIG"]
13919    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13920}
13921extern "C" {
13922    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSAPublicKey"]
13923    pub fn d2i_DSAPublicKey(
13924        out: *mut *mut DSA,
13925        inp: *mut *const u8,
13926        len: ::std::os::raw::c_long,
13927    ) -> *mut DSA;
13928}
13929extern "C" {
13930    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSAPublicKey"]
13931    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13932}
13933extern "C" {
13934    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSAPrivateKey"]
13935    pub fn d2i_DSAPrivateKey(
13936        out: *mut *mut DSA,
13937        inp: *mut *const u8,
13938        len: ::std::os::raw::c_long,
13939    ) -> *mut DSA;
13940}
13941extern "C" {
13942    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSAPrivateKey"]
13943    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13944}
13945extern "C" {
13946    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSAparams"]
13947    pub fn d2i_DSAparams(
13948        out: *mut *mut DSA,
13949        inp: *mut *const u8,
13950        len: ::std::os::raw::c_long,
13951    ) -> *mut DSA;
13952}
13953extern "C" {
13954    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSAparams"]
13955    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13956}
13957#[repr(u32)]
13958#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13959pub enum point_conversion_form_t {
13960    POINT_CONVERSION_COMPRESSED = 2,
13961    POINT_CONVERSION_UNCOMPRESSED = 4,
13962    POINT_CONVERSION_HYBRID = 6,
13963}
13964extern "C" {
13965    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p224"]
13966    pub fn EC_group_p224() -> *const EC_GROUP;
13967}
13968extern "C" {
13969    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p256"]
13970    pub fn EC_group_p256() -> *const EC_GROUP;
13971}
13972extern "C" {
13973    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p384"]
13974    pub fn EC_group_p384() -> *const EC_GROUP;
13975}
13976extern "C" {
13977    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_p521"]
13978    pub fn EC_group_p521() -> *const EC_GROUP;
13979}
13980extern "C" {
13981    #[link_name = "\u{1}aws_lc_0_35_0_EC_group_secp256k1"]
13982    pub fn EC_group_secp256k1() -> *const EC_GROUP;
13983}
13984extern "C" {
13985    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_by_curve_name"]
13986    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
13987}
13988extern "C" {
13989    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_by_curve_name_mutable"]
13990    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
13991}
13992extern "C" {
13993    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_cmp"]
13994    pub fn EC_GROUP_cmp(
13995        a: *const EC_GROUP,
13996        b: *const EC_GROUP,
13997        ignored: *mut BN_CTX,
13998    ) -> ::std::os::raw::c_int;
13999}
14000extern "C" {
14001    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_generator"]
14002    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14003}
14004extern "C" {
14005    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_order"]
14006    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14007}
14008extern "C" {
14009    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_order_bits"]
14010    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14011}
14012extern "C" {
14013    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_cofactor"]
14014    pub fn EC_GROUP_get_cofactor(
14015        group: *const EC_GROUP,
14016        cofactor: *mut BIGNUM,
14017        ctx: *mut BN_CTX,
14018    ) -> ::std::os::raw::c_int;
14019}
14020extern "C" {
14021    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_curve_GFp"]
14022    pub fn EC_GROUP_get_curve_GFp(
14023        group: *const EC_GROUP,
14024        out_p: *mut BIGNUM,
14025        out_a: *mut BIGNUM,
14026        out_b: *mut BIGNUM,
14027        ctx: *mut BN_CTX,
14028    ) -> ::std::os::raw::c_int;
14029}
14030extern "C" {
14031    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_curve_name"]
14032    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14033}
14034extern "C" {
14035    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_degree"]
14036    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14037}
14038extern "C" {
14039    #[link_name = "\u{1}aws_lc_0_35_0_EC_curve_nid2nist"]
14040    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14041}
14042extern "C" {
14043    #[link_name = "\u{1}aws_lc_0_35_0_EC_curve_nist2nid"]
14044    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14045}
14046extern "C" {
14047    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_new"]
14048    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14049}
14050extern "C" {
14051    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_free"]
14052    pub fn EC_POINT_free(point: *mut EC_POINT);
14053}
14054extern "C" {
14055    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_copy"]
14056    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14057}
14058extern "C" {
14059    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_dup"]
14060    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14061}
14062extern "C" {
14063    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_to_infinity"]
14064    pub fn EC_POINT_set_to_infinity(
14065        group: *const EC_GROUP,
14066        point: *mut EC_POINT,
14067    ) -> ::std::os::raw::c_int;
14068}
14069extern "C" {
14070    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_is_at_infinity"]
14071    pub fn EC_POINT_is_at_infinity(
14072        group: *const EC_GROUP,
14073        point: *const EC_POINT,
14074    ) -> ::std::os::raw::c_int;
14075}
14076extern "C" {
14077    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_is_on_curve"]
14078    pub fn EC_POINT_is_on_curve(
14079        group: *const EC_GROUP,
14080        point: *const EC_POINT,
14081        ctx: *mut BN_CTX,
14082    ) -> ::std::os::raw::c_int;
14083}
14084extern "C" {
14085    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_cmp"]
14086    pub fn EC_POINT_cmp(
14087        group: *const EC_GROUP,
14088        a: *const EC_POINT,
14089        b: *const EC_POINT,
14090        ctx: *mut BN_CTX,
14091    ) -> ::std::os::raw::c_int;
14092}
14093extern "C" {
14094    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_get_affine_coordinates_GFp"]
14095    pub fn EC_POINT_get_affine_coordinates_GFp(
14096        group: *const EC_GROUP,
14097        point: *const EC_POINT,
14098        x: *mut BIGNUM,
14099        y: *mut BIGNUM,
14100        ctx: *mut BN_CTX,
14101    ) -> ::std::os::raw::c_int;
14102}
14103extern "C" {
14104    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_get_affine_coordinates"]
14105    pub fn EC_POINT_get_affine_coordinates(
14106        group: *const EC_GROUP,
14107        point: *const EC_POINT,
14108        x: *mut BIGNUM,
14109        y: *mut BIGNUM,
14110        ctx: *mut BN_CTX,
14111    ) -> ::std::os::raw::c_int;
14112}
14113extern "C" {
14114    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_affine_coordinates_GFp"]
14115    pub fn EC_POINT_set_affine_coordinates_GFp(
14116        group: *const EC_GROUP,
14117        point: *mut EC_POINT,
14118        x: *const BIGNUM,
14119        y: *const BIGNUM,
14120        ctx: *mut BN_CTX,
14121    ) -> ::std::os::raw::c_int;
14122}
14123extern "C" {
14124    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_affine_coordinates"]
14125    pub fn EC_POINT_set_affine_coordinates(
14126        group: *const EC_GROUP,
14127        point: *mut EC_POINT,
14128        x: *const BIGNUM,
14129        y: *const BIGNUM,
14130        ctx: *mut BN_CTX,
14131    ) -> ::std::os::raw::c_int;
14132}
14133extern "C" {
14134    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2oct"]
14135    pub fn EC_POINT_point2oct(
14136        group: *const EC_GROUP,
14137        point: *const EC_POINT,
14138        form: point_conversion_form_t,
14139        buf: *mut u8,
14140        len: usize,
14141        ctx: *mut BN_CTX,
14142    ) -> usize;
14143}
14144extern "C" {
14145    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2cbb"]
14146    pub fn EC_POINT_point2cbb(
14147        out: *mut CBB,
14148        group: *const EC_GROUP,
14149        point: *const EC_POINT,
14150        form: point_conversion_form_t,
14151        ctx: *mut BN_CTX,
14152    ) -> ::std::os::raw::c_int;
14153}
14154extern "C" {
14155    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_oct2point"]
14156    pub fn EC_POINT_oct2point(
14157        group: *const EC_GROUP,
14158        point: *mut EC_POINT,
14159        buf: *const u8,
14160        len: usize,
14161        ctx: *mut BN_CTX,
14162    ) -> ::std::os::raw::c_int;
14163}
14164extern "C" {
14165    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_set_compressed_coordinates_GFp"]
14166    pub fn EC_POINT_set_compressed_coordinates_GFp(
14167        group: *const EC_GROUP,
14168        point: *mut EC_POINT,
14169        x: *const BIGNUM,
14170        y_bit: ::std::os::raw::c_int,
14171        ctx: *mut BN_CTX,
14172    ) -> ::std::os::raw::c_int;
14173}
14174extern "C" {
14175    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_add"]
14176    pub fn EC_POINT_add(
14177        group: *const EC_GROUP,
14178        r: *mut EC_POINT,
14179        a: *const EC_POINT,
14180        b: *const EC_POINT,
14181        ctx: *mut BN_CTX,
14182    ) -> ::std::os::raw::c_int;
14183}
14184extern "C" {
14185    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_dbl"]
14186    pub fn EC_POINT_dbl(
14187        group: *const EC_GROUP,
14188        r: *mut EC_POINT,
14189        a: *const EC_POINT,
14190        ctx: *mut BN_CTX,
14191    ) -> ::std::os::raw::c_int;
14192}
14193extern "C" {
14194    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_invert"]
14195    pub fn EC_POINT_invert(
14196        group: *const EC_GROUP,
14197        a: *mut EC_POINT,
14198        ctx: *mut BN_CTX,
14199    ) -> ::std::os::raw::c_int;
14200}
14201extern "C" {
14202    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_mul"]
14203    pub fn EC_POINT_mul(
14204        group: *const EC_GROUP,
14205        r: *mut EC_POINT,
14206        n: *const BIGNUM,
14207        q: *const EC_POINT,
14208        m: *const BIGNUM,
14209        ctx: *mut BN_CTX,
14210    ) -> ::std::os::raw::c_int;
14211}
14212extern "C" {
14213    #[link_name = "\u{1}aws_lc_0_35_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14214    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14215        group: *const EC_GROUP,
14216        out: *mut EC_POINT,
14217        dst: *const u8,
14218        dst_len: usize,
14219        msg: *const u8,
14220        msg_len: usize,
14221    ) -> ::std::os::raw::c_int;
14222}
14223extern "C" {
14224    #[link_name = "\u{1}aws_lc_0_35_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14225    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14226        group: *const EC_GROUP,
14227        out: *mut EC_POINT,
14228        dst: *const u8,
14229        dst_len: usize,
14230        msg: *const u8,
14231        msg_len: usize,
14232    ) -> ::std::os::raw::c_int;
14233}
14234extern "C" {
14235    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_free"]
14236    pub fn EC_GROUP_free(group: *mut EC_GROUP);
14237}
14238extern "C" {
14239    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_dup"]
14240    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
14241}
14242extern "C" {
14243    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_new_curve_GFp"]
14244    pub fn EC_GROUP_new_curve_GFp(
14245        p: *const BIGNUM,
14246        a: *const BIGNUM,
14247        b: *const BIGNUM,
14248        ctx: *mut BN_CTX,
14249    ) -> *mut EC_GROUP;
14250}
14251extern "C" {
14252    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_generator"]
14253    pub fn EC_GROUP_set_generator(
14254        group: *mut EC_GROUP,
14255        generator: *const EC_POINT,
14256        order: *const BIGNUM,
14257        cofactor: *const BIGNUM,
14258    ) -> ::std::os::raw::c_int;
14259}
14260extern "C" {
14261    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_point2bn"]
14262    pub fn EC_POINT_point2bn(
14263        group: *const EC_GROUP,
14264        point: *const EC_POINT,
14265        form: point_conversion_form_t,
14266        ret: *mut BIGNUM,
14267        ctx: *mut BN_CTX,
14268    ) -> *mut BIGNUM;
14269}
14270extern "C" {
14271    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_bn2point"]
14272    pub fn EC_POINT_bn2point(
14273        group: *const EC_GROUP,
14274        bn: *const BIGNUM,
14275        point: *mut EC_POINT,
14276        ctx: *mut BN_CTX,
14277    ) -> *mut EC_POINT;
14278}
14279extern "C" {
14280    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_order"]
14281    pub fn EC_GROUP_get_order(
14282        group: *const EC_GROUP,
14283        order: *mut BIGNUM,
14284        ctx: *mut BN_CTX,
14285    ) -> ::std::os::raw::c_int;
14286}
14287#[repr(C)]
14288#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14289pub struct EC_builtin_curve {
14290    pub nid: ::std::os::raw::c_int,
14291    pub comment: *const ::std::os::raw::c_char,
14292}
14293#[test]
14294fn bindgen_test_layout_EC_builtin_curve() {
14295    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
14296    let ptr = UNINIT.as_ptr();
14297    assert_eq!(
14298        ::std::mem::size_of::<EC_builtin_curve>(),
14299        16usize,
14300        "Size of EC_builtin_curve"
14301    );
14302    assert_eq!(
14303        ::std::mem::align_of::<EC_builtin_curve>(),
14304        8usize,
14305        "Alignment of EC_builtin_curve"
14306    );
14307    assert_eq!(
14308        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
14309        0usize,
14310        "Offset of field: EC_builtin_curve::nid"
14311    );
14312    assert_eq!(
14313        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
14314        8usize,
14315        "Offset of field: EC_builtin_curve::comment"
14316    );
14317}
14318impl Default for EC_builtin_curve {
14319    fn default() -> Self {
14320        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14321        unsafe {
14322            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14323            s.assume_init()
14324        }
14325    }
14326}
14327extern "C" {
14328    #[link_name = "\u{1}aws_lc_0_35_0_EC_get_builtin_curves"]
14329    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
14330        -> usize;
14331}
14332extern "C" {
14333    #[link_name = "\u{1}aws_lc_0_35_0_EC_POINT_clear_free"]
14334    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
14335}
14336extern "C" {
14337    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_seed"]
14338    pub fn EC_GROUP_set_seed(
14339        group: *mut EC_GROUP,
14340        p: *const ::std::os::raw::c_uchar,
14341        len: usize,
14342    ) -> usize;
14343}
14344extern "C" {
14345    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get0_seed"]
14346    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
14347}
14348extern "C" {
14349    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_seed_len"]
14350    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
14351}
14352extern "C" {
14353    #[link_name = "\u{1}aws_lc_0_35_0_ECPKParameters_print"]
14354    pub fn ECPKParameters_print(
14355        bio: *mut BIO,
14356        group: *const EC_GROUP,
14357        offset: ::std::os::raw::c_int,
14358    ) -> ::std::os::raw::c_int;
14359}
14360extern "C" {
14361    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_asn1_flag"]
14362    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
14363}
14364extern "C" {
14365    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_asn1_flag"]
14366    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14367}
14368extern "C" {
14369    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_set_point_conversion_form"]
14370    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
14371}
14372extern "C" {
14373    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_get_point_conversion_form"]
14374    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
14375}
14376extern "C" {
14377    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_decoded_from_explicit_params"]
14378    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
14379}
14380#[repr(C)]
14381#[derive(Debug, Copy, Clone)]
14382pub struct ec_method_st {
14383    _unused: [u8; 0],
14384}
14385pub type EC_METHOD = ec_method_st;
14386extern "C" {
14387    #[link_name = "\u{1}aws_lc_0_35_0_EC_GROUP_method_of"]
14388    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
14389}
14390extern "C" {
14391    #[link_name = "\u{1}aws_lc_0_35_0_EC_METHOD_get_field_type"]
14392    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
14393}
14394extern "C" {
14395    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_new"]
14396    pub fn ENGINE_new() -> *mut ENGINE;
14397}
14398extern "C" {
14399    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_free"]
14400    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
14401}
14402extern "C" {
14403    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_set_RSA"]
14404    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
14405}
14406extern "C" {
14407    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_get_RSA"]
14408    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
14409}
14410extern "C" {
14411    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_set_EC"]
14412    pub fn ENGINE_set_EC(
14413        engine: *mut ENGINE,
14414        method: *const EC_KEY_METHOD,
14415    ) -> ::std::os::raw::c_int;
14416}
14417extern "C" {
14418    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_get_EC"]
14419    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
14420}
14421extern "C" {
14422    #[link_name = "\u{1}aws_lc_0_35_0_ENGINE_cleanup"]
14423    pub fn ENGINE_cleanup();
14424}
14425extern "C" {
14426    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new"]
14427    pub fn EC_KEY_new() -> *mut EC_KEY;
14428}
14429extern "C" {
14430    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new_method"]
14431    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
14432}
14433extern "C" {
14434    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_new_by_curve_name"]
14435    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
14436}
14437extern "C" {
14438    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_free"]
14439    pub fn EC_KEY_free(key: *mut EC_KEY);
14440}
14441extern "C" {
14442    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_dup"]
14443    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
14444}
14445extern "C" {
14446    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_up_ref"]
14447    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14448}
14449extern "C" {
14450    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_is_opaque"]
14451    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
14452}
14453extern "C" {
14454    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_group"]
14455    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
14456}
14457extern "C" {
14458    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_group"]
14459    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14460}
14461extern "C" {
14462    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_private_key"]
14463    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
14464}
14465extern "C" {
14466    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_private_key"]
14467    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
14468}
14469extern "C" {
14470    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get0_public_key"]
14471    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
14472}
14473extern "C" {
14474    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_public_key"]
14475    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
14476}
14477extern "C" {
14478    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_enc_flags"]
14479    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
14480}
14481extern "C" {
14482    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_enc_flags"]
14483    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
14484}
14485extern "C" {
14486    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_conv_form"]
14487    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
14488}
14489extern "C" {
14490    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_conv_form"]
14491    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
14492}
14493extern "C" {
14494    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_check_key"]
14495    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
14496}
14497extern "C" {
14498    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_check_fips"]
14499    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
14500}
14501extern "C" {
14502    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_public_key_affine_coordinates"]
14503    pub fn EC_KEY_set_public_key_affine_coordinates(
14504        key: *mut EC_KEY,
14505        x: *const BIGNUM,
14506        y: *const BIGNUM,
14507    ) -> ::std::os::raw::c_int;
14508}
14509extern "C" {
14510    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_key2buf"]
14511    pub fn EC_KEY_key2buf(
14512        key: *const EC_KEY,
14513        form: point_conversion_form_t,
14514        out_buf: *mut *mut ::std::os::raw::c_uchar,
14515        ctx: *mut BN_CTX,
14516    ) -> usize;
14517}
14518extern "C" {
14519    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_generate_key"]
14520    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14521}
14522extern "C" {
14523    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_generate_key_fips"]
14524    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14525}
14526extern "C" {
14527    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_derive_from_secret"]
14528    pub fn EC_KEY_derive_from_secret(
14529        group: *const EC_GROUP,
14530        secret: *const u8,
14531        secret_len: usize,
14532    ) -> *mut EC_KEY;
14533}
14534extern "C" {
14535    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_private_key"]
14536    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
14537}
14538extern "C" {
14539    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_marshal_private_key"]
14540    pub fn EC_KEY_marshal_private_key(
14541        cbb: *mut CBB,
14542        key: *const EC_KEY,
14543        enc_flags: ::std::os::raw::c_uint,
14544    ) -> ::std::os::raw::c_int;
14545}
14546extern "C" {
14547    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_curve_name"]
14548    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
14549}
14550extern "C" {
14551    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_marshal_curve_name"]
14552    pub fn EC_KEY_marshal_curve_name(
14553        cbb: *mut CBB,
14554        group: *const EC_GROUP,
14555    ) -> ::std::os::raw::c_int;
14556}
14557extern "C" {
14558    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_parse_parameters"]
14559    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
14560}
14561extern "C" {
14562    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_ex_new_index"]
14563    pub fn EC_KEY_get_ex_new_index(
14564        argl: ::std::os::raw::c_long,
14565        argp: *mut ::std::os::raw::c_void,
14566        unused: *mut CRYPTO_EX_unused,
14567        dup_unused: CRYPTO_EX_dup,
14568        free_func: CRYPTO_EX_free,
14569    ) -> ::std::os::raw::c_int;
14570}
14571extern "C" {
14572    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_ex_data"]
14573    pub fn EC_KEY_set_ex_data(
14574        r: *mut EC_KEY,
14575        idx: ::std::os::raw::c_int,
14576        arg: *mut ::std::os::raw::c_void,
14577    ) -> ::std::os::raw::c_int;
14578}
14579extern "C" {
14580    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_ex_data"]
14581    pub fn EC_KEY_get_ex_data(
14582        r: *const EC_KEY,
14583        idx: ::std::os::raw::c_int,
14584    ) -> *mut ::std::os::raw::c_void;
14585}
14586extern "C" {
14587    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPrivateKey"]
14588    pub fn d2i_ECPrivateKey(
14589        out_key: *mut *mut EC_KEY,
14590        inp: *mut *const u8,
14591        len: ::std::os::raw::c_long,
14592    ) -> *mut EC_KEY;
14593}
14594extern "C" {
14595    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPrivateKey"]
14596    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14597}
14598extern "C" {
14599    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECParameters"]
14600    pub fn d2i_ECParameters(
14601        out_key: *mut *mut EC_KEY,
14602        inp: *mut *const u8,
14603        len: ::std::os::raw::c_long,
14604    ) -> *mut EC_KEY;
14605}
14606extern "C" {
14607    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECParameters"]
14608    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14609}
14610extern "C" {
14611    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPKParameters_bio"]
14612    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
14613}
14614extern "C" {
14615    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPKParameters_bio"]
14616    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14617}
14618extern "C" {
14619    #[link_name = "\u{1}aws_lc_0_35_0_o2i_ECPublicKey"]
14620    pub fn o2i_ECPublicKey(
14621        out_key: *mut *mut EC_KEY,
14622        inp: *mut *const u8,
14623        len: ::std::os::raw::c_long,
14624    ) -> *mut EC_KEY;
14625}
14626extern "C" {
14627    #[link_name = "\u{1}aws_lc_0_35_0_i2o_ECPublicKey"]
14628    pub fn i2o_ECPublicKey(
14629        key: *const EC_KEY,
14630        outp: *mut *mut ::std::os::raw::c_uchar,
14631    ) -> ::std::os::raw::c_int;
14632}
14633extern "C" {
14634    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_default_method"]
14635    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
14636}
14637extern "C" {
14638    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_OpenSSL"]
14639    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
14640}
14641extern "C" {
14642    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_new"]
14643    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
14644}
14645extern "C" {
14646    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_free"]
14647    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
14648}
14649extern "C" {
14650    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_method"]
14651    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
14652}
14653extern "C" {
14654    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_get_method"]
14655    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
14656}
14657extern "C" {
14658    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_sign_awslc"]
14659    pub fn EC_KEY_METHOD_set_sign_awslc(
14660        meth: *mut EC_KEY_METHOD,
14661        sign: ::std::option::Option<
14662            unsafe extern "C" fn(
14663                type_: ::std::os::raw::c_int,
14664                digest: *const u8,
14665                digest_len: ::std::os::raw::c_int,
14666                sig: *mut u8,
14667                siglen: *mut ::std::os::raw::c_uint,
14668                k_inv: *const BIGNUM,
14669                r: *const BIGNUM,
14670                eckey: *mut EC_KEY,
14671            ) -> ::std::os::raw::c_int,
14672        >,
14673        sign_sig: ::std::option::Option<
14674            unsafe extern "C" fn(
14675                digest: *const u8,
14676                digest_len: ::std::os::raw::c_int,
14677                in_kinv: *const BIGNUM,
14678                in_r: *const BIGNUM,
14679                eckey: *mut EC_KEY,
14680            ) -> *mut ECDSA_SIG,
14681        >,
14682    );
14683}
14684extern "C" {
14685    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_init_awslc"]
14686    pub fn EC_KEY_METHOD_set_init_awslc(
14687        meth: *mut EC_KEY_METHOD,
14688        init: ::std::option::Option<
14689            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
14690        >,
14691        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
14692    );
14693}
14694extern "C" {
14695    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_METHOD_set_flags"]
14696    pub fn EC_KEY_METHOD_set_flags(
14697        meth: *mut EC_KEY_METHOD,
14698        flags: ::std::os::raw::c_int,
14699    ) -> ::std::os::raw::c_int;
14700}
14701extern "C" {
14702    #[link_name = "\u{1}aws_lc_0_35_0_EC_KEY_set_asn1_flag"]
14703    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
14704}
14705extern "C" {
14706    #[link_name = "\u{1}aws_lc_0_35_0_ECDH_compute_key"]
14707    pub fn ECDH_compute_key(
14708        out: *mut ::std::os::raw::c_void,
14709        outlen: usize,
14710        pub_key: *const EC_POINT,
14711        priv_key: *const EC_KEY,
14712        kdf: ::std::option::Option<
14713            unsafe extern "C" fn(
14714                in_: *const ::std::os::raw::c_void,
14715                inlen: usize,
14716                out: *mut ::std::os::raw::c_void,
14717                outlen: *mut usize,
14718            ) -> *mut ::std::os::raw::c_void,
14719        >,
14720    ) -> ::std::os::raw::c_int;
14721}
14722extern "C" {
14723    #[link_name = "\u{1}aws_lc_0_35_0_ECDH_compute_key_fips"]
14724    pub fn ECDH_compute_key_fips(
14725        out: *mut u8,
14726        out_len: usize,
14727        pub_key: *const EC_POINT,
14728        priv_key: *const EC_KEY,
14729    ) -> ::std::os::raw::c_int;
14730}
14731extern "C" {
14732    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_sign"]
14733    pub fn ECDSA_sign(
14734        type_: ::std::os::raw::c_int,
14735        digest: *const u8,
14736        digest_len: usize,
14737        sig: *mut u8,
14738        sig_len: *mut ::std::os::raw::c_uint,
14739        key: *const EC_KEY,
14740    ) -> ::std::os::raw::c_int;
14741}
14742extern "C" {
14743    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_verify"]
14744    pub fn ECDSA_verify(
14745        type_: ::std::os::raw::c_int,
14746        digest: *const u8,
14747        digest_len: usize,
14748        sig: *const u8,
14749        sig_len: usize,
14750        key: *const EC_KEY,
14751    ) -> ::std::os::raw::c_int;
14752}
14753extern "C" {
14754    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_size"]
14755    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
14756}
14757#[repr(C)]
14758#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14759pub struct ecdsa_sig_st {
14760    pub r: *mut BIGNUM,
14761    pub s: *mut BIGNUM,
14762}
14763#[test]
14764fn bindgen_test_layout_ecdsa_sig_st() {
14765    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
14766    let ptr = UNINIT.as_ptr();
14767    assert_eq!(
14768        ::std::mem::size_of::<ecdsa_sig_st>(),
14769        16usize,
14770        "Size of ecdsa_sig_st"
14771    );
14772    assert_eq!(
14773        ::std::mem::align_of::<ecdsa_sig_st>(),
14774        8usize,
14775        "Alignment of ecdsa_sig_st"
14776    );
14777    assert_eq!(
14778        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14779        0usize,
14780        "Offset of field: ecdsa_sig_st::r"
14781    );
14782    assert_eq!(
14783        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14784        8usize,
14785        "Offset of field: ecdsa_sig_st::s"
14786    );
14787}
14788impl Default for ecdsa_sig_st {
14789    fn default() -> Self {
14790        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14791        unsafe {
14792            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14793            s.assume_init()
14794        }
14795    }
14796}
14797extern "C" {
14798    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_new"]
14799    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
14800}
14801extern "C" {
14802    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_free"]
14803    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
14804}
14805extern "C" {
14806    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0_r"]
14807    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
14808}
14809extern "C" {
14810    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0_s"]
14811    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
14812}
14813extern "C" {
14814    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_get0"]
14815    pub fn ECDSA_SIG_get0(
14816        sig: *const ECDSA_SIG,
14817        out_r: *mut *const BIGNUM,
14818        out_s: *mut *const BIGNUM,
14819    );
14820}
14821extern "C" {
14822    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_set0"]
14823    pub fn ECDSA_SIG_set0(
14824        sig: *mut ECDSA_SIG,
14825        r: *mut BIGNUM,
14826        s: *mut BIGNUM,
14827    ) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_do_sign"]
14831    pub fn ECDSA_do_sign(
14832        digest: *const u8,
14833        digest_len: usize,
14834        key: *const EC_KEY,
14835    ) -> *mut ECDSA_SIG;
14836}
14837extern "C" {
14838    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_do_verify"]
14839    pub fn ECDSA_do_verify(
14840        digest: *const u8,
14841        digest_len: usize,
14842        sig: *const ECDSA_SIG,
14843        key: *const EC_KEY,
14844    ) -> ::std::os::raw::c_int;
14845}
14846extern "C" {
14847    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_parse"]
14848    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
14849}
14850extern "C" {
14851    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_from_bytes"]
14852    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
14853}
14854extern "C" {
14855    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_marshal"]
14856    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
14857}
14858extern "C" {
14859    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_to_bytes"]
14860    pub fn ECDSA_SIG_to_bytes(
14861        out_bytes: *mut *mut u8,
14862        out_len: *mut usize,
14863        sig: *const ECDSA_SIG,
14864    ) -> ::std::os::raw::c_int;
14865}
14866extern "C" {
14867    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_SIG_max_len"]
14868    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
14869}
14870extern "C" {
14871    #[link_name = "\u{1}aws_lc_0_35_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
14872    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
14873        digest: *const u8,
14874        digest_len: usize,
14875        eckey: *const EC_KEY,
14876        nonce: *const u8,
14877        nonce_len: usize,
14878    ) -> *mut ECDSA_SIG;
14879}
14880extern "C" {
14881    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECDSA_SIG"]
14882    pub fn d2i_ECDSA_SIG(
14883        out: *mut *mut ECDSA_SIG,
14884        inp: *mut *const u8,
14885        len: ::std::os::raw::c_long,
14886    ) -> *mut ECDSA_SIG;
14887}
14888extern "C" {
14889    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECDSA_SIG"]
14890    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14891}
14892extern "C" {
14893    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm"]
14894    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
14895}
14896extern "C" {
14897    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_192_gcm"]
14898    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
14899}
14900extern "C" {
14901    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm"]
14902    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
14903}
14904extern "C" {
14905    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_chacha20_poly1305"]
14906    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
14907}
14908extern "C" {
14909    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_xchacha20_poly1305"]
14910    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
14911}
14912extern "C" {
14913    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ctr_hmac_sha256"]
14914    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
14915}
14916extern "C" {
14917    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_ctr_hmac_sha256"]
14918    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
14919}
14920extern "C" {
14921    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_siv"]
14922    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
14923}
14924extern "C" {
14925    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_siv"]
14926    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
14927}
14928extern "C" {
14929    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_randnonce"]
14930    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
14931}
14932extern "C" {
14933    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_randnonce"]
14934    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
14935}
14936extern "C" {
14937    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_bluetooth"]
14938    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
14939}
14940extern "C" {
14941    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_bluetooth_8"]
14942    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
14943}
14944extern "C" {
14945    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_ccm_matter"]
14946    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
14947}
14948extern "C" {
14949    #[link_name = "\u{1}aws_lc_0_35_0_EVP_has_aes_hardware"]
14950    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
14951}
14952extern "C" {
14953    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_key_length"]
14954    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
14955}
14956extern "C" {
14957    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_nonce_length"]
14958    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
14959}
14960extern "C" {
14961    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_max_overhead"]
14962    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
14963}
14964extern "C" {
14965    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_max_tag_len"]
14966    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
14967}
14968#[repr(C)]
14969#[derive(Copy, Clone)]
14970pub union evp_aead_ctx_st_state {
14971    pub opaque: [u8; 564usize],
14972    pub alignment: u64,
14973    pub ptr: *mut ::std::os::raw::c_void,
14974}
14975#[test]
14976fn bindgen_test_layout_evp_aead_ctx_st_state() {
14977    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
14978        ::std::mem::MaybeUninit::uninit();
14979    let ptr = UNINIT.as_ptr();
14980    assert_eq!(
14981        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
14982        568usize,
14983        "Size of evp_aead_ctx_st_state"
14984    );
14985    assert_eq!(
14986        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
14987        8usize,
14988        "Alignment of evp_aead_ctx_st_state"
14989    );
14990    assert_eq!(
14991        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
14992        0usize,
14993        "Offset of field: evp_aead_ctx_st_state::opaque"
14994    );
14995    assert_eq!(
14996        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
14997        0usize,
14998        "Offset of field: evp_aead_ctx_st_state::alignment"
14999    );
15000    assert_eq!(
15001        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15002        0usize,
15003        "Offset of field: evp_aead_ctx_st_state::ptr"
15004    );
15005}
15006impl Default for evp_aead_ctx_st_state {
15007    fn default() -> Self {
15008        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15009        unsafe {
15010            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15011            s.assume_init()
15012        }
15013    }
15014}
15015#[repr(C)]
15016#[derive(Copy, Clone)]
15017pub struct evp_aead_ctx_st {
15018    pub aead: *const EVP_AEAD,
15019    pub state: evp_aead_ctx_st_state,
15020    pub state_offset: u8,
15021    pub tag_len: u8,
15022}
15023#[test]
15024fn bindgen_test_layout_evp_aead_ctx_st() {
15025    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15026    let ptr = UNINIT.as_ptr();
15027    assert_eq!(
15028        ::std::mem::size_of::<evp_aead_ctx_st>(),
15029        584usize,
15030        "Size of evp_aead_ctx_st"
15031    );
15032    assert_eq!(
15033        ::std::mem::align_of::<evp_aead_ctx_st>(),
15034        8usize,
15035        "Alignment of evp_aead_ctx_st"
15036    );
15037    assert_eq!(
15038        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15039        0usize,
15040        "Offset of field: evp_aead_ctx_st::aead"
15041    );
15042    assert_eq!(
15043        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15044        8usize,
15045        "Offset of field: evp_aead_ctx_st::state"
15046    );
15047    assert_eq!(
15048        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15049        576usize,
15050        "Offset of field: evp_aead_ctx_st::state_offset"
15051    );
15052    assert_eq!(
15053        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15054        577usize,
15055        "Offset of field: evp_aead_ctx_st::tag_len"
15056    );
15057}
15058impl Default for evp_aead_ctx_st {
15059    fn default() -> Self {
15060        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15061        unsafe {
15062            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15063            s.assume_init()
15064        }
15065    }
15066}
15067extern "C" {
15068    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_zero"]
15069    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15070}
15071extern "C" {
15072    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_new"]
15073    pub fn EVP_AEAD_CTX_new(
15074        aead: *const EVP_AEAD,
15075        key: *const u8,
15076        key_len: usize,
15077        tag_len: usize,
15078    ) -> *mut EVP_AEAD_CTX;
15079}
15080extern "C" {
15081    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_free"]
15082    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15083}
15084extern "C" {
15085    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_init"]
15086    pub fn EVP_AEAD_CTX_init(
15087        ctx: *mut EVP_AEAD_CTX,
15088        aead: *const EVP_AEAD,
15089        key: *const u8,
15090        key_len: usize,
15091        tag_len: usize,
15092        impl_: *mut ENGINE,
15093    ) -> ::std::os::raw::c_int;
15094}
15095extern "C" {
15096    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_cleanup"]
15097    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15098}
15099extern "C" {
15100    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_seal"]
15101    pub fn EVP_AEAD_CTX_seal(
15102        ctx: *const EVP_AEAD_CTX,
15103        out: *mut u8,
15104        out_len: *mut usize,
15105        max_out_len: usize,
15106        nonce: *const u8,
15107        nonce_len: usize,
15108        in_: *const u8,
15109        in_len: usize,
15110        ad: *const u8,
15111        ad_len: usize,
15112    ) -> ::std::os::raw::c_int;
15113}
15114extern "C" {
15115    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_open"]
15116    pub fn EVP_AEAD_CTX_open(
15117        ctx: *const EVP_AEAD_CTX,
15118        out: *mut u8,
15119        out_len: *mut usize,
15120        max_out_len: usize,
15121        nonce: *const u8,
15122        nonce_len: usize,
15123        in_: *const u8,
15124        in_len: usize,
15125        ad: *const u8,
15126        ad_len: usize,
15127    ) -> ::std::os::raw::c_int;
15128}
15129extern "C" {
15130    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_seal_scatter"]
15131    pub fn EVP_AEAD_CTX_seal_scatter(
15132        ctx: *const EVP_AEAD_CTX,
15133        out: *mut u8,
15134        out_tag: *mut u8,
15135        out_tag_len: *mut usize,
15136        max_out_tag_len: usize,
15137        nonce: *const u8,
15138        nonce_len: usize,
15139        in_: *const u8,
15140        in_len: usize,
15141        extra_in: *const u8,
15142        extra_in_len: usize,
15143        ad: *const u8,
15144        ad_len: usize,
15145    ) -> ::std::os::raw::c_int;
15146}
15147extern "C" {
15148    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_open_gather"]
15149    pub fn EVP_AEAD_CTX_open_gather(
15150        ctx: *const EVP_AEAD_CTX,
15151        out: *mut u8,
15152        nonce: *const u8,
15153        nonce_len: usize,
15154        in_: *const u8,
15155        in_len: usize,
15156        in_tag: *const u8,
15157        in_tag_len: usize,
15158        ad: *const u8,
15159        ad_len: usize,
15160    ) -> ::std::os::raw::c_int;
15161}
15162extern "C" {
15163    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_aead"]
15164    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15165}
15166extern "C" {
15167    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha1_tls"]
15168    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15169}
15170extern "C" {
15171    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15172    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15173}
15174extern "C" {
15175    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha1_tls"]
15176    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
15177}
15178extern "C" {
15179    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
15180    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15181}
15182extern "C" {
15183    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha256_tls"]
15184    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
15185}
15186extern "C" {
15187    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
15188    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
15189}
15190extern "C" {
15191    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_cbc_sha384_tls"]
15192    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
15193}
15194extern "C" {
15195    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_des_ede3_cbc_sha1_tls"]
15196    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
15197}
15198extern "C" {
15199    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
15200    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15201}
15202extern "C" {
15203    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_null_sha1_tls"]
15204    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
15205}
15206extern "C" {
15207    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_tls12"]
15208    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
15209}
15210extern "C" {
15211    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_tls12"]
15212    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
15213}
15214extern "C" {
15215    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_128_gcm_tls13"]
15216    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
15217}
15218extern "C" {
15219    #[link_name = "\u{1}aws_lc_0_35_0_EVP_aead_aes_256_gcm_tls13"]
15220    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
15221}
15222pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
15223pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
15224pub type evp_aead_direction_t = ::std::os::raw::c_uint;
15225extern "C" {
15226    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_init_with_direction"]
15227    pub fn EVP_AEAD_CTX_init_with_direction(
15228        ctx: *mut EVP_AEAD_CTX,
15229        aead: *const EVP_AEAD,
15230        key: *const u8,
15231        key_len: usize,
15232        tag_len: usize,
15233        dir: evp_aead_direction_t,
15234    ) -> ::std::os::raw::c_int;
15235}
15236extern "C" {
15237    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_get_iv"]
15238    pub fn EVP_AEAD_CTX_get_iv(
15239        ctx: *const EVP_AEAD_CTX,
15240        out_iv: *mut *const u8,
15241        out_len: *mut usize,
15242    ) -> ::std::os::raw::c_int;
15243}
15244extern "C" {
15245    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_CTX_tag_len"]
15246    pub fn EVP_AEAD_CTX_tag_len(
15247        ctx: *const EVP_AEAD_CTX,
15248        out_tag_len: *mut usize,
15249        in_len: usize,
15250        extra_in_len: usize,
15251    ) -> ::std::os::raw::c_int;
15252}
15253extern "C" {
15254    #[link_name = "\u{1}aws_lc_0_35_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
15255    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
15256        ipv4_address: u32,
15257        nanosecs: u64,
15258        out_iv: *mut u8,
15259    ) -> ::std::os::raw::c_int;
15260}
15261extern "C" {
15262    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_dup"]
15263    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15264}
15265extern "C" {
15266    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_cmp"]
15267    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15268}
15269extern "C" {
15270    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_get0_data"]
15271    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15272}
15273extern "C" {
15274    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_length"]
15275    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15276}
15277extern "C" {
15278    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_obj2nid"]
15279    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15280}
15281extern "C" {
15282    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_cbs2nid"]
15283    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
15284}
15285extern "C" {
15286    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_sn2nid"]
15287    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15288}
15289extern "C" {
15290    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_ln2nid"]
15291    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15292}
15293extern "C" {
15294    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_txt2nid"]
15295    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15296}
15297extern "C" {
15298    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_nid2obj"]
15299    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
15300}
15301extern "C" {
15302    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_get_undef"]
15303    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15304}
15305extern "C" {
15306    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_nid2sn"]
15307    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15308}
15309extern "C" {
15310    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_nid2ln"]
15311    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15312}
15313extern "C" {
15314    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_nid2cbb"]
15315    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15316}
15317extern "C" {
15318    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_txt2obj"]
15319    pub fn OBJ_txt2obj(
15320        s: *const ::std::os::raw::c_char,
15321        dont_search_names: ::std::os::raw::c_int,
15322    ) -> *mut ASN1_OBJECT;
15323}
15324extern "C" {
15325    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_obj2txt"]
15326    pub fn OBJ_obj2txt(
15327        out: *mut ::std::os::raw::c_char,
15328        out_len: ::std::os::raw::c_int,
15329        obj: *const ASN1_OBJECT,
15330        always_return_oid: ::std::os::raw::c_int,
15331    ) -> ::std::os::raw::c_int;
15332}
15333extern "C" {
15334    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_create"]
15335    pub fn OBJ_create(
15336        oid: *const ::std::os::raw::c_char,
15337        short_name: *const ::std::os::raw::c_char,
15338        long_name: *const ::std::os::raw::c_char,
15339    ) -> ::std::os::raw::c_int;
15340}
15341extern "C" {
15342    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_find_sigid_algs"]
15343    pub fn OBJ_find_sigid_algs(
15344        sign_nid: ::std::os::raw::c_int,
15345        out_digest_nid: *mut ::std::os::raw::c_int,
15346        out_pkey_nid: *mut ::std::os::raw::c_int,
15347    ) -> ::std::os::raw::c_int;
15348}
15349extern "C" {
15350    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_find_sigid_by_algs"]
15351    pub fn OBJ_find_sigid_by_algs(
15352        out_sign_nid: *mut ::std::os::raw::c_int,
15353        digest_nid: ::std::os::raw::c_int,
15354        pkey_nid: ::std::os::raw::c_int,
15355    ) -> ::std::os::raw::c_int;
15356}
15357#[repr(C)]
15358#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15359pub struct obj_name_st {
15360    pub type_: ::std::os::raw::c_int,
15361    pub alias: ::std::os::raw::c_int,
15362    pub name: *const ::std::os::raw::c_char,
15363    pub data: *const ::std::os::raw::c_char,
15364}
15365#[test]
15366fn bindgen_test_layout_obj_name_st() {
15367    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
15368    let ptr = UNINIT.as_ptr();
15369    assert_eq!(
15370        ::std::mem::size_of::<obj_name_st>(),
15371        24usize,
15372        "Size of obj_name_st"
15373    );
15374    assert_eq!(
15375        ::std::mem::align_of::<obj_name_st>(),
15376        8usize,
15377        "Alignment of obj_name_st"
15378    );
15379    assert_eq!(
15380        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15381        0usize,
15382        "Offset of field: obj_name_st::type_"
15383    );
15384    assert_eq!(
15385        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
15386        4usize,
15387        "Offset of field: obj_name_st::alias"
15388    );
15389    assert_eq!(
15390        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
15391        8usize,
15392        "Offset of field: obj_name_st::name"
15393    );
15394    assert_eq!(
15395        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15396        16usize,
15397        "Offset of field: obj_name_st::data"
15398    );
15399}
15400impl Default for obj_name_st {
15401    fn default() -> Self {
15402        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15403        unsafe {
15404            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15405            s.assume_init()
15406        }
15407    }
15408}
15409pub type OBJ_NAME = obj_name_st;
15410extern "C" {
15411    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_NAME_do_all_sorted"]
15412    pub fn OBJ_NAME_do_all_sorted(
15413        type_: ::std::os::raw::c_int,
15414        callback: ::std::option::Option<
15415            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
15416        >,
15417        arg: *mut ::std::os::raw::c_void,
15418    );
15419}
15420extern "C" {
15421    #[link_name = "\u{1}aws_lc_0_35_0_OBJ_cleanup"]
15422    pub fn OBJ_cleanup();
15423}
15424extern "C" {
15425    #[link_name = "\u{1}aws_lc_0_35_0_MD5_Init"]
15426    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15427}
15428extern "C" {
15429    #[link_name = "\u{1}aws_lc_0_35_0_MD5_Update"]
15430    pub fn MD5_Update(
15431        md5: *mut MD5_CTX,
15432        data: *const ::std::os::raw::c_void,
15433        len: usize,
15434    ) -> ::std::os::raw::c_int;
15435}
15436extern "C" {
15437    #[link_name = "\u{1}aws_lc_0_35_0_MD5_Final"]
15438    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15439}
15440extern "C" {
15441    #[link_name = "\u{1}aws_lc_0_35_0_MD5"]
15442    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15443}
15444extern "C" {
15445    #[link_name = "\u{1}aws_lc_0_35_0_MD5_Transform"]
15446    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
15447}
15448#[repr(C)]
15449#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15450pub struct md5_state_st {
15451    pub h: [u32; 4usize],
15452    pub Nl: u32,
15453    pub Nh: u32,
15454    pub data: [u8; 64usize],
15455    pub num: ::std::os::raw::c_uint,
15456}
15457#[test]
15458fn bindgen_test_layout_md5_state_st() {
15459    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
15460    let ptr = UNINIT.as_ptr();
15461    assert_eq!(
15462        ::std::mem::size_of::<md5_state_st>(),
15463        92usize,
15464        "Size of md5_state_st"
15465    );
15466    assert_eq!(
15467        ::std::mem::align_of::<md5_state_st>(),
15468        4usize,
15469        "Alignment of md5_state_st"
15470    );
15471    assert_eq!(
15472        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
15473        0usize,
15474        "Offset of field: md5_state_st::h"
15475    );
15476    assert_eq!(
15477        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
15478        16usize,
15479        "Offset of field: md5_state_st::Nl"
15480    );
15481    assert_eq!(
15482        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
15483        20usize,
15484        "Offset of field: md5_state_st::Nh"
15485    );
15486    assert_eq!(
15487        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15488        24usize,
15489        "Offset of field: md5_state_st::data"
15490    );
15491    assert_eq!(
15492        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
15493        88usize,
15494        "Offset of field: md5_state_st::num"
15495    );
15496}
15497impl Default for md5_state_st {
15498    fn default() -> Self {
15499        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15500        unsafe {
15501            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15502            s.assume_init()
15503        }
15504    }
15505}
15506extern "C" {
15507    #[link_name = "\u{1}aws_lc_0_35_0_HMAC"]
15508    pub fn HMAC(
15509        evp_md: *const EVP_MD,
15510        key: *const ::std::os::raw::c_void,
15511        key_len: usize,
15512        data: *const u8,
15513        data_len: usize,
15514        out: *mut u8,
15515        out_len: *mut ::std::os::raw::c_uint,
15516    ) -> *mut u8;
15517}
15518extern "C" {
15519    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_init"]
15520    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
15521}
15522extern "C" {
15523    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_new"]
15524    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
15525}
15526extern "C" {
15527    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_cleanup"]
15528    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
15529}
15530extern "C" {
15531    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_cleanse"]
15532    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
15533}
15534extern "C" {
15535    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_free"]
15536    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
15537}
15538extern "C" {
15539    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init_ex"]
15540    pub fn HMAC_Init_ex(
15541        ctx: *mut HMAC_CTX,
15542        key: *const ::std::os::raw::c_void,
15543        key_len: usize,
15544        md: *const EVP_MD,
15545        impl_: *mut ENGINE,
15546    ) -> ::std::os::raw::c_int;
15547}
15548extern "C" {
15549    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Update"]
15550    pub fn HMAC_Update(
15551        ctx: *mut HMAC_CTX,
15552        data: *const u8,
15553        data_len: usize,
15554    ) -> ::std::os::raw::c_int;
15555}
15556extern "C" {
15557    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Final"]
15558    pub fn HMAC_Final(
15559        ctx: *mut HMAC_CTX,
15560        out: *mut u8,
15561        out_len: *mut ::std::os::raw::c_uint,
15562    ) -> ::std::os::raw::c_int;
15563}
15564extern "C" {
15565    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_size"]
15566    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
15567}
15568extern "C" {
15569    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_get_md"]
15570    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
15571}
15572extern "C" {
15573    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_copy_ex"]
15574    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
15575}
15576extern "C" {
15577    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_reset"]
15578    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
15579}
15580extern "C" {
15581    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_set_precomputed_key_export"]
15582    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
15583}
15584extern "C" {
15585    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_get_precomputed_key"]
15586    pub fn HMAC_get_precomputed_key(
15587        ctx: *mut HMAC_CTX,
15588        out: *mut u8,
15589        out_len: *mut usize,
15590    ) -> ::std::os::raw::c_int;
15591}
15592extern "C" {
15593    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init_from_precomputed_key"]
15594    pub fn HMAC_Init_from_precomputed_key(
15595        ctx: *mut HMAC_CTX,
15596        precomputed_key: *const u8,
15597        precompute_key_len: usize,
15598        md: *const EVP_MD,
15599    ) -> ::std::os::raw::c_int;
15600}
15601extern "C" {
15602    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_Init"]
15603    pub fn HMAC_Init(
15604        ctx: *mut HMAC_CTX,
15605        key: *const ::std::os::raw::c_void,
15606        key_len: ::std::os::raw::c_int,
15607        md: *const EVP_MD,
15608    ) -> ::std::os::raw::c_int;
15609}
15610extern "C" {
15611    #[link_name = "\u{1}aws_lc_0_35_0_HMAC_CTX_copy"]
15612    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
15613}
15614#[repr(C)]
15615#[derive(Debug, Copy, Clone)]
15616pub struct hmac_methods_st {
15617    _unused: [u8; 0],
15618}
15619pub type HmacMethods = hmac_methods_st;
15620#[repr(C)]
15621#[derive(Copy, Clone)]
15622pub union md_ctx_union {
15623    pub md5: MD5_CTX,
15624    pub sha1: SHA_CTX,
15625    pub sha256: SHA256_CTX,
15626    pub sha512: SHA512_CTX,
15627    pub sha3: [u8; 400usize],
15628}
15629#[test]
15630fn bindgen_test_layout_md_ctx_union() {
15631    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
15632    let ptr = UNINIT.as_ptr();
15633    assert_eq!(
15634        ::std::mem::size_of::<md_ctx_union>(),
15635        400usize,
15636        "Size of md_ctx_union"
15637    );
15638    assert_eq!(
15639        ::std::mem::align_of::<md_ctx_union>(),
15640        8usize,
15641        "Alignment of md_ctx_union"
15642    );
15643    assert_eq!(
15644        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
15645        0usize,
15646        "Offset of field: md_ctx_union::md5"
15647    );
15648    assert_eq!(
15649        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
15650        0usize,
15651        "Offset of field: md_ctx_union::sha1"
15652    );
15653    assert_eq!(
15654        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
15655        0usize,
15656        "Offset of field: md_ctx_union::sha256"
15657    );
15658    assert_eq!(
15659        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
15660        0usize,
15661        "Offset of field: md_ctx_union::sha512"
15662    );
15663    assert_eq!(
15664        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
15665        0usize,
15666        "Offset of field: md_ctx_union::sha3"
15667    );
15668}
15669impl Default for md_ctx_union {
15670    fn default() -> Self {
15671        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15672        unsafe {
15673            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15674            s.assume_init()
15675        }
15676    }
15677}
15678#[repr(C)]
15679#[derive(Copy, Clone)]
15680pub struct hmac_ctx_st {
15681    pub md: *const EVP_MD,
15682    pub methods: *const HmacMethods,
15683    pub md_ctx: md_ctx_union,
15684    pub i_ctx: md_ctx_union,
15685    pub o_ctx: md_ctx_union,
15686    pub state: i8,
15687}
15688#[test]
15689fn bindgen_test_layout_hmac_ctx_st() {
15690    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
15691    let ptr = UNINIT.as_ptr();
15692    assert_eq!(
15693        ::std::mem::size_of::<hmac_ctx_st>(),
15694        1224usize,
15695        "Size of hmac_ctx_st"
15696    );
15697    assert_eq!(
15698        ::std::mem::align_of::<hmac_ctx_st>(),
15699        8usize,
15700        "Alignment of hmac_ctx_st"
15701    );
15702    assert_eq!(
15703        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
15704        0usize,
15705        "Offset of field: hmac_ctx_st::md"
15706    );
15707    assert_eq!(
15708        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
15709        8usize,
15710        "Offset of field: hmac_ctx_st::methods"
15711    );
15712    assert_eq!(
15713        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
15714        16usize,
15715        "Offset of field: hmac_ctx_st::md_ctx"
15716    );
15717    assert_eq!(
15718        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
15719        416usize,
15720        "Offset of field: hmac_ctx_st::i_ctx"
15721    );
15722    assert_eq!(
15723        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
15724        816usize,
15725        "Offset of field: hmac_ctx_st::o_ctx"
15726    );
15727    assert_eq!(
15728        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15729        1216usize,
15730        "Offset of field: hmac_ctx_st::state"
15731    );
15732}
15733impl Default for hmac_ctx_st {
15734    fn default() -> Self {
15735        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15736        unsafe {
15737            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15738            s.assume_init()
15739        }
15740    }
15741}
15742extern "C" {
15743    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new"]
15744    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
15745}
15746extern "C" {
15747    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_free"]
15748    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
15749}
15750extern "C" {
15751    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_up_ref"]
15752    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
15753}
15754extern "C" {
15755    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_is_opaque"]
15756    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15757}
15758extern "C" {
15759    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_cmp"]
15760    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
15761}
15762extern "C" {
15763    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_copy_parameters"]
15764    pub fn EVP_PKEY_copy_parameters(
15765        to: *mut EVP_PKEY,
15766        from: *const EVP_PKEY,
15767    ) -> ::std::os::raw::c_int;
15768}
15769extern "C" {
15770    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_missing_parameters"]
15771    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15772}
15773extern "C" {
15774    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_size"]
15775    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15776}
15777extern "C" {
15778    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_bits"]
15779    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15780}
15781extern "C" {
15782    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_id"]
15783    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15784}
15785extern "C" {
15786    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_get0_name"]
15787    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15788}
15789extern "C" {
15790    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_name"]
15791    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15792}
15793extern "C" {
15794    #[link_name = "\u{1}aws_lc_0_35_0_EVP_get_pw_prompt"]
15795    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
15796}
15797extern "C" {
15798    #[link_name = "\u{1}aws_lc_0_35_0_EVP_read_pw_string"]
15799    pub fn EVP_read_pw_string(
15800        buf: *mut ::std::os::raw::c_char,
15801        length: ::std::os::raw::c_int,
15802        prompt: *const ::std::os::raw::c_char,
15803        verify: ::std::os::raw::c_int,
15804    ) -> ::std::os::raw::c_int;
15805}
15806extern "C" {
15807    #[link_name = "\u{1}aws_lc_0_35_0_EVP_read_pw_string_min"]
15808    pub fn EVP_read_pw_string_min(
15809        buf: *mut ::std::os::raw::c_char,
15810        min_length: ::std::os::raw::c_int,
15811        length: ::std::os::raw::c_int,
15812        prompt: *const ::std::os::raw::c_char,
15813        verify: ::std::os::raw::c_int,
15814    ) -> ::std::os::raw::c_int;
15815}
15816extern "C" {
15817    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_RSA"]
15818    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15819}
15820extern "C" {
15821    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_RSA"]
15822    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15823}
15824extern "C" {
15825    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_RSA"]
15826    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15827}
15828extern "C" {
15829    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_RSA"]
15830    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15831}
15832extern "C" {
15833    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_DSA"]
15834    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15835}
15836extern "C" {
15837    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_DSA"]
15838    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15839}
15840extern "C" {
15841    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_DSA"]
15842    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15843}
15844extern "C" {
15845    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_DSA"]
15846    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15847}
15848extern "C" {
15849    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_EC_KEY"]
15850    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15851}
15852extern "C" {
15853    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_EC_KEY"]
15854    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15855}
15856extern "C" {
15857    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_EC_KEY"]
15858    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15859}
15860extern "C" {
15861    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_EC_KEY"]
15862    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15863}
15864extern "C" {
15865    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_DH"]
15866    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15867}
15868extern "C" {
15869    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign_DH"]
15870    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15871}
15872extern "C" {
15873    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0_DH"]
15874    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
15875}
15876extern "C" {
15877    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_DH"]
15878    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
15879}
15880extern "C" {
15881    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
15882    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
15883        ctx: *mut EVP_PKEY_CTX,
15884        pbits: ::std::os::raw::c_int,
15885    ) -> ::std::os::raw::c_int;
15886}
15887extern "C" {
15888    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
15889    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
15890        ctx: *mut EVP_PKEY_CTX,
15891        gen_: ::std::os::raw::c_int,
15892    ) -> ::std::os::raw::c_int;
15893}
15894extern "C" {
15895    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set_type"]
15896    pub fn EVP_PKEY_set_type(
15897        pkey: *mut EVP_PKEY,
15898        type_: ::std::os::raw::c_int,
15899    ) -> ::std::os::raw::c_int;
15900}
15901extern "C" {
15902    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set_type_str"]
15903    pub fn EVP_PKEY_set_type_str(
15904        pkey: *mut EVP_PKEY,
15905        str_: *const ::std::os::raw::c_char,
15906        len: ::std::os::raw::c_int,
15907    ) -> ::std::os::raw::c_int;
15908}
15909extern "C" {
15910    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_cmp_parameters"]
15911    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
15912        -> ::std::os::raw::c_int;
15913}
15914extern "C" {
15915    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_public_key"]
15916    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15917}
15918extern "C" {
15919    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_public_key"]
15920    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15921}
15922extern "C" {
15923    #[link_name = "\u{1}aws_lc_0_35_0_EVP_parse_private_key"]
15924    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15925}
15926extern "C" {
15927    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_private_key"]
15928    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15929}
15930extern "C" {
15931    #[link_name = "\u{1}aws_lc_0_35_0_EVP_marshal_private_key_v2"]
15932    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
15933        -> ::std::os::raw::c_int;
15934}
15935extern "C" {
15936    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_raw_private_key"]
15937    pub fn EVP_PKEY_new_raw_private_key(
15938        type_: ::std::os::raw::c_int,
15939        unused: *mut ENGINE,
15940        in_: *const u8,
15941        len: usize,
15942    ) -> *mut EVP_PKEY;
15943}
15944extern "C" {
15945    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_raw_public_key"]
15946    pub fn EVP_PKEY_new_raw_public_key(
15947        type_: ::std::os::raw::c_int,
15948        unused: *mut ENGINE,
15949        in_: *const u8,
15950        len: usize,
15951    ) -> *mut EVP_PKEY;
15952}
15953extern "C" {
15954    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get_raw_private_key"]
15955    pub fn EVP_PKEY_get_raw_private_key(
15956        pkey: *const EVP_PKEY,
15957        out: *mut u8,
15958        out_len: *mut usize,
15959    ) -> ::std::os::raw::c_int;
15960}
15961extern "C" {
15962    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get_raw_public_key"]
15963    pub fn EVP_PKEY_get_raw_public_key(
15964        pkey: *const EVP_PKEY,
15965        out: *mut u8,
15966        out_len: *mut usize,
15967    ) -> ::std::os::raw::c_int;
15968}
15969extern "C" {
15970    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignInit"]
15971    pub fn EVP_DigestSignInit(
15972        ctx: *mut EVP_MD_CTX,
15973        pctx: *mut *mut EVP_PKEY_CTX,
15974        type_: *const EVP_MD,
15975        e: *mut ENGINE,
15976        pkey: *mut EVP_PKEY,
15977    ) -> ::std::os::raw::c_int;
15978}
15979extern "C" {
15980    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignUpdate"]
15981    pub fn EVP_DigestSignUpdate(
15982        ctx: *mut EVP_MD_CTX,
15983        data: *const ::std::os::raw::c_void,
15984        len: usize,
15985    ) -> ::std::os::raw::c_int;
15986}
15987extern "C" {
15988    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSignFinal"]
15989    pub fn EVP_DigestSignFinal(
15990        ctx: *mut EVP_MD_CTX,
15991        out_sig: *mut u8,
15992        out_sig_len: *mut usize,
15993    ) -> ::std::os::raw::c_int;
15994}
15995extern "C" {
15996    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestSign"]
15997    pub fn EVP_DigestSign(
15998        ctx: *mut EVP_MD_CTX,
15999        out_sig: *mut u8,
16000        out_sig_len: *mut usize,
16001        data: *const u8,
16002        data_len: usize,
16003    ) -> ::std::os::raw::c_int;
16004}
16005extern "C" {
16006    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyInit"]
16007    pub fn EVP_DigestVerifyInit(
16008        ctx: *mut EVP_MD_CTX,
16009        pctx: *mut *mut EVP_PKEY_CTX,
16010        type_: *const EVP_MD,
16011        e: *mut ENGINE,
16012        pkey: *mut EVP_PKEY,
16013    ) -> ::std::os::raw::c_int;
16014}
16015extern "C" {
16016    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyUpdate"]
16017    pub fn EVP_DigestVerifyUpdate(
16018        ctx: *mut EVP_MD_CTX,
16019        data: *const ::std::os::raw::c_void,
16020        len: usize,
16021    ) -> ::std::os::raw::c_int;
16022}
16023extern "C" {
16024    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerifyFinal"]
16025    pub fn EVP_DigestVerifyFinal(
16026        ctx: *mut EVP_MD_CTX,
16027        sig: *const u8,
16028        sig_len: usize,
16029    ) -> ::std::os::raw::c_int;
16030}
16031extern "C" {
16032    #[link_name = "\u{1}aws_lc_0_35_0_EVP_DigestVerify"]
16033    pub fn EVP_DigestVerify(
16034        ctx: *mut EVP_MD_CTX,
16035        sig: *const u8,
16036        sig_len: usize,
16037        data: *const u8,
16038        len: usize,
16039    ) -> ::std::os::raw::c_int;
16040}
16041extern "C" {
16042    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignInit_ex"]
16043    pub fn EVP_SignInit_ex(
16044        ctx: *mut EVP_MD_CTX,
16045        type_: *const EVP_MD,
16046        impl_: *mut ENGINE,
16047    ) -> ::std::os::raw::c_int;
16048}
16049extern "C" {
16050    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignInit"]
16051    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16052}
16053extern "C" {
16054    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignUpdate"]
16055    pub fn EVP_SignUpdate(
16056        ctx: *mut EVP_MD_CTX,
16057        data: *const ::std::os::raw::c_void,
16058        len: usize,
16059    ) -> ::std::os::raw::c_int;
16060}
16061extern "C" {
16062    #[link_name = "\u{1}aws_lc_0_35_0_EVP_SignFinal"]
16063    pub fn EVP_SignFinal(
16064        ctx: *const EVP_MD_CTX,
16065        sig: *mut u8,
16066        out_sig_len: *mut ::std::os::raw::c_uint,
16067        pkey: *mut EVP_PKEY,
16068    ) -> ::std::os::raw::c_int;
16069}
16070extern "C" {
16071    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyInit_ex"]
16072    pub fn EVP_VerifyInit_ex(
16073        ctx: *mut EVP_MD_CTX,
16074        type_: *const EVP_MD,
16075        impl_: *mut ENGINE,
16076    ) -> ::std::os::raw::c_int;
16077}
16078extern "C" {
16079    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyInit"]
16080    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16081}
16082extern "C" {
16083    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyUpdate"]
16084    pub fn EVP_VerifyUpdate(
16085        ctx: *mut EVP_MD_CTX,
16086        data: *const ::std::os::raw::c_void,
16087        len: usize,
16088    ) -> ::std::os::raw::c_int;
16089}
16090extern "C" {
16091    #[link_name = "\u{1}aws_lc_0_35_0_EVP_VerifyFinal"]
16092    pub fn EVP_VerifyFinal(
16093        ctx: *mut EVP_MD_CTX,
16094        sig: *const u8,
16095        sig_len: usize,
16096        pkey: *mut EVP_PKEY,
16097    ) -> ::std::os::raw::c_int;
16098}
16099extern "C" {
16100    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_public"]
16101    pub fn EVP_PKEY_print_public(
16102        out: *mut BIO,
16103        pkey: *const EVP_PKEY,
16104        indent: ::std::os::raw::c_int,
16105        pctx: *mut ASN1_PCTX,
16106    ) -> ::std::os::raw::c_int;
16107}
16108extern "C" {
16109    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_private"]
16110    pub fn EVP_PKEY_print_private(
16111        out: *mut BIO,
16112        pkey: *const EVP_PKEY,
16113        indent: ::std::os::raw::c_int,
16114        pctx: *mut ASN1_PCTX,
16115    ) -> ::std::os::raw::c_int;
16116}
16117extern "C" {
16118    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_print_params"]
16119    pub fn EVP_PKEY_print_params(
16120        out: *mut BIO,
16121        pkey: *const EVP_PKEY,
16122        indent: ::std::os::raw::c_int,
16123        pctx: *mut ASN1_PCTX,
16124    ) -> ::std::os::raw::c_int;
16125}
16126extern "C" {
16127    #[link_name = "\u{1}aws_lc_0_35_0_PKCS5_PBKDF2_HMAC"]
16128    pub fn PKCS5_PBKDF2_HMAC(
16129        password: *const ::std::os::raw::c_char,
16130        password_len: usize,
16131        salt: *const u8,
16132        salt_len: usize,
16133        iterations: u32,
16134        digest: *const EVP_MD,
16135        key_len: usize,
16136        out_key: *mut u8,
16137    ) -> ::std::os::raw::c_int;
16138}
16139extern "C" {
16140    #[link_name = "\u{1}aws_lc_0_35_0_PKCS5_PBKDF2_HMAC_SHA1"]
16141    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16142        password: *const ::std::os::raw::c_char,
16143        password_len: usize,
16144        salt: *const u8,
16145        salt_len: usize,
16146        iterations: u32,
16147        key_len: usize,
16148        out_key: *mut u8,
16149    ) -> ::std::os::raw::c_int;
16150}
16151extern "C" {
16152    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PBE_scrypt"]
16153    pub fn EVP_PBE_scrypt(
16154        password: *const ::std::os::raw::c_char,
16155        password_len: usize,
16156        salt: *const u8,
16157        salt_len: usize,
16158        N: u64,
16159        r: u64,
16160        p: u64,
16161        max_mem: usize,
16162        out_key: *mut u8,
16163        key_len: usize,
16164    ) -> ::std::os::raw::c_int;
16165}
16166extern "C" {
16167    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_new"]
16168    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16169}
16170extern "C" {
16171    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_new_id"]
16172    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16173}
16174extern "C" {
16175    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_free"]
16176    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16177}
16178extern "C" {
16179    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_dup"]
16180    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16181}
16182extern "C" {
16183    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_pkey"]
16184    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16185}
16186extern "C" {
16187    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_sign_init"]
16188    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16189}
16190extern "C" {
16191    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_sign"]
16192    pub fn EVP_PKEY_sign(
16193        ctx: *mut EVP_PKEY_CTX,
16194        sig: *mut u8,
16195        sig_len: *mut usize,
16196        digest: *const u8,
16197        digest_len: usize,
16198    ) -> ::std::os::raw::c_int;
16199}
16200extern "C" {
16201    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_init"]
16202    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16203}
16204extern "C" {
16205    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify"]
16206    pub fn EVP_PKEY_verify(
16207        ctx: *mut EVP_PKEY_CTX,
16208        sig: *const u8,
16209        sig_len: usize,
16210        digest: *const u8,
16211        digest_len: usize,
16212    ) -> ::std::os::raw::c_int;
16213}
16214extern "C" {
16215    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encrypt_init"]
16216    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16217}
16218extern "C" {
16219    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encrypt"]
16220    pub fn EVP_PKEY_encrypt(
16221        ctx: *mut EVP_PKEY_CTX,
16222        out: *mut u8,
16223        out_len: *mut usize,
16224        in_: *const u8,
16225        in_len: usize,
16226    ) -> ::std::os::raw::c_int;
16227}
16228extern "C" {
16229    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decrypt_init"]
16230    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16231}
16232extern "C" {
16233    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decrypt"]
16234    pub fn EVP_PKEY_decrypt(
16235        ctx: *mut EVP_PKEY_CTX,
16236        out: *mut u8,
16237        out_len: *mut usize,
16238        in_: *const u8,
16239        in_len: usize,
16240    ) -> ::std::os::raw::c_int;
16241}
16242extern "C" {
16243    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_recover_init"]
16244    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16245}
16246extern "C" {
16247    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_verify_recover"]
16248    pub fn EVP_PKEY_verify_recover(
16249        ctx: *mut EVP_PKEY_CTX,
16250        out: *mut u8,
16251        out_len: *mut usize,
16252        sig: *const u8,
16253        siglen: usize,
16254    ) -> ::std::os::raw::c_int;
16255}
16256extern "C" {
16257    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive_init"]
16258    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16259}
16260extern "C" {
16261    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive_set_peer"]
16262    pub fn EVP_PKEY_derive_set_peer(
16263        ctx: *mut EVP_PKEY_CTX,
16264        peer: *mut EVP_PKEY,
16265    ) -> ::std::os::raw::c_int;
16266}
16267extern "C" {
16268    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_derive"]
16269    pub fn EVP_PKEY_derive(
16270        ctx: *mut EVP_PKEY_CTX,
16271        key: *mut u8,
16272        out_key_len: *mut usize,
16273    ) -> ::std::os::raw::c_int;
16274}
16275extern "C" {
16276    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_check"]
16277    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16278}
16279extern "C" {
16280    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_public_check"]
16281    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16282}
16283extern "C" {
16284    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_param_check"]
16285    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16286}
16287extern "C" {
16288    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_keygen_init"]
16289    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16290}
16291extern "C" {
16292    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_keygen"]
16293    pub fn EVP_PKEY_keygen(
16294        ctx: *mut EVP_PKEY_CTX,
16295        out_pkey: *mut *mut EVP_PKEY,
16296    ) -> ::std::os::raw::c_int;
16297}
16298extern "C" {
16299    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encapsulate"]
16300    pub fn EVP_PKEY_encapsulate(
16301        ctx: *mut EVP_PKEY_CTX,
16302        ciphertext: *mut u8,
16303        ciphertext_len: *mut usize,
16304        shared_secret: *mut u8,
16305        shared_secret_len: *mut usize,
16306    ) -> ::std::os::raw::c_int;
16307}
16308extern "C" {
16309    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_decapsulate"]
16310    pub fn EVP_PKEY_decapsulate(
16311        ctx: *mut EVP_PKEY_CTX,
16312        shared_secret: *mut u8,
16313        shared_secret_len: *mut usize,
16314        ciphertext: *const u8,
16315        ciphertext_len: usize,
16316    ) -> ::std::os::raw::c_int;
16317}
16318extern "C" {
16319    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_paramgen_init"]
16320    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16321}
16322extern "C" {
16323    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_paramgen"]
16324    pub fn EVP_PKEY_paramgen(
16325        ctx: *mut EVP_PKEY_CTX,
16326        out_pkey: *mut *mut EVP_PKEY,
16327    ) -> ::std::os::raw::c_int;
16328}
16329extern "C" {
16330    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_signature_md"]
16331    pub fn EVP_PKEY_CTX_set_signature_md(
16332        ctx: *mut EVP_PKEY_CTX,
16333        md: *const EVP_MD,
16334    ) -> ::std::os::raw::c_int;
16335}
16336extern "C" {
16337    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_signature_md"]
16338    pub fn EVP_PKEY_CTX_get_signature_md(
16339        ctx: *mut EVP_PKEY_CTX,
16340        out_md: *mut *const EVP_MD,
16341    ) -> ::std::os::raw::c_int;
16342}
16343extern "C" {
16344    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_signature_context"]
16345    pub fn EVP_PKEY_CTX_set_signature_context(
16346        ctx: *mut EVP_PKEY_CTX,
16347        context: *const u8,
16348        context_len: usize,
16349    ) -> ::std::os::raw::c_int;
16350}
16351extern "C" {
16352    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_signature_context"]
16353    pub fn EVP_PKEY_CTX_get0_signature_context(
16354        ctx: *mut EVP_PKEY_CTX,
16355        context: *mut *const u8,
16356        context_len: *mut usize,
16357    ) -> ::std::os::raw::c_int;
16358}
16359extern "C" {
16360    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_padding"]
16361    pub fn EVP_PKEY_CTX_set_rsa_padding(
16362        ctx: *mut EVP_PKEY_CTX,
16363        padding: ::std::os::raw::c_int,
16364    ) -> ::std::os::raw::c_int;
16365}
16366extern "C" {
16367    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_padding"]
16368    pub fn EVP_PKEY_CTX_get_rsa_padding(
16369        ctx: *mut EVP_PKEY_CTX,
16370        out_padding: *mut ::std::os::raw::c_int,
16371    ) -> ::std::os::raw::c_int;
16372}
16373extern "C" {
16374    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16375    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16376        ctx: *mut EVP_PKEY_CTX,
16377        salt_len: ::std::os::raw::c_int,
16378    ) -> ::std::os::raw::c_int;
16379}
16380extern "C" {
16381    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16382    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16383        ctx: *mut EVP_PKEY_CTX,
16384        out_salt_len: *mut ::std::os::raw::c_int,
16385    ) -> ::std::os::raw::c_int;
16386}
16387extern "C" {
16388    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16389    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16390        ctx: *mut EVP_PKEY_CTX,
16391        bits: ::std::os::raw::c_int,
16392    ) -> ::std::os::raw::c_int;
16393}
16394extern "C" {
16395    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16396    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16397        ctx: *mut EVP_PKEY_CTX,
16398        e: *mut BIGNUM,
16399    ) -> ::std::os::raw::c_int;
16400}
16401extern "C" {
16402    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
16403    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16404        ctx: *mut EVP_PKEY_CTX,
16405        md: *const EVP_MD,
16406    ) -> ::std::os::raw::c_int;
16407}
16408extern "C" {
16409    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
16410    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16411        ctx: *mut EVP_PKEY_CTX,
16412        out_md: *mut *const EVP_MD,
16413    ) -> ::std::os::raw::c_int;
16414}
16415extern "C" {
16416    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16417    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16418        ctx: *mut EVP_PKEY_CTX,
16419        md: *const EVP_MD,
16420    ) -> ::std::os::raw::c_int;
16421}
16422extern "C" {
16423    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16424    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16425        ctx: *mut EVP_PKEY_CTX,
16426        out_md: *mut *const EVP_MD,
16427    ) -> ::std::os::raw::c_int;
16428}
16429extern "C" {
16430    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16431    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16432        ctx: *mut EVP_PKEY_CTX,
16433        label: *mut u8,
16434        label_len: usize,
16435    ) -> ::std::os::raw::c_int;
16436}
16437extern "C" {
16438    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16439    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16440        ctx: *mut EVP_PKEY_CTX,
16441        out_label: *mut *const u8,
16442    ) -> ::std::os::raw::c_int;
16443}
16444extern "C" {
16445    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16446    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16447        ctx: *mut EVP_PKEY_CTX,
16448        nid: ::std::os::raw::c_int,
16449    ) -> ::std::os::raw::c_int;
16450}
16451extern "C" {
16452    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_kem_set_params"]
16453    pub fn EVP_PKEY_CTX_kem_set_params(
16454        ctx: *mut EVP_PKEY_CTX,
16455        nid: ::std::os::raw::c_int,
16456    ) -> ::std::os::raw::c_int;
16457}
16458extern "C" {
16459    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_public_key"]
16460    pub fn EVP_PKEY_kem_new_raw_public_key(
16461        nid: ::std::os::raw::c_int,
16462        in_: *const u8,
16463        len: usize,
16464    ) -> *mut EVP_PKEY;
16465}
16466extern "C" {
16467    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_secret_key"]
16468    pub fn EVP_PKEY_kem_new_raw_secret_key(
16469        nid: ::std::os::raw::c_int,
16470        in_: *const u8,
16471        len: usize,
16472    ) -> *mut EVP_PKEY;
16473}
16474extern "C" {
16475    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_new_raw_key"]
16476    pub fn EVP_PKEY_kem_new_raw_key(
16477        nid: ::std::os::raw::c_int,
16478        in_public: *const u8,
16479        len_public: usize,
16480        in_secret: *const u8,
16481        len_secret: usize,
16482    ) -> *mut EVP_PKEY;
16483}
16484extern "C" {
16485    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_kem_check_key"]
16486    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16487}
16488extern "C" {
16489    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_pqdsa_set_params"]
16490    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16491        ctx: *mut EVP_PKEY_CTX,
16492        nid: ::std::os::raw::c_int,
16493    ) -> ::std::os::raw::c_int;
16494}
16495extern "C" {
16496    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_pqdsa_new_raw_public_key"]
16497    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
16498        nid: ::std::os::raw::c_int,
16499        in_: *const u8,
16500        len: usize,
16501    ) -> *mut EVP_PKEY;
16502}
16503extern "C" {
16504    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_pqdsa_new_raw_private_key"]
16505    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
16506        nid: ::std::os::raw::c_int,
16507        in_: *const u8,
16508        len: usize,
16509    ) -> *mut EVP_PKEY;
16510}
16511extern "C" {
16512    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dh_pad"]
16513    pub fn EVP_PKEY_CTX_set_dh_pad(
16514        ctx: *mut EVP_PKEY_CTX,
16515        pad: ::std::os::raw::c_int,
16516    ) -> ::std::os::raw::c_int;
16517}
16518extern "C" {
16519    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get_count"]
16520    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
16521}
16522extern "C" {
16523    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get0"]
16524    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
16525}
16526extern "C" {
16527    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_find"]
16528    pub fn EVP_PKEY_asn1_find(
16529        _pe: *mut *mut ENGINE,
16530        type_: ::std::os::raw::c_int,
16531    ) -> *const EVP_PKEY_ASN1_METHOD;
16532}
16533extern "C" {
16534    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_find_str"]
16535    pub fn EVP_PKEY_asn1_find_str(
16536        _pe: *mut *mut ENGINE,
16537        name: *const ::std::os::raw::c_char,
16538        len: ::std::os::raw::c_int,
16539    ) -> *const EVP_PKEY_ASN1_METHOD;
16540}
16541extern "C" {
16542    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_asn1_get0_info"]
16543    pub fn EVP_PKEY_asn1_get0_info(
16544        ppkey_id: *mut ::std::os::raw::c_int,
16545        pkey_base_id: *mut ::std::os::raw::c_int,
16546        ppkey_flags: *mut ::std::os::raw::c_int,
16547        pinfo: *mut *const ::std::os::raw::c_char,
16548        ppem_str: *mut *const ::std::os::raw::c_char,
16549        ameth: *const EVP_PKEY_ASN1_METHOD,
16550    ) -> ::std::os::raw::c_int;
16551}
16552pub type EVP_PKEY_gen_cb =
16553    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
16554extern "C" {
16555    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_cb"]
16556    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
16557}
16558extern "C" {
16559    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_keygen_info"]
16560    pub fn EVP_PKEY_CTX_get_keygen_info(
16561        ctx: *mut EVP_PKEY_CTX,
16562        idx: ::std::os::raw::c_int,
16563    ) -> ::std::os::raw::c_int;
16564}
16565extern "C" {
16566    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_app_data"]
16567    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
16568}
16569extern "C" {
16570    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_get_app_data"]
16571    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
16572}
16573extern "C" {
16574    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_get_pkey_type"]
16575    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
16576}
16577extern "C" {
16578    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_pkey_type"]
16579    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
16580}
16581extern "C" {
16582    #[link_name = "\u{1}aws_lc_0_35_0_EVP_CIPHER_do_all_sorted"]
16583    pub fn EVP_CIPHER_do_all_sorted(
16584        callback: ::std::option::Option<
16585            unsafe extern "C" fn(
16586                cipher: *const EVP_CIPHER,
16587                name: *const ::std::os::raw::c_char,
16588                unused: *const ::std::os::raw::c_char,
16589                arg: *mut ::std::os::raw::c_void,
16590            ),
16591        >,
16592        arg: *mut ::std::os::raw::c_void,
16593    );
16594}
16595extern "C" {
16596    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_do_all_sorted"]
16597    pub fn EVP_MD_do_all_sorted(
16598        callback: ::std::option::Option<
16599            unsafe extern "C" fn(
16600                cipher: *const EVP_MD,
16601                name: *const ::std::os::raw::c_char,
16602                unused: *const ::std::os::raw::c_char,
16603                arg: *mut ::std::os::raw::c_void,
16604            ),
16605        >,
16606        arg: *mut ::std::os::raw::c_void,
16607    );
16608}
16609extern "C" {
16610    #[link_name = "\u{1}aws_lc_0_35_0_EVP_MD_do_all"]
16611    pub fn EVP_MD_do_all(
16612        callback: ::std::option::Option<
16613            unsafe extern "C" fn(
16614                cipher: *const EVP_MD,
16615                name: *const ::std::os::raw::c_char,
16616                unused: *const ::std::os::raw::c_char,
16617                arg: *mut ::std::os::raw::c_void,
16618            ),
16619        >,
16620        arg: *mut ::std::os::raw::c_void,
16621    );
16622}
16623extern "C" {
16624    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PrivateKey"]
16625    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16626}
16627extern "C" {
16628    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PublicKey"]
16629    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16630}
16631extern "C" {
16632    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PrivateKey"]
16633    pub fn d2i_PrivateKey(
16634        type_: ::std::os::raw::c_int,
16635        out: *mut *mut EVP_PKEY,
16636        inp: *mut *const u8,
16637        len: ::std::os::raw::c_long,
16638    ) -> *mut EVP_PKEY;
16639}
16640extern "C" {
16641    #[link_name = "\u{1}aws_lc_0_35_0_d2i_AutoPrivateKey"]
16642    pub fn d2i_AutoPrivateKey(
16643        out: *mut *mut EVP_PKEY,
16644        inp: *mut *const u8,
16645        len: ::std::os::raw::c_long,
16646    ) -> *mut EVP_PKEY;
16647}
16648extern "C" {
16649    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PublicKey"]
16650    pub fn d2i_PublicKey(
16651        type_: ::std::os::raw::c_int,
16652        out: *mut *mut EVP_PKEY,
16653        inp: *mut *const u8,
16654        len: ::std::os::raw::c_long,
16655    ) -> *mut EVP_PKEY;
16656}
16657extern "C" {
16658    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_ec_param_enc"]
16659    pub fn EVP_PKEY_CTX_set_ec_param_enc(
16660        ctx: *mut EVP_PKEY_CTX,
16661        encoding: ::std::os::raw::c_int,
16662    ) -> ::std::os::raw::c_int;
16663}
16664extern "C" {
16665    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_set1_tls_encodedpoint"]
16666    pub fn EVP_PKEY_set1_tls_encodedpoint(
16667        pkey: *mut EVP_PKEY,
16668        in_: *const u8,
16669        len: usize,
16670    ) -> ::std::os::raw::c_int;
16671}
16672extern "C" {
16673    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get1_tls_encodedpoint"]
16674    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
16675}
16676extern "C" {
16677    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_base_id"]
16678    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16679}
16680extern "C" {
16681    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
16682    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
16683        ctx: *mut EVP_PKEY_CTX,
16684        md: *const EVP_MD,
16685    ) -> ::std::os::raw::c_int;
16686}
16687extern "C" {
16688    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
16689    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
16690        ctx: *mut EVP_PKEY_CTX,
16691        salt_len: ::std::os::raw::c_int,
16692    ) -> ::std::os::raw::c_int;
16693}
16694extern "C" {
16695    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
16696    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
16697        ctx: *mut EVP_PKEY_CTX,
16698        md: *const EVP_MD,
16699    ) -> ::std::os::raw::c_int;
16700}
16701extern "C" {
16702    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PUBKEY"]
16703    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16704}
16705extern "C" {
16706    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PUBKEY"]
16707    pub fn d2i_PUBKEY(
16708        out: *mut *mut EVP_PKEY,
16709        inp: *mut *const u8,
16710        len: ::std::os::raw::c_long,
16711    ) -> *mut EVP_PKEY;
16712}
16713extern "C" {
16714    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSA_PUBKEY"]
16715    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16716}
16717extern "C" {
16718    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSA_PUBKEY"]
16719    pub fn d2i_RSA_PUBKEY(
16720        out: *mut *mut RSA,
16721        inp: *mut *const u8,
16722        len: ::std::os::raw::c_long,
16723    ) -> *mut RSA;
16724}
16725extern "C" {
16726    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSA_PUBKEY"]
16727    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16728}
16729extern "C" {
16730    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSA_PUBKEY"]
16731    pub fn d2i_DSA_PUBKEY(
16732        out: *mut *mut DSA,
16733        inp: *mut *const u8,
16734        len: ::std::os::raw::c_long,
16735    ) -> *mut DSA;
16736}
16737extern "C" {
16738    #[link_name = "\u{1}aws_lc_0_35_0_i2d_EC_PUBKEY"]
16739    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16740}
16741extern "C" {
16742    #[link_name = "\u{1}aws_lc_0_35_0_d2i_EC_PUBKEY"]
16743    pub fn d2i_EC_PUBKEY(
16744        out: *mut *mut EC_KEY,
16745        inp: *mut *const u8,
16746        len: ::std::os::raw::c_long,
16747    ) -> *mut EC_KEY;
16748}
16749extern "C" {
16750    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_assign"]
16751    pub fn EVP_PKEY_assign(
16752        pkey: *mut EVP_PKEY,
16753        type_: ::std::os::raw::c_int,
16754        key: *mut ::std::os::raw::c_void,
16755    ) -> ::std::os::raw::c_int;
16756}
16757extern "C" {
16758    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_type"]
16759    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16760}
16761extern "C" {
16762    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_new_mac_key"]
16763    pub fn EVP_PKEY_new_mac_key(
16764        type_: ::std::os::raw::c_int,
16765        engine: *mut ENGINE,
16766        mac_key: *const u8,
16767        mac_key_len: usize,
16768    ) -> *mut EVP_PKEY;
16769}
16770extern "C" {
16771    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_get0"]
16772    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
16773}
16774extern "C" {
16775    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_algorithms"]
16776    pub fn OpenSSL_add_all_algorithms();
16777}
16778extern "C" {
16779    #[link_name = "\u{1}aws_lc_0_35_0_OPENSSL_add_all_algorithms_conf"]
16780    pub fn OPENSSL_add_all_algorithms_conf();
16781}
16782extern "C" {
16783    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_ciphers"]
16784    pub fn OpenSSL_add_all_ciphers();
16785}
16786extern "C" {
16787    #[link_name = "\u{1}aws_lc_0_35_0_OpenSSL_add_all_digests"]
16788    pub fn OpenSSL_add_all_digests();
16789}
16790extern "C" {
16791    #[link_name = "\u{1}aws_lc_0_35_0_EVP_cleanup"]
16792    pub fn EVP_cleanup();
16793}
16794extern "C" {
16795    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
16796    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
16797        ctx: *mut EVP_PKEY_CTX,
16798        nbits: ::std::os::raw::c_int,
16799    ) -> ::std::os::raw::c_int;
16800}
16801extern "C" {
16802    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
16803    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
16804        ctx: *mut EVP_PKEY_CTX,
16805        md: *const EVP_MD,
16806    ) -> ::std::os::raw::c_int;
16807}
16808extern "C" {
16809    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
16810    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
16811        ctx: *mut EVP_PKEY_CTX,
16812        qbits: ::std::os::raw::c_int,
16813    ) -> ::std::os::raw::c_int;
16814}
16815extern "C" {
16816    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_ctrl_str"]
16817    pub fn EVP_PKEY_CTX_ctrl_str(
16818        ctx: *mut EVP_PKEY_CTX,
16819        type_: *const ::std::os::raw::c_char,
16820        value: *const ::std::os::raw::c_char,
16821    ) -> ::std::os::raw::c_int;
16822}
16823extern "C" {
16824    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_tls1_prf"]
16825    pub fn CRYPTO_tls1_prf(
16826        digest: *const EVP_MD,
16827        out: *mut u8,
16828        out_len: usize,
16829        secret: *const u8,
16830        secret_len: usize,
16831        label: *const ::std::os::raw::c_char,
16832        label_len: usize,
16833        seed1: *const u8,
16834        seed1_len: usize,
16835        seed2: *const u8,
16836        seed2_len: usize,
16837    ) -> ::std::os::raw::c_int;
16838}
16839extern "C" {
16840    #[link_name = "\u{1}aws_lc_0_35_0_SSKDF_digest"]
16841    pub fn SSKDF_digest(
16842        out_key: *mut u8,
16843        out_len: usize,
16844        digest: *const EVP_MD,
16845        secret: *const u8,
16846        secret_len: usize,
16847        info: *const u8,
16848        info_len: usize,
16849    ) -> ::std::os::raw::c_int;
16850}
16851extern "C" {
16852    #[link_name = "\u{1}aws_lc_0_35_0_SSKDF_hmac"]
16853    pub fn SSKDF_hmac(
16854        out_key: *mut u8,
16855        out_len: usize,
16856        digest: *const EVP_MD,
16857        secret: *const u8,
16858        secret_len: usize,
16859        info: *const u8,
16860        info_len: usize,
16861        salt: *const u8,
16862        salt_len: usize,
16863    ) -> ::std::os::raw::c_int;
16864}
16865extern "C" {
16866    #[link_name = "\u{1}aws_lc_0_35_0_KBKDF_ctr_hmac"]
16867    pub fn KBKDF_ctr_hmac(
16868        out_key: *mut u8,
16869        out_len: usize,
16870        digest: *const EVP_MD,
16871        secret: *const u8,
16872        secret_len: usize,
16873        info: *const u8,
16874        info_len: usize,
16875    ) -> ::std::os::raw::c_int;
16876}
16877extern "C" {
16878    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_hkdf_mode"]
16879    pub fn EVP_PKEY_CTX_hkdf_mode(
16880        ctx: *mut EVP_PKEY_CTX,
16881        mode: ::std::os::raw::c_int,
16882    ) -> ::std::os::raw::c_int;
16883}
16884extern "C" {
16885    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set_hkdf_md"]
16886    pub fn EVP_PKEY_CTX_set_hkdf_md(
16887        ctx: *mut EVP_PKEY_CTX,
16888        md: *const EVP_MD,
16889    ) -> ::std::os::raw::c_int;
16890}
16891extern "C" {
16892    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set1_hkdf_key"]
16893    pub fn EVP_PKEY_CTX_set1_hkdf_key(
16894        ctx: *mut EVP_PKEY_CTX,
16895        key: *const u8,
16896        key_len: usize,
16897    ) -> ::std::os::raw::c_int;
16898}
16899extern "C" {
16900    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_set1_hkdf_salt"]
16901    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
16902        ctx: *mut EVP_PKEY_CTX,
16903        salt: *const u8,
16904        salt_len: usize,
16905    ) -> ::std::os::raw::c_int;
16906}
16907extern "C" {
16908    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_CTX_add1_hkdf_info"]
16909    pub fn EVP_PKEY_CTX_add1_hkdf_info(
16910        ctx: *mut EVP_PKEY_CTX,
16911        info: *const u8,
16912        info_len: usize,
16913    ) -> ::std::os::raw::c_int;
16914}
16915extern "C" {
16916    #[link_name = "\u{1}aws_lc_0_35_0_HKDF"]
16917    pub fn HKDF(
16918        out_key: *mut u8,
16919        out_len: usize,
16920        digest: *const EVP_MD,
16921        secret: *const u8,
16922        secret_len: usize,
16923        salt: *const u8,
16924        salt_len: usize,
16925        info: *const u8,
16926        info_len: usize,
16927    ) -> ::std::os::raw::c_int;
16928}
16929extern "C" {
16930    #[link_name = "\u{1}aws_lc_0_35_0_HKDF_extract"]
16931    pub fn HKDF_extract(
16932        out_key: *mut u8,
16933        out_len: *mut usize,
16934        digest: *const EVP_MD,
16935        secret: *const u8,
16936        secret_len: usize,
16937        salt: *const u8,
16938        salt_len: usize,
16939    ) -> ::std::os::raw::c_int;
16940}
16941extern "C" {
16942    #[link_name = "\u{1}aws_lc_0_35_0_HKDF_expand"]
16943    pub fn HKDF_expand(
16944        out_key: *mut u8,
16945        out_len: usize,
16946        digest: *const EVP_MD,
16947        prk: *const u8,
16948        prk_len: usize,
16949        info: *const u8,
16950        info_len: usize,
16951    ) -> ::std::os::raw::c_int;
16952}
16953extern "C" {
16954    #[link_name = "\u{1}aws_lc_0_35_0_EVP_hpke_x25519_hkdf_sha256"]
16955    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
16956}
16957extern "C" {
16958    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEM_id"]
16959    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
16960}
16961extern "C" {
16962    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEM_public_key_len"]
16963    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16964}
16965extern "C" {
16966    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEM_private_key_len"]
16967    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16968}
16969extern "C" {
16970    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEM_enc_len"]
16971    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
16972}
16973extern "C" {
16974    #[link_name = "\u{1}aws_lc_0_35_0_EVP_hpke_hkdf_sha256"]
16975    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
16976}
16977extern "C" {
16978    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KDF_id"]
16979    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
16980}
16981extern "C" {
16982    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KDF_hkdf_md"]
16983    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
16984}
16985extern "C" {
16986    #[link_name = "\u{1}aws_lc_0_35_0_EVP_hpke_aes_128_gcm"]
16987    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
16988}
16989extern "C" {
16990    #[link_name = "\u{1}aws_lc_0_35_0_EVP_hpke_aes_256_gcm"]
16991    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
16992}
16993extern "C" {
16994    #[link_name = "\u{1}aws_lc_0_35_0_EVP_hpke_chacha20_poly1305"]
16995    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
16996}
16997extern "C" {
16998    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_AEAD_id"]
16999    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17000}
17001extern "C" {
17002    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_AEAD_aead"]
17003    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17004}
17005extern "C" {
17006    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_zero"]
17007    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17008}
17009extern "C" {
17010    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_cleanup"]
17011    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17012}
17013extern "C" {
17014    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_new"]
17015    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17016}
17017extern "C" {
17018    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_free"]
17019    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17020}
17021extern "C" {
17022    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_copy"]
17023    pub fn EVP_HPKE_KEY_copy(
17024        dst: *mut EVP_HPKE_KEY,
17025        src: *const EVP_HPKE_KEY,
17026    ) -> ::std::os::raw::c_int;
17027}
17028extern "C" {
17029    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_move"]
17030    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17031}
17032extern "C" {
17033    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_init"]
17034    pub fn EVP_HPKE_KEY_init(
17035        key: *mut EVP_HPKE_KEY,
17036        kem: *const EVP_HPKE_KEM,
17037        priv_key: *const u8,
17038        priv_key_len: usize,
17039    ) -> ::std::os::raw::c_int;
17040}
17041extern "C" {
17042    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_generate"]
17043    pub fn EVP_HPKE_KEY_generate(
17044        key: *mut EVP_HPKE_KEY,
17045        kem: *const EVP_HPKE_KEM,
17046    ) -> ::std::os::raw::c_int;
17047}
17048extern "C" {
17049    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_kem"]
17050    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17051}
17052extern "C" {
17053    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_public_key"]
17054    pub fn EVP_HPKE_KEY_public_key(
17055        key: *const EVP_HPKE_KEY,
17056        out: *mut u8,
17057        out_len: *mut usize,
17058        max_out: usize,
17059    ) -> ::std::os::raw::c_int;
17060}
17061extern "C" {
17062    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_KEY_private_key"]
17063    pub fn EVP_HPKE_KEY_private_key(
17064        key: *const EVP_HPKE_KEY,
17065        out: *mut u8,
17066        out_len: *mut usize,
17067        max_out: usize,
17068    ) -> ::std::os::raw::c_int;
17069}
17070extern "C" {
17071    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_zero"]
17072    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17073}
17074extern "C" {
17075    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_cleanup"]
17076    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17077}
17078extern "C" {
17079    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_new"]
17080    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17081}
17082extern "C" {
17083    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_free"]
17084    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17085}
17086extern "C" {
17087    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_sender"]
17088    pub fn EVP_HPKE_CTX_setup_sender(
17089        ctx: *mut EVP_HPKE_CTX,
17090        out_enc: *mut u8,
17091        out_enc_len: *mut usize,
17092        max_enc: usize,
17093        kem: *const EVP_HPKE_KEM,
17094        kdf: *const EVP_HPKE_KDF,
17095        aead: *const EVP_HPKE_AEAD,
17096        peer_public_key: *const u8,
17097        peer_public_key_len: usize,
17098        info: *const u8,
17099        info_len: usize,
17100    ) -> ::std::os::raw::c_int;
17101}
17102extern "C" {
17103    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17104    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17105        ctx: *mut EVP_HPKE_CTX,
17106        out_enc: *mut u8,
17107        out_enc_len: *mut usize,
17108        max_enc: usize,
17109        kem: *const EVP_HPKE_KEM,
17110        kdf: *const EVP_HPKE_KDF,
17111        aead: *const EVP_HPKE_AEAD,
17112        peer_public_key: *const u8,
17113        peer_public_key_len: usize,
17114        info: *const u8,
17115        info_len: usize,
17116        seed: *const u8,
17117        seed_len: usize,
17118    ) -> ::std::os::raw::c_int;
17119}
17120extern "C" {
17121    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_recipient"]
17122    pub fn EVP_HPKE_CTX_setup_recipient(
17123        ctx: *mut EVP_HPKE_CTX,
17124        key: *const EVP_HPKE_KEY,
17125        kdf: *const EVP_HPKE_KDF,
17126        aead: *const EVP_HPKE_AEAD,
17127        enc: *const u8,
17128        enc_len: usize,
17129        info: *const u8,
17130        info_len: usize,
17131    ) -> ::std::os::raw::c_int;
17132}
17133extern "C" {
17134    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_auth_sender"]
17135    pub fn EVP_HPKE_CTX_setup_auth_sender(
17136        ctx: *mut EVP_HPKE_CTX,
17137        out_enc: *mut u8,
17138        out_enc_len: *mut usize,
17139        max_enc: usize,
17140        key: *const EVP_HPKE_KEY,
17141        kdf: *const EVP_HPKE_KDF,
17142        aead: *const EVP_HPKE_AEAD,
17143        peer_public_key: *const u8,
17144        peer_public_key_len: usize,
17145        info: *const u8,
17146        info_len: usize,
17147    ) -> ::std::os::raw::c_int;
17148}
17149extern "C" {
17150    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17151    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17152        ctx: *mut EVP_HPKE_CTX,
17153        out_enc: *mut u8,
17154        out_enc_len: *mut usize,
17155        max_enc: usize,
17156        key: *const EVP_HPKE_KEY,
17157        kdf: *const EVP_HPKE_KDF,
17158        aead: *const EVP_HPKE_AEAD,
17159        peer_public_key: *const u8,
17160        peer_public_key_len: usize,
17161        info: *const u8,
17162        info_len: usize,
17163        seed: *const u8,
17164        seed_len: usize,
17165    ) -> ::std::os::raw::c_int;
17166}
17167extern "C" {
17168    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_setup_auth_recipient"]
17169    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17170        ctx: *mut EVP_HPKE_CTX,
17171        key: *const EVP_HPKE_KEY,
17172        kdf: *const EVP_HPKE_KDF,
17173        aead: *const EVP_HPKE_AEAD,
17174        enc: *const u8,
17175        enc_len: usize,
17176        info: *const u8,
17177        info_len: usize,
17178        peer_public_key: *const u8,
17179        peer_public_key_len: usize,
17180    ) -> ::std::os::raw::c_int;
17181}
17182extern "C" {
17183    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_open"]
17184    pub fn EVP_HPKE_CTX_open(
17185        ctx: *mut EVP_HPKE_CTX,
17186        out: *mut u8,
17187        out_len: *mut usize,
17188        max_out_len: usize,
17189        in_: *const u8,
17190        in_len: usize,
17191        ad: *const u8,
17192        ad_len: usize,
17193    ) -> ::std::os::raw::c_int;
17194}
17195extern "C" {
17196    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_seal"]
17197    pub fn EVP_HPKE_CTX_seal(
17198        ctx: *mut EVP_HPKE_CTX,
17199        out: *mut u8,
17200        out_len: *mut usize,
17201        max_out_len: usize,
17202        in_: *const u8,
17203        in_len: usize,
17204        ad: *const u8,
17205        ad_len: usize,
17206    ) -> ::std::os::raw::c_int;
17207}
17208extern "C" {
17209    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_export"]
17210    pub fn EVP_HPKE_CTX_export(
17211        ctx: *const EVP_HPKE_CTX,
17212        out: *mut u8,
17213        secret_len: usize,
17214        context: *const u8,
17215        context_len: usize,
17216    ) -> ::std::os::raw::c_int;
17217}
17218extern "C" {
17219    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_max_overhead"]
17220    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17221}
17222extern "C" {
17223    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_kem"]
17224    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
17225}
17226extern "C" {
17227    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_aead"]
17228    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
17229}
17230extern "C" {
17231    #[link_name = "\u{1}aws_lc_0_35_0_EVP_HPKE_CTX_kdf"]
17232    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
17233}
17234#[repr(C)]
17235#[derive(Copy, Clone)]
17236pub struct evp_hpke_ctx_st {
17237    pub kem: *const EVP_HPKE_KEM,
17238    pub aead: *const EVP_HPKE_AEAD,
17239    pub kdf: *const EVP_HPKE_KDF,
17240    pub aead_ctx: EVP_AEAD_CTX,
17241    pub base_nonce: [u8; 24usize],
17242    pub exporter_secret: [u8; 64usize],
17243    pub seq: u64,
17244    pub is_sender: ::std::os::raw::c_int,
17245}
17246#[test]
17247fn bindgen_test_layout_evp_hpke_ctx_st() {
17248    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
17249    let ptr = UNINIT.as_ptr();
17250    assert_eq!(
17251        ::std::mem::size_of::<evp_hpke_ctx_st>(),
17252        712usize,
17253        "Size of evp_hpke_ctx_st"
17254    );
17255    assert_eq!(
17256        ::std::mem::align_of::<evp_hpke_ctx_st>(),
17257        8usize,
17258        "Alignment of evp_hpke_ctx_st"
17259    );
17260    assert_eq!(
17261        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17262        0usize,
17263        "Offset of field: evp_hpke_ctx_st::kem"
17264    );
17265    assert_eq!(
17266        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
17267        8usize,
17268        "Offset of field: evp_hpke_ctx_st::aead"
17269    );
17270    assert_eq!(
17271        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
17272        16usize,
17273        "Offset of field: evp_hpke_ctx_st::kdf"
17274    );
17275    assert_eq!(
17276        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
17277        24usize,
17278        "Offset of field: evp_hpke_ctx_st::aead_ctx"
17279    );
17280    assert_eq!(
17281        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
17282        608usize,
17283        "Offset of field: evp_hpke_ctx_st::base_nonce"
17284    );
17285    assert_eq!(
17286        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
17287        632usize,
17288        "Offset of field: evp_hpke_ctx_st::exporter_secret"
17289    );
17290    assert_eq!(
17291        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
17292        696usize,
17293        "Offset of field: evp_hpke_ctx_st::seq"
17294    );
17295    assert_eq!(
17296        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
17297        704usize,
17298        "Offset of field: evp_hpke_ctx_st::is_sender"
17299    );
17300}
17301impl Default for evp_hpke_ctx_st {
17302    fn default() -> Self {
17303        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17304        unsafe {
17305            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17306            s.assume_init()
17307        }
17308    }
17309}
17310#[repr(C)]
17311#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17312pub struct evp_hpke_key_st {
17313    pub kem: *const EVP_HPKE_KEM,
17314    pub private_key: [u8; 32usize],
17315    pub public_key: [u8; 32usize],
17316}
17317#[test]
17318fn bindgen_test_layout_evp_hpke_key_st() {
17319    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
17320    let ptr = UNINIT.as_ptr();
17321    assert_eq!(
17322        ::std::mem::size_of::<evp_hpke_key_st>(),
17323        72usize,
17324        "Size of evp_hpke_key_st"
17325    );
17326    assert_eq!(
17327        ::std::mem::align_of::<evp_hpke_key_st>(),
17328        8usize,
17329        "Alignment of evp_hpke_key_st"
17330    );
17331    assert_eq!(
17332        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17333        0usize,
17334        "Offset of field: evp_hpke_key_st::kem"
17335    );
17336    assert_eq!(
17337        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
17338        8usize,
17339        "Offset of field: evp_hpke_key_st::private_key"
17340    );
17341    assert_eq!(
17342        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
17343        40usize,
17344        "Offset of field: evp_hpke_key_st::public_key"
17345    );
17346}
17347impl Default for evp_hpke_key_st {
17348    fn default() -> Self {
17349        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17350        unsafe {
17351            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17352            s.assume_init()
17353        }
17354    }
17355}
17356#[repr(C)]
17357#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17358pub struct HRSS_private_key {
17359    pub opaque: [u8; 1808usize],
17360}
17361#[test]
17362fn bindgen_test_layout_HRSS_private_key() {
17363    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
17364    let ptr = UNINIT.as_ptr();
17365    assert_eq!(
17366        ::std::mem::size_of::<HRSS_private_key>(),
17367        1808usize,
17368        "Size of HRSS_private_key"
17369    );
17370    assert_eq!(
17371        ::std::mem::align_of::<HRSS_private_key>(),
17372        1usize,
17373        "Alignment of HRSS_private_key"
17374    );
17375    assert_eq!(
17376        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17377        0usize,
17378        "Offset of field: HRSS_private_key::opaque"
17379    );
17380}
17381impl Default for HRSS_private_key {
17382    fn default() -> Self {
17383        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17384        unsafe {
17385            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17386            s.assume_init()
17387        }
17388    }
17389}
17390#[repr(C)]
17391#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17392pub struct HRSS_public_key {
17393    pub opaque: [u8; 1424usize],
17394}
17395#[test]
17396fn bindgen_test_layout_HRSS_public_key() {
17397    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
17398    let ptr = UNINIT.as_ptr();
17399    assert_eq!(
17400        ::std::mem::size_of::<HRSS_public_key>(),
17401        1424usize,
17402        "Size of HRSS_public_key"
17403    );
17404    assert_eq!(
17405        ::std::mem::align_of::<HRSS_public_key>(),
17406        1usize,
17407        "Alignment of HRSS_public_key"
17408    );
17409    assert_eq!(
17410        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17411        0usize,
17412        "Offset of field: HRSS_public_key::opaque"
17413    );
17414}
17415impl Default for HRSS_public_key {
17416    fn default() -> Self {
17417        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17418        unsafe {
17419            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17420            s.assume_init()
17421        }
17422    }
17423}
17424extern "C" {
17425    #[link_name = "\u{1}aws_lc_0_35_0_HRSS_generate_key"]
17426    pub fn HRSS_generate_key(
17427        out_pub: *mut HRSS_public_key,
17428        out_priv: *mut HRSS_private_key,
17429        input: *const u8,
17430    ) -> ::std::os::raw::c_int;
17431}
17432extern "C" {
17433    #[link_name = "\u{1}aws_lc_0_35_0_HRSS_encap"]
17434    pub fn HRSS_encap(
17435        out_ciphertext: *mut u8,
17436        out_shared_key: *mut u8,
17437        in_pub: *const HRSS_public_key,
17438        in_: *const u8,
17439    ) -> ::std::os::raw::c_int;
17440}
17441extern "C" {
17442    #[link_name = "\u{1}aws_lc_0_35_0_HRSS_decap"]
17443    pub fn HRSS_decap(
17444        out_shared_key: *mut u8,
17445        in_priv: *const HRSS_private_key,
17446        ciphertext: *const u8,
17447        ciphertext_len: usize,
17448    ) -> ::std::os::raw::c_int;
17449}
17450extern "C" {
17451    #[link_name = "\u{1}aws_lc_0_35_0_HRSS_marshal_public_key"]
17452    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
17453}
17454extern "C" {
17455    #[link_name = "\u{1}aws_lc_0_35_0_HRSS_parse_public_key"]
17456    pub fn HRSS_parse_public_key(
17457        out: *mut HRSS_public_key,
17458        in_: *const u8,
17459    ) -> ::std::os::raw::c_int;
17460}
17461extern "C" {
17462    #[link_name = "\u{1}aws_lc_0_35_0_MD4_Init"]
17463    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
17464}
17465extern "C" {
17466    #[link_name = "\u{1}aws_lc_0_35_0_MD4_Update"]
17467    pub fn MD4_Update(
17468        md4: *mut MD4_CTX,
17469        data: *const ::std::os::raw::c_void,
17470        len: usize,
17471    ) -> ::std::os::raw::c_int;
17472}
17473extern "C" {
17474    #[link_name = "\u{1}aws_lc_0_35_0_MD4_Final"]
17475    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
17476}
17477extern "C" {
17478    #[link_name = "\u{1}aws_lc_0_35_0_MD4"]
17479    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
17480}
17481extern "C" {
17482    #[link_name = "\u{1}aws_lc_0_35_0_MD4_Transform"]
17483    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
17484}
17485#[repr(C)]
17486#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17487pub struct md4_state_st {
17488    pub h: [u32; 4usize],
17489    pub Nl: u32,
17490    pub Nh: u32,
17491    pub data: [u8; 64usize],
17492    pub num: ::std::os::raw::c_uint,
17493}
17494#[test]
17495fn bindgen_test_layout_md4_state_st() {
17496    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
17497    let ptr = UNINIT.as_ptr();
17498    assert_eq!(
17499        ::std::mem::size_of::<md4_state_st>(),
17500        92usize,
17501        "Size of md4_state_st"
17502    );
17503    assert_eq!(
17504        ::std::mem::align_of::<md4_state_st>(),
17505        4usize,
17506        "Alignment of md4_state_st"
17507    );
17508    assert_eq!(
17509        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
17510        0usize,
17511        "Offset of field: md4_state_st::h"
17512    );
17513    assert_eq!(
17514        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
17515        16usize,
17516        "Offset of field: md4_state_st::Nl"
17517    );
17518    assert_eq!(
17519        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
17520        20usize,
17521        "Offset of field: md4_state_st::Nh"
17522    );
17523    assert_eq!(
17524        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17525        24usize,
17526        "Offset of field: md4_state_st::data"
17527    );
17528    assert_eq!(
17529        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
17530        88usize,
17531        "Offset of field: md4_state_st::num"
17532    );
17533}
17534impl Default for md4_state_st {
17535    fn default() -> Self {
17536        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17537        unsafe {
17538            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17539            s.assume_init()
17540        }
17541    }
17542}
17543#[repr(C)]
17544#[derive(Debug, Copy, Clone)]
17545pub struct stack_st_CRYPTO_BUFFER {
17546    _unused: [u8; 0],
17547}
17548#[repr(C)]
17549#[derive(Debug, Copy, Clone)]
17550pub struct stack_st_X509 {
17551    _unused: [u8; 0],
17552}
17553#[repr(C)]
17554#[derive(Debug, Copy, Clone)]
17555pub struct stack_st_X509_CRL {
17556    _unused: [u8; 0],
17557}
17558extern "C" {
17559    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_raw_certificates"]
17560    pub fn PKCS7_get_raw_certificates(
17561        out_certs: *mut stack_st_CRYPTO_BUFFER,
17562        cbs: *mut CBS,
17563        pool: *mut CRYPTO_BUFFER_POOL,
17564    ) -> ::std::os::raw::c_int;
17565}
17566extern "C" {
17567    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_certificates"]
17568    pub fn PKCS7_get_certificates(
17569        out_certs: *mut stack_st_X509,
17570        cbs: *mut CBS,
17571    ) -> ::std::os::raw::c_int;
17572}
17573extern "C" {
17574    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_bundle_raw_certificates"]
17575    pub fn PKCS7_bundle_raw_certificates(
17576        out: *mut CBB,
17577        certs: *const stack_st_CRYPTO_BUFFER,
17578    ) -> ::std::os::raw::c_int;
17579}
17580extern "C" {
17581    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_bundle_certificates"]
17582    pub fn PKCS7_bundle_certificates(
17583        out: *mut CBB,
17584        certs: *const stack_st_X509,
17585    ) -> ::std::os::raw::c_int;
17586}
17587extern "C" {
17588    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_CRLs"]
17589    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
17590        -> ::std::os::raw::c_int;
17591}
17592extern "C" {
17593    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_bundle_CRLs"]
17594    pub fn PKCS7_bundle_CRLs(
17595        out: *mut CBB,
17596        crls: *const stack_st_X509_CRL,
17597    ) -> ::std::os::raw::c_int;
17598}
17599extern "C" {
17600    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_PEM_certificates"]
17601    pub fn PKCS7_get_PEM_certificates(
17602        out_certs: *mut stack_st_X509,
17603        pem_bio: *mut BIO,
17604    ) -> ::std::os::raw::c_int;
17605}
17606extern "C" {
17607    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_PEM_CRLs"]
17608    pub fn PKCS7_get_PEM_CRLs(
17609        out_crls: *mut stack_st_X509_CRL,
17610        pem_bio: *mut BIO,
17611    ) -> ::std::os::raw::c_int;
17612}
17613extern "C" {
17614    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS7_bio"]
17615    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
17616}
17617extern "C" {
17618    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS7_bio"]
17619    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
17620}
17621extern "C" {
17622    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_data"]
17623    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
17624}
17625extern "C" {
17626    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_digest"]
17627    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
17628}
17629extern "C" {
17630    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_encrypted"]
17631    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
17632}
17633extern "C" {
17634    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_enveloped"]
17635    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17636}
17637extern "C" {
17638    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_signed"]
17639    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
17640}
17641extern "C" {
17642    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_type_is_signedAndEnveloped"]
17643    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17644}
17645#[repr(C)]
17646#[derive(Copy, Clone)]
17647pub struct pkcs7_st {
17648    pub type_: *mut ASN1_OBJECT,
17649    pub d: pkcs7_st__bindgen_ty_1,
17650}
17651#[repr(C)]
17652#[derive(Copy, Clone)]
17653pub union pkcs7_st__bindgen_ty_1 {
17654    pub ptr: *mut ::std::os::raw::c_char,
17655    pub data: *mut ASN1_OCTET_STRING,
17656    pub sign: *mut PKCS7_SIGNED,
17657    pub enveloped: *mut PKCS7_ENVELOPE,
17658    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
17659    pub digest: *mut PKCS7_DIGEST,
17660    pub encrypted: *mut PKCS7_ENCRYPT,
17661    pub other: *mut ASN1_TYPE,
17662}
17663#[test]
17664fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
17665    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
17666        ::std::mem::MaybeUninit::uninit();
17667    let ptr = UNINIT.as_ptr();
17668    assert_eq!(
17669        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
17670        8usize,
17671        "Size of pkcs7_st__bindgen_ty_1"
17672    );
17673    assert_eq!(
17674        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
17675        8usize,
17676        "Alignment of pkcs7_st__bindgen_ty_1"
17677    );
17678    assert_eq!(
17679        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
17680        0usize,
17681        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
17682    );
17683    assert_eq!(
17684        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17685        0usize,
17686        "Offset of field: pkcs7_st__bindgen_ty_1::data"
17687    );
17688    assert_eq!(
17689        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
17690        0usize,
17691        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
17692    );
17693    assert_eq!(
17694        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
17695        0usize,
17696        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
17697    );
17698    assert_eq!(
17699        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
17700        0usize,
17701        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
17702    );
17703    assert_eq!(
17704        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
17705        0usize,
17706        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
17707    );
17708    assert_eq!(
17709        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
17710        0usize,
17711        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
17712    );
17713    assert_eq!(
17714        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
17715        0usize,
17716        "Offset of field: pkcs7_st__bindgen_ty_1::other"
17717    );
17718}
17719impl Default for pkcs7_st__bindgen_ty_1 {
17720    fn default() -> Self {
17721        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17722        unsafe {
17723            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17724            s.assume_init()
17725        }
17726    }
17727}
17728#[test]
17729fn bindgen_test_layout_pkcs7_st() {
17730    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
17731    let ptr = UNINIT.as_ptr();
17732    assert_eq!(
17733        ::std::mem::size_of::<pkcs7_st>(),
17734        16usize,
17735        "Size of pkcs7_st"
17736    );
17737    assert_eq!(
17738        ::std::mem::align_of::<pkcs7_st>(),
17739        8usize,
17740        "Alignment of pkcs7_st"
17741    );
17742    assert_eq!(
17743        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
17744        0usize,
17745        "Offset of field: pkcs7_st::type_"
17746    );
17747    assert_eq!(
17748        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
17749        8usize,
17750        "Offset of field: pkcs7_st::d"
17751    );
17752}
17753impl Default for pkcs7_st {
17754    fn default() -> Self {
17755        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17756        unsafe {
17757            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17758            s.assume_init()
17759        }
17760    }
17761}
17762#[repr(C)]
17763#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17764pub struct pkcs7_signed_st {
17765    pub version: *mut ASN1_INTEGER,
17766    pub md_algs: *mut stack_st_X509_ALGOR,
17767    pub contents: *mut PKCS7,
17768    pub cert: *mut stack_st_X509,
17769    pub crl: *mut stack_st_X509_CRL,
17770    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
17771}
17772#[test]
17773fn bindgen_test_layout_pkcs7_signed_st() {
17774    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
17775    let ptr = UNINIT.as_ptr();
17776    assert_eq!(
17777        ::std::mem::size_of::<pkcs7_signed_st>(),
17778        48usize,
17779        "Size of pkcs7_signed_st"
17780    );
17781    assert_eq!(
17782        ::std::mem::align_of::<pkcs7_signed_st>(),
17783        8usize,
17784        "Alignment of pkcs7_signed_st"
17785    );
17786    assert_eq!(
17787        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17788        0usize,
17789        "Offset of field: pkcs7_signed_st::version"
17790    );
17791    assert_eq!(
17792        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
17793        8usize,
17794        "Offset of field: pkcs7_signed_st::md_algs"
17795    );
17796    assert_eq!(
17797        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
17798        16usize,
17799        "Offset of field: pkcs7_signed_st::contents"
17800    );
17801    assert_eq!(
17802        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
17803        24usize,
17804        "Offset of field: pkcs7_signed_st::cert"
17805    );
17806    assert_eq!(
17807        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
17808        32usize,
17809        "Offset of field: pkcs7_signed_st::crl"
17810    );
17811    assert_eq!(
17812        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
17813        40usize,
17814        "Offset of field: pkcs7_signed_st::signer_info"
17815    );
17816}
17817impl Default for pkcs7_signed_st {
17818    fn default() -> Self {
17819        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17820        unsafe {
17821            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17822            s.assume_init()
17823        }
17824    }
17825}
17826#[repr(C)]
17827#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17828pub struct pkcs7_signer_info_st {
17829    pub version: *mut ASN1_INTEGER,
17830    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
17831    pub digest_alg: *mut X509_ALGOR,
17832    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
17833    pub digest_enc_alg: *mut X509_ALGOR,
17834    pub enc_digest: *mut ASN1_OCTET_STRING,
17835    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
17836    pub pkey: *mut EVP_PKEY,
17837}
17838#[test]
17839fn bindgen_test_layout_pkcs7_signer_info_st() {
17840    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
17841    let ptr = UNINIT.as_ptr();
17842    assert_eq!(
17843        ::std::mem::size_of::<pkcs7_signer_info_st>(),
17844        64usize,
17845        "Size of pkcs7_signer_info_st"
17846    );
17847    assert_eq!(
17848        ::std::mem::align_of::<pkcs7_signer_info_st>(),
17849        8usize,
17850        "Alignment of pkcs7_signer_info_st"
17851    );
17852    assert_eq!(
17853        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17854        0usize,
17855        "Offset of field: pkcs7_signer_info_st::version"
17856    );
17857    assert_eq!(
17858        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
17859        8usize,
17860        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
17861    );
17862    assert_eq!(
17863        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
17864        16usize,
17865        "Offset of field: pkcs7_signer_info_st::digest_alg"
17866    );
17867    assert_eq!(
17868        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
17869        24usize,
17870        "Offset of field: pkcs7_signer_info_st::auth_attr"
17871    );
17872    assert_eq!(
17873        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
17874        32usize,
17875        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
17876    );
17877    assert_eq!(
17878        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
17879        40usize,
17880        "Offset of field: pkcs7_signer_info_st::enc_digest"
17881    );
17882    assert_eq!(
17883        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
17884        48usize,
17885        "Offset of field: pkcs7_signer_info_st::unauth_attr"
17886    );
17887    assert_eq!(
17888        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
17889        56usize,
17890        "Offset of field: pkcs7_signer_info_st::pkey"
17891    );
17892}
17893impl Default for pkcs7_signer_info_st {
17894    fn default() -> Self {
17895        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17896        unsafe {
17897            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17898            s.assume_init()
17899        }
17900    }
17901}
17902#[repr(C)]
17903#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17904pub struct pkcs7_sign_envelope_st {
17905    pub version: *mut ASN1_INTEGER,
17906    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
17907    pub md_algs: *mut stack_st_X509_ALGOR,
17908    pub enc_data: *mut PKCS7_ENC_CONTENT,
17909    pub cert: *mut stack_st_X509,
17910    pub crl: *mut stack_st_X509_CRL,
17911    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
17912}
17913#[test]
17914fn bindgen_test_layout_pkcs7_sign_envelope_st() {
17915    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
17916        ::std::mem::MaybeUninit::uninit();
17917    let ptr = UNINIT.as_ptr();
17918    assert_eq!(
17919        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
17920        56usize,
17921        "Size of pkcs7_sign_envelope_st"
17922    );
17923    assert_eq!(
17924        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
17925        8usize,
17926        "Alignment of pkcs7_sign_envelope_st"
17927    );
17928    assert_eq!(
17929        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17930        0usize,
17931        "Offset of field: pkcs7_sign_envelope_st::version"
17932    );
17933    assert_eq!(
17934        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
17935        8usize,
17936        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
17937    );
17938    assert_eq!(
17939        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
17940        16usize,
17941        "Offset of field: pkcs7_sign_envelope_st::md_algs"
17942    );
17943    assert_eq!(
17944        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
17945        24usize,
17946        "Offset of field: pkcs7_sign_envelope_st::enc_data"
17947    );
17948    assert_eq!(
17949        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
17950        32usize,
17951        "Offset of field: pkcs7_sign_envelope_st::cert"
17952    );
17953    assert_eq!(
17954        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
17955        40usize,
17956        "Offset of field: pkcs7_sign_envelope_st::crl"
17957    );
17958    assert_eq!(
17959        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
17960        48usize,
17961        "Offset of field: pkcs7_sign_envelope_st::signer_info"
17962    );
17963}
17964impl Default for pkcs7_sign_envelope_st {
17965    fn default() -> Self {
17966        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17967        unsafe {
17968            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17969            s.assume_init()
17970        }
17971    }
17972}
17973#[repr(C)]
17974#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17975pub struct pkcs7_envelope_st {
17976    pub version: *mut ASN1_INTEGER,
17977    pub enc_data: *mut PKCS7_ENC_CONTENT,
17978    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
17979}
17980#[test]
17981fn bindgen_test_layout_pkcs7_envelope_st() {
17982    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
17983    let ptr = UNINIT.as_ptr();
17984    assert_eq!(
17985        ::std::mem::size_of::<pkcs7_envelope_st>(),
17986        24usize,
17987        "Size of pkcs7_envelope_st"
17988    );
17989    assert_eq!(
17990        ::std::mem::align_of::<pkcs7_envelope_st>(),
17991        8usize,
17992        "Alignment of pkcs7_envelope_st"
17993    );
17994    assert_eq!(
17995        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17996        0usize,
17997        "Offset of field: pkcs7_envelope_st::version"
17998    );
17999    assert_eq!(
18000        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
18001        8usize,
18002        "Offset of field: pkcs7_envelope_st::enc_data"
18003    );
18004    assert_eq!(
18005        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
18006        16usize,
18007        "Offset of field: pkcs7_envelope_st::recipientinfo"
18008    );
18009}
18010impl Default for pkcs7_envelope_st {
18011    fn default() -> Self {
18012        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18013        unsafe {
18014            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18015            s.assume_init()
18016        }
18017    }
18018}
18019#[repr(C)]
18020#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18021pub struct pkcs7_recip_info_st {
18022    pub version: *mut ASN1_INTEGER,
18023    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18024    pub key_enc_algor: *mut X509_ALGOR,
18025    pub enc_key: *mut ASN1_OCTET_STRING,
18026    pub cert: *mut X509,
18027}
18028#[test]
18029fn bindgen_test_layout_pkcs7_recip_info_st() {
18030    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
18031    let ptr = UNINIT.as_ptr();
18032    assert_eq!(
18033        ::std::mem::size_of::<pkcs7_recip_info_st>(),
18034        40usize,
18035        "Size of pkcs7_recip_info_st"
18036    );
18037    assert_eq!(
18038        ::std::mem::align_of::<pkcs7_recip_info_st>(),
18039        8usize,
18040        "Alignment of pkcs7_recip_info_st"
18041    );
18042    assert_eq!(
18043        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18044        0usize,
18045        "Offset of field: pkcs7_recip_info_st::version"
18046    );
18047    assert_eq!(
18048        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18049        8usize,
18050        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
18051    );
18052    assert_eq!(
18053        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
18054        16usize,
18055        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
18056    );
18057    assert_eq!(
18058        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
18059        24usize,
18060        "Offset of field: pkcs7_recip_info_st::enc_key"
18061    );
18062    assert_eq!(
18063        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18064        32usize,
18065        "Offset of field: pkcs7_recip_info_st::cert"
18066    );
18067}
18068impl Default for pkcs7_recip_info_st {
18069    fn default() -> Self {
18070        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18071        unsafe {
18072            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18073            s.assume_init()
18074        }
18075    }
18076}
18077#[repr(C)]
18078#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18079pub struct pkcs7_issuer_and_serial_st {
18080    pub issuer: *mut X509_NAME,
18081    pub serial: *mut ASN1_INTEGER,
18082}
18083#[test]
18084fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
18085    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
18086        ::std::mem::MaybeUninit::uninit();
18087    let ptr = UNINIT.as_ptr();
18088    assert_eq!(
18089        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
18090        16usize,
18091        "Size of pkcs7_issuer_and_serial_st"
18092    );
18093    assert_eq!(
18094        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
18095        8usize,
18096        "Alignment of pkcs7_issuer_and_serial_st"
18097    );
18098    assert_eq!(
18099        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
18100        0usize,
18101        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
18102    );
18103    assert_eq!(
18104        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
18105        8usize,
18106        "Offset of field: pkcs7_issuer_and_serial_st::serial"
18107    );
18108}
18109impl Default for pkcs7_issuer_and_serial_st {
18110    fn default() -> Self {
18111        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18112        unsafe {
18113            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18114            s.assume_init()
18115        }
18116    }
18117}
18118extern "C" {
18119    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_new"]
18120    pub fn PKCS7_new() -> *mut PKCS7;
18121}
18122extern "C" {
18123    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_free"]
18124    pub fn PKCS7_free(a: *mut PKCS7);
18125}
18126extern "C" {
18127    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS7"]
18128    pub fn d2i_PKCS7(
18129        a: *mut *mut PKCS7,
18130        in_: *mut *const ::std::os::raw::c_uchar,
18131        len: ::std::os::raw::c_long,
18132    ) -> *mut PKCS7;
18133}
18134extern "C" {
18135    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS7"]
18136    pub fn i2d_PKCS7(
18137        a: *mut PKCS7,
18138        out: *mut *mut ::std::os::raw::c_uchar,
18139    ) -> ::std::os::raw::c_int;
18140}
18141extern "C" {
18142    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_it"]
18143    pub static PKCS7_it: ASN1_ITEM;
18144}
18145extern "C" {
18146    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_RECIP_INFO_new"]
18147    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
18148}
18149extern "C" {
18150    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_RECIP_INFO_free"]
18151    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
18152}
18153extern "C" {
18154    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS7_RECIP_INFO"]
18155    pub fn d2i_PKCS7_RECIP_INFO(
18156        a: *mut *mut PKCS7_RECIP_INFO,
18157        in_: *mut *const ::std::os::raw::c_uchar,
18158        len: ::std::os::raw::c_long,
18159    ) -> *mut PKCS7_RECIP_INFO;
18160}
18161extern "C" {
18162    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS7_RECIP_INFO"]
18163    pub fn i2d_PKCS7_RECIP_INFO(
18164        a: *mut PKCS7_RECIP_INFO,
18165        out: *mut *mut ::std::os::raw::c_uchar,
18166    ) -> ::std::os::raw::c_int;
18167}
18168extern "C" {
18169    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_RECIP_INFO_it"]
18170    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
18171}
18172extern "C" {
18173    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_SIGNER_INFO_new"]
18174    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
18175}
18176extern "C" {
18177    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_SIGNER_INFO_free"]
18178    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
18179}
18180extern "C" {
18181    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS7_SIGNER_INFO"]
18182    pub fn d2i_PKCS7_SIGNER_INFO(
18183        a: *mut *mut PKCS7_SIGNER_INFO,
18184        in_: *mut *const ::std::os::raw::c_uchar,
18185        len: ::std::os::raw::c_long,
18186    ) -> *mut PKCS7_SIGNER_INFO;
18187}
18188extern "C" {
18189    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS7_SIGNER_INFO"]
18190    pub fn i2d_PKCS7_SIGNER_INFO(
18191        a: *mut PKCS7_SIGNER_INFO,
18192        out: *mut *mut ::std::os::raw::c_uchar,
18193    ) -> ::std::os::raw::c_int;
18194}
18195extern "C" {
18196    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_SIGNER_INFO_it"]
18197    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
18198}
18199#[repr(C)]
18200#[derive(Debug, Copy, Clone)]
18201pub struct stack_st_PKCS7_RECIP_INFO {
18202    _unused: [u8; 0],
18203}
18204pub type sk_PKCS7_RECIP_INFO_free_func =
18205    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
18206pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
18207    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
18208>;
18209pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
18210    unsafe extern "C" fn(
18211        arg1: *const *const PKCS7_RECIP_INFO,
18212        arg2: *const *const PKCS7_RECIP_INFO,
18213    ) -> ::std::os::raw::c_int,
18214>;
18215pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
18216    unsafe extern "C" fn(
18217        arg1: *mut PKCS7_RECIP_INFO,
18218        arg2: *mut ::std::os::raw::c_void,
18219    ) -> ::std::os::raw::c_int,
18220>;
18221#[repr(C)]
18222#[derive(Debug, Copy, Clone)]
18223pub struct stack_st_PKCS7_SIGNER_INFO {
18224    _unused: [u8; 0],
18225}
18226pub type sk_PKCS7_SIGNER_INFO_free_func =
18227    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
18228pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
18229    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
18230>;
18231pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
18232    unsafe extern "C" fn(
18233        arg1: *const *const PKCS7_SIGNER_INFO,
18234        arg2: *const *const PKCS7_SIGNER_INFO,
18235    ) -> ::std::os::raw::c_int,
18236>;
18237pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
18238    unsafe extern "C" fn(
18239        arg1: *mut PKCS7_SIGNER_INFO,
18240        arg2: *mut ::std::os::raw::c_void,
18241    ) -> ::std::os::raw::c_int,
18242>;
18243extern "C" {
18244    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_dup"]
18245    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
18246}
18247extern "C" {
18248    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_signed_attribute"]
18249    pub fn PKCS7_get_signed_attribute(
18250        si: *const PKCS7_SIGNER_INFO,
18251        nid: ::std::os::raw::c_int,
18252    ) -> *mut ASN1_TYPE;
18253}
18254extern "C" {
18255    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_signer_info"]
18256    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
18257}
18258extern "C" {
18259    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_RECIP_INFO_set"]
18260    pub fn PKCS7_RECIP_INFO_set(
18261        p7i: *mut PKCS7_RECIP_INFO,
18262        x509: *mut X509,
18263    ) -> ::std::os::raw::c_int;
18264}
18265extern "C" {
18266    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_SIGNER_INFO_set"]
18267    pub fn PKCS7_SIGNER_INFO_set(
18268        p7i: *mut PKCS7_SIGNER_INFO,
18269        x509: *mut X509,
18270        pkey: *mut EVP_PKEY,
18271        dgst: *const EVP_MD,
18272    ) -> ::std::os::raw::c_int;
18273}
18274extern "C" {
18275    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_add_certificate"]
18276    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
18277}
18278extern "C" {
18279    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_add_crl"]
18280    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
18281}
18282extern "C" {
18283    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_add_recipient_info"]
18284    pub fn PKCS7_add_recipient_info(
18285        p7: *mut PKCS7,
18286        ri: *mut PKCS7_RECIP_INFO,
18287    ) -> ::std::os::raw::c_int;
18288}
18289extern "C" {
18290    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_add_signer"]
18291    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
18292}
18293extern "C" {
18294    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_content_new"]
18295    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18296}
18297extern "C" {
18298    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_set_content"]
18299    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
18300}
18301extern "C" {
18302    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_set_cipher"]
18303    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
18304}
18305extern "C" {
18306    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_set_type"]
18307    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18308}
18309extern "C" {
18310    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_RECIP_INFO_get0_alg"]
18311    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
18312}
18313extern "C" {
18314    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_SIGNER_INFO_get0_algs"]
18315    pub fn PKCS7_SIGNER_INFO_get0_algs(
18316        si: *mut PKCS7_SIGNER_INFO,
18317        pk: *mut *mut EVP_PKEY,
18318        pdig: *mut *mut X509_ALGOR,
18319        psig: *mut *mut X509_ALGOR,
18320    );
18321}
18322extern "C" {
18323    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_sign"]
18324    pub fn PKCS7_sign(
18325        sign_cert: *mut X509,
18326        pkey: *mut EVP_PKEY,
18327        certs: *mut stack_st_X509,
18328        data: *mut BIO,
18329        flags: ::std::os::raw::c_int,
18330    ) -> *mut PKCS7;
18331}
18332extern "C" {
18333    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_verify"]
18334    pub fn PKCS7_verify(
18335        p7: *mut PKCS7,
18336        certs: *mut stack_st_X509,
18337        store: *mut X509_STORE,
18338        indata: *mut BIO,
18339        outdata: *mut BIO,
18340        flags: ::std::os::raw::c_int,
18341    ) -> ::std::os::raw::c_int;
18342}
18343extern "C" {
18344    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_is_detached"]
18345    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18346}
18347extern "C" {
18348    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_set_detached"]
18349    pub fn PKCS7_set_detached(
18350        p7: *mut PKCS7,
18351        detach: ::std::os::raw::c_int,
18352    ) -> ::std::os::raw::c_int;
18353}
18354extern "C" {
18355    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_detached"]
18356    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18357}
18358extern "C" {
18359    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_dataInit"]
18360    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
18361}
18362extern "C" {
18363    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_dataFinal"]
18364    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
18365}
18366extern "C" {
18367    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_set_digest"]
18368    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
18369}
18370extern "C" {
18371    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get_recipient_info"]
18372    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
18373}
18374extern "C" {
18375    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_add_recipient"]
18376    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
18377}
18378extern "C" {
18379    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_get0_signers"]
18380    pub fn PKCS7_get0_signers(
18381        p7: *mut PKCS7,
18382        certs: *mut stack_st_X509,
18383        flags: ::std::os::raw::c_int,
18384    ) -> *mut stack_st_X509;
18385}
18386extern "C" {
18387    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_encrypt"]
18388    pub fn PKCS7_encrypt(
18389        certs: *mut stack_st_X509,
18390        in_: *mut BIO,
18391        cipher: *const EVP_CIPHER,
18392        flags: ::std::os::raw::c_int,
18393    ) -> *mut PKCS7;
18394}
18395extern "C" {
18396    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_decrypt"]
18397    pub fn PKCS7_decrypt(
18398        p7: *mut PKCS7,
18399        pkey: *mut EVP_PKEY,
18400        cert: *mut X509,
18401        data: *mut BIO,
18402        flags: ::std::os::raw::c_int,
18403    ) -> ::std::os::raw::c_int;
18404}
18405extern "C" {
18406    #[link_name = "\u{1}aws_lc_0_35_0_SMIME_read_PKCS7"]
18407    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
18408}
18409extern "C" {
18410    #[link_name = "\u{1}aws_lc_0_35_0_SMIME_write_PKCS7"]
18411    pub fn SMIME_write_PKCS7(
18412        out: *mut BIO,
18413        p7: *mut PKCS7,
18414        data: *mut BIO,
18415        flags: ::std::os::raw::c_int,
18416    ) -> ::std::os::raw::c_int;
18417}
18418extern "C" {
18419    #[link_name = "\u{1}aws_lc_0_35_0_PKCS7_print_ctx"]
18420    pub fn PKCS7_print_ctx(
18421        bio: *mut BIO,
18422        pkcs7: *mut PKCS7,
18423        indent: ::std::os::raw::c_int,
18424        pctx: *const ASN1_PCTX,
18425    ) -> ::std::os::raw::c_int;
18426}
18427pub type sk_CRYPTO_BUFFER_free_func =
18428    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
18429pub type sk_CRYPTO_BUFFER_copy_func =
18430    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
18431pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
18432    unsafe extern "C" fn(
18433        arg1: *const *const CRYPTO_BUFFER,
18434        arg2: *const *const CRYPTO_BUFFER,
18435    ) -> ::std::os::raw::c_int,
18436>;
18437pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
18438    unsafe extern "C" fn(
18439        arg1: *mut CRYPTO_BUFFER,
18440        arg2: *mut ::std::os::raw::c_void,
18441    ) -> ::std::os::raw::c_int,
18442>;
18443extern "C" {
18444    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_POOL_new"]
18445    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
18446}
18447extern "C" {
18448    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_POOL_free"]
18449    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
18450}
18451extern "C" {
18452    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_new"]
18453    pub fn CRYPTO_BUFFER_new(
18454        data: *const u8,
18455        len: usize,
18456        pool: *mut CRYPTO_BUFFER_POOL,
18457    ) -> *mut CRYPTO_BUFFER;
18458}
18459extern "C" {
18460    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_alloc"]
18461    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
18462}
18463extern "C" {
18464    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_new_from_CBS"]
18465    pub fn CRYPTO_BUFFER_new_from_CBS(
18466        cbs: *const CBS,
18467        pool: *mut CRYPTO_BUFFER_POOL,
18468    ) -> *mut CRYPTO_BUFFER;
18469}
18470extern "C" {
18471    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
18472    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
18473        data: *const u8,
18474        len: usize,
18475        pool: *mut CRYPTO_BUFFER_POOL,
18476    ) -> *mut CRYPTO_BUFFER;
18477}
18478extern "C" {
18479    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_free"]
18480    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
18481}
18482extern "C" {
18483    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_up_ref"]
18484    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
18485}
18486extern "C" {
18487    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_data"]
18488    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
18489}
18490extern "C" {
18491    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_len"]
18492    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
18493}
18494extern "C" {
18495    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_BUFFER_init_CBS"]
18496    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
18497}
18498extern "C" {
18499    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_public_key"]
18500    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
18501}
18502extern "C" {
18503    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key"]
18504    pub fn RSA_new_private_key(
18505        n: *const BIGNUM,
18506        e: *const BIGNUM,
18507        d: *const BIGNUM,
18508        p: *const BIGNUM,
18509        q: *const BIGNUM,
18510        dmp1: *const BIGNUM,
18511        dmq1: *const BIGNUM,
18512        iqmp: *const BIGNUM,
18513    ) -> *mut RSA;
18514}
18515extern "C" {
18516    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new"]
18517    pub fn RSA_new() -> *mut RSA;
18518}
18519extern "C" {
18520    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_method"]
18521    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
18522}
18523extern "C" {
18524    #[link_name = "\u{1}aws_lc_0_35_0_RSA_free"]
18525    pub fn RSA_free(rsa: *mut RSA);
18526}
18527extern "C" {
18528    #[link_name = "\u{1}aws_lc_0_35_0_RSA_up_ref"]
18529    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
18530}
18531extern "C" {
18532    #[link_name = "\u{1}aws_lc_0_35_0_RSA_bits"]
18533    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
18534}
18535extern "C" {
18536    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_n"]
18537    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
18538}
18539extern "C" {
18540    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_e"]
18541    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
18542}
18543extern "C" {
18544    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_d"]
18545    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
18546}
18547extern "C" {
18548    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_p"]
18549    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
18550}
18551extern "C" {
18552    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_q"]
18553    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
18554}
18555extern "C" {
18556    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_dmp1"]
18557    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
18558}
18559extern "C" {
18560    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_dmq1"]
18561    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
18562}
18563extern "C" {
18564    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_iqmp"]
18565    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
18566}
18567extern "C" {
18568    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_key"]
18569    pub fn RSA_get0_key(
18570        rsa: *const RSA,
18571        out_n: *mut *const BIGNUM,
18572        out_e: *mut *const BIGNUM,
18573        out_d: *mut *const BIGNUM,
18574    );
18575}
18576extern "C" {
18577    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_factors"]
18578    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
18579}
18580extern "C" {
18581    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_crt_params"]
18582    pub fn RSA_get0_crt_params(
18583        rsa: *const RSA,
18584        out_dmp1: *mut *const BIGNUM,
18585        out_dmq1: *mut *const BIGNUM,
18586        out_iqmp: *mut *const BIGNUM,
18587    );
18588}
18589extern "C" {
18590    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_key"]
18591    pub fn RSA_set0_key(
18592        rsa: *mut RSA,
18593        n: *mut BIGNUM,
18594        e: *mut BIGNUM,
18595        d: *mut BIGNUM,
18596    ) -> ::std::os::raw::c_int;
18597}
18598extern "C" {
18599    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_factors"]
18600    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
18601        -> ::std::os::raw::c_int;
18602}
18603extern "C" {
18604    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set0_crt_params"]
18605    pub fn RSA_set0_crt_params(
18606        rsa: *mut RSA,
18607        dmp1: *mut BIGNUM,
18608        dmq1: *mut BIGNUM,
18609        iqmp: *mut BIGNUM,
18610    ) -> ::std::os::raw::c_int;
18611}
18612extern "C" {
18613    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_default_method"]
18614    pub fn RSA_get_default_method() -> *const RSA_METHOD;
18615}
18616extern "C" {
18617    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_new"]
18618    pub fn RSA_meth_new(
18619        name: *const ::std::os::raw::c_char,
18620        flags: ::std::os::raw::c_int,
18621    ) -> *mut RSA_METHOD;
18622}
18623extern "C" {
18624    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_method"]
18625    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
18626}
18627extern "C" {
18628    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_method"]
18629    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
18630}
18631extern "C" {
18632    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_free"]
18633    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
18634}
18635extern "C" {
18636    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_init"]
18637    pub fn RSA_meth_set_init(
18638        meth: *mut RSA_METHOD,
18639        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
18640    ) -> ::std::os::raw::c_int;
18641}
18642extern "C" {
18643    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_finish"]
18644    pub fn RSA_meth_set_finish(
18645        meth: *mut RSA_METHOD,
18646        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
18647    ) -> ::std::os::raw::c_int;
18648}
18649extern "C" {
18650    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_priv_dec"]
18651    pub fn RSA_meth_set_priv_dec(
18652        meth: *mut RSA_METHOD,
18653        priv_dec: ::std::option::Option<
18654            unsafe extern "C" fn(
18655                max_out: ::std::os::raw::c_int,
18656                from: *const u8,
18657                to: *mut u8,
18658                rsa: *mut RSA,
18659                padding: ::std::os::raw::c_int,
18660            ) -> ::std::os::raw::c_int,
18661        >,
18662    ) -> ::std::os::raw::c_int;
18663}
18664extern "C" {
18665    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_priv_enc"]
18666    pub fn RSA_meth_set_priv_enc(
18667        meth: *mut RSA_METHOD,
18668        priv_enc: ::std::option::Option<
18669            unsafe extern "C" fn(
18670                max_out: ::std::os::raw::c_int,
18671                from: *const u8,
18672                to: *mut u8,
18673                rsa: *mut RSA,
18674                padding: ::std::os::raw::c_int,
18675            ) -> ::std::os::raw::c_int,
18676        >,
18677    ) -> ::std::os::raw::c_int;
18678}
18679extern "C" {
18680    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_pub_dec"]
18681    pub fn RSA_meth_set_pub_dec(
18682        meth: *mut RSA_METHOD,
18683        pub_dec: ::std::option::Option<
18684            unsafe extern "C" fn(
18685                max_out: ::std::os::raw::c_int,
18686                from: *const u8,
18687                to: *mut u8,
18688                rsa: *mut RSA,
18689                padding: ::std::os::raw::c_int,
18690            ) -> ::std::os::raw::c_int,
18691        >,
18692    ) -> ::std::os::raw::c_int;
18693}
18694extern "C" {
18695    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_pub_enc"]
18696    pub fn RSA_meth_set_pub_enc(
18697        meth: *mut RSA_METHOD,
18698        pub_enc: ::std::option::Option<
18699            unsafe extern "C" fn(
18700                max_out: ::std::os::raw::c_int,
18701                from: *const u8,
18702                to: *mut u8,
18703                rsa: *mut RSA,
18704                padding: ::std::os::raw::c_int,
18705            ) -> ::std::os::raw::c_int,
18706        >,
18707    ) -> ::std::os::raw::c_int;
18708}
18709extern "C" {
18710    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set0_app_data"]
18711    pub fn RSA_meth_set0_app_data(
18712        meth: *mut RSA_METHOD,
18713        app_data: *mut ::std::os::raw::c_void,
18714    ) -> ::std::os::raw::c_int;
18715}
18716extern "C" {
18717    #[link_name = "\u{1}aws_lc_0_35_0_RSA_meth_set_sign"]
18718    pub fn RSA_meth_set_sign(
18719        meth: *mut RSA_METHOD,
18720        sign: ::std::option::Option<
18721            unsafe extern "C" fn(
18722                type_: ::std::os::raw::c_int,
18723                m: *const ::std::os::raw::c_uchar,
18724                m_length: ::std::os::raw::c_uint,
18725                sigret: *mut ::std::os::raw::c_uchar,
18726                siglen: *mut ::std::os::raw::c_uint,
18727                rsa: *const RSA,
18728            ) -> ::std::os::raw::c_int,
18729        >,
18730    ) -> ::std::os::raw::c_int;
18731}
18732extern "C" {
18733    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key_ex"]
18734    pub fn RSA_generate_key_ex(
18735        rsa: *mut RSA,
18736        bits: ::std::os::raw::c_int,
18737        e: *const BIGNUM,
18738        cb: *mut BN_GENCB,
18739    ) -> ::std::os::raw::c_int;
18740}
18741extern "C" {
18742    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key_fips"]
18743    pub fn RSA_generate_key_fips(
18744        rsa: *mut RSA,
18745        bits: ::std::os::raw::c_int,
18746        cb: *mut BN_GENCB,
18747    ) -> ::std::os::raw::c_int;
18748}
18749extern "C" {
18750    #[link_name = "\u{1}aws_lc_0_35_0_RSA_encrypt"]
18751    pub fn RSA_encrypt(
18752        rsa: *mut RSA,
18753        out_len: *mut usize,
18754        out: *mut u8,
18755        max_out: usize,
18756        in_: *const u8,
18757        in_len: usize,
18758        padding: ::std::os::raw::c_int,
18759    ) -> ::std::os::raw::c_int;
18760}
18761extern "C" {
18762    #[link_name = "\u{1}aws_lc_0_35_0_RSA_decrypt"]
18763    pub fn RSA_decrypt(
18764        rsa: *mut RSA,
18765        out_len: *mut usize,
18766        out: *mut u8,
18767        max_out: usize,
18768        in_: *const u8,
18769        in_len: usize,
18770        padding: ::std::os::raw::c_int,
18771    ) -> ::std::os::raw::c_int;
18772}
18773extern "C" {
18774    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_encrypt"]
18775    pub fn RSA_public_encrypt(
18776        flen: usize,
18777        from: *const u8,
18778        to: *mut u8,
18779        rsa: *mut RSA,
18780        padding: ::std::os::raw::c_int,
18781    ) -> ::std::os::raw::c_int;
18782}
18783extern "C" {
18784    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_decrypt"]
18785    pub fn RSA_private_decrypt(
18786        flen: usize,
18787        from: *const u8,
18788        to: *mut u8,
18789        rsa: *mut RSA,
18790        padding: ::std::os::raw::c_int,
18791    ) -> ::std::os::raw::c_int;
18792}
18793extern "C" {
18794    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign"]
18795    pub fn RSA_sign(
18796        hash_nid: ::std::os::raw::c_int,
18797        digest: *const u8,
18798        digest_len: usize,
18799        out: *mut u8,
18800        out_len: *mut ::std::os::raw::c_uint,
18801        rsa: *mut RSA,
18802    ) -> ::std::os::raw::c_int;
18803}
18804extern "C" {
18805    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign_pss_mgf1"]
18806    pub fn RSA_sign_pss_mgf1(
18807        rsa: *mut RSA,
18808        out_len: *mut usize,
18809        out: *mut u8,
18810        max_out: usize,
18811        digest: *const u8,
18812        digest_len: usize,
18813        md: *const EVP_MD,
18814        mgf1_md: *const EVP_MD,
18815        salt_len: ::std::os::raw::c_int,
18816    ) -> ::std::os::raw::c_int;
18817}
18818extern "C" {
18819    #[link_name = "\u{1}aws_lc_0_35_0_RSA_sign_raw"]
18820    pub fn RSA_sign_raw(
18821        rsa: *mut RSA,
18822        out_len: *mut usize,
18823        out: *mut u8,
18824        max_out: usize,
18825        in_: *const u8,
18826        in_len: usize,
18827        padding: ::std::os::raw::c_int,
18828    ) -> ::std::os::raw::c_int;
18829}
18830extern "C" {
18831    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify"]
18832    pub fn RSA_verify(
18833        hash_nid: ::std::os::raw::c_int,
18834        digest: *const u8,
18835        digest_len: usize,
18836        sig: *const u8,
18837        sig_len: usize,
18838        rsa: *mut RSA,
18839    ) -> ::std::os::raw::c_int;
18840}
18841extern "C" {
18842    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_pss_mgf1"]
18843    pub fn RSA_verify_pss_mgf1(
18844        rsa: *mut RSA,
18845        digest: *const u8,
18846        digest_len: usize,
18847        md: *const EVP_MD,
18848        mgf1_md: *const EVP_MD,
18849        salt_len: ::std::os::raw::c_int,
18850        sig: *const u8,
18851        sig_len: usize,
18852    ) -> ::std::os::raw::c_int;
18853}
18854extern "C" {
18855    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_raw"]
18856    pub fn RSA_verify_raw(
18857        rsa: *mut RSA,
18858        out_len: *mut usize,
18859        out: *mut u8,
18860        max_out: usize,
18861        in_: *const u8,
18862        in_len: usize,
18863        padding: ::std::os::raw::c_int,
18864    ) -> ::std::os::raw::c_int;
18865}
18866extern "C" {
18867    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_encrypt"]
18868    pub fn RSA_private_encrypt(
18869        flen: usize,
18870        from: *const u8,
18871        to: *mut u8,
18872        rsa: *mut RSA,
18873        padding: ::std::os::raw::c_int,
18874    ) -> ::std::os::raw::c_int;
18875}
18876extern "C" {
18877    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_decrypt"]
18878    pub fn RSA_public_decrypt(
18879        flen: usize,
18880        from: *const u8,
18881        to: *mut u8,
18882        rsa: *mut RSA,
18883        padding: ::std::os::raw::c_int,
18884    ) -> ::std::os::raw::c_int;
18885}
18886extern "C" {
18887    #[link_name = "\u{1}aws_lc_0_35_0_RSA_size"]
18888    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
18889}
18890extern "C" {
18891    #[link_name = "\u{1}aws_lc_0_35_0_RSA_is_opaque"]
18892    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
18893}
18894extern "C" {
18895    #[link_name = "\u{1}aws_lc_0_35_0_RSAPublicKey_dup"]
18896    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
18897}
18898extern "C" {
18899    #[link_name = "\u{1}aws_lc_0_35_0_RSAPrivateKey_dup"]
18900    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
18901}
18902extern "C" {
18903    #[link_name = "\u{1}aws_lc_0_35_0_RSA_check_key"]
18904    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
18905}
18906extern "C" {
18907    #[link_name = "\u{1}aws_lc_0_35_0_RSA_check_fips"]
18908    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
18909}
18910extern "C" {
18911    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_PKCS1_PSS_mgf1"]
18912    pub fn RSA_verify_PKCS1_PSS_mgf1(
18913        rsa: *const RSA,
18914        mHash: *const u8,
18915        Hash: *const EVP_MD,
18916        mgf1Hash: *const EVP_MD,
18917        EM: *const u8,
18918        sLen: ::std::os::raw::c_int,
18919    ) -> ::std::os::raw::c_int;
18920}
18921extern "C" {
18922    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_PSS_mgf1"]
18923    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
18924        rsa: *const RSA,
18925        EM: *mut u8,
18926        mHash: *const u8,
18927        Hash: *const EVP_MD,
18928        mgf1Hash: *const EVP_MD,
18929        sLen: ::std::os::raw::c_int,
18930    ) -> ::std::os::raw::c_int;
18931}
18932extern "C" {
18933    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
18934    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
18935        to: *mut u8,
18936        to_len: usize,
18937        from: *const u8,
18938        from_len: usize,
18939        param: *const u8,
18940        param_len: usize,
18941        md: *const EVP_MD,
18942        mgf1md: *const EVP_MD,
18943    ) -> ::std::os::raw::c_int;
18944}
18945extern "C" {
18946    #[link_name = "\u{1}aws_lc_0_35_0_PKCS1_MGF1"]
18947    pub fn PKCS1_MGF1(
18948        out: *mut u8,
18949        len: usize,
18950        seed: *const u8,
18951        seed_len: usize,
18952        md: *const EVP_MD,
18953    ) -> ::std::os::raw::c_int;
18954}
18955extern "C" {
18956    #[link_name = "\u{1}aws_lc_0_35_0_RSA_add_pkcs1_prefix"]
18957    pub fn RSA_add_pkcs1_prefix(
18958        out_msg: *mut *mut u8,
18959        out_msg_len: *mut usize,
18960        is_alloced: *mut ::std::os::raw::c_int,
18961        hash_nid: ::std::os::raw::c_int,
18962        digest: *const u8,
18963        digest_len: usize,
18964    ) -> ::std::os::raw::c_int;
18965}
18966extern "C" {
18967    #[link_name = "\u{1}aws_lc_0_35_0_RSA_parse_public_key"]
18968    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
18969}
18970extern "C" {
18971    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_key_from_bytes"]
18972    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18973}
18974extern "C" {
18975    #[link_name = "\u{1}aws_lc_0_35_0_RSA_marshal_public_key"]
18976    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18977}
18978extern "C" {
18979    #[link_name = "\u{1}aws_lc_0_35_0_RSA_public_key_to_bytes"]
18980    pub fn RSA_public_key_to_bytes(
18981        out_bytes: *mut *mut u8,
18982        out_len: *mut usize,
18983        rsa: *const RSA,
18984    ) -> ::std::os::raw::c_int;
18985}
18986extern "C" {
18987    #[link_name = "\u{1}aws_lc_0_35_0_RSA_parse_private_key"]
18988    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
18989}
18990extern "C" {
18991    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_key_from_bytes"]
18992    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18993}
18994extern "C" {
18995    #[link_name = "\u{1}aws_lc_0_35_0_RSA_marshal_private_key"]
18996    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18997}
18998extern "C" {
18999    #[link_name = "\u{1}aws_lc_0_35_0_RSA_private_key_to_bytes"]
19000    pub fn RSA_private_key_to_bytes(
19001        out_bytes: *mut *mut u8,
19002        out_len: *mut usize,
19003        rsa: *const RSA,
19004    ) -> ::std::os::raw::c_int;
19005}
19006extern "C" {
19007    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_no_crt"]
19008    pub fn RSA_new_private_key_no_crt(
19009        n: *const BIGNUM,
19010        e: *const BIGNUM,
19011        d: *const BIGNUM,
19012    ) -> *mut RSA;
19013}
19014extern "C" {
19015    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_no_e"]
19016    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
19017}
19018extern "C" {
19019    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_public_key_large_e"]
19020    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19021}
19022extern "C" {
19023    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_private_key_large_e"]
19024    pub fn RSA_new_private_key_large_e(
19025        n: *const BIGNUM,
19026        e: *const BIGNUM,
19027        d: *const BIGNUM,
19028        p: *const BIGNUM,
19029        q: *const BIGNUM,
19030        dmp1: *const BIGNUM,
19031        dmq1: *const BIGNUM,
19032        iqmp: *const BIGNUM,
19033    ) -> *mut RSA;
19034}
19035extern "C" {
19036    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_ex_new_index"]
19037    pub fn RSA_get_ex_new_index(
19038        argl: ::std::os::raw::c_long,
19039        argp: *mut ::std::os::raw::c_void,
19040        unused: *mut CRYPTO_EX_unused,
19041        dup_unused: CRYPTO_EX_dup,
19042        free_func: CRYPTO_EX_free,
19043    ) -> ::std::os::raw::c_int;
19044}
19045extern "C" {
19046    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_ex_data"]
19047    pub fn RSA_set_ex_data(
19048        rsa: *mut RSA,
19049        idx: ::std::os::raw::c_int,
19050        arg: *mut ::std::os::raw::c_void,
19051    ) -> ::std::os::raw::c_int;
19052}
19053extern "C" {
19054    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get_ex_data"]
19055    pub fn RSA_get_ex_data(
19056        rsa: *const RSA,
19057        idx: ::std::os::raw::c_int,
19058    ) -> *mut ::std::os::raw::c_void;
19059}
19060extern "C" {
19061    #[link_name = "\u{1}aws_lc_0_35_0_RSA_flags"]
19062    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
19063}
19064extern "C" {
19065    #[link_name = "\u{1}aws_lc_0_35_0_RSA_set_flags"]
19066    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
19067}
19068extern "C" {
19069    #[link_name = "\u{1}aws_lc_0_35_0_RSA_test_flags"]
19070    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19071}
19072extern "C" {
19073    #[link_name = "\u{1}aws_lc_0_35_0_RSA_blinding_on"]
19074    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
19075}
19076extern "C" {
19077    #[link_name = "\u{1}aws_lc_0_35_0_RSA_blinding_off_temp_for_accp_compatibility"]
19078    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
19079}
19080extern "C" {
19081    #[link_name = "\u{1}aws_lc_0_35_0_RSA_pkey_ctx_ctrl"]
19082    pub fn RSA_pkey_ctx_ctrl(
19083        ctx: *mut EVP_PKEY_CTX,
19084        optype: ::std::os::raw::c_int,
19085        cmd: ::std::os::raw::c_int,
19086        p1: ::std::os::raw::c_int,
19087        p2: *mut ::std::os::raw::c_void,
19088    ) -> ::std::os::raw::c_int;
19089}
19090extern "C" {
19091    #[link_name = "\u{1}aws_lc_0_35_0_RSA_generate_key"]
19092    pub fn RSA_generate_key(
19093        bits: ::std::os::raw::c_int,
19094        e: u64,
19095        callback: *mut ::std::os::raw::c_void,
19096        cb_arg: *mut ::std::os::raw::c_void,
19097    ) -> *mut RSA;
19098}
19099extern "C" {
19100    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPublicKey"]
19101    pub fn d2i_RSAPublicKey(
19102        out: *mut *mut RSA,
19103        inp: *mut *const u8,
19104        len: ::std::os::raw::c_long,
19105    ) -> *mut RSA;
19106}
19107extern "C" {
19108    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPublicKey"]
19109    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19110}
19111extern "C" {
19112    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPrivateKey"]
19113    pub fn d2i_RSAPrivateKey(
19114        out: *mut *mut RSA,
19115        inp: *mut *const u8,
19116        len: ::std::os::raw::c_long,
19117    ) -> *mut RSA;
19118}
19119extern "C" {
19120    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPrivateKey"]
19121    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19122}
19123extern "C" {
19124    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_PSS"]
19125    pub fn RSA_padding_add_PKCS1_PSS(
19126        rsa: *const RSA,
19127        EM: *mut u8,
19128        mHash: *const u8,
19129        Hash: *const EVP_MD,
19130        sLen: ::std::os::raw::c_int,
19131    ) -> ::std::os::raw::c_int;
19132}
19133extern "C" {
19134    #[link_name = "\u{1}aws_lc_0_35_0_RSA_verify_PKCS1_PSS"]
19135    pub fn RSA_verify_PKCS1_PSS(
19136        rsa: *const RSA,
19137        mHash: *const u8,
19138        Hash: *const EVP_MD,
19139        EM: *const u8,
19140        sLen: ::std::os::raw::c_int,
19141    ) -> ::std::os::raw::c_int;
19142}
19143extern "C" {
19144    #[link_name = "\u{1}aws_lc_0_35_0_RSA_padding_add_PKCS1_OAEP"]
19145    pub fn RSA_padding_add_PKCS1_OAEP(
19146        to: *mut u8,
19147        to_len: usize,
19148        from: *const u8,
19149        from_len: usize,
19150        param: *const u8,
19151        param_len: usize,
19152    ) -> ::std::os::raw::c_int;
19153}
19154extern "C" {
19155    #[link_name = "\u{1}aws_lc_0_35_0_RSA_print"]
19156    pub fn RSA_print(
19157        bio: *mut BIO,
19158        rsa: *const RSA,
19159        indent: ::std::os::raw::c_int,
19160    ) -> ::std::os::raw::c_int;
19161}
19162extern "C" {
19163    #[link_name = "\u{1}aws_lc_0_35_0_RSA_print_fp"]
19164    pub fn RSA_print_fp(
19165        fp: *mut FILE,
19166        rsa: *const RSA,
19167        indent: ::std::os::raw::c_int,
19168    ) -> ::std::os::raw::c_int;
19169}
19170extern "C" {
19171    #[link_name = "\u{1}aws_lc_0_35_0_RSA_get0_pss_params"]
19172    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
19173}
19174extern "C" {
19175    #[link_name = "\u{1}aws_lc_0_35_0_RSA_new_method_no_e"]
19176    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
19177}
19178pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
19179pub type sk_X509_copy_func =
19180    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
19181pub type sk_X509_cmp_func = ::std::option::Option<
19182    unsafe extern "C" fn(
19183        arg1: *const *const X509,
19184        arg2: *const *const X509,
19185    ) -> ::std::os::raw::c_int,
19186>;
19187pub type sk_X509_delete_if_func = ::std::option::Option<
19188    unsafe extern "C" fn(
19189        arg1: *mut X509,
19190        arg2: *mut ::std::os::raw::c_void,
19191    ) -> ::std::os::raw::c_int,
19192>;
19193extern "C" {
19194    #[link_name = "\u{1}aws_lc_0_35_0_X509_it"]
19195    pub static X509_it: ASN1_ITEM;
19196}
19197extern "C" {
19198    #[link_name = "\u{1}aws_lc_0_35_0_X509_up_ref"]
19199    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
19200}
19201extern "C" {
19202    #[link_name = "\u{1}aws_lc_0_35_0_X509_chain_up_ref"]
19203    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
19204}
19205extern "C" {
19206    #[link_name = "\u{1}aws_lc_0_35_0_X509_dup"]
19207    pub fn X509_dup(x509: *mut X509) -> *mut X509;
19208}
19209extern "C" {
19210    #[link_name = "\u{1}aws_lc_0_35_0_X509_free"]
19211    pub fn X509_free(x509: *mut X509);
19212}
19213extern "C" {
19214    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509"]
19215    pub fn d2i_X509(
19216        out: *mut *mut X509,
19217        inp: *mut *const u8,
19218        len: ::std::os::raw::c_long,
19219    ) -> *mut X509;
19220}
19221extern "C" {
19222    #[link_name = "\u{1}aws_lc_0_35_0_X509_parse_from_buffer"]
19223    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
19224}
19225extern "C" {
19226    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509"]
19227    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19228}
19229extern "C" {
19230    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_version"]
19231    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
19232}
19233extern "C" {
19234    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_serialNumber"]
19235    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
19236}
19237extern "C" {
19238    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_notBefore"]
19239    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
19240}
19241extern "C" {
19242    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_notAfter"]
19243    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
19244}
19245extern "C" {
19246    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_issuer_name"]
19247    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
19248}
19249extern "C" {
19250    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_subject_name"]
19251    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
19252}
19253extern "C" {
19254    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_X509_PUBKEY"]
19255    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
19256}
19257extern "C" {
19258    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_pubkey"]
19259    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19260}
19261extern "C" {
19262    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_pubkey"]
19263    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19264}
19265extern "C" {
19266    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_pubkey_bitstr"]
19267    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
19268}
19269extern "C" {
19270    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_private_key"]
19271    pub fn X509_check_private_key(
19272        x509: *const X509,
19273        pkey: *const EVP_PKEY,
19274    ) -> ::std::os::raw::c_int;
19275}
19276extern "C" {
19277    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_uids"]
19278    pub fn X509_get0_uids(
19279        x509: *const X509,
19280        out_issuer_uid: *mut *const ASN1_BIT_STRING,
19281        out_subject_uid: *mut *const ASN1_BIT_STRING,
19282    );
19283}
19284extern "C" {
19285    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_extension_flags"]
19286    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
19287}
19288extern "C" {
19289    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_pathlen"]
19290    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
19291}
19292extern "C" {
19293    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_key_usage"]
19294    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
19295}
19296extern "C" {
19297    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_extended_key_usage"]
19298    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
19299}
19300extern "C" {
19301    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_subject_key_id"]
19302    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19303}
19304extern "C" {
19305    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_authority_key_id"]
19306    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19307}
19308#[repr(C)]
19309#[derive(Debug, Copy, Clone)]
19310pub struct stack_st_GENERAL_NAME {
19311    _unused: [u8; 0],
19312}
19313pub type sk_GENERAL_NAME_free_func =
19314    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
19315pub type sk_GENERAL_NAME_copy_func =
19316    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
19317pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
19318    unsafe extern "C" fn(
19319        arg1: *const *const GENERAL_NAME,
19320        arg2: *const *const GENERAL_NAME,
19321    ) -> ::std::os::raw::c_int,
19322>;
19323pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
19324    unsafe extern "C" fn(
19325        arg1: *mut GENERAL_NAME,
19326        arg2: *mut ::std::os::raw::c_void,
19327    ) -> ::std::os::raw::c_int,
19328>;
19329pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
19330extern "C" {
19331    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_authority_issuer"]
19332    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
19333}
19334extern "C" {
19335    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_authority_serial"]
19336    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
19337}
19338#[repr(C)]
19339#[derive(Debug, Copy, Clone)]
19340pub struct stack_st_X509_EXTENSION {
19341    _unused: [u8; 0],
19342}
19343extern "C" {
19344    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_extensions"]
19345    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
19346}
19347extern "C" {
19348    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext_count"]
19349    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
19350}
19351extern "C" {
19352    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext_by_NID"]
19353    pub fn X509_get_ext_by_NID(
19354        x: *const X509,
19355        nid: ::std::os::raw::c_int,
19356        lastpos: ::std::os::raw::c_int,
19357    ) -> ::std::os::raw::c_int;
19358}
19359extern "C" {
19360    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext_by_OBJ"]
19361    pub fn X509_get_ext_by_OBJ(
19362        x: *const X509,
19363        obj: *const ASN1_OBJECT,
19364        lastpos: ::std::os::raw::c_int,
19365    ) -> ::std::os::raw::c_int;
19366}
19367extern "C" {
19368    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext_by_critical"]
19369    pub fn X509_get_ext_by_critical(
19370        x: *const X509,
19371        crit: ::std::os::raw::c_int,
19372        lastpos: ::std::os::raw::c_int,
19373    ) -> ::std::os::raw::c_int;
19374}
19375extern "C" {
19376    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext"]
19377    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19378}
19379extern "C" {
19380    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ext_d2i"]
19381    pub fn X509_get_ext_d2i(
19382        x509: *const X509,
19383        nid: ::std::os::raw::c_int,
19384        out_critical: *mut ::std::os::raw::c_int,
19385        out_idx: *mut ::std::os::raw::c_int,
19386    ) -> *mut ::std::os::raw::c_void;
19387}
19388extern "C" {
19389    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_tbs_sigalg"]
19390    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
19391}
19392extern "C" {
19393    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_signature_info"]
19394    pub fn X509_get_signature_info(
19395        x509: *mut X509,
19396        digest_nid: *mut ::std::os::raw::c_int,
19397        pubkey_nid: *mut ::std::os::raw::c_int,
19398        sec_bits: *mut ::std::os::raw::c_int,
19399        flags: *mut u32,
19400    ) -> ::std::os::raw::c_int;
19401}
19402extern "C" {
19403    #[link_name = "\u{1}aws_lc_0_35_0_X509_get0_signature"]
19404    pub fn X509_get0_signature(
19405        out_sig: *mut *const ASN1_BIT_STRING,
19406        out_alg: *mut *const X509_ALGOR,
19407        x509: *const X509,
19408    );
19409}
19410extern "C" {
19411    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_signature_nid"]
19412    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
19413}
19414extern "C" {
19415    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_tbs"]
19416    pub fn i2d_X509_tbs(
19417        x509: *mut X509,
19418        outp: *mut *mut ::std::os::raw::c_uchar,
19419    ) -> ::std::os::raw::c_int;
19420}
19421extern "C" {
19422    #[link_name = "\u{1}aws_lc_0_35_0_X509_verify"]
19423    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19424}
19425extern "C" {
19426    #[link_name = "\u{1}aws_lc_0_35_0_X509_get1_email"]
19427    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19428}
19429extern "C" {
19430    #[link_name = "\u{1}aws_lc_0_35_0_X509_get1_ocsp"]
19431    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19432}
19433extern "C" {
19434    #[link_name = "\u{1}aws_lc_0_35_0_X509_email_free"]
19435    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
19436}
19437extern "C" {
19438    #[link_name = "\u{1}aws_lc_0_35_0_X509_cmp"]
19439    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
19440}
19441extern "C" {
19442    #[link_name = "\u{1}aws_lc_0_35_0_X509_new"]
19443    pub fn X509_new() -> *mut X509;
19444}
19445extern "C" {
19446    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_version"]
19447    pub fn X509_set_version(
19448        x509: *mut X509,
19449        version: ::std::os::raw::c_long,
19450    ) -> ::std::os::raw::c_int;
19451}
19452extern "C" {
19453    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_serialNumber"]
19454    pub fn X509_set_serialNumber(
19455        x509: *mut X509,
19456        serial: *const ASN1_INTEGER,
19457    ) -> ::std::os::raw::c_int;
19458}
19459extern "C" {
19460    #[link_name = "\u{1}aws_lc_0_35_0_X509_set1_notBefore"]
19461    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
19462}
19463extern "C" {
19464    #[link_name = "\u{1}aws_lc_0_35_0_X509_set1_notAfter"]
19465    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
19466}
19467extern "C" {
19468    #[link_name = "\u{1}aws_lc_0_35_0_X509_getm_notBefore"]
19469    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
19470}
19471extern "C" {
19472    #[link_name = "\u{1}aws_lc_0_35_0_X509_getm_notAfter"]
19473    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
19474}
19475extern "C" {
19476    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_issuer_name"]
19477    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
19478}
19479extern "C" {
19480    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_subject_name"]
19481    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
19482}
19483extern "C" {
19484    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_pubkey"]
19485    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19486}
19487extern "C" {
19488    #[link_name = "\u{1}aws_lc_0_35_0_X509_delete_ext"]
19489    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19490}
19491extern "C" {
19492    #[link_name = "\u{1}aws_lc_0_35_0_X509_add_ext"]
19493    pub fn X509_add_ext(
19494        x: *mut X509,
19495        ex: *const X509_EXTENSION,
19496        loc: ::std::os::raw::c_int,
19497    ) -> ::std::os::raw::c_int;
19498}
19499extern "C" {
19500    #[link_name = "\u{1}aws_lc_0_35_0_X509_add1_ext_i2d"]
19501    pub fn X509_add1_ext_i2d(
19502        x: *mut X509,
19503        nid: ::std::os::raw::c_int,
19504        value: *mut ::std::os::raw::c_void,
19505        crit: ::std::os::raw::c_int,
19506        flags: ::std::os::raw::c_ulong,
19507    ) -> ::std::os::raw::c_int;
19508}
19509extern "C" {
19510    #[link_name = "\u{1}aws_lc_0_35_0_X509_sign"]
19511    pub fn X509_sign(
19512        x509: *mut X509,
19513        pkey: *mut EVP_PKEY,
19514        md: *const EVP_MD,
19515    ) -> ::std::os::raw::c_int;
19516}
19517extern "C" {
19518    #[link_name = "\u{1}aws_lc_0_35_0_X509_sign_ctx"]
19519    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
19520}
19521extern "C" {
19522    #[link_name = "\u{1}aws_lc_0_35_0_i2d_re_X509_tbs"]
19523    pub fn i2d_re_X509_tbs(
19524        x509: *mut X509,
19525        outp: *mut *mut ::std::os::raw::c_uchar,
19526    ) -> ::std::os::raw::c_int;
19527}
19528extern "C" {
19529    #[link_name = "\u{1}aws_lc_0_35_0_X509_set1_signature_algo"]
19530    pub fn X509_set1_signature_algo(
19531        x509: *mut X509,
19532        algo: *const X509_ALGOR,
19533    ) -> ::std::os::raw::c_int;
19534}
19535extern "C" {
19536    #[link_name = "\u{1}aws_lc_0_35_0_X509_set1_signature_value"]
19537    pub fn X509_set1_signature_value(
19538        x509: *mut X509,
19539        sig: *const u8,
19540        sig_len: usize,
19541    ) -> ::std::os::raw::c_int;
19542}
19543extern "C" {
19544    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_AUX"]
19545    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19546}
19547extern "C" {
19548    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_AUX"]
19549    pub fn d2i_X509_AUX(
19550        x509: *mut *mut X509,
19551        inp: *mut *const u8,
19552        length: ::std::os::raw::c_long,
19553    ) -> *mut X509;
19554}
19555extern "C" {
19556    #[link_name = "\u{1}aws_lc_0_35_0_X509_alias_set1"]
19557    pub fn X509_alias_set1(
19558        x509: *mut X509,
19559        name: *const u8,
19560        len: ossl_ssize_t,
19561    ) -> ::std::os::raw::c_int;
19562}
19563extern "C" {
19564    #[link_name = "\u{1}aws_lc_0_35_0_X509_keyid_set1"]
19565    pub fn X509_keyid_set1(
19566        x509: *mut X509,
19567        id: *const u8,
19568        len: ossl_ssize_t,
19569    ) -> ::std::os::raw::c_int;
19570}
19571extern "C" {
19572    #[link_name = "\u{1}aws_lc_0_35_0_X509_alias_get0"]
19573    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
19574}
19575extern "C" {
19576    #[link_name = "\u{1}aws_lc_0_35_0_X509_keyid_get0"]
19577    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
19578}
19579extern "C" {
19580    #[link_name = "\u{1}aws_lc_0_35_0_X509_add1_trust_object"]
19581    pub fn X509_add1_trust_object(
19582        x509: *mut X509,
19583        obj: *const ASN1_OBJECT,
19584    ) -> ::std::os::raw::c_int;
19585}
19586extern "C" {
19587    #[link_name = "\u{1}aws_lc_0_35_0_X509_add1_reject_object"]
19588    pub fn X509_add1_reject_object(
19589        x509: *mut X509,
19590        obj: *const ASN1_OBJECT,
19591    ) -> ::std::os::raw::c_int;
19592}
19593extern "C" {
19594    #[link_name = "\u{1}aws_lc_0_35_0_X509_trust_clear"]
19595    pub fn X509_trust_clear(x509: *mut X509);
19596}
19597extern "C" {
19598    #[link_name = "\u{1}aws_lc_0_35_0_X509_reject_clear"]
19599    pub fn X509_reject_clear(x509: *mut X509);
19600}
19601pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
19602pub type sk_X509_CRL_copy_func =
19603    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
19604pub type sk_X509_CRL_cmp_func = ::std::option::Option<
19605    unsafe extern "C" fn(
19606        arg1: *const *const X509_CRL,
19607        arg2: *const *const X509_CRL,
19608    ) -> ::std::os::raw::c_int,
19609>;
19610pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
19611    unsafe extern "C" fn(
19612        arg1: *mut X509_CRL,
19613        arg2: *mut ::std::os::raw::c_void,
19614    ) -> ::std::os::raw::c_int,
19615>;
19616#[repr(C)]
19617#[derive(Debug, Copy, Clone)]
19618pub struct stack_st_X509_REVOKED {
19619    _unused: [u8; 0],
19620}
19621pub type sk_X509_REVOKED_free_func =
19622    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
19623pub type sk_X509_REVOKED_copy_func =
19624    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
19625pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
19626    unsafe extern "C" fn(
19627        arg1: *const *const X509_REVOKED,
19628        arg2: *const *const X509_REVOKED,
19629    ) -> ::std::os::raw::c_int,
19630>;
19631pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
19632    unsafe extern "C" fn(
19633        arg1: *mut X509_REVOKED,
19634        arg2: *mut ::std::os::raw::c_void,
19635    ) -> ::std::os::raw::c_int,
19636>;
19637extern "C" {
19638    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_it"]
19639    pub static X509_CRL_it: ASN1_ITEM;
19640}
19641extern "C" {
19642    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_up_ref"]
19643    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
19644}
19645extern "C" {
19646    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_dup"]
19647    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
19648}
19649extern "C" {
19650    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_free"]
19651    pub fn X509_CRL_free(crl: *mut X509_CRL);
19652}
19653extern "C" {
19654    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_CRL"]
19655    pub fn d2i_X509_CRL(
19656        out: *mut *mut X509_CRL,
19657        inp: *mut *const u8,
19658        len: ::std::os::raw::c_long,
19659    ) -> *mut X509_CRL;
19660}
19661extern "C" {
19662    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_CRL"]
19663    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19664}
19665extern "C" {
19666    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_match"]
19667    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
19668}
19669extern "C" {
19670    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_version"]
19671    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
19672}
19673extern "C" {
19674    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_lastUpdate"]
19675    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
19676}
19677extern "C" {
19678    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_nextUpdate"]
19679    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
19680}
19681extern "C" {
19682    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_issuer"]
19683    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
19684}
19685extern "C" {
19686    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_by_serial"]
19687    pub fn X509_CRL_get0_by_serial(
19688        crl: *mut X509_CRL,
19689        out: *mut *mut X509_REVOKED,
19690        serial: *const ASN1_INTEGER,
19691    ) -> ::std::os::raw::c_int;
19692}
19693extern "C" {
19694    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_by_cert"]
19695    pub fn X509_CRL_get0_by_cert(
19696        crl: *mut X509_CRL,
19697        out: *mut *mut X509_REVOKED,
19698        x509: *mut X509,
19699    ) -> ::std::os::raw::c_int;
19700}
19701extern "C" {
19702    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_REVOKED"]
19703    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
19704}
19705extern "C" {
19706    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_extensions"]
19707    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
19708}
19709extern "C" {
19710    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext_count"]
19711    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
19712}
19713extern "C" {
19714    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext_by_NID"]
19715    pub fn X509_CRL_get_ext_by_NID(
19716        x: *const X509_CRL,
19717        nid: ::std::os::raw::c_int,
19718        lastpos: ::std::os::raw::c_int,
19719    ) -> ::std::os::raw::c_int;
19720}
19721extern "C" {
19722    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext_by_OBJ"]
19723    pub fn X509_CRL_get_ext_by_OBJ(
19724        x: *const X509_CRL,
19725        obj: *const ASN1_OBJECT,
19726        lastpos: ::std::os::raw::c_int,
19727    ) -> ::std::os::raw::c_int;
19728}
19729extern "C" {
19730    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext_by_critical"]
19731    pub fn X509_CRL_get_ext_by_critical(
19732        x: *const X509_CRL,
19733        crit: ::std::os::raw::c_int,
19734        lastpos: ::std::os::raw::c_int,
19735    ) -> ::std::os::raw::c_int;
19736}
19737extern "C" {
19738    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext"]
19739    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19740}
19741extern "C" {
19742    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_ext_d2i"]
19743    pub fn X509_CRL_get_ext_d2i(
19744        crl: *const X509_CRL,
19745        nid: ::std::os::raw::c_int,
19746        out_critical: *mut ::std::os::raw::c_int,
19747        out_idx: *mut ::std::os::raw::c_int,
19748    ) -> *mut ::std::os::raw::c_void;
19749}
19750extern "C" {
19751    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get0_signature"]
19752    pub fn X509_CRL_get0_signature(
19753        crl: *const X509_CRL,
19754        out_sig: *mut *const ASN1_BIT_STRING,
19755        out_alg: *mut *const X509_ALGOR,
19756    );
19757}
19758extern "C" {
19759    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_signature_nid"]
19760    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
19761}
19762extern "C" {
19763    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_CRL_tbs"]
19764    pub fn i2d_X509_CRL_tbs(
19765        crl: *mut X509_CRL,
19766        outp: *mut *mut ::std::os::raw::c_uchar,
19767    ) -> ::std::os::raw::c_int;
19768}
19769extern "C" {
19770    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_verify"]
19771    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19772}
19773extern "C" {
19774    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_new"]
19775    pub fn X509_CRL_new() -> *mut X509_CRL;
19776}
19777extern "C" {
19778    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set_version"]
19779    pub fn X509_CRL_set_version(
19780        crl: *mut X509_CRL,
19781        version: ::std::os::raw::c_long,
19782    ) -> ::std::os::raw::c_int;
19783}
19784extern "C" {
19785    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set_issuer_name"]
19786    pub fn X509_CRL_set_issuer_name(
19787        crl: *mut X509_CRL,
19788        name: *mut X509_NAME,
19789    ) -> ::std::os::raw::c_int;
19790}
19791extern "C" {
19792    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set1_lastUpdate"]
19793    pub fn X509_CRL_set1_lastUpdate(
19794        crl: *mut X509_CRL,
19795        tm: *const ASN1_TIME,
19796    ) -> ::std::os::raw::c_int;
19797}
19798extern "C" {
19799    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set1_nextUpdate"]
19800    pub fn X509_CRL_set1_nextUpdate(
19801        crl: *mut X509_CRL,
19802        tm: *const ASN1_TIME,
19803    ) -> ::std::os::raw::c_int;
19804}
19805extern "C" {
19806    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_add0_revoked"]
19807    pub fn X509_CRL_add0_revoked(
19808        crl: *mut X509_CRL,
19809        rev: *mut X509_REVOKED,
19810    ) -> ::std::os::raw::c_int;
19811}
19812extern "C" {
19813    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_sort"]
19814    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
19815}
19816extern "C" {
19817    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_delete_ext"]
19818    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
19819        -> *mut X509_EXTENSION;
19820}
19821extern "C" {
19822    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_add_ext"]
19823    pub fn X509_CRL_add_ext(
19824        x: *mut X509_CRL,
19825        ex: *const X509_EXTENSION,
19826        loc: ::std::os::raw::c_int,
19827    ) -> ::std::os::raw::c_int;
19828}
19829extern "C" {
19830    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_add1_ext_i2d"]
19831    pub fn X509_CRL_add1_ext_i2d(
19832        x: *mut X509_CRL,
19833        nid: ::std::os::raw::c_int,
19834        value: *mut ::std::os::raw::c_void,
19835        crit: ::std::os::raw::c_int,
19836        flags: ::std::os::raw::c_ulong,
19837    ) -> ::std::os::raw::c_int;
19838}
19839extern "C" {
19840    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_sign"]
19841    pub fn X509_CRL_sign(
19842        crl: *mut X509_CRL,
19843        pkey: *mut EVP_PKEY,
19844        md: *const EVP_MD,
19845    ) -> ::std::os::raw::c_int;
19846}
19847extern "C" {
19848    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_sign_ctx"]
19849    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
19850}
19851extern "C" {
19852    #[link_name = "\u{1}aws_lc_0_35_0_i2d_re_X509_CRL_tbs"]
19853    pub fn i2d_re_X509_CRL_tbs(
19854        crl: *mut X509_CRL,
19855        outp: *mut *mut ::std::os::raw::c_uchar,
19856    ) -> ::std::os::raw::c_int;
19857}
19858extern "C" {
19859    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set1_signature_algo"]
19860    pub fn X509_CRL_set1_signature_algo(
19861        crl: *mut X509_CRL,
19862        algo: *const X509_ALGOR,
19863    ) -> ::std::os::raw::c_int;
19864}
19865extern "C" {
19866    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_set1_signature_value"]
19867    pub fn X509_CRL_set1_signature_value(
19868        crl: *mut X509_CRL,
19869        sig: *const u8,
19870        sig_len: usize,
19871    ) -> ::std::os::raw::c_int;
19872}
19873extern "C" {
19874    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_http_nbio"]
19875    pub fn X509_CRL_http_nbio(
19876        rctx: *mut OCSP_REQ_CTX,
19877        pcrl: *mut *mut X509_CRL,
19878    ) -> ::std::os::raw::c_int;
19879}
19880extern "C" {
19881    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_it"]
19882    pub static X509_REVOKED_it: ASN1_ITEM;
19883}
19884extern "C" {
19885    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_new"]
19886    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
19887}
19888extern "C" {
19889    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_free"]
19890    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
19891}
19892extern "C" {
19893    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_REVOKED"]
19894    pub fn d2i_X509_REVOKED(
19895        out: *mut *mut X509_REVOKED,
19896        inp: *mut *const u8,
19897        len: ::std::os::raw::c_long,
19898    ) -> *mut X509_REVOKED;
19899}
19900extern "C" {
19901    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_REVOKED"]
19902    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19903}
19904extern "C" {
19905    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_dup"]
19906    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
19907}
19908extern "C" {
19909    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get0_serialNumber"]
19910    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
19911}
19912extern "C" {
19913    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_set_serialNumber"]
19914    pub fn X509_REVOKED_set_serialNumber(
19915        revoked: *mut X509_REVOKED,
19916        serial: *const ASN1_INTEGER,
19917    ) -> ::std::os::raw::c_int;
19918}
19919extern "C" {
19920    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get0_revocationDate"]
19921    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
19922}
19923extern "C" {
19924    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_set_revocationDate"]
19925    pub fn X509_REVOKED_set_revocationDate(
19926        revoked: *mut X509_REVOKED,
19927        tm: *const ASN1_TIME,
19928    ) -> ::std::os::raw::c_int;
19929}
19930extern "C" {
19931    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get0_extensions"]
19932    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
19933}
19934extern "C" {
19935    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext_count"]
19936    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
19937}
19938extern "C" {
19939    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext_by_NID"]
19940    pub fn X509_REVOKED_get_ext_by_NID(
19941        x: *const X509_REVOKED,
19942        nid: ::std::os::raw::c_int,
19943        lastpos: ::std::os::raw::c_int,
19944    ) -> ::std::os::raw::c_int;
19945}
19946extern "C" {
19947    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext_by_OBJ"]
19948    pub fn X509_REVOKED_get_ext_by_OBJ(
19949        x: *const X509_REVOKED,
19950        obj: *const ASN1_OBJECT,
19951        lastpos: ::std::os::raw::c_int,
19952    ) -> ::std::os::raw::c_int;
19953}
19954extern "C" {
19955    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext_by_critical"]
19956    pub fn X509_REVOKED_get_ext_by_critical(
19957        x: *const X509_REVOKED,
19958        crit: ::std::os::raw::c_int,
19959        lastpos: ::std::os::raw::c_int,
19960    ) -> ::std::os::raw::c_int;
19961}
19962extern "C" {
19963    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext"]
19964    pub fn X509_REVOKED_get_ext(
19965        x: *const X509_REVOKED,
19966        loc: ::std::os::raw::c_int,
19967    ) -> *mut X509_EXTENSION;
19968}
19969extern "C" {
19970    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_delete_ext"]
19971    pub fn X509_REVOKED_delete_ext(
19972        x: *mut X509_REVOKED,
19973        loc: ::std::os::raw::c_int,
19974    ) -> *mut X509_EXTENSION;
19975}
19976extern "C" {
19977    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_add_ext"]
19978    pub fn X509_REVOKED_add_ext(
19979        x: *mut X509_REVOKED,
19980        ex: *const X509_EXTENSION,
19981        loc: ::std::os::raw::c_int,
19982    ) -> ::std::os::raw::c_int;
19983}
19984extern "C" {
19985    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_get_ext_d2i"]
19986    pub fn X509_REVOKED_get_ext_d2i(
19987        revoked: *const X509_REVOKED,
19988        nid: ::std::os::raw::c_int,
19989        out_critical: *mut ::std::os::raw::c_int,
19990        out_idx: *mut ::std::os::raw::c_int,
19991    ) -> *mut ::std::os::raw::c_void;
19992}
19993extern "C" {
19994    #[link_name = "\u{1}aws_lc_0_35_0_X509_REVOKED_add1_ext_i2d"]
19995    pub fn X509_REVOKED_add1_ext_i2d(
19996        x: *mut X509_REVOKED,
19997        nid: ::std::os::raw::c_int,
19998        value: *mut ::std::os::raw::c_void,
19999        crit: ::std::os::raw::c_int,
20000        flags: ::std::os::raw::c_ulong,
20001    ) -> ::std::os::raw::c_int;
20002}
20003extern "C" {
20004    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_it"]
20005    pub static X509_REQ_it: ASN1_ITEM;
20006}
20007extern "C" {
20008    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_dup"]
20009    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
20010}
20011extern "C" {
20012    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_free"]
20013    pub fn X509_REQ_free(req: *mut X509_REQ);
20014}
20015extern "C" {
20016    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_REQ"]
20017    pub fn d2i_X509_REQ(
20018        out: *mut *mut X509_REQ,
20019        inp: *mut *const u8,
20020        len: ::std::os::raw::c_long,
20021    ) -> *mut X509_REQ;
20022}
20023extern "C" {
20024    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_REQ"]
20025    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20026}
20027extern "C" {
20028    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_version"]
20029    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
20030}
20031extern "C" {
20032    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_subject_name"]
20033    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
20034}
20035extern "C" {
20036    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get0_pubkey"]
20037    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20038}
20039extern "C" {
20040    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_pubkey"]
20041    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20042}
20043extern "C" {
20044    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_check_private_key"]
20045    pub fn X509_REQ_check_private_key(
20046        req: *const X509_REQ,
20047        pkey: *const EVP_PKEY,
20048    ) -> ::std::os::raw::c_int;
20049}
20050extern "C" {
20051    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_attr_count"]
20052    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
20053}
20054extern "C" {
20055    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_attr"]
20056    pub fn X509_REQ_get_attr(
20057        req: *const X509_REQ,
20058        loc: ::std::os::raw::c_int,
20059    ) -> *mut X509_ATTRIBUTE;
20060}
20061extern "C" {
20062    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_attr_by_NID"]
20063    pub fn X509_REQ_get_attr_by_NID(
20064        req: *const X509_REQ,
20065        nid: ::std::os::raw::c_int,
20066        lastpos: ::std::os::raw::c_int,
20067    ) -> ::std::os::raw::c_int;
20068}
20069extern "C" {
20070    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_attr_by_OBJ"]
20071    pub fn X509_REQ_get_attr_by_OBJ(
20072        req: *const X509_REQ,
20073        obj: *const ASN1_OBJECT,
20074        lastpos: ::std::os::raw::c_int,
20075    ) -> ::std::os::raw::c_int;
20076}
20077extern "C" {
20078    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_extension_nid"]
20079    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20080}
20081extern "C" {
20082    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_extensions"]
20083    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
20084}
20085extern "C" {
20086    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get0_signature"]
20087    pub fn X509_REQ_get0_signature(
20088        req: *const X509_REQ,
20089        out_sig: *mut *const ASN1_BIT_STRING,
20090        out_alg: *mut *const X509_ALGOR,
20091    );
20092}
20093extern "C" {
20094    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get_signature_nid"]
20095    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
20096}
20097extern "C" {
20098    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_verify"]
20099    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20100}
20101extern "C" {
20102    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_get1_email"]
20103    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
20104}
20105extern "C" {
20106    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_new"]
20107    pub fn X509_REQ_new() -> *mut X509_REQ;
20108}
20109extern "C" {
20110    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_set_version"]
20111    pub fn X509_REQ_set_version(
20112        req: *mut X509_REQ,
20113        version: ::std::os::raw::c_long,
20114    ) -> ::std::os::raw::c_int;
20115}
20116extern "C" {
20117    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_set_subject_name"]
20118    pub fn X509_REQ_set_subject_name(
20119        req: *mut X509_REQ,
20120        name: *mut X509_NAME,
20121    ) -> ::std::os::raw::c_int;
20122}
20123extern "C" {
20124    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_set_pubkey"]
20125    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20126}
20127extern "C" {
20128    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_delete_attr"]
20129    pub fn X509_REQ_delete_attr(
20130        req: *mut X509_REQ,
20131        loc: ::std::os::raw::c_int,
20132    ) -> *mut X509_ATTRIBUTE;
20133}
20134extern "C" {
20135    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add1_attr"]
20136    pub fn X509_REQ_add1_attr(
20137        req: *mut X509_REQ,
20138        attr: *const X509_ATTRIBUTE,
20139    ) -> ::std::os::raw::c_int;
20140}
20141extern "C" {
20142    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add1_attr_by_OBJ"]
20143    pub fn X509_REQ_add1_attr_by_OBJ(
20144        req: *mut X509_REQ,
20145        obj: *const ASN1_OBJECT,
20146        attrtype: ::std::os::raw::c_int,
20147        data: *const ::std::os::raw::c_uchar,
20148        len: ::std::os::raw::c_int,
20149    ) -> ::std::os::raw::c_int;
20150}
20151extern "C" {
20152    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add1_attr_by_NID"]
20153    pub fn X509_REQ_add1_attr_by_NID(
20154        req: *mut X509_REQ,
20155        nid: ::std::os::raw::c_int,
20156        attrtype: ::std::os::raw::c_int,
20157        data: *const ::std::os::raw::c_uchar,
20158        len: ::std::os::raw::c_int,
20159    ) -> ::std::os::raw::c_int;
20160}
20161extern "C" {
20162    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add1_attr_by_txt"]
20163    pub fn X509_REQ_add1_attr_by_txt(
20164        req: *mut X509_REQ,
20165        attrname: *const ::std::os::raw::c_char,
20166        attrtype: ::std::os::raw::c_int,
20167        data: *const ::std::os::raw::c_uchar,
20168        len: ::std::os::raw::c_int,
20169    ) -> ::std::os::raw::c_int;
20170}
20171extern "C" {
20172    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add_extensions_nid"]
20173    pub fn X509_REQ_add_extensions_nid(
20174        req: *mut X509_REQ,
20175        exts: *const stack_st_X509_EXTENSION,
20176        nid: ::std::os::raw::c_int,
20177    ) -> ::std::os::raw::c_int;
20178}
20179extern "C" {
20180    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_add_extensions"]
20181    pub fn X509_REQ_add_extensions(
20182        req: *mut X509_REQ,
20183        exts: *const stack_st_X509_EXTENSION,
20184    ) -> ::std::os::raw::c_int;
20185}
20186extern "C" {
20187    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_sign"]
20188    pub fn X509_REQ_sign(
20189        req: *mut X509_REQ,
20190        pkey: *mut EVP_PKEY,
20191        md: *const EVP_MD,
20192    ) -> ::std::os::raw::c_int;
20193}
20194extern "C" {
20195    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_sign_ctx"]
20196    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20197}
20198extern "C" {
20199    #[link_name = "\u{1}aws_lc_0_35_0_i2d_re_X509_REQ_tbs"]
20200    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20201}
20202extern "C" {
20203    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_set1_signature_algo"]
20204    pub fn X509_REQ_set1_signature_algo(
20205        req: *mut X509_REQ,
20206        algo: *const X509_ALGOR,
20207    ) -> ::std::os::raw::c_int;
20208}
20209extern "C" {
20210    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_set1_signature_value"]
20211    pub fn X509_REQ_set1_signature_value(
20212        req: *mut X509_REQ,
20213        sig: *const u8,
20214        sig_len: usize,
20215    ) -> ::std::os::raw::c_int;
20216}
20217#[repr(C)]
20218#[derive(Debug, Copy, Clone)]
20219pub struct stack_st_X509_NAME_ENTRY {
20220    _unused: [u8; 0],
20221}
20222pub type sk_X509_NAME_ENTRY_free_func =
20223    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
20224pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
20225    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
20226>;
20227pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
20228    unsafe extern "C" fn(
20229        arg1: *const *const X509_NAME_ENTRY,
20230        arg2: *const *const X509_NAME_ENTRY,
20231    ) -> ::std::os::raw::c_int,
20232>;
20233pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
20234    unsafe extern "C" fn(
20235        arg1: *mut X509_NAME_ENTRY,
20236        arg2: *mut ::std::os::raw::c_void,
20237    ) -> ::std::os::raw::c_int,
20238>;
20239#[repr(C)]
20240#[derive(Debug, Copy, Clone)]
20241pub struct stack_st_X509_NAME {
20242    _unused: [u8; 0],
20243}
20244pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
20245pub type sk_X509_NAME_copy_func =
20246    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
20247pub type sk_X509_NAME_cmp_func = ::std::option::Option<
20248    unsafe extern "C" fn(
20249        arg1: *const *const X509_NAME,
20250        arg2: *const *const X509_NAME,
20251    ) -> ::std::os::raw::c_int,
20252>;
20253pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
20254    unsafe extern "C" fn(
20255        arg1: *mut X509_NAME,
20256        arg2: *mut ::std::os::raw::c_void,
20257    ) -> ::std::os::raw::c_int,
20258>;
20259extern "C" {
20260    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_it"]
20261    pub static X509_NAME_it: ASN1_ITEM;
20262}
20263extern "C" {
20264    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_new"]
20265    pub fn X509_NAME_new() -> *mut X509_NAME;
20266}
20267extern "C" {
20268    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_free"]
20269    pub fn X509_NAME_free(name: *mut X509_NAME);
20270}
20271extern "C" {
20272    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_NAME"]
20273    pub fn d2i_X509_NAME(
20274        out: *mut *mut X509_NAME,
20275        inp: *mut *const u8,
20276        len: ::std::os::raw::c_long,
20277    ) -> *mut X509_NAME;
20278}
20279extern "C" {
20280    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_NAME"]
20281    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20282}
20283extern "C" {
20284    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_dup"]
20285    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
20286}
20287extern "C" {
20288    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_cmp"]
20289    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
20290}
20291extern "C" {
20292    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get0_der"]
20293    pub fn X509_NAME_get0_der(
20294        name: *mut X509_NAME,
20295        out_der: *mut *const u8,
20296        out_der_len: *mut usize,
20297    ) -> ::std::os::raw::c_int;
20298}
20299extern "C" {
20300    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_set"]
20301    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20302}
20303extern "C" {
20304    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_entry_count"]
20305    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
20306}
20307extern "C" {
20308    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get_index_by_NID"]
20309    pub fn X509_NAME_get_index_by_NID(
20310        name: *const X509_NAME,
20311        nid: ::std::os::raw::c_int,
20312        lastpos: ::std::os::raw::c_int,
20313    ) -> ::std::os::raw::c_int;
20314}
20315extern "C" {
20316    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get_index_by_OBJ"]
20317    pub fn X509_NAME_get_index_by_OBJ(
20318        name: *const X509_NAME,
20319        obj: *const ASN1_OBJECT,
20320        lastpos: ::std::os::raw::c_int,
20321    ) -> ::std::os::raw::c_int;
20322}
20323extern "C" {
20324    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get_entry"]
20325    pub fn X509_NAME_get_entry(
20326        name: *const X509_NAME,
20327        loc: ::std::os::raw::c_int,
20328    ) -> *mut X509_NAME_ENTRY;
20329}
20330extern "C" {
20331    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_delete_entry"]
20332    pub fn X509_NAME_delete_entry(
20333        name: *mut X509_NAME,
20334        loc: ::std::os::raw::c_int,
20335    ) -> *mut X509_NAME_ENTRY;
20336}
20337extern "C" {
20338    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_add_entry"]
20339    pub fn X509_NAME_add_entry(
20340        name: *mut X509_NAME,
20341        entry: *const X509_NAME_ENTRY,
20342        loc: ::std::os::raw::c_int,
20343        set: ::std::os::raw::c_int,
20344    ) -> ::std::os::raw::c_int;
20345}
20346extern "C" {
20347    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_add_entry_by_OBJ"]
20348    pub fn X509_NAME_add_entry_by_OBJ(
20349        name: *mut X509_NAME,
20350        obj: *const ASN1_OBJECT,
20351        type_: ::std::os::raw::c_int,
20352        bytes: *const u8,
20353        len: ossl_ssize_t,
20354        loc: ::std::os::raw::c_int,
20355        set: ::std::os::raw::c_int,
20356    ) -> ::std::os::raw::c_int;
20357}
20358extern "C" {
20359    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_add_entry_by_NID"]
20360    pub fn X509_NAME_add_entry_by_NID(
20361        name: *mut X509_NAME,
20362        nid: ::std::os::raw::c_int,
20363        type_: ::std::os::raw::c_int,
20364        bytes: *const u8,
20365        len: ossl_ssize_t,
20366        loc: ::std::os::raw::c_int,
20367        set: ::std::os::raw::c_int,
20368    ) -> ::std::os::raw::c_int;
20369}
20370extern "C" {
20371    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_add_entry_by_txt"]
20372    pub fn X509_NAME_add_entry_by_txt(
20373        name: *mut X509_NAME,
20374        field: *const ::std::os::raw::c_char,
20375        type_: ::std::os::raw::c_int,
20376        bytes: *const u8,
20377        len: ossl_ssize_t,
20378        loc: ::std::os::raw::c_int,
20379        set: ::std::os::raw::c_int,
20380    ) -> ::std::os::raw::c_int;
20381}
20382extern "C" {
20383    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_it"]
20384    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
20385}
20386extern "C" {
20387    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_new"]
20388    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
20389}
20390extern "C" {
20391    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_free"]
20392    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
20393}
20394extern "C" {
20395    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_NAME_ENTRY"]
20396    pub fn d2i_X509_NAME_ENTRY(
20397        out: *mut *mut X509_NAME_ENTRY,
20398        inp: *mut *const u8,
20399        len: ::std::os::raw::c_long,
20400    ) -> *mut X509_NAME_ENTRY;
20401}
20402extern "C" {
20403    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_NAME_ENTRY"]
20404    pub fn i2d_X509_NAME_ENTRY(
20405        in_: *const X509_NAME_ENTRY,
20406        outp: *mut *mut u8,
20407    ) -> ::std::os::raw::c_int;
20408}
20409extern "C" {
20410    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_dup"]
20411    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
20412}
20413extern "C" {
20414    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_get_object"]
20415    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
20416}
20417extern "C" {
20418    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_set_object"]
20419    pub fn X509_NAME_ENTRY_set_object(
20420        entry: *mut X509_NAME_ENTRY,
20421        obj: *const ASN1_OBJECT,
20422    ) -> ::std::os::raw::c_int;
20423}
20424extern "C" {
20425    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_get_data"]
20426    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
20427}
20428extern "C" {
20429    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_set_data"]
20430    pub fn X509_NAME_ENTRY_set_data(
20431        entry: *mut X509_NAME_ENTRY,
20432        type_: ::std::os::raw::c_int,
20433        bytes: *const u8,
20434        len: ossl_ssize_t,
20435    ) -> ::std::os::raw::c_int;
20436}
20437extern "C" {
20438    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_set"]
20439    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
20440}
20441extern "C" {
20442    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_create_by_OBJ"]
20443    pub fn X509_NAME_ENTRY_create_by_OBJ(
20444        out: *mut *mut X509_NAME_ENTRY,
20445        obj: *const ASN1_OBJECT,
20446        type_: ::std::os::raw::c_int,
20447        bytes: *const u8,
20448        len: ossl_ssize_t,
20449    ) -> *mut X509_NAME_ENTRY;
20450}
20451extern "C" {
20452    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_create_by_NID"]
20453    pub fn X509_NAME_ENTRY_create_by_NID(
20454        out: *mut *mut X509_NAME_ENTRY,
20455        nid: ::std::os::raw::c_int,
20456        type_: ::std::os::raw::c_int,
20457        bytes: *const u8,
20458        len: ossl_ssize_t,
20459    ) -> *mut X509_NAME_ENTRY;
20460}
20461extern "C" {
20462    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_ENTRY_create_by_txt"]
20463    pub fn X509_NAME_ENTRY_create_by_txt(
20464        out: *mut *mut X509_NAME_ENTRY,
20465        field: *const ::std::os::raw::c_char,
20466        type_: ::std::os::raw::c_int,
20467        bytes: *const u8,
20468        len: ossl_ssize_t,
20469    ) -> *mut X509_NAME_ENTRY;
20470}
20471extern "C" {
20472    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_it"]
20473    pub static X509_PUBKEY_it: ASN1_ITEM;
20474}
20475extern "C" {
20476    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_new"]
20477    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
20478}
20479extern "C" {
20480    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_free"]
20481    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
20482}
20483extern "C" {
20484    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_PUBKEY"]
20485    pub fn d2i_X509_PUBKEY(
20486        out: *mut *mut X509_PUBKEY,
20487        inp: *mut *const u8,
20488        len: ::std::os::raw::c_long,
20489    ) -> *mut X509_PUBKEY;
20490}
20491extern "C" {
20492    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_PUBKEY"]
20493    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20494}
20495extern "C" {
20496    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_set"]
20497    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20498}
20499extern "C" {
20500    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_get0"]
20501    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
20502}
20503extern "C" {
20504    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_get"]
20505    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
20506}
20507extern "C" {
20508    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_set0_param"]
20509    pub fn X509_PUBKEY_set0_param(
20510        pub_: *mut X509_PUBKEY,
20511        obj: *mut ASN1_OBJECT,
20512        param_type: ::std::os::raw::c_int,
20513        param_value: *mut ::std::os::raw::c_void,
20514        key: *mut u8,
20515        key_len: ::std::os::raw::c_int,
20516    ) -> ::std::os::raw::c_int;
20517}
20518extern "C" {
20519    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_get0_param"]
20520    pub fn X509_PUBKEY_get0_param(
20521        out_obj: *mut *mut ASN1_OBJECT,
20522        out_key: *mut *const u8,
20523        out_key_len: *mut ::std::os::raw::c_int,
20524        out_alg: *mut *mut X509_ALGOR,
20525        pub_: *mut X509_PUBKEY,
20526    ) -> ::std::os::raw::c_int;
20527}
20528extern "C" {
20529    #[link_name = "\u{1}aws_lc_0_35_0_X509_PUBKEY_get0_public_key"]
20530    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
20531}
20532extern "C" {
20533    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_it"]
20534    pub static X509_EXTENSION_it: ASN1_ITEM;
20535}
20536extern "C" {
20537    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_new"]
20538    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
20539}
20540extern "C" {
20541    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_free"]
20542    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
20543}
20544extern "C" {
20545    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_EXTENSION"]
20546    pub fn d2i_X509_EXTENSION(
20547        out: *mut *mut X509_EXTENSION,
20548        inp: *mut *const u8,
20549        len: ::std::os::raw::c_long,
20550    ) -> *mut X509_EXTENSION;
20551}
20552extern "C" {
20553    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_EXTENSION"]
20554    pub fn i2d_X509_EXTENSION(
20555        ex: *const X509_EXTENSION,
20556        outp: *mut *mut u8,
20557    ) -> ::std::os::raw::c_int;
20558}
20559extern "C" {
20560    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_dup"]
20561    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
20562}
20563extern "C" {
20564    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_create_by_NID"]
20565    pub fn X509_EXTENSION_create_by_NID(
20566        ex: *mut *mut X509_EXTENSION,
20567        nid: ::std::os::raw::c_int,
20568        crit: ::std::os::raw::c_int,
20569        data: *const ASN1_OCTET_STRING,
20570    ) -> *mut X509_EXTENSION;
20571}
20572extern "C" {
20573    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_create_by_OBJ"]
20574    pub fn X509_EXTENSION_create_by_OBJ(
20575        ex: *mut *mut X509_EXTENSION,
20576        obj: *const ASN1_OBJECT,
20577        crit: ::std::os::raw::c_int,
20578        data: *const ASN1_OCTET_STRING,
20579    ) -> *mut X509_EXTENSION;
20580}
20581extern "C" {
20582    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_get_object"]
20583    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
20584}
20585extern "C" {
20586    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_get_data"]
20587    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
20588}
20589extern "C" {
20590    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_get_critical"]
20591    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
20592}
20593extern "C" {
20594    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_set_object"]
20595    pub fn X509_EXTENSION_set_object(
20596        ex: *mut X509_EXTENSION,
20597        obj: *const ASN1_OBJECT,
20598    ) -> ::std::os::raw::c_int;
20599}
20600extern "C" {
20601    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_set_critical"]
20602    pub fn X509_EXTENSION_set_critical(
20603        ex: *mut X509_EXTENSION,
20604        crit: ::std::os::raw::c_int,
20605    ) -> ::std::os::raw::c_int;
20606}
20607extern "C" {
20608    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSION_set_data"]
20609    pub fn X509_EXTENSION_set_data(
20610        ex: *mut X509_EXTENSION,
20611        data: *const ASN1_OCTET_STRING,
20612    ) -> ::std::os::raw::c_int;
20613}
20614pub type sk_X509_EXTENSION_free_func =
20615    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
20616pub type sk_X509_EXTENSION_copy_func =
20617    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
20618pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
20619    unsafe extern "C" fn(
20620        arg1: *const *const X509_EXTENSION,
20621        arg2: *const *const X509_EXTENSION,
20622    ) -> ::std::os::raw::c_int,
20623>;
20624pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
20625    unsafe extern "C" fn(
20626        arg1: *mut X509_EXTENSION,
20627        arg2: *mut ::std::os::raw::c_void,
20628    ) -> ::std::os::raw::c_int,
20629>;
20630pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
20631extern "C" {
20632    #[link_name = "\u{1}aws_lc_0_35_0_X509_EXTENSIONS_it"]
20633    pub static X509_EXTENSIONS_it: ASN1_ITEM;
20634}
20635extern "C" {
20636    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_EXTENSIONS"]
20637    pub fn d2i_X509_EXTENSIONS(
20638        out: *mut *mut X509_EXTENSIONS,
20639        inp: *mut *const u8,
20640        len: ::std::os::raw::c_long,
20641    ) -> *mut X509_EXTENSIONS;
20642}
20643extern "C" {
20644    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_EXTENSIONS"]
20645    pub fn i2d_X509_EXTENSIONS(
20646        alg: *const X509_EXTENSIONS,
20647        outp: *mut *mut u8,
20648    ) -> ::std::os::raw::c_int;
20649}
20650extern "C" {
20651    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_get_ext_count"]
20652    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
20653}
20654extern "C" {
20655    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_get_ext_by_NID"]
20656    pub fn X509v3_get_ext_by_NID(
20657        x: *const stack_st_X509_EXTENSION,
20658        nid: ::std::os::raw::c_int,
20659        lastpos: ::std::os::raw::c_int,
20660    ) -> ::std::os::raw::c_int;
20661}
20662extern "C" {
20663    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_get_ext_by_OBJ"]
20664    pub fn X509v3_get_ext_by_OBJ(
20665        x: *const stack_st_X509_EXTENSION,
20666        obj: *const ASN1_OBJECT,
20667        lastpos: ::std::os::raw::c_int,
20668    ) -> ::std::os::raw::c_int;
20669}
20670extern "C" {
20671    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_get_ext_by_critical"]
20672    pub fn X509v3_get_ext_by_critical(
20673        x: *const stack_st_X509_EXTENSION,
20674        crit: ::std::os::raw::c_int,
20675        lastpos: ::std::os::raw::c_int,
20676    ) -> ::std::os::raw::c_int;
20677}
20678extern "C" {
20679    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_get_ext"]
20680    pub fn X509v3_get_ext(
20681        x: *const stack_st_X509_EXTENSION,
20682        loc: ::std::os::raw::c_int,
20683    ) -> *mut X509_EXTENSION;
20684}
20685extern "C" {
20686    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_delete_ext"]
20687    pub fn X509v3_delete_ext(
20688        x: *mut stack_st_X509_EXTENSION,
20689        loc: ::std::os::raw::c_int,
20690    ) -> *mut X509_EXTENSION;
20691}
20692extern "C" {
20693    #[link_name = "\u{1}aws_lc_0_35_0_X509v3_add_ext"]
20694    pub fn X509v3_add_ext(
20695        x: *mut *mut stack_st_X509_EXTENSION,
20696        ex: *const X509_EXTENSION,
20697        loc: ::std::os::raw::c_int,
20698    ) -> *mut stack_st_X509_EXTENSION;
20699}
20700extern "C" {
20701    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_d2i"]
20702    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
20703}
20704extern "C" {
20705    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_get_d2i"]
20706    pub fn X509V3_get_d2i(
20707        extensions: *const stack_st_X509_EXTENSION,
20708        nid: ::std::os::raw::c_int,
20709        out_critical: *mut ::std::os::raw::c_int,
20710        out_idx: *mut ::std::os::raw::c_int,
20711    ) -> *mut ::std::os::raw::c_void;
20712}
20713extern "C" {
20714    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_free"]
20715    pub fn X509V3_EXT_free(
20716        nid: ::std::os::raw::c_int,
20717        ext_data: *mut ::std::os::raw::c_void,
20718    ) -> ::std::os::raw::c_int;
20719}
20720extern "C" {
20721    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_i2d"]
20722    pub fn X509V3_EXT_i2d(
20723        ext_nid: ::std::os::raw::c_int,
20724        crit: ::std::os::raw::c_int,
20725        ext_struc: *mut ::std::os::raw::c_void,
20726    ) -> *mut X509_EXTENSION;
20727}
20728extern "C" {
20729    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_add1_i2d"]
20730    pub fn X509V3_add1_i2d(
20731        x: *mut *mut stack_st_X509_EXTENSION,
20732        nid: ::std::os::raw::c_int,
20733        value: *mut ::std::os::raw::c_void,
20734        crit: ::std::os::raw::c_int,
20735        flags: ::std::os::raw::c_ulong,
20736    ) -> ::std::os::raw::c_int;
20737}
20738#[repr(C)]
20739#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20740pub struct otherName_st {
20741    pub type_id: *mut ASN1_OBJECT,
20742    pub value: *mut ASN1_TYPE,
20743}
20744#[test]
20745fn bindgen_test_layout_otherName_st() {
20746    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
20747    let ptr = UNINIT.as_ptr();
20748    assert_eq!(
20749        ::std::mem::size_of::<otherName_st>(),
20750        16usize,
20751        "Size of otherName_st"
20752    );
20753    assert_eq!(
20754        ::std::mem::align_of::<otherName_st>(),
20755        8usize,
20756        "Alignment of otherName_st"
20757    );
20758    assert_eq!(
20759        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
20760        0usize,
20761        "Offset of field: otherName_st::type_id"
20762    );
20763    assert_eq!(
20764        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
20765        8usize,
20766        "Offset of field: otherName_st::value"
20767    );
20768}
20769impl Default for otherName_st {
20770    fn default() -> Self {
20771        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20772        unsafe {
20773            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20774            s.assume_init()
20775        }
20776    }
20777}
20778pub type OTHERNAME = otherName_st;
20779#[repr(C)]
20780#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20781pub struct EDIPartyName_st {
20782    pub nameAssigner: *mut ASN1_STRING,
20783    pub partyName: *mut ASN1_STRING,
20784}
20785#[test]
20786fn bindgen_test_layout_EDIPartyName_st() {
20787    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
20788    let ptr = UNINIT.as_ptr();
20789    assert_eq!(
20790        ::std::mem::size_of::<EDIPartyName_st>(),
20791        16usize,
20792        "Size of EDIPartyName_st"
20793    );
20794    assert_eq!(
20795        ::std::mem::align_of::<EDIPartyName_st>(),
20796        8usize,
20797        "Alignment of EDIPartyName_st"
20798    );
20799    assert_eq!(
20800        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
20801        0usize,
20802        "Offset of field: EDIPartyName_st::nameAssigner"
20803    );
20804    assert_eq!(
20805        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
20806        8usize,
20807        "Offset of field: EDIPartyName_st::partyName"
20808    );
20809}
20810impl Default for EDIPartyName_st {
20811    fn default() -> Self {
20812        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20813        unsafe {
20814            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20815            s.assume_init()
20816        }
20817    }
20818}
20819pub type EDIPARTYNAME = EDIPartyName_st;
20820#[repr(C)]
20821#[derive(Copy, Clone)]
20822pub struct GENERAL_NAME_st {
20823    pub type_: ::std::os::raw::c_int,
20824    pub d: GENERAL_NAME_st__bindgen_ty_1,
20825}
20826#[repr(C)]
20827#[derive(Copy, Clone)]
20828pub union GENERAL_NAME_st__bindgen_ty_1 {
20829    pub ptr: *mut ::std::os::raw::c_char,
20830    pub otherName: *mut OTHERNAME,
20831    pub rfc822Name: *mut ASN1_IA5STRING,
20832    pub dNSName: *mut ASN1_IA5STRING,
20833    pub x400Address: *mut ASN1_STRING,
20834    pub directoryName: *mut X509_NAME,
20835    pub ediPartyName: *mut EDIPARTYNAME,
20836    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
20837    pub iPAddress: *mut ASN1_OCTET_STRING,
20838    pub registeredID: *mut ASN1_OBJECT,
20839    pub ip: *mut ASN1_OCTET_STRING,
20840    pub dirn: *mut X509_NAME,
20841    pub ia5: *mut ASN1_IA5STRING,
20842    pub rid: *mut ASN1_OBJECT,
20843}
20844#[test]
20845fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
20846    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
20847        ::std::mem::MaybeUninit::uninit();
20848    let ptr = UNINIT.as_ptr();
20849    assert_eq!(
20850        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
20851        8usize,
20852        "Size of GENERAL_NAME_st__bindgen_ty_1"
20853    );
20854    assert_eq!(
20855        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
20856        8usize,
20857        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
20858    );
20859    assert_eq!(
20860        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
20861        0usize,
20862        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
20863    );
20864    assert_eq!(
20865        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
20866        0usize,
20867        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
20868    );
20869    assert_eq!(
20870        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
20871        0usize,
20872        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
20873    );
20874    assert_eq!(
20875        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
20876        0usize,
20877        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
20878    );
20879    assert_eq!(
20880        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
20881        0usize,
20882        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
20883    );
20884    assert_eq!(
20885        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
20886        0usize,
20887        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
20888    );
20889    assert_eq!(
20890        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
20891        0usize,
20892        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
20893    );
20894    assert_eq!(
20895        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
20896        0usize,
20897        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
20898    );
20899    assert_eq!(
20900        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
20901        0usize,
20902        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
20903    );
20904    assert_eq!(
20905        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
20906        0usize,
20907        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
20908    );
20909    assert_eq!(
20910        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
20911        0usize,
20912        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
20913    );
20914    assert_eq!(
20915        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
20916        0usize,
20917        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
20918    );
20919    assert_eq!(
20920        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
20921        0usize,
20922        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
20923    );
20924    assert_eq!(
20925        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
20926        0usize,
20927        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
20928    );
20929}
20930impl Default for GENERAL_NAME_st__bindgen_ty_1 {
20931    fn default() -> Self {
20932        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20933        unsafe {
20934            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20935            s.assume_init()
20936        }
20937    }
20938}
20939#[test]
20940fn bindgen_test_layout_GENERAL_NAME_st() {
20941    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
20942    let ptr = UNINIT.as_ptr();
20943    assert_eq!(
20944        ::std::mem::size_of::<GENERAL_NAME_st>(),
20945        16usize,
20946        "Size of GENERAL_NAME_st"
20947    );
20948    assert_eq!(
20949        ::std::mem::align_of::<GENERAL_NAME_st>(),
20950        8usize,
20951        "Alignment of GENERAL_NAME_st"
20952    );
20953    assert_eq!(
20954        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
20955        0usize,
20956        "Offset of field: GENERAL_NAME_st::type_"
20957    );
20958    assert_eq!(
20959        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
20960        8usize,
20961        "Offset of field: GENERAL_NAME_st::d"
20962    );
20963}
20964impl Default for GENERAL_NAME_st {
20965    fn default() -> Self {
20966        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20967        unsafe {
20968            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20969            s.assume_init()
20970        }
20971    }
20972}
20973extern "C" {
20974    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_new"]
20975    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
20976}
20977extern "C" {
20978    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_free"]
20979    pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
20980}
20981extern "C" {
20982    #[link_name = "\u{1}aws_lc_0_35_0_d2i_GENERAL_NAME"]
20983    pub fn d2i_GENERAL_NAME(
20984        out: *mut *mut GENERAL_NAME,
20985        inp: *mut *const u8,
20986        len: ::std::os::raw::c_long,
20987    ) -> *mut GENERAL_NAME;
20988}
20989extern "C" {
20990    #[link_name = "\u{1}aws_lc_0_35_0_i2d_GENERAL_NAME"]
20991    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20992}
20993extern "C" {
20994    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_dup"]
20995    pub fn GENERAL_NAME_dup(gen_: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
20996}
20997extern "C" {
20998    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAMES_new"]
20999    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
21000}
21001extern "C" {
21002    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAMES_free"]
21003    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
21004}
21005extern "C" {
21006    #[link_name = "\u{1}aws_lc_0_35_0_d2i_GENERAL_NAMES"]
21007    pub fn d2i_GENERAL_NAMES(
21008        out: *mut *mut GENERAL_NAMES,
21009        inp: *mut *const u8,
21010        len: ::std::os::raw::c_long,
21011    ) -> *mut GENERAL_NAMES;
21012}
21013extern "C" {
21014    #[link_name = "\u{1}aws_lc_0_35_0_i2d_GENERAL_NAMES"]
21015    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21016}
21017extern "C" {
21018    #[link_name = "\u{1}aws_lc_0_35_0_OTHERNAME_new"]
21019    pub fn OTHERNAME_new() -> *mut OTHERNAME;
21020}
21021extern "C" {
21022    #[link_name = "\u{1}aws_lc_0_35_0_OTHERNAME_free"]
21023    pub fn OTHERNAME_free(name: *mut OTHERNAME);
21024}
21025extern "C" {
21026    #[link_name = "\u{1}aws_lc_0_35_0_EDIPARTYNAME_new"]
21027    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
21028}
21029extern "C" {
21030    #[link_name = "\u{1}aws_lc_0_35_0_EDIPARTYNAME_free"]
21031    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
21032}
21033extern "C" {
21034    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_set0_value"]
21035    pub fn GENERAL_NAME_set0_value(
21036        gen_: *mut GENERAL_NAME,
21037        type_: ::std::os::raw::c_int,
21038        value: *mut ::std::os::raw::c_void,
21039    );
21040}
21041extern "C" {
21042    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_get0_value"]
21043    pub fn GENERAL_NAME_get0_value(
21044        gen_: *const GENERAL_NAME,
21045        out_type: *mut ::std::os::raw::c_int,
21046    ) -> *mut ::std::os::raw::c_void;
21047}
21048extern "C" {
21049    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_set0_othername"]
21050    pub fn GENERAL_NAME_set0_othername(
21051        gen_: *mut GENERAL_NAME,
21052        oid: *mut ASN1_OBJECT,
21053        value: *mut ASN1_TYPE,
21054    ) -> ::std::os::raw::c_int;
21055}
21056extern "C" {
21057    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_get0_otherName"]
21058    pub fn GENERAL_NAME_get0_otherName(
21059        gen_: *const GENERAL_NAME,
21060        out_oid: *mut *mut ASN1_OBJECT,
21061        out_value: *mut *mut ASN1_TYPE,
21062    ) -> ::std::os::raw::c_int;
21063}
21064#[repr(C)]
21065#[derive(Debug, Copy, Clone)]
21066pub struct stack_st_X509_ALGOR {
21067    _unused: [u8; 0],
21068}
21069pub type sk_X509_ALGOR_free_func =
21070    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
21071pub type sk_X509_ALGOR_copy_func =
21072    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
21073pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
21074    unsafe extern "C" fn(
21075        arg1: *const *const X509_ALGOR,
21076        arg2: *const *const X509_ALGOR,
21077    ) -> ::std::os::raw::c_int,
21078>;
21079pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
21080    unsafe extern "C" fn(
21081        arg1: *mut X509_ALGOR,
21082        arg2: *mut ::std::os::raw::c_void,
21083    ) -> ::std::os::raw::c_int,
21084>;
21085extern "C" {
21086    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_it"]
21087    pub static X509_ALGOR_it: ASN1_ITEM;
21088}
21089extern "C" {
21090    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_new"]
21091    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
21092}
21093extern "C" {
21094    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_dup"]
21095    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
21096}
21097extern "C" {
21098    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_free"]
21099    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
21100}
21101extern "C" {
21102    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_ALGOR"]
21103    pub fn d2i_X509_ALGOR(
21104        out: *mut *mut X509_ALGOR,
21105        inp: *mut *const u8,
21106        len: ::std::os::raw::c_long,
21107    ) -> *mut X509_ALGOR;
21108}
21109extern "C" {
21110    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_ALGOR"]
21111    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21112}
21113extern "C" {
21114    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_set0"]
21115    pub fn X509_ALGOR_set0(
21116        alg: *mut X509_ALGOR,
21117        obj: *mut ASN1_OBJECT,
21118        param_type: ::std::os::raw::c_int,
21119        param_value: *mut ::std::os::raw::c_void,
21120    ) -> ::std::os::raw::c_int;
21121}
21122extern "C" {
21123    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_get0"]
21124    pub fn X509_ALGOR_get0(
21125        out_obj: *mut *const ASN1_OBJECT,
21126        out_param_type: *mut ::std::os::raw::c_int,
21127        out_param_value: *mut *const ::std::os::raw::c_void,
21128        alg: *const X509_ALGOR,
21129    );
21130}
21131extern "C" {
21132    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_set_md"]
21133    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
21134}
21135extern "C" {
21136    #[link_name = "\u{1}aws_lc_0_35_0_X509_ALGOR_cmp"]
21137    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
21138}
21139#[repr(C)]
21140#[derive(Debug, Copy, Clone)]
21141pub struct stack_st_X509_ATTRIBUTE {
21142    _unused: [u8; 0],
21143}
21144pub type sk_X509_ATTRIBUTE_free_func =
21145    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
21146pub type sk_X509_ATTRIBUTE_copy_func =
21147    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
21148pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
21149    unsafe extern "C" fn(
21150        arg1: *const *const X509_ATTRIBUTE,
21151        arg2: *const *const X509_ATTRIBUTE,
21152    ) -> ::std::os::raw::c_int,
21153>;
21154pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
21155    unsafe extern "C" fn(
21156        arg1: *mut X509_ATTRIBUTE,
21157        arg2: *mut ::std::os::raw::c_void,
21158    ) -> ::std::os::raw::c_int,
21159>;
21160extern "C" {
21161    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_it"]
21162    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
21163}
21164extern "C" {
21165    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_new"]
21166    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
21167}
21168extern "C" {
21169    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_dup"]
21170    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
21171}
21172extern "C" {
21173    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_free"]
21174    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
21175}
21176extern "C" {
21177    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_ATTRIBUTE"]
21178    pub fn d2i_X509_ATTRIBUTE(
21179        out: *mut *mut X509_ATTRIBUTE,
21180        inp: *mut *const u8,
21181        len: ::std::os::raw::c_long,
21182    ) -> *mut X509_ATTRIBUTE;
21183}
21184extern "C" {
21185    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_ATTRIBUTE"]
21186    pub fn i2d_X509_ATTRIBUTE(
21187        alg: *const X509_ATTRIBUTE,
21188        outp: *mut *mut u8,
21189    ) -> ::std::os::raw::c_int;
21190}
21191extern "C" {
21192    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_create"]
21193    pub fn X509_ATTRIBUTE_create(
21194        nid: ::std::os::raw::c_int,
21195        attrtype: ::std::os::raw::c_int,
21196        value: *mut ::std::os::raw::c_void,
21197    ) -> *mut X509_ATTRIBUTE;
21198}
21199extern "C" {
21200    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_create_by_NID"]
21201    pub fn X509_ATTRIBUTE_create_by_NID(
21202        attr: *mut *mut X509_ATTRIBUTE,
21203        nid: ::std::os::raw::c_int,
21204        attrtype: ::std::os::raw::c_int,
21205        data: *const ::std::os::raw::c_void,
21206        len: ::std::os::raw::c_int,
21207    ) -> *mut X509_ATTRIBUTE;
21208}
21209extern "C" {
21210    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_create_by_OBJ"]
21211    pub fn X509_ATTRIBUTE_create_by_OBJ(
21212        attr: *mut *mut X509_ATTRIBUTE,
21213        obj: *const ASN1_OBJECT,
21214        attrtype: ::std::os::raw::c_int,
21215        data: *const ::std::os::raw::c_void,
21216        len: ::std::os::raw::c_int,
21217    ) -> *mut X509_ATTRIBUTE;
21218}
21219extern "C" {
21220    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_create_by_txt"]
21221    pub fn X509_ATTRIBUTE_create_by_txt(
21222        attr: *mut *mut X509_ATTRIBUTE,
21223        attrname: *const ::std::os::raw::c_char,
21224        type_: ::std::os::raw::c_int,
21225        bytes: *const ::std::os::raw::c_uchar,
21226        len: ::std::os::raw::c_int,
21227    ) -> *mut X509_ATTRIBUTE;
21228}
21229extern "C" {
21230    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_set1_object"]
21231    pub fn X509_ATTRIBUTE_set1_object(
21232        attr: *mut X509_ATTRIBUTE,
21233        obj: *const ASN1_OBJECT,
21234    ) -> ::std::os::raw::c_int;
21235}
21236extern "C" {
21237    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_set1_data"]
21238    pub fn X509_ATTRIBUTE_set1_data(
21239        attr: *mut X509_ATTRIBUTE,
21240        attrtype: ::std::os::raw::c_int,
21241        data: *const ::std::os::raw::c_void,
21242        len: ::std::os::raw::c_int,
21243    ) -> ::std::os::raw::c_int;
21244}
21245extern "C" {
21246    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_get0_data"]
21247    pub fn X509_ATTRIBUTE_get0_data(
21248        attr: *mut X509_ATTRIBUTE,
21249        idx: ::std::os::raw::c_int,
21250        attrtype: ::std::os::raw::c_int,
21251        unused: *mut ::std::os::raw::c_void,
21252    ) -> *mut ::std::os::raw::c_void;
21253}
21254extern "C" {
21255    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_count"]
21256    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
21257}
21258extern "C" {
21259    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_get0_object"]
21260    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
21261}
21262extern "C" {
21263    #[link_name = "\u{1}aws_lc_0_35_0_X509_ATTRIBUTE_get0_type"]
21264    pub fn X509_ATTRIBUTE_get0_type(
21265        attr: *mut X509_ATTRIBUTE,
21266        idx: ::std::os::raw::c_int,
21267    ) -> *mut ASN1_TYPE;
21268}
21269extern "C" {
21270    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_new"]
21271    pub fn X509_STORE_new() -> *mut X509_STORE;
21272}
21273extern "C" {
21274    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_up_ref"]
21275    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21276}
21277extern "C" {
21278    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_free"]
21279    pub fn X509_STORE_free(store: *mut X509_STORE);
21280}
21281extern "C" {
21282    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_add_cert"]
21283    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
21284}
21285extern "C" {
21286    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_add_crl"]
21287    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21288}
21289extern "C" {
21290    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get0_param"]
21291    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
21292}
21293extern "C" {
21294    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set1_param"]
21295    pub fn X509_STORE_set1_param(
21296        store: *mut X509_STORE,
21297        param: *const X509_VERIFY_PARAM,
21298    ) -> ::std::os::raw::c_int;
21299}
21300extern "C" {
21301    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_flags"]
21302    pub fn X509_STORE_set_flags(
21303        store: *mut X509_STORE,
21304        flags: ::std::os::raw::c_ulong,
21305    ) -> ::std::os::raw::c_int;
21306}
21307extern "C" {
21308    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_depth"]
21309    pub fn X509_STORE_set_depth(
21310        store: *mut X509_STORE,
21311        depth: ::std::os::raw::c_int,
21312    ) -> ::std::os::raw::c_int;
21313}
21314extern "C" {
21315    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_purpose"]
21316    pub fn X509_STORE_set_purpose(
21317        store: *mut X509_STORE,
21318        purpose: ::std::os::raw::c_int,
21319    ) -> ::std::os::raw::c_int;
21320}
21321extern "C" {
21322    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_trust"]
21323    pub fn X509_STORE_set_trust(
21324        store: *mut X509_STORE,
21325        trust: ::std::os::raw::c_int,
21326    ) -> ::std::os::raw::c_int;
21327}
21328#[repr(C)]
21329#[derive(Debug, Copy, Clone)]
21330pub struct stack_st_X509_OBJECT {
21331    _unused: [u8; 0],
21332}
21333pub type sk_X509_OBJECT_free_func =
21334    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
21335pub type sk_X509_OBJECT_copy_func =
21336    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
21337pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
21338    unsafe extern "C" fn(
21339        arg1: *const *const X509_OBJECT,
21340        arg2: *const *const X509_OBJECT,
21341    ) -> ::std::os::raw::c_int,
21342>;
21343pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
21344    unsafe extern "C" fn(
21345        arg1: *mut X509_OBJECT,
21346        arg2: *mut ::std::os::raw::c_void,
21347    ) -> ::std::os::raw::c_int,
21348>;
21349extern "C" {
21350    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_new"]
21351    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
21352}
21353extern "C" {
21354    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_free"]
21355    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
21356}
21357extern "C" {
21358    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_get_type"]
21359    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
21360}
21361extern "C" {
21362    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_get0_X509"]
21363    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
21364}
21365pub type X509_STORE_CTX_lookup_crls_fn = ::std::option::Option<
21366    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, nm: *mut X509_NAME) -> *mut stack_st_X509_CRL,
21367>;
21368extern "C" {
21369    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get_lookup_crls"]
21370    pub fn X509_STORE_get_lookup_crls(ctx: *mut X509_STORE) -> X509_STORE_CTX_lookup_crls_fn;
21371}
21372extern "C" {
21373    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_lookup_crls"]
21374    pub fn X509_STORE_set_lookup_crls(
21375        ctx: *mut X509_STORE,
21376        lookup_crls: X509_STORE_CTX_lookup_crls_fn,
21377    );
21378}
21379extern "C" {
21380    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_new"]
21381    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
21382}
21383extern "C" {
21384    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_free"]
21385    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
21386}
21387extern "C" {
21388    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_init"]
21389    pub fn X509_STORE_CTX_init(
21390        ctx: *mut X509_STORE_CTX,
21391        store: *mut X509_STORE,
21392        x509: *mut X509,
21393        chain: *mut stack_st_X509,
21394    ) -> ::std::os::raw::c_int;
21395}
21396extern "C" {
21397    #[link_name = "\u{1}aws_lc_0_35_0_X509_verify_cert"]
21398    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21399}
21400extern "C" {
21401    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_chain"]
21402    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21403}
21404extern "C" {
21405    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get1_chain"]
21406    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21407}
21408extern "C" {
21409    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_cert"]
21410    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
21411}
21412extern "C" {
21413    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_error"]
21414    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21415}
21416extern "C" {
21417    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_error"]
21418    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
21419}
21420extern "C" {
21421    #[link_name = "\u{1}aws_lc_0_35_0_X509_verify_cert_error_string"]
21422    pub fn X509_verify_cert_error_string(
21423        err: ::std::os::raw::c_long,
21424    ) -> *const ::std::os::raw::c_char;
21425}
21426extern "C" {
21427    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_error_depth"]
21428    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21429}
21430extern "C" {
21431    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_current_cert"]
21432    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21433}
21434extern "C" {
21435    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_current_issuer"]
21436    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
21437}
21438extern "C" {
21439    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_current_crl"]
21440    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
21441}
21442extern "C" {
21443    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_store"]
21444    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
21445}
21446extern "C" {
21447    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_cert"]
21448    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21449}
21450extern "C" {
21451    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_untrusted"]
21452    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21453}
21454extern "C" {
21455    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set0_trusted_stack"]
21456    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
21457}
21458extern "C" {
21459    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set0_crls"]
21460    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
21461}
21462extern "C" {
21463    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_default"]
21464    pub fn X509_STORE_CTX_set_default(
21465        ctx: *mut X509_STORE_CTX,
21466        name: *const ::std::os::raw::c_char,
21467    ) -> ::std::os::raw::c_int;
21468}
21469extern "C" {
21470    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_param"]
21471    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
21472}
21473extern "C" {
21474    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set0_param"]
21475    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
21476}
21477extern "C" {
21478    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_flags"]
21479    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
21480}
21481extern "C" {
21482    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_time"]
21483    pub fn X509_STORE_CTX_set_time(
21484        ctx: *mut X509_STORE_CTX,
21485        flags: ::std::os::raw::c_ulong,
21486        t: time_t,
21487    );
21488}
21489extern "C" {
21490    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_time_posix"]
21491    pub fn X509_STORE_CTX_set_time_posix(
21492        ctx: *mut X509_STORE_CTX,
21493        flags: ::std::os::raw::c_ulong,
21494        t: i64,
21495    );
21496}
21497extern "C" {
21498    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_depth"]
21499    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
21500}
21501extern "C" {
21502    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_purpose"]
21503    pub fn X509_STORE_CTX_set_purpose(
21504        ctx: *mut X509_STORE_CTX,
21505        purpose: ::std::os::raw::c_int,
21506    ) -> ::std::os::raw::c_int;
21507}
21508extern "C" {
21509    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_trust"]
21510    pub fn X509_STORE_CTX_set_trust(
21511        ctx: *mut X509_STORE_CTX,
21512        trust: ::std::os::raw::c_int,
21513    ) -> ::std::os::raw::c_int;
21514}
21515extern "C" {
21516    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_add_custom_crit_oid"]
21517    pub fn X509_STORE_CTX_add_custom_crit_oid(
21518        ctx: *mut X509_STORE_CTX,
21519        oid: *mut ASN1_OBJECT,
21520    ) -> ::std::os::raw::c_int;
21521}
21522pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
21523    unsafe extern "C" fn(
21524        ctx: *mut X509_STORE_CTX,
21525        x509: *mut X509,
21526        oids: *mut stack_st_ASN1_OBJECT,
21527    ) -> ::std::os::raw::c_int,
21528>;
21529extern "C" {
21530    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_verify_crit_oids"]
21531    pub fn X509_STORE_CTX_set_verify_crit_oids(
21532        ctx: *mut X509_STORE_CTX,
21533        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
21534    );
21535}
21536extern "C" {
21537    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_new"]
21538    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
21539}
21540extern "C" {
21541    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_free"]
21542    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
21543}
21544extern "C" {
21545    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_inherit"]
21546    pub fn X509_VERIFY_PARAM_inherit(
21547        to: *mut X509_VERIFY_PARAM,
21548        from: *const X509_VERIFY_PARAM,
21549    ) -> ::std::os::raw::c_int;
21550}
21551extern "C" {
21552    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1"]
21553    pub fn X509_VERIFY_PARAM_set1(
21554        to: *mut X509_VERIFY_PARAM,
21555        from: *const X509_VERIFY_PARAM,
21556    ) -> ::std::os::raw::c_int;
21557}
21558extern "C" {
21559    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_flags"]
21560    pub fn X509_VERIFY_PARAM_set_flags(
21561        param: *mut X509_VERIFY_PARAM,
21562        flags: ::std::os::raw::c_ulong,
21563    ) -> ::std::os::raw::c_int;
21564}
21565extern "C" {
21566    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_clear_flags"]
21567    pub fn X509_VERIFY_PARAM_clear_flags(
21568        param: *mut X509_VERIFY_PARAM,
21569        flags: ::std::os::raw::c_ulong,
21570    ) -> ::std::os::raw::c_int;
21571}
21572extern "C" {
21573    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_get_flags"]
21574    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
21575}
21576extern "C" {
21577    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_depth"]
21578    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
21579}
21580extern "C" {
21581    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_get_depth"]
21582    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
21583}
21584extern "C" {
21585    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_time"]
21586    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
21587}
21588extern "C" {
21589    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_time_posix"]
21590    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
21591}
21592extern "C" {
21593    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_add0_policy"]
21594    pub fn X509_VERIFY_PARAM_add0_policy(
21595        param: *mut X509_VERIFY_PARAM,
21596        policy: *mut ASN1_OBJECT,
21597    ) -> ::std::os::raw::c_int;
21598}
21599extern "C" {
21600    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1_policies"]
21601    pub fn X509_VERIFY_PARAM_set1_policies(
21602        param: *mut X509_VERIFY_PARAM,
21603        policies: *const stack_st_ASN1_OBJECT,
21604    ) -> ::std::os::raw::c_int;
21605}
21606extern "C" {
21607    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1_host"]
21608    pub fn X509_VERIFY_PARAM_set1_host(
21609        param: *mut X509_VERIFY_PARAM,
21610        name: *const ::std::os::raw::c_char,
21611        name_len: usize,
21612    ) -> ::std::os::raw::c_int;
21613}
21614extern "C" {
21615    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_add1_host"]
21616    pub fn X509_VERIFY_PARAM_add1_host(
21617        param: *mut X509_VERIFY_PARAM,
21618        name: *const ::std::os::raw::c_char,
21619        name_len: usize,
21620    ) -> ::std::os::raw::c_int;
21621}
21622extern "C" {
21623    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_hostflags"]
21624    pub fn X509_VERIFY_PARAM_set_hostflags(
21625        param: *mut X509_VERIFY_PARAM,
21626        flags: ::std::os::raw::c_uint,
21627    );
21628}
21629extern "C" {
21630    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_get_hostflags"]
21631    pub fn X509_VERIFY_PARAM_get_hostflags(
21632        param: *const X509_VERIFY_PARAM,
21633    ) -> ::std::os::raw::c_uint;
21634}
21635extern "C" {
21636    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1_email"]
21637    pub fn X509_VERIFY_PARAM_set1_email(
21638        param: *mut X509_VERIFY_PARAM,
21639        email: *const ::std::os::raw::c_char,
21640        email_len: usize,
21641    ) -> ::std::os::raw::c_int;
21642}
21643extern "C" {
21644    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1_ip"]
21645    pub fn X509_VERIFY_PARAM_set1_ip(
21646        param: *mut X509_VERIFY_PARAM,
21647        ip: *const u8,
21648        ip_len: usize,
21649    ) -> ::std::os::raw::c_int;
21650}
21651extern "C" {
21652    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set1_ip_asc"]
21653    pub fn X509_VERIFY_PARAM_set1_ip_asc(
21654        param: *mut X509_VERIFY_PARAM,
21655        ipasc: *const ::std::os::raw::c_char,
21656    ) -> ::std::os::raw::c_int;
21657}
21658extern "C" {
21659    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_purpose"]
21660    pub fn X509_VERIFY_PARAM_set_purpose(
21661        param: *mut X509_VERIFY_PARAM,
21662        purpose: ::std::os::raw::c_int,
21663    ) -> ::std::os::raw::c_int;
21664}
21665extern "C" {
21666    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_set_trust"]
21667    pub fn X509_VERIFY_PARAM_set_trust(
21668        param: *mut X509_VERIFY_PARAM,
21669        trust: ::std::os::raw::c_int,
21670    ) -> ::std::os::raw::c_int;
21671}
21672extern "C" {
21673    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_enable_ec_key_explicit_params"]
21674    pub fn X509_VERIFY_PARAM_enable_ec_key_explicit_params(
21675        param: *mut X509_VERIFY_PARAM,
21676    ) -> ::std::os::raw::c_int;
21677}
21678extern "C" {
21679    #[link_name = "\u{1}aws_lc_0_35_0_X509_VERIFY_PARAM_disable_ec_key_explicit_params"]
21680    pub fn X509_VERIFY_PARAM_disable_ec_key_explicit_params(
21681        param: *mut X509_VERIFY_PARAM,
21682    ) -> ::std::os::raw::c_int;
21683}
21684extern "C" {
21685    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_load_locations"]
21686    pub fn X509_STORE_load_locations(
21687        store: *mut X509_STORE,
21688        file: *const ::std::os::raw::c_char,
21689        dir: *const ::std::os::raw::c_char,
21690    ) -> ::std::os::raw::c_int;
21691}
21692extern "C" {
21693    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_add_lookup"]
21694    pub fn X509_STORE_add_lookup(
21695        store: *mut X509_STORE,
21696        method: *const X509_LOOKUP_METHOD,
21697    ) -> *mut X509_LOOKUP;
21698}
21699extern "C" {
21700    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_hash_dir"]
21701    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
21702}
21703extern "C" {
21704    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_file"]
21705    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
21706}
21707extern "C" {
21708    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_load_file"]
21709    pub fn X509_LOOKUP_load_file(
21710        lookup: *mut X509_LOOKUP,
21711        file: *const ::std::os::raw::c_char,
21712        type_: ::std::os::raw::c_int,
21713    ) -> ::std::os::raw::c_int;
21714}
21715extern "C" {
21716    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_add_dir"]
21717    pub fn X509_LOOKUP_add_dir(
21718        lookup: *mut X509_LOOKUP,
21719        path: *const ::std::os::raw::c_char,
21720        type_: ::std::os::raw::c_int,
21721    ) -> ::std::os::raw::c_int;
21722}
21723extern "C" {
21724    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_ctrl"]
21725    pub fn X509_LOOKUP_ctrl(
21726        lookup: *mut X509_LOOKUP,
21727        cmd: ::std::os::raw::c_int,
21728        argc: *const ::std::os::raw::c_char,
21729        argl: ::std::os::raw::c_long,
21730        ret: *mut *mut ::std::os::raw::c_char,
21731    ) -> ::std::os::raw::c_int;
21732}
21733extern "C" {
21734    #[link_name = "\u{1}aws_lc_0_35_0_X509_load_cert_file"]
21735    pub fn X509_load_cert_file(
21736        lookup: *mut X509_LOOKUP,
21737        file: *const ::std::os::raw::c_char,
21738        type_: ::std::os::raw::c_int,
21739    ) -> ::std::os::raw::c_int;
21740}
21741extern "C" {
21742    #[link_name = "\u{1}aws_lc_0_35_0_X509_load_crl_file"]
21743    pub fn X509_load_crl_file(
21744        lookup: *mut X509_LOOKUP,
21745        file: *const ::std::os::raw::c_char,
21746        type_: ::std::os::raw::c_int,
21747    ) -> ::std::os::raw::c_int;
21748}
21749extern "C" {
21750    #[link_name = "\u{1}aws_lc_0_35_0_X509_load_cert_crl_file"]
21751    pub fn X509_load_cert_crl_file(
21752        lookup: *mut X509_LOOKUP,
21753        file: *const ::std::os::raw::c_char,
21754        type_: ::std::os::raw::c_int,
21755    ) -> ::std::os::raw::c_int;
21756}
21757extern "C" {
21758    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_hash"]
21759    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
21760}
21761extern "C" {
21762    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_hash_old"]
21763    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
21764}
21765extern "C" {
21766    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_default_paths"]
21767    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21768}
21769extern "C" {
21770    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_cert_area"]
21771    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
21772}
21773extern "C" {
21774    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_cert_dir"]
21775    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
21776}
21777extern "C" {
21778    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_cert_file"]
21779    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
21780}
21781extern "C" {
21782    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_private_dir"]
21783    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
21784}
21785extern "C" {
21786    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_cert_dir_env"]
21787    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
21788}
21789extern "C" {
21790    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_default_cert_file_env"]
21791    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
21792}
21793#[repr(C)]
21794#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21795pub struct Netscape_spki_st {
21796    pub spkac: *mut NETSCAPE_SPKAC,
21797    pub sig_algor: *mut X509_ALGOR,
21798    pub signature: *mut ASN1_BIT_STRING,
21799}
21800#[test]
21801fn bindgen_test_layout_Netscape_spki_st() {
21802    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
21803    let ptr = UNINIT.as_ptr();
21804    assert_eq!(
21805        ::std::mem::size_of::<Netscape_spki_st>(),
21806        24usize,
21807        "Size of Netscape_spki_st"
21808    );
21809    assert_eq!(
21810        ::std::mem::align_of::<Netscape_spki_st>(),
21811        8usize,
21812        "Alignment of Netscape_spki_st"
21813    );
21814    assert_eq!(
21815        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
21816        0usize,
21817        "Offset of field: Netscape_spki_st::spkac"
21818    );
21819    assert_eq!(
21820        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
21821        8usize,
21822        "Offset of field: Netscape_spki_st::sig_algor"
21823    );
21824    assert_eq!(
21825        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
21826        16usize,
21827        "Offset of field: Netscape_spki_st::signature"
21828    );
21829}
21830impl Default for Netscape_spki_st {
21831    fn default() -> Self {
21832        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21833        unsafe {
21834            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21835            s.assume_init()
21836        }
21837    }
21838}
21839extern "C" {
21840    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_it"]
21841    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
21842}
21843extern "C" {
21844    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_new"]
21845    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
21846}
21847extern "C" {
21848    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_free"]
21849    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
21850}
21851extern "C" {
21852    #[link_name = "\u{1}aws_lc_0_35_0_d2i_NETSCAPE_SPKI"]
21853    pub fn d2i_NETSCAPE_SPKI(
21854        out: *mut *mut NETSCAPE_SPKI,
21855        inp: *mut *const u8,
21856        len: ::std::os::raw::c_long,
21857    ) -> *mut NETSCAPE_SPKI;
21858}
21859extern "C" {
21860    #[link_name = "\u{1}aws_lc_0_35_0_i2d_NETSCAPE_SPKI"]
21861    pub fn i2d_NETSCAPE_SPKI(
21862        spki: *const NETSCAPE_SPKI,
21863        outp: *mut *mut u8,
21864    ) -> ::std::os::raw::c_int;
21865}
21866extern "C" {
21867    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_verify"]
21868    pub fn NETSCAPE_SPKI_verify(
21869        spki: *mut NETSCAPE_SPKI,
21870        pkey: *mut EVP_PKEY,
21871    ) -> ::std::os::raw::c_int;
21872}
21873extern "C" {
21874    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_b64_decode"]
21875    pub fn NETSCAPE_SPKI_b64_decode(
21876        str_: *const ::std::os::raw::c_char,
21877        len: ossl_ssize_t,
21878    ) -> *mut NETSCAPE_SPKI;
21879}
21880extern "C" {
21881    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_b64_encode"]
21882    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
21883}
21884extern "C" {
21885    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_get_pubkey"]
21886    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
21887}
21888extern "C" {
21889    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_set_pubkey"]
21890    pub fn NETSCAPE_SPKI_set_pubkey(
21891        spki: *mut NETSCAPE_SPKI,
21892        pkey: *mut EVP_PKEY,
21893    ) -> ::std::os::raw::c_int;
21894}
21895extern "C" {
21896    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_sign"]
21897    pub fn NETSCAPE_SPKI_sign(
21898        spki: *mut NETSCAPE_SPKI,
21899        pkey: *mut EVP_PKEY,
21900        md: *const EVP_MD,
21901    ) -> ::std::os::raw::c_int;
21902}
21903#[repr(C)]
21904#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21905pub struct Netscape_spkac_st {
21906    pub pubkey: *mut X509_PUBKEY,
21907    pub challenge: *mut ASN1_IA5STRING,
21908}
21909#[test]
21910fn bindgen_test_layout_Netscape_spkac_st() {
21911    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
21912    let ptr = UNINIT.as_ptr();
21913    assert_eq!(
21914        ::std::mem::size_of::<Netscape_spkac_st>(),
21915        16usize,
21916        "Size of Netscape_spkac_st"
21917    );
21918    assert_eq!(
21919        ::std::mem::align_of::<Netscape_spkac_st>(),
21920        8usize,
21921        "Alignment of Netscape_spkac_st"
21922    );
21923    assert_eq!(
21924        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
21925        0usize,
21926        "Offset of field: Netscape_spkac_st::pubkey"
21927    );
21928    assert_eq!(
21929        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
21930        8usize,
21931        "Offset of field: Netscape_spkac_st::challenge"
21932    );
21933}
21934impl Default for Netscape_spkac_st {
21935    fn default() -> Self {
21936        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21937        unsafe {
21938            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21939            s.assume_init()
21940        }
21941    }
21942}
21943extern "C" {
21944    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKAC_it"]
21945    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
21946}
21947extern "C" {
21948    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKAC_new"]
21949    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
21950}
21951extern "C" {
21952    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKAC_free"]
21953    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
21954}
21955extern "C" {
21956    #[link_name = "\u{1}aws_lc_0_35_0_d2i_NETSCAPE_SPKAC"]
21957    pub fn d2i_NETSCAPE_SPKAC(
21958        out: *mut *mut NETSCAPE_SPKAC,
21959        inp: *mut *const u8,
21960        len: ::std::os::raw::c_long,
21961    ) -> *mut NETSCAPE_SPKAC;
21962}
21963extern "C" {
21964    #[link_name = "\u{1}aws_lc_0_35_0_i2d_NETSCAPE_SPKAC"]
21965    pub fn i2d_NETSCAPE_SPKAC(
21966        spkac: *const NETSCAPE_SPKAC,
21967        outp: *mut *mut u8,
21968    ) -> ::std::os::raw::c_int;
21969}
21970extern "C" {
21971    #[link_name = "\u{1}aws_lc_0_35_0_NETSCAPE_SPKI_print"]
21972    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
21973}
21974#[repr(C)]
21975#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21976pub struct rsa_pss_params_st {
21977    pub hashAlgorithm: *mut X509_ALGOR,
21978    pub maskGenAlgorithm: *mut X509_ALGOR,
21979    pub saltLength: *mut ASN1_INTEGER,
21980    pub trailerField: *mut ASN1_INTEGER,
21981    pub maskHash: *mut X509_ALGOR,
21982}
21983#[test]
21984fn bindgen_test_layout_rsa_pss_params_st() {
21985    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
21986    let ptr = UNINIT.as_ptr();
21987    assert_eq!(
21988        ::std::mem::size_of::<rsa_pss_params_st>(),
21989        40usize,
21990        "Size of rsa_pss_params_st"
21991    );
21992    assert_eq!(
21993        ::std::mem::align_of::<rsa_pss_params_st>(),
21994        8usize,
21995        "Alignment of rsa_pss_params_st"
21996    );
21997    assert_eq!(
21998        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
21999        0usize,
22000        "Offset of field: rsa_pss_params_st::hashAlgorithm"
22001    );
22002    assert_eq!(
22003        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
22004        8usize,
22005        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
22006    );
22007    assert_eq!(
22008        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
22009        16usize,
22010        "Offset of field: rsa_pss_params_st::saltLength"
22011    );
22012    assert_eq!(
22013        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
22014        24usize,
22015        "Offset of field: rsa_pss_params_st::trailerField"
22016    );
22017    assert_eq!(
22018        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
22019        32usize,
22020        "Offset of field: rsa_pss_params_st::maskHash"
22021    );
22022}
22023impl Default for rsa_pss_params_st {
22024    fn default() -> Self {
22025        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22026        unsafe {
22027            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22028            s.assume_init()
22029        }
22030    }
22031}
22032extern "C" {
22033    #[link_name = "\u{1}aws_lc_0_35_0_RSA_PSS_PARAMS_it"]
22034    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
22035}
22036extern "C" {
22037    #[link_name = "\u{1}aws_lc_0_35_0_RSA_PSS_PARAMS_new"]
22038    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
22039}
22040extern "C" {
22041    #[link_name = "\u{1}aws_lc_0_35_0_RSA_PSS_PARAMS_free"]
22042    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
22043}
22044extern "C" {
22045    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSA_PSS_PARAMS"]
22046    pub fn d2i_RSA_PSS_PARAMS(
22047        out: *mut *mut RSA_PSS_PARAMS,
22048        inp: *mut *const u8,
22049        len: ::std::os::raw::c_long,
22050    ) -> *mut RSA_PSS_PARAMS;
22051}
22052extern "C" {
22053    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSA_PSS_PARAMS"]
22054    pub fn i2d_RSA_PSS_PARAMS(
22055        in_: *const RSA_PSS_PARAMS,
22056        outp: *mut *mut u8,
22057    ) -> ::std::os::raw::c_int;
22058}
22059extern "C" {
22060    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_PRIV_KEY_INFO_it"]
22061    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
22062}
22063extern "C" {
22064    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_PRIV_KEY_INFO_new"]
22065    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
22066}
22067extern "C" {
22068    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_PRIV_KEY_INFO_free"]
22069    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
22070}
22071extern "C" {
22072    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8_PRIV_KEY_INFO"]
22073    pub fn d2i_PKCS8_PRIV_KEY_INFO(
22074        out: *mut *mut PKCS8_PRIV_KEY_INFO,
22075        inp: *mut *const u8,
22076        len: ::std::os::raw::c_long,
22077    ) -> *mut PKCS8_PRIV_KEY_INFO;
22078}
22079extern "C" {
22080    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8_PRIV_KEY_INFO"]
22081    pub fn i2d_PKCS8_PRIV_KEY_INFO(
22082        key: *const PKCS8_PRIV_KEY_INFO,
22083        outp: *mut *mut u8,
22084    ) -> ::std::os::raw::c_int;
22085}
22086extern "C" {
22087    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKCS82PKEY"]
22088    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
22089}
22090extern "C" {
22091    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY2PKCS8"]
22092    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
22093}
22094extern "C" {
22095    #[link_name = "\u{1}aws_lc_0_35_0_X509_SIG_it"]
22096    pub static X509_SIG_it: ASN1_ITEM;
22097}
22098extern "C" {
22099    #[link_name = "\u{1}aws_lc_0_35_0_X509_SIG_new"]
22100    pub fn X509_SIG_new() -> *mut X509_SIG;
22101}
22102extern "C" {
22103    #[link_name = "\u{1}aws_lc_0_35_0_X509_SIG_free"]
22104    pub fn X509_SIG_free(key: *mut X509_SIG);
22105}
22106extern "C" {
22107    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_SIG"]
22108    pub fn d2i_X509_SIG(
22109        out: *mut *mut X509_SIG,
22110        inp: *mut *const u8,
22111        len: ::std::os::raw::c_long,
22112    ) -> *mut X509_SIG;
22113}
22114extern "C" {
22115    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_SIG"]
22116    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22117}
22118extern "C" {
22119    #[link_name = "\u{1}aws_lc_0_35_0_X509_SIG_get0"]
22120    pub fn X509_SIG_get0(
22121        sig: *const X509_SIG,
22122        out_alg: *mut *const X509_ALGOR,
22123        out_digest: *mut *const ASN1_OCTET_STRING,
22124    );
22125}
22126extern "C" {
22127    #[link_name = "\u{1}aws_lc_0_35_0_X509_SIG_getm"]
22128    pub fn X509_SIG_getm(
22129        sig: *mut X509_SIG,
22130        out_alg: *mut *mut X509_ALGOR,
22131        out_digest: *mut *mut ASN1_OCTET_STRING,
22132    );
22133}
22134extern "C" {
22135    #[link_name = "\u{1}aws_lc_0_35_0_X509_print_ex"]
22136    pub fn X509_print_ex(
22137        bp: *mut BIO,
22138        x: *mut X509,
22139        nmflag: ::std::os::raw::c_ulong,
22140        cflag: ::std::os::raw::c_ulong,
22141    ) -> ::std::os::raw::c_int;
22142}
22143extern "C" {
22144    #[link_name = "\u{1}aws_lc_0_35_0_X509_print_ex_fp"]
22145    pub fn X509_print_ex_fp(
22146        fp: *mut FILE,
22147        x: *mut X509,
22148        nmflag: ::std::os::raw::c_ulong,
22149        cflag: ::std::os::raw::c_ulong,
22150    ) -> ::std::os::raw::c_int;
22151}
22152extern "C" {
22153    #[link_name = "\u{1}aws_lc_0_35_0_X509_print"]
22154    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
22155}
22156extern "C" {
22157    #[link_name = "\u{1}aws_lc_0_35_0_X509_print_fp"]
22158    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
22159}
22160extern "C" {
22161    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_print"]
22162    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22163}
22164extern "C" {
22165    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_print_fp"]
22166    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22167}
22168extern "C" {
22169    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_print_ex"]
22170    pub fn X509_REQ_print_ex(
22171        bp: *mut BIO,
22172        x: *mut X509_REQ,
22173        nmflag: ::std::os::raw::c_ulong,
22174        cflag: ::std::os::raw::c_ulong,
22175    ) -> ::std::os::raw::c_int;
22176}
22177extern "C" {
22178    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_print"]
22179    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22180}
22181extern "C" {
22182    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_print_fp"]
22183    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22184}
22185extern "C" {
22186    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_print_ex"]
22187    pub fn X509_NAME_print_ex(
22188        out: *mut BIO,
22189        nm: *const X509_NAME,
22190        indent: ::std::os::raw::c_int,
22191        flags: ::std::os::raw::c_ulong,
22192    ) -> ::std::os::raw::c_int;
22193}
22194extern "C" {
22195    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_print"]
22196    pub fn X509_NAME_print(
22197        bp: *mut BIO,
22198        name: *const X509_NAME,
22199        obase: ::std::os::raw::c_int,
22200    ) -> ::std::os::raw::c_int;
22201}
22202extern "C" {
22203    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_oneline"]
22204    pub fn X509_NAME_oneline(
22205        name: *const X509_NAME,
22206        buf: *mut ::std::os::raw::c_char,
22207        size: ::std::os::raw::c_int,
22208    ) -> *mut ::std::os::raw::c_char;
22209}
22210extern "C" {
22211    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_print_ex_fp"]
22212    pub fn X509_NAME_print_ex_fp(
22213        fp: *mut FILE,
22214        nm: *const X509_NAME,
22215        indent: ::std::os::raw::c_int,
22216        flags: ::std::os::raw::c_ulong,
22217    ) -> ::std::os::raw::c_int;
22218}
22219extern "C" {
22220    #[link_name = "\u{1}aws_lc_0_35_0_X509_signature_dump"]
22221    pub fn X509_signature_dump(
22222        bio: *mut BIO,
22223        sig: *const ASN1_STRING,
22224        indent: ::std::os::raw::c_int,
22225    ) -> ::std::os::raw::c_int;
22226}
22227extern "C" {
22228    #[link_name = "\u{1}aws_lc_0_35_0_X509_signature_print"]
22229    pub fn X509_signature_print(
22230        bio: *mut BIO,
22231        alg: *const X509_ALGOR,
22232        sig: *const ASN1_STRING,
22233    ) -> ::std::os::raw::c_int;
22234}
22235extern "C" {
22236    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_print"]
22237    pub fn X509V3_EXT_print(
22238        out: *mut BIO,
22239        ext: *const X509_EXTENSION,
22240        flag: ::std::os::raw::c_ulong,
22241        indent: ::std::os::raw::c_int,
22242    ) -> ::std::os::raw::c_int;
22243}
22244extern "C" {
22245    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_print_fp"]
22246    pub fn X509V3_EXT_print_fp(
22247        out: *mut FILE,
22248        ext: *const X509_EXTENSION,
22249        flag: ::std::os::raw::c_int,
22250        indent: ::std::os::raw::c_int,
22251    ) -> ::std::os::raw::c_int;
22252}
22253extern "C" {
22254    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_extensions_print"]
22255    pub fn X509V3_extensions_print(
22256        out: *mut BIO,
22257        title: *const ::std::os::raw::c_char,
22258        exts: *const stack_st_X509_EXTENSION,
22259        flag: ::std::os::raw::c_ulong,
22260        indent: ::std::os::raw::c_int,
22261    ) -> ::std::os::raw::c_int;
22262}
22263extern "C" {
22264    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_NAME_print"]
22265    pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::std::os::raw::c_int;
22266}
22267extern "C" {
22268    #[link_name = "\u{1}aws_lc_0_35_0_X509_pubkey_digest"]
22269    pub fn X509_pubkey_digest(
22270        x509: *const X509,
22271        md: *const EVP_MD,
22272        out: *mut u8,
22273        out_len: *mut ::std::os::raw::c_uint,
22274    ) -> ::std::os::raw::c_int;
22275}
22276extern "C" {
22277    #[link_name = "\u{1}aws_lc_0_35_0_X509_digest"]
22278    pub fn X509_digest(
22279        x509: *const X509,
22280        md: *const EVP_MD,
22281        out: *mut u8,
22282        out_len: *mut ::std::os::raw::c_uint,
22283    ) -> ::std::os::raw::c_int;
22284}
22285extern "C" {
22286    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_digest"]
22287    pub fn X509_CRL_digest(
22288        crl: *const X509_CRL,
22289        md: *const EVP_MD,
22290        out: *mut u8,
22291        out_len: *mut ::std::os::raw::c_uint,
22292    ) -> ::std::os::raw::c_int;
22293}
22294extern "C" {
22295    #[link_name = "\u{1}aws_lc_0_35_0_X509_REQ_digest"]
22296    pub fn X509_REQ_digest(
22297        req: *const X509_REQ,
22298        md: *const EVP_MD,
22299        out: *mut u8,
22300        out_len: *mut ::std::os::raw::c_uint,
22301    ) -> ::std::os::raw::c_int;
22302}
22303extern "C" {
22304    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_digest"]
22305    pub fn X509_NAME_digest(
22306        name: *const X509_NAME,
22307        md: *const EVP_MD,
22308        out: *mut u8,
22309        out_len: *mut ::std::os::raw::c_uint,
22310    ) -> ::std::os::raw::c_int;
22311}
22312extern "C" {
22313    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_bio"]
22314    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
22315}
22316extern "C" {
22317    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_CRL_bio"]
22318    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22319}
22320extern "C" {
22321    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_REQ_bio"]
22322    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22323}
22324extern "C" {
22325    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPrivateKey_bio"]
22326    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22327}
22328extern "C" {
22329    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPublicKey_bio"]
22330    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22331}
22332extern "C" {
22333    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSA_PUBKEY_bio"]
22334    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22335}
22336extern "C" {
22337    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSA_PUBKEY_bio"]
22338    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22339}
22340extern "C" {
22341    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSAPrivateKey_bio"]
22342    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22343}
22344extern "C" {
22345    #[link_name = "\u{1}aws_lc_0_35_0_d2i_EC_PUBKEY_bio"]
22346    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22347}
22348extern "C" {
22349    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPrivateKey_bio"]
22350    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22351}
22352extern "C" {
22353    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8_bio"]
22354    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22355}
22356extern "C" {
22357    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
22358    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
22359        bp: *mut BIO,
22360        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22361    ) -> *mut PKCS8_PRIV_KEY_INFO;
22362}
22363extern "C" {
22364    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PUBKEY_bio"]
22365    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22366}
22367extern "C" {
22368    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DHparams_bio"]
22369    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
22370}
22371extern "C" {
22372    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PrivateKey_bio"]
22373    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22374}
22375extern "C" {
22376    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_bio"]
22377    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
22378}
22379extern "C" {
22380    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_CRL_bio"]
22381    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22382}
22383extern "C" {
22384    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_REQ_bio"]
22385    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22386}
22387extern "C" {
22388    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPrivateKey_bio"]
22389    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22390}
22391extern "C" {
22392    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPublicKey_bio"]
22393    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22394}
22395extern "C" {
22396    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSA_PUBKEY_bio"]
22397    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22398}
22399extern "C" {
22400    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSA_PUBKEY_bio"]
22401    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22402}
22403extern "C" {
22404    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSAPrivateKey_bio"]
22405    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22406}
22407extern "C" {
22408    #[link_name = "\u{1}aws_lc_0_35_0_i2d_EC_PUBKEY_bio"]
22409    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22410}
22411extern "C" {
22412    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPrivateKey_bio"]
22413    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22414}
22415extern "C" {
22416    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8_bio"]
22417    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22418}
22419extern "C" {
22420    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
22421    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
22422        bp: *mut BIO,
22423        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22424    ) -> ::std::os::raw::c_int;
22425}
22426extern "C" {
22427    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PrivateKey_bio"]
22428    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22429}
22430extern "C" {
22431    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PUBKEY_bio"]
22432    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22433}
22434extern "C" {
22435    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DHparams_bio"]
22436    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
22437}
22438extern "C" {
22439    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKeyInfo_bio"]
22440    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22441}
22442extern "C" {
22443    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_fp"]
22444    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
22445}
22446extern "C" {
22447    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_CRL_fp"]
22448    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22449}
22450extern "C" {
22451    #[link_name = "\u{1}aws_lc_0_35_0_d2i_X509_REQ_fp"]
22452    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22453}
22454extern "C" {
22455    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPrivateKey_fp"]
22456    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22457}
22458extern "C" {
22459    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSAPublicKey_fp"]
22460    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22461}
22462extern "C" {
22463    #[link_name = "\u{1}aws_lc_0_35_0_d2i_RSA_PUBKEY_fp"]
22464    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22465}
22466extern "C" {
22467    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSA_PUBKEY_fp"]
22468    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
22469}
22470extern "C" {
22471    #[link_name = "\u{1}aws_lc_0_35_0_d2i_DSAPrivateKey_fp"]
22472    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
22473}
22474extern "C" {
22475    #[link_name = "\u{1}aws_lc_0_35_0_d2i_EC_PUBKEY_fp"]
22476    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22477}
22478extern "C" {
22479    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ECPrivateKey_fp"]
22480    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22481}
22482extern "C" {
22483    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8_fp"]
22484    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22485}
22486extern "C" {
22487    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
22488    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
22489        fp: *mut FILE,
22490        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22491    ) -> *mut PKCS8_PRIV_KEY_INFO;
22492}
22493extern "C" {
22494    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PrivateKey_fp"]
22495    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22496}
22497extern "C" {
22498    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PUBKEY_fp"]
22499    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22500}
22501extern "C" {
22502    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_fp"]
22503    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
22504}
22505extern "C" {
22506    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_CRL_fp"]
22507    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22508}
22509extern "C" {
22510    #[link_name = "\u{1}aws_lc_0_35_0_i2d_X509_REQ_fp"]
22511    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22512}
22513extern "C" {
22514    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPrivateKey_fp"]
22515    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22516}
22517extern "C" {
22518    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSAPublicKey_fp"]
22519    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22520}
22521extern "C" {
22522    #[link_name = "\u{1}aws_lc_0_35_0_i2d_RSA_PUBKEY_fp"]
22523    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22524}
22525extern "C" {
22526    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSA_PUBKEY_fp"]
22527    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
22528}
22529extern "C" {
22530    #[link_name = "\u{1}aws_lc_0_35_0_i2d_DSAPrivateKey_fp"]
22531    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
22532}
22533extern "C" {
22534    #[link_name = "\u{1}aws_lc_0_35_0_i2d_EC_PUBKEY_fp"]
22535    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22536}
22537extern "C" {
22538    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ECPrivateKey_fp"]
22539    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22540}
22541extern "C" {
22542    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8_fp"]
22543    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22544}
22545extern "C" {
22546    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
22547    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
22548        fp: *mut FILE,
22549        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22550    ) -> ::std::os::raw::c_int;
22551}
22552extern "C" {
22553    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKeyInfo_fp"]
22554    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22555}
22556extern "C" {
22557    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PrivateKey_fp"]
22558    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22559}
22560extern "C" {
22561    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PUBKEY_fp"]
22562    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22563}
22564extern "C" {
22565    #[link_name = "\u{1}aws_lc_0_35_0_X509_find_by_issuer_and_serial"]
22566    pub fn X509_find_by_issuer_and_serial(
22567        sk: *const stack_st_X509,
22568        name: *mut X509_NAME,
22569        serial: *const ASN1_INTEGER,
22570    ) -> *mut X509;
22571}
22572extern "C" {
22573    #[link_name = "\u{1}aws_lc_0_35_0_X509_find_by_subject"]
22574    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
22575}
22576extern "C" {
22577    #[link_name = "\u{1}aws_lc_0_35_0_X509_cmp_time"]
22578    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
22579}
22580extern "C" {
22581    #[link_name = "\u{1}aws_lc_0_35_0_X509_cmp_time_posix"]
22582    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
22583}
22584extern "C" {
22585    #[link_name = "\u{1}aws_lc_0_35_0_X509_cmp_current_time"]
22586    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
22587}
22588extern "C" {
22589    #[link_name = "\u{1}aws_lc_0_35_0_X509_time_adj"]
22590    pub fn X509_time_adj(
22591        s: *mut ASN1_TIME,
22592        offset_sec: ::std::os::raw::c_long,
22593        t: *const time_t,
22594    ) -> *mut ASN1_TIME;
22595}
22596extern "C" {
22597    #[link_name = "\u{1}aws_lc_0_35_0_X509_time_adj_ex"]
22598    pub fn X509_time_adj_ex(
22599        s: *mut ASN1_TIME,
22600        offset_day: ::std::os::raw::c_int,
22601        offset_sec: ::std::os::raw::c_long,
22602        t: *const time_t,
22603    ) -> *mut ASN1_TIME;
22604}
22605extern "C" {
22606    #[link_name = "\u{1}aws_lc_0_35_0_X509_gmtime_adj"]
22607    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
22608        -> *mut ASN1_TIME;
22609}
22610extern "C" {
22611    #[link_name = "\u{1}aws_lc_0_35_0_X509_issuer_name_cmp"]
22612    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
22613}
22614extern "C" {
22615    #[link_name = "\u{1}aws_lc_0_35_0_X509_subject_name_cmp"]
22616    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
22617}
22618extern "C" {
22619    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_cmp"]
22620    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
22621}
22622extern "C" {
22623    #[link_name = "\u{1}aws_lc_0_35_0_X509_issuer_name_hash"]
22624    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
22625}
22626extern "C" {
22627    #[link_name = "\u{1}aws_lc_0_35_0_X509_subject_name_hash"]
22628    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
22629}
22630extern "C" {
22631    #[link_name = "\u{1}aws_lc_0_35_0_X509_issuer_name_hash_old"]
22632    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
22633}
22634extern "C" {
22635    #[link_name = "\u{1}aws_lc_0_35_0_X509_subject_name_hash_old"]
22636    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
22637}
22638extern "C" {
22639    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ex_new_index"]
22640    pub fn X509_get_ex_new_index(
22641        argl: ::std::os::raw::c_long,
22642        argp: *mut ::std::os::raw::c_void,
22643        unused: *mut CRYPTO_EX_unused,
22644        dup_unused: CRYPTO_EX_dup,
22645        free_func: CRYPTO_EX_free,
22646    ) -> ::std::os::raw::c_int;
22647}
22648extern "C" {
22649    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_ex_data"]
22650    pub fn X509_set_ex_data(
22651        r: *mut X509,
22652        idx: ::std::os::raw::c_int,
22653        arg: *mut ::std::os::raw::c_void,
22654    ) -> ::std::os::raw::c_int;
22655}
22656extern "C" {
22657    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_ex_data"]
22658    pub fn X509_get_ex_data(
22659        r: *mut X509,
22660        idx: ::std::os::raw::c_int,
22661    ) -> *mut ::std::os::raw::c_void;
22662}
22663extern "C" {
22664    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_ex_new_index"]
22665    pub fn X509_STORE_CTX_get_ex_new_index(
22666        argl: ::std::os::raw::c_long,
22667        argp: *mut ::std::os::raw::c_void,
22668        unused: *mut CRYPTO_EX_unused,
22669        dup_unused: CRYPTO_EX_dup,
22670        free_func: CRYPTO_EX_free,
22671    ) -> ::std::os::raw::c_int;
22672}
22673extern "C" {
22674    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_ex_data"]
22675    pub fn X509_STORE_CTX_set_ex_data(
22676        ctx: *mut X509_STORE_CTX,
22677        idx: ::std::os::raw::c_int,
22678        data: *mut ::std::os::raw::c_void,
22679    ) -> ::std::os::raw::c_int;
22680}
22681extern "C" {
22682    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_ex_data"]
22683    pub fn X509_STORE_CTX_get_ex_data(
22684        ctx: *mut X509_STORE_CTX,
22685        idx: ::std::os::raw::c_int,
22686    ) -> *mut ::std::os::raw::c_void;
22687}
22688extern "C" {
22689    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get_ex_new_index"]
22690    pub fn X509_STORE_get_ex_new_index(
22691        argl: ::std::os::raw::c_long,
22692        argp: *mut ::std::os::raw::c_void,
22693        unused: *mut CRYPTO_EX_unused,
22694        dup_unused: CRYPTO_EX_dup,
22695        free_func: CRYPTO_EX_free,
22696    ) -> ::std::os::raw::c_int;
22697}
22698extern "C" {
22699    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_ex_data"]
22700    pub fn X509_STORE_set_ex_data(
22701        ctx: *mut X509_STORE,
22702        idx: ::std::os::raw::c_int,
22703        data: *mut ::std::os::raw::c_void,
22704    ) -> ::std::os::raw::c_int;
22705}
22706extern "C" {
22707    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get_ex_data"]
22708    pub fn X509_STORE_get_ex_data(
22709        ctx: *mut X509_STORE,
22710        idx: ::std::os::raw::c_int,
22711    ) -> *mut ::std::os::raw::c_void;
22712}
22713extern "C" {
22714    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_digest"]
22715    pub fn ASN1_digest(
22716        i2d: i2d_of_void,
22717        type_: *const EVP_MD,
22718        data: *mut ::std::os::raw::c_char,
22719        md: *mut ::std::os::raw::c_uchar,
22720        len: *mut ::std::os::raw::c_uint,
22721    ) -> ::std::os::raw::c_int;
22722}
22723extern "C" {
22724    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_digest"]
22725    pub fn ASN1_item_digest(
22726        it: *const ASN1_ITEM,
22727        type_: *const EVP_MD,
22728        data: *mut ::std::os::raw::c_void,
22729        md: *mut ::std::os::raw::c_uchar,
22730        len: *mut ::std::os::raw::c_uint,
22731    ) -> ::std::os::raw::c_int;
22732}
22733extern "C" {
22734    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_verify"]
22735    pub fn ASN1_item_verify(
22736        it: *const ASN1_ITEM,
22737        algor1: *const X509_ALGOR,
22738        signature: *const ASN1_BIT_STRING,
22739        data: *mut ::std::os::raw::c_void,
22740        pkey: *mut EVP_PKEY,
22741    ) -> ::std::os::raw::c_int;
22742}
22743extern "C" {
22744    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_sign"]
22745    pub fn ASN1_item_sign(
22746        it: *const ASN1_ITEM,
22747        algor1: *mut X509_ALGOR,
22748        algor2: *mut X509_ALGOR,
22749        signature: *mut ASN1_BIT_STRING,
22750        data: *mut ::std::os::raw::c_void,
22751        pkey: *mut EVP_PKEY,
22752        type_: *const EVP_MD,
22753    ) -> ::std::os::raw::c_int;
22754}
22755extern "C" {
22756    #[link_name = "\u{1}aws_lc_0_35_0_ASN1_item_sign_ctx"]
22757    pub fn ASN1_item_sign_ctx(
22758        it: *const ASN1_ITEM,
22759        algor1: *mut X509_ALGOR,
22760        algor2: *mut X509_ALGOR,
22761        signature: *mut ASN1_BIT_STRING,
22762        asn: *mut ::std::os::raw::c_void,
22763        ctx: *mut EVP_MD_CTX,
22764    ) -> ::std::os::raw::c_int;
22765}
22766extern "C" {
22767    #[link_name = "\u{1}aws_lc_0_35_0_X509_supported_extension"]
22768    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
22769}
22770extern "C" {
22771    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_ca"]
22772    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
22773}
22774extern "C" {
22775    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_issued"]
22776    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
22777}
22778extern "C" {
22779    #[link_name = "\u{1}aws_lc_0_35_0_NAME_CONSTRAINTS_check"]
22780    pub fn NAME_CONSTRAINTS_check(
22781        x509: *mut X509,
22782        nc: *mut NAME_CONSTRAINTS,
22783    ) -> ::std::os::raw::c_int;
22784}
22785extern "C" {
22786    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_host"]
22787    pub fn X509_check_host(
22788        x509: *const X509,
22789        chk: *const ::std::os::raw::c_char,
22790        chklen: usize,
22791        flags: ::std::os::raw::c_uint,
22792        out_peername: *mut *mut ::std::os::raw::c_char,
22793    ) -> ::std::os::raw::c_int;
22794}
22795extern "C" {
22796    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_email"]
22797    pub fn X509_check_email(
22798        x509: *const X509,
22799        chk: *const ::std::os::raw::c_char,
22800        chklen: usize,
22801        flags: ::std::os::raw::c_uint,
22802    ) -> ::std::os::raw::c_int;
22803}
22804extern "C" {
22805    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_ip"]
22806    pub fn X509_check_ip(
22807        x509: *const X509,
22808        chk: *const u8,
22809        chklen: usize,
22810        flags: ::std::os::raw::c_uint,
22811    ) -> ::std::os::raw::c_int;
22812}
22813extern "C" {
22814    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_ip_asc"]
22815    pub fn X509_check_ip_asc(
22816        x509: *const X509,
22817        ipasc: *const ::std::os::raw::c_char,
22818        flags: ::std::os::raw::c_uint,
22819    ) -> ::std::os::raw::c_int;
22820}
22821extern "C" {
22822    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get1_issuer"]
22823    pub fn X509_STORE_CTX_get1_issuer(
22824        out_issuer: *mut *mut X509,
22825        ctx: *mut X509_STORE_CTX,
22826        x509: *mut X509,
22827    ) -> ::std::os::raw::c_int;
22828}
22829extern "C" {
22830    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_purpose"]
22831    pub fn X509_check_purpose(
22832        x509: *mut X509,
22833        purpose: ::std::os::raw::c_int,
22834        ca: ::std::os::raw::c_int,
22835    ) -> ::std::os::raw::c_int;
22836}
22837extern "C" {
22838    #[link_name = "\u{1}aws_lc_0_35_0_X509_check_trust"]
22839    pub fn X509_check_trust(
22840        x509: *mut X509,
22841        id: ::std::os::raw::c_int,
22842        flags: ::std::os::raw::c_int,
22843    ) -> ::std::os::raw::c_int;
22844}
22845#[repr(C)]
22846#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22847pub struct private_key_st {
22848    pub dec_pkey: *mut EVP_PKEY,
22849}
22850#[test]
22851fn bindgen_test_layout_private_key_st() {
22852    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
22853    let ptr = UNINIT.as_ptr();
22854    assert_eq!(
22855        ::std::mem::size_of::<private_key_st>(),
22856        8usize,
22857        "Size of private_key_st"
22858    );
22859    assert_eq!(
22860        ::std::mem::align_of::<private_key_st>(),
22861        8usize,
22862        "Alignment of private_key_st"
22863    );
22864    assert_eq!(
22865        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
22866        0usize,
22867        "Offset of field: private_key_st::dec_pkey"
22868    );
22869}
22870impl Default for private_key_st {
22871    fn default() -> Self {
22872        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22873        unsafe {
22874            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22875            s.assume_init()
22876        }
22877    }
22878}
22879#[repr(C)]
22880#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22881pub struct X509_info_st {
22882    pub x509: *mut X509,
22883    pub crl: *mut X509_CRL,
22884    pub x_pkey: *mut X509_PKEY,
22885    pub enc_cipher: EVP_CIPHER_INFO,
22886    pub enc_len: ::std::os::raw::c_int,
22887    pub enc_data: *mut ::std::os::raw::c_char,
22888}
22889#[test]
22890fn bindgen_test_layout_X509_info_st() {
22891    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
22892    let ptr = UNINIT.as_ptr();
22893    assert_eq!(
22894        ::std::mem::size_of::<X509_info_st>(),
22895        64usize,
22896        "Size of X509_info_st"
22897    );
22898    assert_eq!(
22899        ::std::mem::align_of::<X509_info_st>(),
22900        8usize,
22901        "Alignment of X509_info_st"
22902    );
22903    assert_eq!(
22904        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
22905        0usize,
22906        "Offset of field: X509_info_st::x509"
22907    );
22908    assert_eq!(
22909        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
22910        8usize,
22911        "Offset of field: X509_info_st::crl"
22912    );
22913    assert_eq!(
22914        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
22915        16usize,
22916        "Offset of field: X509_info_st::x_pkey"
22917    );
22918    assert_eq!(
22919        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
22920        24usize,
22921        "Offset of field: X509_info_st::enc_cipher"
22922    );
22923    assert_eq!(
22924        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
22925        48usize,
22926        "Offset of field: X509_info_st::enc_len"
22927    );
22928    assert_eq!(
22929        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
22930        56usize,
22931        "Offset of field: X509_info_st::enc_data"
22932    );
22933}
22934impl Default for X509_info_st {
22935    fn default() -> Self {
22936        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22937        unsafe {
22938            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22939            s.assume_init()
22940        }
22941    }
22942}
22943#[repr(C)]
22944#[derive(Debug, Copy, Clone)]
22945pub struct stack_st_X509_INFO {
22946    _unused: [u8; 0],
22947}
22948pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
22949pub type sk_X509_INFO_copy_func =
22950    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
22951pub type sk_X509_INFO_cmp_func = ::std::option::Option<
22952    unsafe extern "C" fn(
22953        arg1: *const *const X509_INFO,
22954        arg2: *const *const X509_INFO,
22955    ) -> ::std::os::raw::c_int,
22956>;
22957pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
22958    unsafe extern "C" fn(
22959        arg1: *mut X509_INFO,
22960        arg2: *mut ::std::os::raw::c_void,
22961    ) -> ::std::os::raw::c_int,
22962>;
22963extern "C" {
22964    #[link_name = "\u{1}aws_lc_0_35_0_X509_INFO_free"]
22965    pub fn X509_INFO_free(info: *mut X509_INFO);
22966}
22967pub type X509V3_EXT_NEW =
22968    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
22969pub type X509V3_EXT_FREE =
22970    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
22971pub type X509V3_EXT_D2I = ::std::option::Option<
22972    unsafe extern "C" fn(
22973        ext: *mut ::std::os::raw::c_void,
22974        inp: *mut *const u8,
22975        len: ::std::os::raw::c_long,
22976    ) -> *mut ::std::os::raw::c_void,
22977>;
22978pub type X509V3_EXT_I2D = ::std::option::Option<
22979    unsafe extern "C" fn(
22980        ext: *mut ::std::os::raw::c_void,
22981        outp: *mut *mut u8,
22982    ) -> ::std::os::raw::c_int,
22983>;
22984pub type X509V3_EXT_I2V = ::std::option::Option<
22985    unsafe extern "C" fn(
22986        method: *const X509V3_EXT_METHOD,
22987        ext: *mut ::std::os::raw::c_void,
22988        extlist: *mut stack_st_CONF_VALUE,
22989    ) -> *mut stack_st_CONF_VALUE,
22990>;
22991pub type X509V3_EXT_V2I = ::std::option::Option<
22992    unsafe extern "C" fn(
22993        method: *const X509V3_EXT_METHOD,
22994        ctx: *const X509V3_CTX,
22995        values: *const stack_st_CONF_VALUE,
22996    ) -> *mut ::std::os::raw::c_void,
22997>;
22998pub type X509V3_EXT_I2S = ::std::option::Option<
22999    unsafe extern "C" fn(
23000        method: *const X509V3_EXT_METHOD,
23001        ext: *mut ::std::os::raw::c_void,
23002    ) -> *mut ::std::os::raw::c_char,
23003>;
23004pub type X509V3_EXT_S2I = ::std::option::Option<
23005    unsafe extern "C" fn(
23006        method: *const X509V3_EXT_METHOD,
23007        ctx: *const X509V3_CTX,
23008        str_: *const ::std::os::raw::c_char,
23009    ) -> *mut ::std::os::raw::c_void,
23010>;
23011pub type X509V3_EXT_I2R = ::std::option::Option<
23012    unsafe extern "C" fn(
23013        method: *const X509V3_EXT_METHOD,
23014        ext: *mut ::std::os::raw::c_void,
23015        out: *mut BIO,
23016        indent: ::std::os::raw::c_int,
23017    ) -> ::std::os::raw::c_int,
23018>;
23019pub type X509V3_EXT_R2I = ::std::option::Option<
23020    unsafe extern "C" fn(
23021        method: *const X509V3_EXT_METHOD,
23022        ctx: *const X509V3_CTX,
23023        str_: *const ::std::os::raw::c_char,
23024    ) -> *mut ::std::os::raw::c_void,
23025>;
23026#[repr(C)]
23027#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23028pub struct v3_ext_method {
23029    pub ext_nid: ::std::os::raw::c_int,
23030    pub ext_flags: ::std::os::raw::c_int,
23031    pub it: *const ASN1_ITEM_st,
23032    pub ext_new: X509V3_EXT_NEW,
23033    pub ext_free: X509V3_EXT_FREE,
23034    pub d2i: X509V3_EXT_D2I,
23035    pub i2d: X509V3_EXT_I2D,
23036    pub i2s: X509V3_EXT_I2S,
23037    pub s2i: X509V3_EXT_S2I,
23038    pub i2v: X509V3_EXT_I2V,
23039    pub v2i: X509V3_EXT_V2I,
23040    pub i2r: X509V3_EXT_I2R,
23041    pub r2i: X509V3_EXT_R2I,
23042    pub usr_data: *mut ::std::os::raw::c_void,
23043}
23044#[test]
23045fn bindgen_test_layout_v3_ext_method() {
23046    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
23047    let ptr = UNINIT.as_ptr();
23048    assert_eq!(
23049        ::std::mem::size_of::<v3_ext_method>(),
23050        104usize,
23051        "Size of v3_ext_method"
23052    );
23053    assert_eq!(
23054        ::std::mem::align_of::<v3_ext_method>(),
23055        8usize,
23056        "Alignment of v3_ext_method"
23057    );
23058    assert_eq!(
23059        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
23060        0usize,
23061        "Offset of field: v3_ext_method::ext_nid"
23062    );
23063    assert_eq!(
23064        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
23065        4usize,
23066        "Offset of field: v3_ext_method::ext_flags"
23067    );
23068    assert_eq!(
23069        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
23070        8usize,
23071        "Offset of field: v3_ext_method::it"
23072    );
23073    assert_eq!(
23074        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
23075        16usize,
23076        "Offset of field: v3_ext_method::ext_new"
23077    );
23078    assert_eq!(
23079        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
23080        24usize,
23081        "Offset of field: v3_ext_method::ext_free"
23082    );
23083    assert_eq!(
23084        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
23085        32usize,
23086        "Offset of field: v3_ext_method::d2i"
23087    );
23088    assert_eq!(
23089        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
23090        40usize,
23091        "Offset of field: v3_ext_method::i2d"
23092    );
23093    assert_eq!(
23094        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
23095        48usize,
23096        "Offset of field: v3_ext_method::i2s"
23097    );
23098    assert_eq!(
23099        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
23100        56usize,
23101        "Offset of field: v3_ext_method::s2i"
23102    );
23103    assert_eq!(
23104        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
23105        64usize,
23106        "Offset of field: v3_ext_method::i2v"
23107    );
23108    assert_eq!(
23109        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
23110        72usize,
23111        "Offset of field: v3_ext_method::v2i"
23112    );
23113    assert_eq!(
23114        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
23115        80usize,
23116        "Offset of field: v3_ext_method::i2r"
23117    );
23118    assert_eq!(
23119        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
23120        88usize,
23121        "Offset of field: v3_ext_method::r2i"
23122    );
23123    assert_eq!(
23124        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23125        96usize,
23126        "Offset of field: v3_ext_method::usr_data"
23127    );
23128}
23129impl Default for v3_ext_method {
23130    fn default() -> Self {
23131        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23132        unsafe {
23133            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23134            s.assume_init()
23135        }
23136    }
23137}
23138extern "C" {
23139    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_get"]
23140    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
23141}
23142extern "C" {
23143    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_get_nid"]
23144    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
23145}
23146extern "C" {
23147    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_add"]
23148    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
23149}
23150extern "C" {
23151    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_add_alias"]
23152    pub fn X509V3_EXT_add_alias(
23153        nid_to: ::std::os::raw::c_int,
23154        nid_from: ::std::os::raw::c_int,
23155    ) -> ::std::os::raw::c_int;
23156}
23157#[repr(C)]
23158#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23159pub struct v3_ext_ctx {
23160    pub flags: ::std::os::raw::c_int,
23161    pub issuer_cert: *const X509,
23162    pub subject_cert: *const X509,
23163    pub subject_req: *const X509_REQ,
23164    pub crl: *const X509_CRL,
23165    pub db: *const CONF,
23166}
23167#[test]
23168fn bindgen_test_layout_v3_ext_ctx() {
23169    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
23170    let ptr = UNINIT.as_ptr();
23171    assert_eq!(
23172        ::std::mem::size_of::<v3_ext_ctx>(),
23173        48usize,
23174        "Size of v3_ext_ctx"
23175    );
23176    assert_eq!(
23177        ::std::mem::align_of::<v3_ext_ctx>(),
23178        8usize,
23179        "Alignment of v3_ext_ctx"
23180    );
23181    assert_eq!(
23182        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23183        0usize,
23184        "Offset of field: v3_ext_ctx::flags"
23185    );
23186    assert_eq!(
23187        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
23188        8usize,
23189        "Offset of field: v3_ext_ctx::issuer_cert"
23190    );
23191    assert_eq!(
23192        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
23193        16usize,
23194        "Offset of field: v3_ext_ctx::subject_cert"
23195    );
23196    assert_eq!(
23197        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
23198        24usize,
23199        "Offset of field: v3_ext_ctx::subject_req"
23200    );
23201    assert_eq!(
23202        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23203        32usize,
23204        "Offset of field: v3_ext_ctx::crl"
23205    );
23206    assert_eq!(
23207        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
23208        40usize,
23209        "Offset of field: v3_ext_ctx::db"
23210    );
23211}
23212impl Default for v3_ext_ctx {
23213    fn default() -> Self {
23214        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23215        unsafe {
23216            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23217            s.assume_init()
23218        }
23219    }
23220}
23221extern "C" {
23222    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_set_ctx"]
23223    pub fn X509V3_set_ctx(
23224        ctx: *mut X509V3_CTX,
23225        issuer: *const X509,
23226        subject: *const X509,
23227        req: *const X509_REQ,
23228        crl: *const X509_CRL,
23229        flags: ::std::os::raw::c_int,
23230    );
23231}
23232extern "C" {
23233    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_set_nconf"]
23234    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
23235}
23236extern "C" {
23237    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_nconf"]
23238    pub fn X509V3_EXT_nconf(
23239        conf: *const CONF,
23240        ctx: *const X509V3_CTX,
23241        name: *const ::std::os::raw::c_char,
23242        value: *const ::std::os::raw::c_char,
23243    ) -> *mut X509_EXTENSION;
23244}
23245extern "C" {
23246    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_nconf_nid"]
23247    pub fn X509V3_EXT_nconf_nid(
23248        conf: *const CONF,
23249        ctx: *const X509V3_CTX,
23250        ext_nid: ::std::os::raw::c_int,
23251        value: *const ::std::os::raw::c_char,
23252    ) -> *mut X509_EXTENSION;
23253}
23254extern "C" {
23255    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_conf_nid"]
23256    pub fn X509V3_EXT_conf_nid(
23257        conf: *mut lhash_st_CONF_VALUE,
23258        ctx: *const X509V3_CTX,
23259        ext_nid: ::std::os::raw::c_int,
23260        value: *const ::std::os::raw::c_char,
23261    ) -> *mut X509_EXTENSION;
23262}
23263extern "C" {
23264    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_add_nconf_sk"]
23265    pub fn X509V3_EXT_add_nconf_sk(
23266        conf: *const CONF,
23267        ctx: *const X509V3_CTX,
23268        section: *const ::std::os::raw::c_char,
23269        sk: *mut *mut stack_st_X509_EXTENSION,
23270    ) -> ::std::os::raw::c_int;
23271}
23272extern "C" {
23273    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_add_nconf"]
23274    pub fn X509V3_EXT_add_nconf(
23275        conf: *const CONF,
23276        ctx: *const X509V3_CTX,
23277        section: *const ::std::os::raw::c_char,
23278        cert: *mut X509,
23279    ) -> ::std::os::raw::c_int;
23280}
23281extern "C" {
23282    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_REQ_add_nconf"]
23283    pub fn X509V3_EXT_REQ_add_nconf(
23284        conf: *const CONF,
23285        ctx: *const X509V3_CTX,
23286        section: *const ::std::os::raw::c_char,
23287        req: *mut X509_REQ,
23288    ) -> ::std::os::raw::c_int;
23289}
23290extern "C" {
23291    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_CRL_add_nconf"]
23292    pub fn X509V3_EXT_CRL_add_nconf(
23293        conf: *const CONF,
23294        ctx: *const X509V3_CTX,
23295        section: *const ::std::os::raw::c_char,
23296        crl: *mut X509_CRL,
23297    ) -> ::std::os::raw::c_int;
23298}
23299extern "C" {
23300    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_EXT_conf"]
23301    pub fn X509V3_EXT_conf(
23302        conf: *mut lhash_st_CONF_VALUE,
23303        ctx: *mut X509V3_CTX,
23304        name: *const ::std::os::raw::c_char,
23305        value: *const ::std::os::raw::c_char,
23306    ) -> *mut X509_EXTENSION;
23307}
23308extern "C" {
23309    #[link_name = "\u{1}aws_lc_0_35_0_i2s_ASN1_OCTET_STRING"]
23310    pub fn i2s_ASN1_OCTET_STRING(
23311        method: *const X509V3_EXT_METHOD,
23312        oct: *const ASN1_OCTET_STRING,
23313    ) -> *mut ::std::os::raw::c_char;
23314}
23315extern "C" {
23316    #[link_name = "\u{1}aws_lc_0_35_0_s2i_ASN1_OCTET_STRING"]
23317    pub fn s2i_ASN1_OCTET_STRING(
23318        method: *const X509V3_EXT_METHOD,
23319        ctx: *const X509V3_CTX,
23320        str_: *const ::std::os::raw::c_char,
23321    ) -> *mut ASN1_OCTET_STRING;
23322}
23323extern "C" {
23324    #[link_name = "\u{1}aws_lc_0_35_0_i2s_ASN1_INTEGER"]
23325    pub fn i2s_ASN1_INTEGER(
23326        method: *const X509V3_EXT_METHOD,
23327        aint: *const ASN1_INTEGER,
23328    ) -> *mut ::std::os::raw::c_char;
23329}
23330extern "C" {
23331    #[link_name = "\u{1}aws_lc_0_35_0_s2i_ASN1_INTEGER"]
23332    pub fn s2i_ASN1_INTEGER(
23333        method: *const X509V3_EXT_METHOD,
23334        value: *const ::std::os::raw::c_char,
23335    ) -> *mut ASN1_INTEGER;
23336}
23337extern "C" {
23338    #[link_name = "\u{1}aws_lc_0_35_0_i2s_ASN1_ENUMERATED"]
23339    pub fn i2s_ASN1_ENUMERATED(
23340        method: *const X509V3_EXT_METHOD,
23341        aint: *const ASN1_ENUMERATED,
23342    ) -> *mut ::std::os::raw::c_char;
23343}
23344extern "C" {
23345    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_conf_free"]
23346    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
23347}
23348extern "C" {
23349    #[link_name = "\u{1}aws_lc_0_35_0_i2v_GENERAL_NAME"]
23350    pub fn i2v_GENERAL_NAME(
23351        method: *const X509V3_EXT_METHOD,
23352        gen_: *const GENERAL_NAME,
23353        ret: *mut stack_st_CONF_VALUE,
23354    ) -> *mut stack_st_CONF_VALUE;
23355}
23356extern "C" {
23357    #[link_name = "\u{1}aws_lc_0_35_0_i2v_GENERAL_NAMES"]
23358    pub fn i2v_GENERAL_NAMES(
23359        method: *const X509V3_EXT_METHOD,
23360        gen_: *const GENERAL_NAMES,
23361        extlist: *mut stack_st_CONF_VALUE,
23362    ) -> *mut stack_st_CONF_VALUE;
23363}
23364extern "C" {
23365    #[link_name = "\u{1}aws_lc_0_35_0_a2i_IPADDRESS"]
23366    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23367}
23368extern "C" {
23369    #[link_name = "\u{1}aws_lc_0_35_0_a2i_IPADDRESS_NC"]
23370    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23371}
23372extern "C" {
23373    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_notBefore"]
23374    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
23375}
23376extern "C" {
23377    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_notAfter"]
23378    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
23379}
23380extern "C" {
23381    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_notBefore"]
23382    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23383}
23384extern "C" {
23385    #[link_name = "\u{1}aws_lc_0_35_0_X509_set_notAfter"]
23386    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23387}
23388extern "C" {
23389    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_lastUpdate"]
23390    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23391}
23392extern "C" {
23393    #[link_name = "\u{1}aws_lc_0_35_0_X509_CRL_get_nextUpdate"]
23394    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23395}
23396extern "C" {
23397    #[link_name = "\u{1}aws_lc_0_35_0_X509_get_serialNumber"]
23398    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
23399}
23400extern "C" {
23401    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get_text_by_OBJ"]
23402    pub fn X509_NAME_get_text_by_OBJ(
23403        name: *const X509_NAME,
23404        obj: *const ASN1_OBJECT,
23405        buf: *mut ::std::os::raw::c_char,
23406        len: ::std::os::raw::c_int,
23407    ) -> ::std::os::raw::c_int;
23408}
23409extern "C" {
23410    #[link_name = "\u{1}aws_lc_0_35_0_X509_NAME_get_text_by_NID"]
23411    pub fn X509_NAME_get_text_by_NID(
23412        name: *const X509_NAME,
23413        nid: ::std::os::raw::c_int,
23414        buf: *mut ::std::os::raw::c_char,
23415        len: ::std::os::raw::c_int,
23416    ) -> ::std::os::raw::c_int;
23417}
23418extern "C" {
23419    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get0_parent_ctx"]
23420    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
23421}
23422extern "C" {
23423    #[link_name = "\u{1}aws_lc_0_35_0_X509_LOOKUP_free"]
23424    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
23425}
23426extern "C" {
23427    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_cleanup"]
23428    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
23429}
23430extern "C" {
23431    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_add_standard_extensions"]
23432    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
23433}
23434extern "C" {
23435    #[link_name = "\u{1}aws_lc_0_35_0_X509V3_parse_list"]
23436    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
23437}
23438extern "C" {
23439    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_chain"]
23440    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
23441}
23442extern "C" {
23443    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_trusted_stack"]
23444    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23445}
23446pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
23447    unsafe extern "C" fn(
23448        arg1: ::std::os::raw::c_int,
23449        arg2: *mut X509_STORE_CTX,
23450    ) -> ::std::os::raw::c_int,
23451>;
23452extern "C" {
23453    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_verify_cb"]
23454    pub fn X509_STORE_CTX_set_verify_cb(
23455        ctx: *mut X509_STORE_CTX,
23456        verify_cb: ::std::option::Option<
23457            unsafe extern "C" fn(
23458                ok: ::std::os::raw::c_int,
23459                ctx: *mut X509_STORE_CTX,
23460            ) -> ::std::os::raw::c_int,
23461        >,
23462    );
23463}
23464extern "C" {
23465    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get_verify_cb"]
23466    pub fn X509_STORE_get_verify_cb(ctx: *mut X509_STORE) -> X509_STORE_CTX_verify_cb;
23467}
23468extern "C" {
23469    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_verify_cb"]
23470    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
23471}
23472pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
23473    unsafe extern "C" fn(
23474        ctx: *mut X509_STORE_CTX,
23475        crl: *mut *mut X509_CRL,
23476        x: *mut X509,
23477    ) -> ::std::os::raw::c_int,
23478>;
23479pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
23480    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
23481>;
23482extern "C" {
23483    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_get_crl"]
23484    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
23485}
23486extern "C" {
23487    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_set_check_crl"]
23488    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
23489}
23490extern "C" {
23491    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set_chain"]
23492    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23493}
23494extern "C" {
23495    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_set0_untrusted"]
23496    pub fn X509_STORE_CTX_set0_untrusted(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23497}
23498#[repr(C)]
23499#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23500pub struct x509_purpose_st {
23501    pub purpose: ::std::os::raw::c_int,
23502    pub trust: ::std::os::raw::c_int,
23503    pub flags: ::std::os::raw::c_int,
23504    pub check_purpose: ::std::option::Option<
23505        unsafe extern "C" fn(
23506            arg1: *const x509_purpose_st,
23507            arg2: *const X509,
23508            arg3: ::std::os::raw::c_int,
23509        ) -> ::std::os::raw::c_int,
23510    >,
23511    pub name: *mut ::std::os::raw::c_char,
23512    pub sname: *mut ::std::os::raw::c_char,
23513    pub usr_data: *mut ::std::os::raw::c_void,
23514}
23515#[test]
23516fn bindgen_test_layout_x509_purpose_st() {
23517    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
23518    let ptr = UNINIT.as_ptr();
23519    assert_eq!(
23520        ::std::mem::size_of::<x509_purpose_st>(),
23521        48usize,
23522        "Size of x509_purpose_st"
23523    );
23524    assert_eq!(
23525        ::std::mem::align_of::<x509_purpose_st>(),
23526        8usize,
23527        "Alignment of x509_purpose_st"
23528    );
23529    assert_eq!(
23530        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
23531        0usize,
23532        "Offset of field: x509_purpose_st::purpose"
23533    );
23534    assert_eq!(
23535        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
23536        4usize,
23537        "Offset of field: x509_purpose_st::trust"
23538    );
23539    assert_eq!(
23540        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23541        8usize,
23542        "Offset of field: x509_purpose_st::flags"
23543    );
23544    assert_eq!(
23545        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
23546        16usize,
23547        "Offset of field: x509_purpose_st::check_purpose"
23548    );
23549    assert_eq!(
23550        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23551        24usize,
23552        "Offset of field: x509_purpose_st::name"
23553    );
23554    assert_eq!(
23555        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
23556        32usize,
23557        "Offset of field: x509_purpose_st::sname"
23558    );
23559    assert_eq!(
23560        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23561        40usize,
23562        "Offset of field: x509_purpose_st::usr_data"
23563    );
23564}
23565impl Default for x509_purpose_st {
23566    fn default() -> Self {
23567        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23568        unsafe {
23569            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23570            s.assume_init()
23571        }
23572    }
23573}
23574pub type X509_PURPOSE = x509_purpose_st;
23575#[repr(C)]
23576#[derive(Debug, Copy, Clone)]
23577pub struct stack_st_X509_PURPOSE {
23578    _unused: [u8; 0],
23579}
23580pub type sk_X509_PURPOSE_free_func =
23581    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
23582pub type sk_X509_PURPOSE_copy_func =
23583    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
23584pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
23585    unsafe extern "C" fn(
23586        arg1: *const *const X509_PURPOSE,
23587        arg2: *const *const X509_PURPOSE,
23588    ) -> ::std::os::raw::c_int,
23589>;
23590pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
23591    unsafe extern "C" fn(
23592        arg1: *mut X509_PURPOSE,
23593        arg2: *mut ::std::os::raw::c_void,
23594    ) -> ::std::os::raw::c_int,
23595>;
23596extern "C" {
23597    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_get0_objects"]
23598    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
23599}
23600extern "C" {
23601    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get_by_sname"]
23602    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
23603        -> ::std::os::raw::c_int;
23604}
23605extern "C" {
23606    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get0"]
23607    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
23608}
23609extern "C" {
23610    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get_id"]
23611    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
23612}
23613#[repr(C)]
23614#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23615pub struct X509_algor_st {
23616    pub algorithm: *mut ASN1_OBJECT,
23617    pub parameter: *mut ASN1_TYPE,
23618}
23619#[test]
23620fn bindgen_test_layout_X509_algor_st() {
23621    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
23622    let ptr = UNINIT.as_ptr();
23623    assert_eq!(
23624        ::std::mem::size_of::<X509_algor_st>(),
23625        16usize,
23626        "Size of X509_algor_st"
23627    );
23628    assert_eq!(
23629        ::std::mem::align_of::<X509_algor_st>(),
23630        8usize,
23631        "Alignment of X509_algor_st"
23632    );
23633    assert_eq!(
23634        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
23635        0usize,
23636        "Offset of field: X509_algor_st::algorithm"
23637    );
23638    assert_eq!(
23639        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
23640        8usize,
23641        "Offset of field: X509_algor_st::parameter"
23642    );
23643}
23644impl Default for X509_algor_st {
23645    fn default() -> Self {
23646        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23647        unsafe {
23648            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23649            s.assume_init()
23650        }
23651    }
23652}
23653#[repr(C)]
23654#[derive(Debug, Copy, Clone)]
23655pub struct stack_st_DIST_POINT {
23656    _unused: [u8; 0],
23657}
23658#[repr(C)]
23659#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23660pub struct x509_trust_st {
23661    pub trust: ::std::os::raw::c_int,
23662    pub flags: ::std::os::raw::c_int,
23663    pub check_trust: ::std::option::Option<
23664        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
23665    >,
23666    pub name: *mut ::std::os::raw::c_char,
23667    pub arg1: ::std::os::raw::c_int,
23668    pub arg2: *mut ::std::os::raw::c_void,
23669}
23670#[test]
23671fn bindgen_test_layout_x509_trust_st() {
23672    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
23673    let ptr = UNINIT.as_ptr();
23674    assert_eq!(
23675        ::std::mem::size_of::<x509_trust_st>(),
23676        40usize,
23677        "Size of x509_trust_st"
23678    );
23679    assert_eq!(
23680        ::std::mem::align_of::<x509_trust_st>(),
23681        8usize,
23682        "Alignment of x509_trust_st"
23683    );
23684    assert_eq!(
23685        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
23686        0usize,
23687        "Offset of field: x509_trust_st::trust"
23688    );
23689    assert_eq!(
23690        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23691        4usize,
23692        "Offset of field: x509_trust_st::flags"
23693    );
23694    assert_eq!(
23695        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
23696        8usize,
23697        "Offset of field: x509_trust_st::check_trust"
23698    );
23699    assert_eq!(
23700        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23701        16usize,
23702        "Offset of field: x509_trust_st::name"
23703    );
23704    assert_eq!(
23705        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
23706        24usize,
23707        "Offset of field: x509_trust_st::arg1"
23708    );
23709    assert_eq!(
23710        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
23711        32usize,
23712        "Offset of field: x509_trust_st::arg2"
23713    );
23714}
23715impl Default for x509_trust_st {
23716    fn default() -> Self {
23717        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23718        unsafe {
23719            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23720            s.assume_init()
23721        }
23722    }
23723}
23724#[repr(C)]
23725#[derive(Debug, Copy, Clone)]
23726pub struct stack_st_X509_TRUST {
23727    _unused: [u8; 0],
23728}
23729pub type sk_X509_TRUST_free_func =
23730    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
23731pub type sk_X509_TRUST_copy_func =
23732    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
23733pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
23734    unsafe extern "C" fn(
23735        arg1: *const *const X509_TRUST,
23736        arg2: *const *const X509_TRUST,
23737    ) -> ::std::os::raw::c_int,
23738>;
23739pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
23740    unsafe extern "C" fn(
23741        arg1: *mut X509_TRUST,
23742        arg2: *mut ::std::os::raw::c_void,
23743    ) -> ::std::os::raw::c_int,
23744>;
23745extern "C" {
23746    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_set"]
23747    pub fn X509_TRUST_set(
23748        t: *mut ::std::os::raw::c_int,
23749        trust: ::std::os::raw::c_int,
23750    ) -> ::std::os::raw::c_int;
23751}
23752extern "C" {
23753    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get_count"]
23754    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
23755}
23756extern "C" {
23757    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get0"]
23758    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
23759}
23760extern "C" {
23761    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get_by_id"]
23762    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
23763}
23764extern "C" {
23765    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get_flags"]
23766    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
23767}
23768extern "C" {
23769    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get0_name"]
23770    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
23771}
23772extern "C" {
23773    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_get_trust"]
23774    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
23775}
23776extern "C" {
23777    #[link_name = "\u{1}aws_lc_0_35_0_X509_TRUST_cleanup"]
23778    pub fn X509_TRUST_cleanup();
23779}
23780extern "C" {
23781    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_get0_X509_CRL"]
23782    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
23783}
23784extern "C" {
23785    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_set1_X509"]
23786    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
23787}
23788extern "C" {
23789    #[link_name = "\u{1}aws_lc_0_35_0_X509_OBJECT_set1_X509_CRL"]
23790    pub fn X509_OBJECT_set1_X509_CRL(
23791        a: *mut X509_OBJECT,
23792        obj: *mut X509_CRL,
23793    ) -> ::std::os::raw::c_int;
23794}
23795extern "C" {
23796    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_lock"]
23797    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
23798}
23799extern "C" {
23800    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_unlock"]
23801    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
23802}
23803extern "C" {
23804    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get1_certs"]
23805    pub fn X509_STORE_CTX_get1_certs(
23806        st: *mut X509_STORE_CTX,
23807        nm: *mut X509_NAME,
23808    ) -> *mut stack_st_X509;
23809}
23810extern "C" {
23811    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get1_crls"]
23812    pub fn X509_STORE_CTX_get1_crls(
23813        st: *mut X509_STORE_CTX,
23814        nm: *mut X509_NAME,
23815    ) -> *mut stack_st_X509_CRL;
23816}
23817extern "C" {
23818    #[link_name = "\u{1}aws_lc_0_35_0_X509_STORE_CTX_get_by_subject"]
23819    pub fn X509_STORE_CTX_get_by_subject(
23820        vs: *mut X509_STORE_CTX,
23821        type_: ::std::os::raw::c_int,
23822        name: *mut X509_NAME,
23823        ret: *mut X509_OBJECT,
23824    ) -> ::std::os::raw::c_int;
23825}
23826#[repr(C)]
23827#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23828pub struct BASIC_CONSTRAINTS_st {
23829    pub ca: ASN1_BOOLEAN,
23830    pub pathlen: *mut ASN1_INTEGER,
23831}
23832#[test]
23833fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
23834    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
23835    let ptr = UNINIT.as_ptr();
23836    assert_eq!(
23837        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
23838        16usize,
23839        "Size of BASIC_CONSTRAINTS_st"
23840    );
23841    assert_eq!(
23842        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
23843        8usize,
23844        "Alignment of BASIC_CONSTRAINTS_st"
23845    );
23846    assert_eq!(
23847        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
23848        0usize,
23849        "Offset of field: BASIC_CONSTRAINTS_st::ca"
23850    );
23851    assert_eq!(
23852        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
23853        8usize,
23854        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
23855    );
23856}
23857impl Default for BASIC_CONSTRAINTS_st {
23858    fn default() -> Self {
23859        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23860        unsafe {
23861            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23862            s.assume_init()
23863        }
23864    }
23865}
23866#[repr(C)]
23867#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23868pub struct ACCESS_DESCRIPTION_st {
23869    pub method: *mut ASN1_OBJECT,
23870    pub location: *mut GENERAL_NAME,
23871}
23872#[test]
23873fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
23874    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
23875        ::std::mem::MaybeUninit::uninit();
23876    let ptr = UNINIT.as_ptr();
23877    assert_eq!(
23878        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
23879        16usize,
23880        "Size of ACCESS_DESCRIPTION_st"
23881    );
23882    assert_eq!(
23883        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
23884        8usize,
23885        "Alignment of ACCESS_DESCRIPTION_st"
23886    );
23887    assert_eq!(
23888        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
23889        0usize,
23890        "Offset of field: ACCESS_DESCRIPTION_st::method"
23891    );
23892    assert_eq!(
23893        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
23894        8usize,
23895        "Offset of field: ACCESS_DESCRIPTION_st::location"
23896    );
23897}
23898impl Default for ACCESS_DESCRIPTION_st {
23899    fn default() -> Self {
23900        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23901        unsafe {
23902            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23903            s.assume_init()
23904        }
23905    }
23906}
23907pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
23908#[repr(C)]
23909#[derive(Debug, Copy, Clone)]
23910pub struct stack_st_ACCESS_DESCRIPTION {
23911    _unused: [u8; 0],
23912}
23913pub type sk_ACCESS_DESCRIPTION_free_func =
23914    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
23915pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
23916    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
23917>;
23918pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
23919    unsafe extern "C" fn(
23920        arg1: *const *const ACCESS_DESCRIPTION,
23921        arg2: *const *const ACCESS_DESCRIPTION,
23922    ) -> ::std::os::raw::c_int,
23923>;
23924pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
23925    unsafe extern "C" fn(
23926        arg1: *mut ACCESS_DESCRIPTION,
23927        arg2: *mut ::std::os::raw::c_void,
23928    ) -> ::std::os::raw::c_int,
23929>;
23930pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
23931pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
23932#[repr(C)]
23933#[derive(Copy, Clone)]
23934pub struct DIST_POINT_NAME_st {
23935    pub type_: ::std::os::raw::c_int,
23936    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
23937    pub dpname: *mut X509_NAME,
23938}
23939#[repr(C)]
23940#[derive(Copy, Clone)]
23941pub union DIST_POINT_NAME_st__bindgen_ty_1 {
23942    pub fullname: *mut GENERAL_NAMES,
23943    pub relativename: *mut stack_st_X509_NAME_ENTRY,
23944}
23945#[test]
23946fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
23947    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
23948        ::std::mem::MaybeUninit::uninit();
23949    let ptr = UNINIT.as_ptr();
23950    assert_eq!(
23951        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
23952        8usize,
23953        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
23954    );
23955    assert_eq!(
23956        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
23957        8usize,
23958        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
23959    );
23960    assert_eq!(
23961        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
23962        0usize,
23963        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
23964    );
23965    assert_eq!(
23966        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
23967        0usize,
23968        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
23969    );
23970}
23971impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
23972    fn default() -> Self {
23973        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23974        unsafe {
23975            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23976            s.assume_init()
23977        }
23978    }
23979}
23980#[test]
23981fn bindgen_test_layout_DIST_POINT_NAME_st() {
23982    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
23983    let ptr = UNINIT.as_ptr();
23984    assert_eq!(
23985        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
23986        24usize,
23987        "Size of DIST_POINT_NAME_st"
23988    );
23989    assert_eq!(
23990        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
23991        8usize,
23992        "Alignment of DIST_POINT_NAME_st"
23993    );
23994    assert_eq!(
23995        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23996        0usize,
23997        "Offset of field: DIST_POINT_NAME_st::type_"
23998    );
23999    assert_eq!(
24000        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24001        8usize,
24002        "Offset of field: DIST_POINT_NAME_st::name"
24003    );
24004    assert_eq!(
24005        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
24006        16usize,
24007        "Offset of field: DIST_POINT_NAME_st::dpname"
24008    );
24009}
24010impl Default for DIST_POINT_NAME_st {
24011    fn default() -> Self {
24012        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24013        unsafe {
24014            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24015            s.assume_init()
24016        }
24017    }
24018}
24019pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
24020#[repr(C)]
24021#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24022pub struct DIST_POINT_st {
24023    pub distpoint: *mut DIST_POINT_NAME,
24024    pub reasons: *mut ASN1_BIT_STRING,
24025    pub CRLissuer: *mut GENERAL_NAMES,
24026}
24027#[test]
24028fn bindgen_test_layout_DIST_POINT_st() {
24029    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
24030    let ptr = UNINIT.as_ptr();
24031    assert_eq!(
24032        ::std::mem::size_of::<DIST_POINT_st>(),
24033        24usize,
24034        "Size of DIST_POINT_st"
24035    );
24036    assert_eq!(
24037        ::std::mem::align_of::<DIST_POINT_st>(),
24038        8usize,
24039        "Alignment of DIST_POINT_st"
24040    );
24041    assert_eq!(
24042        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24043        0usize,
24044        "Offset of field: DIST_POINT_st::distpoint"
24045    );
24046    assert_eq!(
24047        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
24048        8usize,
24049        "Offset of field: DIST_POINT_st::reasons"
24050    );
24051    assert_eq!(
24052        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
24053        16usize,
24054        "Offset of field: DIST_POINT_st::CRLissuer"
24055    );
24056}
24057impl Default for DIST_POINT_st {
24058    fn default() -> Self {
24059        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24060        unsafe {
24061            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24062            s.assume_init()
24063        }
24064    }
24065}
24066pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
24067pub type sk_DIST_POINT_free_func =
24068    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
24069pub type sk_DIST_POINT_copy_func =
24070    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
24071pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
24072    unsafe extern "C" fn(
24073        arg1: *const *const DIST_POINT,
24074        arg2: *const *const DIST_POINT,
24075    ) -> ::std::os::raw::c_int,
24076>;
24077pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
24078    unsafe extern "C" fn(
24079        arg1: *mut DIST_POINT,
24080        arg2: *mut ::std::os::raw::c_void,
24081    ) -> ::std::os::raw::c_int,
24082>;
24083#[repr(C)]
24084#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24085pub struct AUTHORITY_KEYID_st {
24086    pub keyid: *mut ASN1_OCTET_STRING,
24087    pub issuer: *mut GENERAL_NAMES,
24088    pub serial: *mut ASN1_INTEGER,
24089}
24090#[test]
24091fn bindgen_test_layout_AUTHORITY_KEYID_st() {
24092    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
24093    let ptr = UNINIT.as_ptr();
24094    assert_eq!(
24095        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
24096        24usize,
24097        "Size of AUTHORITY_KEYID_st"
24098    );
24099    assert_eq!(
24100        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
24101        8usize,
24102        "Alignment of AUTHORITY_KEYID_st"
24103    );
24104    assert_eq!(
24105        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
24106        0usize,
24107        "Offset of field: AUTHORITY_KEYID_st::keyid"
24108    );
24109    assert_eq!(
24110        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
24111        8usize,
24112        "Offset of field: AUTHORITY_KEYID_st::issuer"
24113    );
24114    assert_eq!(
24115        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
24116        16usize,
24117        "Offset of field: AUTHORITY_KEYID_st::serial"
24118    );
24119}
24120impl Default for AUTHORITY_KEYID_st {
24121    fn default() -> Self {
24122        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24123        unsafe {
24124            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24125            s.assume_init()
24126        }
24127    }
24128}
24129#[repr(C)]
24130#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24131pub struct NOTICEREF_st {
24132    pub organization: *mut ASN1_STRING,
24133    pub noticenos: *mut stack_st_ASN1_INTEGER,
24134}
24135#[test]
24136fn bindgen_test_layout_NOTICEREF_st() {
24137    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
24138    let ptr = UNINIT.as_ptr();
24139    assert_eq!(
24140        ::std::mem::size_of::<NOTICEREF_st>(),
24141        16usize,
24142        "Size of NOTICEREF_st"
24143    );
24144    assert_eq!(
24145        ::std::mem::align_of::<NOTICEREF_st>(),
24146        8usize,
24147        "Alignment of NOTICEREF_st"
24148    );
24149    assert_eq!(
24150        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
24151        0usize,
24152        "Offset of field: NOTICEREF_st::organization"
24153    );
24154    assert_eq!(
24155        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
24156        8usize,
24157        "Offset of field: NOTICEREF_st::noticenos"
24158    );
24159}
24160impl Default for NOTICEREF_st {
24161    fn default() -> Self {
24162        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24163        unsafe {
24164            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24165            s.assume_init()
24166        }
24167    }
24168}
24169pub type NOTICEREF = NOTICEREF_st;
24170#[repr(C)]
24171#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24172pub struct USERNOTICE_st {
24173    pub noticeref: *mut NOTICEREF,
24174    pub exptext: *mut ASN1_STRING,
24175}
24176#[test]
24177fn bindgen_test_layout_USERNOTICE_st() {
24178    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
24179    let ptr = UNINIT.as_ptr();
24180    assert_eq!(
24181        ::std::mem::size_of::<USERNOTICE_st>(),
24182        16usize,
24183        "Size of USERNOTICE_st"
24184    );
24185    assert_eq!(
24186        ::std::mem::align_of::<USERNOTICE_st>(),
24187        8usize,
24188        "Alignment of USERNOTICE_st"
24189    );
24190    assert_eq!(
24191        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
24192        0usize,
24193        "Offset of field: USERNOTICE_st::noticeref"
24194    );
24195    assert_eq!(
24196        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
24197        8usize,
24198        "Offset of field: USERNOTICE_st::exptext"
24199    );
24200}
24201impl Default for USERNOTICE_st {
24202    fn default() -> Self {
24203        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24204        unsafe {
24205            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24206            s.assume_init()
24207        }
24208    }
24209}
24210pub type USERNOTICE = USERNOTICE_st;
24211#[repr(C)]
24212#[derive(Copy, Clone)]
24213pub struct POLICYQUALINFO_st {
24214    pub pqualid: *mut ASN1_OBJECT,
24215    pub d: POLICYQUALINFO_st__bindgen_ty_1,
24216}
24217#[repr(C)]
24218#[derive(Copy, Clone)]
24219pub union POLICYQUALINFO_st__bindgen_ty_1 {
24220    pub cpsuri: *mut ASN1_IA5STRING,
24221    pub usernotice: *mut USERNOTICE,
24222    pub other: *mut ASN1_TYPE,
24223}
24224#[test]
24225fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
24226    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
24227        ::std::mem::MaybeUninit::uninit();
24228    let ptr = UNINIT.as_ptr();
24229    assert_eq!(
24230        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24231        8usize,
24232        "Size of POLICYQUALINFO_st__bindgen_ty_1"
24233    );
24234    assert_eq!(
24235        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24236        8usize,
24237        "Alignment of POLICYQUALINFO_st__bindgen_ty_1"
24238    );
24239    assert_eq!(
24240        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
24241        0usize,
24242        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::cpsuri"
24243    );
24244    assert_eq!(
24245        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
24246        0usize,
24247        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::usernotice"
24248    );
24249    assert_eq!(
24250        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
24251        0usize,
24252        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::other"
24253    );
24254}
24255impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
24256    fn default() -> Self {
24257        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24258        unsafe {
24259            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24260            s.assume_init()
24261        }
24262    }
24263}
24264#[test]
24265fn bindgen_test_layout_POLICYQUALINFO_st() {
24266    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
24267    let ptr = UNINIT.as_ptr();
24268    assert_eq!(
24269        ::std::mem::size_of::<POLICYQUALINFO_st>(),
24270        16usize,
24271        "Size of POLICYQUALINFO_st"
24272    );
24273    assert_eq!(
24274        ::std::mem::align_of::<POLICYQUALINFO_st>(),
24275        8usize,
24276        "Alignment of POLICYQUALINFO_st"
24277    );
24278    assert_eq!(
24279        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
24280        0usize,
24281        "Offset of field: POLICYQUALINFO_st::pqualid"
24282    );
24283    assert_eq!(
24284        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
24285        8usize,
24286        "Offset of field: POLICYQUALINFO_st::d"
24287    );
24288}
24289impl Default for POLICYQUALINFO_st {
24290    fn default() -> Self {
24291        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24292        unsafe {
24293            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24294            s.assume_init()
24295        }
24296    }
24297}
24298pub type POLICYQUALINFO = POLICYQUALINFO_st;
24299#[repr(C)]
24300#[derive(Debug, Copy, Clone)]
24301pub struct stack_st_POLICYQUALINFO {
24302    _unused: [u8; 0],
24303}
24304pub type sk_POLICYQUALINFO_free_func =
24305    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
24306pub type sk_POLICYQUALINFO_copy_func =
24307    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
24308pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
24309    unsafe extern "C" fn(
24310        arg1: *const *const POLICYQUALINFO,
24311        arg2: *const *const POLICYQUALINFO,
24312    ) -> ::std::os::raw::c_int,
24313>;
24314pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
24315    unsafe extern "C" fn(
24316        arg1: *mut POLICYQUALINFO,
24317        arg2: *mut ::std::os::raw::c_void,
24318    ) -> ::std::os::raw::c_int,
24319>;
24320#[repr(C)]
24321#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24322pub struct POLICYINFO_st {
24323    pub policyid: *mut ASN1_OBJECT,
24324    pub qualifiers: *mut stack_st_POLICYQUALINFO,
24325}
24326#[test]
24327fn bindgen_test_layout_POLICYINFO_st() {
24328    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
24329    let ptr = UNINIT.as_ptr();
24330    assert_eq!(
24331        ::std::mem::size_of::<POLICYINFO_st>(),
24332        16usize,
24333        "Size of POLICYINFO_st"
24334    );
24335    assert_eq!(
24336        ::std::mem::align_of::<POLICYINFO_st>(),
24337        8usize,
24338        "Alignment of POLICYINFO_st"
24339    );
24340    assert_eq!(
24341        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
24342        0usize,
24343        "Offset of field: POLICYINFO_st::policyid"
24344    );
24345    assert_eq!(
24346        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
24347        8usize,
24348        "Offset of field: POLICYINFO_st::qualifiers"
24349    );
24350}
24351impl Default for POLICYINFO_st {
24352    fn default() -> Self {
24353        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24354        unsafe {
24355            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24356            s.assume_init()
24357        }
24358    }
24359}
24360pub type POLICYINFO = POLICYINFO_st;
24361#[repr(C)]
24362#[derive(Debug, Copy, Clone)]
24363pub struct stack_st_POLICYINFO {
24364    _unused: [u8; 0],
24365}
24366pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
24367pub type sk_POLICYINFO_free_func =
24368    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
24369pub type sk_POLICYINFO_copy_func =
24370    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
24371pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
24372    unsafe extern "C" fn(
24373        arg1: *const *const POLICYINFO,
24374        arg2: *const *const POLICYINFO,
24375    ) -> ::std::os::raw::c_int,
24376>;
24377pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
24378    unsafe extern "C" fn(
24379        arg1: *mut POLICYINFO,
24380        arg2: *mut ::std::os::raw::c_void,
24381    ) -> ::std::os::raw::c_int,
24382>;
24383#[repr(C)]
24384#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24385pub struct POLICY_MAPPING_st {
24386    pub issuerDomainPolicy: *mut ASN1_OBJECT,
24387    pub subjectDomainPolicy: *mut ASN1_OBJECT,
24388}
24389#[test]
24390fn bindgen_test_layout_POLICY_MAPPING_st() {
24391    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
24392    let ptr = UNINIT.as_ptr();
24393    assert_eq!(
24394        ::std::mem::size_of::<POLICY_MAPPING_st>(),
24395        16usize,
24396        "Size of POLICY_MAPPING_st"
24397    );
24398    assert_eq!(
24399        ::std::mem::align_of::<POLICY_MAPPING_st>(),
24400        8usize,
24401        "Alignment of POLICY_MAPPING_st"
24402    );
24403    assert_eq!(
24404        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
24405        0usize,
24406        "Offset of field: POLICY_MAPPING_st::issuerDomainPolicy"
24407    );
24408    assert_eq!(
24409        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
24410        8usize,
24411        "Offset of field: POLICY_MAPPING_st::subjectDomainPolicy"
24412    );
24413}
24414impl Default for POLICY_MAPPING_st {
24415    fn default() -> Self {
24416        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24417        unsafe {
24418            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24419            s.assume_init()
24420        }
24421    }
24422}
24423pub type POLICY_MAPPING = POLICY_MAPPING_st;
24424#[repr(C)]
24425#[derive(Debug, Copy, Clone)]
24426pub struct stack_st_POLICY_MAPPING {
24427    _unused: [u8; 0],
24428}
24429pub type sk_POLICY_MAPPING_free_func =
24430    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
24431pub type sk_POLICY_MAPPING_copy_func =
24432    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
24433pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
24434    unsafe extern "C" fn(
24435        arg1: *const *const POLICY_MAPPING,
24436        arg2: *const *const POLICY_MAPPING,
24437    ) -> ::std::os::raw::c_int,
24438>;
24439pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
24440    unsafe extern "C" fn(
24441        arg1: *mut POLICY_MAPPING,
24442        arg2: *mut ::std::os::raw::c_void,
24443    ) -> ::std::os::raw::c_int,
24444>;
24445pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
24446#[repr(C)]
24447#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24448pub struct GENERAL_SUBTREE_st {
24449    pub base: *mut GENERAL_NAME,
24450    pub minimum: *mut ASN1_INTEGER,
24451    pub maximum: *mut ASN1_INTEGER,
24452}
24453#[test]
24454fn bindgen_test_layout_GENERAL_SUBTREE_st() {
24455    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
24456    let ptr = UNINIT.as_ptr();
24457    assert_eq!(
24458        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
24459        24usize,
24460        "Size of GENERAL_SUBTREE_st"
24461    );
24462    assert_eq!(
24463        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
24464        8usize,
24465        "Alignment of GENERAL_SUBTREE_st"
24466    );
24467    assert_eq!(
24468        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
24469        0usize,
24470        "Offset of field: GENERAL_SUBTREE_st::base"
24471    );
24472    assert_eq!(
24473        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
24474        8usize,
24475        "Offset of field: GENERAL_SUBTREE_st::minimum"
24476    );
24477    assert_eq!(
24478        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24479        16usize,
24480        "Offset of field: GENERAL_SUBTREE_st::maximum"
24481    );
24482}
24483impl Default for GENERAL_SUBTREE_st {
24484    fn default() -> Self {
24485        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24486        unsafe {
24487            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24488            s.assume_init()
24489        }
24490    }
24491}
24492pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
24493#[repr(C)]
24494#[derive(Debug, Copy, Clone)]
24495pub struct stack_st_GENERAL_SUBTREE {
24496    _unused: [u8; 0],
24497}
24498pub type sk_GENERAL_SUBTREE_free_func =
24499    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
24500pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
24501    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
24502>;
24503pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
24504    unsafe extern "C" fn(
24505        arg1: *const *const GENERAL_SUBTREE,
24506        arg2: *const *const GENERAL_SUBTREE,
24507    ) -> ::std::os::raw::c_int,
24508>;
24509pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
24510    unsafe extern "C" fn(
24511        arg1: *mut GENERAL_SUBTREE,
24512        arg2: *mut ::std::os::raw::c_void,
24513    ) -> ::std::os::raw::c_int,
24514>;
24515#[repr(C)]
24516#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24517pub struct NAME_CONSTRAINTS_st {
24518    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
24519    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
24520}
24521#[test]
24522fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
24523    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
24524    let ptr = UNINIT.as_ptr();
24525    assert_eq!(
24526        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
24527        16usize,
24528        "Size of NAME_CONSTRAINTS_st"
24529    );
24530    assert_eq!(
24531        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
24532        8usize,
24533        "Alignment of NAME_CONSTRAINTS_st"
24534    );
24535    assert_eq!(
24536        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
24537        0usize,
24538        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
24539    );
24540    assert_eq!(
24541        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
24542        8usize,
24543        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
24544    );
24545}
24546impl Default for NAME_CONSTRAINTS_st {
24547    fn default() -> Self {
24548        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24549        unsafe {
24550            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24551            s.assume_init()
24552        }
24553    }
24554}
24555#[repr(C)]
24556#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24557pub struct POLICY_CONSTRAINTS_st {
24558    pub requireExplicitPolicy: *mut ASN1_INTEGER,
24559    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
24560}
24561#[test]
24562fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
24563    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
24564        ::std::mem::MaybeUninit::uninit();
24565    let ptr = UNINIT.as_ptr();
24566    assert_eq!(
24567        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
24568        16usize,
24569        "Size of POLICY_CONSTRAINTS_st"
24570    );
24571    assert_eq!(
24572        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
24573        8usize,
24574        "Alignment of POLICY_CONSTRAINTS_st"
24575    );
24576    assert_eq!(
24577        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
24578        0usize,
24579        "Offset of field: POLICY_CONSTRAINTS_st::requireExplicitPolicy"
24580    );
24581    assert_eq!(
24582        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
24583        8usize,
24584        "Offset of field: POLICY_CONSTRAINTS_st::inhibitPolicyMapping"
24585    );
24586}
24587impl Default for POLICY_CONSTRAINTS_st {
24588    fn default() -> Self {
24589        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24590        unsafe {
24591            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24592            s.assume_init()
24593        }
24594    }
24595}
24596pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
24597#[repr(C)]
24598#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24599pub struct ISSUING_DIST_POINT_st {
24600    pub distpoint: *mut DIST_POINT_NAME,
24601    pub onlyuser: ASN1_BOOLEAN,
24602    pub onlyCA: ASN1_BOOLEAN,
24603    pub onlysomereasons: *mut ASN1_BIT_STRING,
24604    pub indirectCRL: ASN1_BOOLEAN,
24605    pub onlyattr: ASN1_BOOLEAN,
24606}
24607#[test]
24608fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
24609    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
24610        ::std::mem::MaybeUninit::uninit();
24611    let ptr = UNINIT.as_ptr();
24612    assert_eq!(
24613        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
24614        32usize,
24615        "Size of ISSUING_DIST_POINT_st"
24616    );
24617    assert_eq!(
24618        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
24619        8usize,
24620        "Alignment of ISSUING_DIST_POINT_st"
24621    );
24622    assert_eq!(
24623        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24624        0usize,
24625        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
24626    );
24627    assert_eq!(
24628        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
24629        8usize,
24630        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
24631    );
24632    assert_eq!(
24633        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
24634        12usize,
24635        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
24636    );
24637    assert_eq!(
24638        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
24639        16usize,
24640        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
24641    );
24642    assert_eq!(
24643        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
24644        24usize,
24645        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
24646    );
24647    assert_eq!(
24648        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
24649        28usize,
24650        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
24651    );
24652}
24653impl Default for ISSUING_DIST_POINT_st {
24654    fn default() -> Self {
24655        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24656        unsafe {
24657            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24658            s.assume_init()
24659        }
24660    }
24661}
24662extern "C" {
24663    #[link_name = "\u{1}aws_lc_0_35_0_BASIC_CONSTRAINTS_it"]
24664    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
24665}
24666extern "C" {
24667    #[link_name = "\u{1}aws_lc_0_35_0_BASIC_CONSTRAINTS_new"]
24668    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
24669}
24670extern "C" {
24671    #[link_name = "\u{1}aws_lc_0_35_0_BASIC_CONSTRAINTS_free"]
24672    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
24673}
24674extern "C" {
24675    #[link_name = "\u{1}aws_lc_0_35_0_d2i_BASIC_CONSTRAINTS"]
24676    pub fn d2i_BASIC_CONSTRAINTS(
24677        out: *mut *mut BASIC_CONSTRAINTS,
24678        inp: *mut *const u8,
24679        len: ::std::os::raw::c_long,
24680    ) -> *mut BASIC_CONSTRAINTS;
24681}
24682extern "C" {
24683    #[link_name = "\u{1}aws_lc_0_35_0_i2d_BASIC_CONSTRAINTS"]
24684    pub fn i2d_BASIC_CONSTRAINTS(
24685        bcons: *const BASIC_CONSTRAINTS,
24686        outp: *mut *mut u8,
24687    ) -> ::std::os::raw::c_int;
24688}
24689extern "C" {
24690    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_KEYID_it"]
24691    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
24692}
24693extern "C" {
24694    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_KEYID_new"]
24695    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
24696}
24697extern "C" {
24698    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_KEYID_free"]
24699    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
24700}
24701extern "C" {
24702    #[link_name = "\u{1}aws_lc_0_35_0_d2i_AUTHORITY_KEYID"]
24703    pub fn d2i_AUTHORITY_KEYID(
24704        out: *mut *mut AUTHORITY_KEYID,
24705        inp: *mut *const u8,
24706        len: ::std::os::raw::c_long,
24707    ) -> *mut AUTHORITY_KEYID;
24708}
24709extern "C" {
24710    #[link_name = "\u{1}aws_lc_0_35_0_i2d_AUTHORITY_KEYID"]
24711    pub fn i2d_AUTHORITY_KEYID(
24712        akid: *mut AUTHORITY_KEYID,
24713        outp: *mut *mut u8,
24714    ) -> ::std::os::raw::c_int;
24715}
24716extern "C" {
24717    #[link_name = "\u{1}aws_lc_0_35_0_EXTENDED_KEY_USAGE_it"]
24718    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
24719}
24720extern "C" {
24721    #[link_name = "\u{1}aws_lc_0_35_0_EXTENDED_KEY_USAGE_new"]
24722    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
24723}
24724extern "C" {
24725    #[link_name = "\u{1}aws_lc_0_35_0_EXTENDED_KEY_USAGE_free"]
24726    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
24727}
24728extern "C" {
24729    #[link_name = "\u{1}aws_lc_0_35_0_d2i_EXTENDED_KEY_USAGE"]
24730    pub fn d2i_EXTENDED_KEY_USAGE(
24731        out: *mut *mut EXTENDED_KEY_USAGE,
24732        inp: *mut *const u8,
24733        len: ::std::os::raw::c_long,
24734    ) -> *mut EXTENDED_KEY_USAGE;
24735}
24736extern "C" {
24737    #[link_name = "\u{1}aws_lc_0_35_0_i2d_EXTENDED_KEY_USAGE"]
24738    pub fn i2d_EXTENDED_KEY_USAGE(
24739        eku: *const EXTENDED_KEY_USAGE,
24740        outp: *mut *mut u8,
24741    ) -> ::std::os::raw::c_int;
24742}
24743extern "C" {
24744    #[link_name = "\u{1}aws_lc_0_35_0_CERTIFICATEPOLICIES_it"]
24745    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
24746}
24747extern "C" {
24748    #[link_name = "\u{1}aws_lc_0_35_0_CERTIFICATEPOLICIES_new"]
24749    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
24750}
24751extern "C" {
24752    #[link_name = "\u{1}aws_lc_0_35_0_CERTIFICATEPOLICIES_free"]
24753    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
24754}
24755extern "C" {
24756    #[link_name = "\u{1}aws_lc_0_35_0_d2i_CERTIFICATEPOLICIES"]
24757    pub fn d2i_CERTIFICATEPOLICIES(
24758        out: *mut *mut CERTIFICATEPOLICIES,
24759        inp: *mut *const u8,
24760        len: ::std::os::raw::c_long,
24761    ) -> *mut CERTIFICATEPOLICIES;
24762}
24763extern "C" {
24764    #[link_name = "\u{1}aws_lc_0_35_0_i2d_CERTIFICATEPOLICIES"]
24765    pub fn i2d_CERTIFICATEPOLICIES(
24766        policies: *const CERTIFICATEPOLICIES,
24767        outp: *mut *mut u8,
24768    ) -> ::std::os::raw::c_int;
24769}
24770extern "C" {
24771    #[link_name = "\u{1}aws_lc_0_35_0_POLICYINFO_new"]
24772    pub fn POLICYINFO_new() -> *mut POLICYINFO;
24773}
24774extern "C" {
24775    #[link_name = "\u{1}aws_lc_0_35_0_POLICYINFO_free"]
24776    pub fn POLICYINFO_free(info: *mut POLICYINFO);
24777}
24778extern "C" {
24779    #[link_name = "\u{1}aws_lc_0_35_0_POLICYQUALINFO_new"]
24780    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
24781}
24782extern "C" {
24783    #[link_name = "\u{1}aws_lc_0_35_0_POLICYQUALINFO_free"]
24784    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
24785}
24786extern "C" {
24787    #[link_name = "\u{1}aws_lc_0_35_0_USERNOTICE_new"]
24788    pub fn USERNOTICE_new() -> *mut USERNOTICE;
24789}
24790extern "C" {
24791    #[link_name = "\u{1}aws_lc_0_35_0_USERNOTICE_free"]
24792    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
24793}
24794extern "C" {
24795    #[link_name = "\u{1}aws_lc_0_35_0_NOTICEREF_new"]
24796    pub fn NOTICEREF_new() -> *mut NOTICEREF;
24797}
24798extern "C" {
24799    #[link_name = "\u{1}aws_lc_0_35_0_NOTICEREF_free"]
24800    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
24801}
24802extern "C" {
24803    #[link_name = "\u{1}aws_lc_0_35_0_CRL_DIST_POINTS_it"]
24804    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
24805}
24806extern "C" {
24807    #[link_name = "\u{1}aws_lc_0_35_0_CRL_DIST_POINTS_new"]
24808    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
24809}
24810extern "C" {
24811    #[link_name = "\u{1}aws_lc_0_35_0_CRL_DIST_POINTS_free"]
24812    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
24813}
24814extern "C" {
24815    #[link_name = "\u{1}aws_lc_0_35_0_d2i_CRL_DIST_POINTS"]
24816    pub fn d2i_CRL_DIST_POINTS(
24817        out: *mut *mut CRL_DIST_POINTS,
24818        inp: *mut *const u8,
24819        len: ::std::os::raw::c_long,
24820    ) -> *mut CRL_DIST_POINTS;
24821}
24822extern "C" {
24823    #[link_name = "\u{1}aws_lc_0_35_0_i2d_CRL_DIST_POINTS"]
24824    pub fn i2d_CRL_DIST_POINTS(
24825        crldp: *mut CRL_DIST_POINTS,
24826        outp: *mut *mut u8,
24827    ) -> ::std::os::raw::c_int;
24828}
24829extern "C" {
24830    #[link_name = "\u{1}aws_lc_0_35_0_DIST_POINT_new"]
24831    pub fn DIST_POINT_new() -> *mut DIST_POINT;
24832}
24833extern "C" {
24834    #[link_name = "\u{1}aws_lc_0_35_0_DIST_POINT_free"]
24835    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
24836}
24837extern "C" {
24838    #[link_name = "\u{1}aws_lc_0_35_0_DIST_POINT_NAME_new"]
24839    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
24840}
24841extern "C" {
24842    #[link_name = "\u{1}aws_lc_0_35_0_DIST_POINT_NAME_free"]
24843    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
24844}
24845extern "C" {
24846    #[link_name = "\u{1}aws_lc_0_35_0_ISSUING_DIST_POINT_it"]
24847    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
24848}
24849extern "C" {
24850    #[link_name = "\u{1}aws_lc_0_35_0_ISSUING_DIST_POINT_new"]
24851    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
24852}
24853extern "C" {
24854    #[link_name = "\u{1}aws_lc_0_35_0_ISSUING_DIST_POINT_free"]
24855    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
24856}
24857extern "C" {
24858    #[link_name = "\u{1}aws_lc_0_35_0_d2i_ISSUING_DIST_POINT"]
24859    pub fn d2i_ISSUING_DIST_POINT(
24860        out: *mut *mut ISSUING_DIST_POINT,
24861        inp: *mut *const u8,
24862        len: ::std::os::raw::c_long,
24863    ) -> *mut ISSUING_DIST_POINT;
24864}
24865extern "C" {
24866    #[link_name = "\u{1}aws_lc_0_35_0_i2d_ISSUING_DIST_POINT"]
24867    pub fn i2d_ISSUING_DIST_POINT(
24868        idp: *mut ISSUING_DIST_POINT,
24869        outp: *mut *mut u8,
24870    ) -> ::std::os::raw::c_int;
24871}
24872extern "C" {
24873    #[link_name = "\u{1}aws_lc_0_35_0_ACCESS_DESCRIPTION_new"]
24874    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
24875}
24876extern "C" {
24877    #[link_name = "\u{1}aws_lc_0_35_0_ACCESS_DESCRIPTION_free"]
24878    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
24879}
24880extern "C" {
24881    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_INFO_ACCESS_it"]
24882    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
24883}
24884extern "C" {
24885    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_INFO_ACCESS_new"]
24886    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
24887}
24888extern "C" {
24889    #[link_name = "\u{1}aws_lc_0_35_0_AUTHORITY_INFO_ACCESS_free"]
24890    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
24891}
24892extern "C" {
24893    #[link_name = "\u{1}aws_lc_0_35_0_d2i_AUTHORITY_INFO_ACCESS"]
24894    pub fn d2i_AUTHORITY_INFO_ACCESS(
24895        out: *mut *mut AUTHORITY_INFO_ACCESS,
24896        inp: *mut *const u8,
24897        len: ::std::os::raw::c_long,
24898    ) -> *mut AUTHORITY_INFO_ACCESS;
24899}
24900extern "C" {
24901    #[link_name = "\u{1}aws_lc_0_35_0_i2d_AUTHORITY_INFO_ACCESS"]
24902    pub fn i2d_AUTHORITY_INFO_ACCESS(
24903        aia: *mut AUTHORITY_INFO_ACCESS,
24904        outp: *mut *mut u8,
24905    ) -> ::std::os::raw::c_int;
24906}
24907extern "C" {
24908    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_MAPPING_new"]
24909    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
24910}
24911extern "C" {
24912    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_MAPPING_free"]
24913    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
24914}
24915extern "C" {
24916    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_MAPPINGS_it"]
24917    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
24918}
24919extern "C" {
24920    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_SUBTREE_new"]
24921    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
24922}
24923extern "C" {
24924    #[link_name = "\u{1}aws_lc_0_35_0_GENERAL_SUBTREE_free"]
24925    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
24926}
24927extern "C" {
24928    #[link_name = "\u{1}aws_lc_0_35_0_NAME_CONSTRAINTS_it"]
24929    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
24930}
24931extern "C" {
24932    #[link_name = "\u{1}aws_lc_0_35_0_NAME_CONSTRAINTS_new"]
24933    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
24934}
24935extern "C" {
24936    #[link_name = "\u{1}aws_lc_0_35_0_NAME_CONSTRAINTS_free"]
24937    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
24938}
24939extern "C" {
24940    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_CONSTRAINTS_new"]
24941    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
24942}
24943extern "C" {
24944    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_CONSTRAINTS_free"]
24945    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
24946}
24947extern "C" {
24948    #[link_name = "\u{1}aws_lc_0_35_0_POLICY_CONSTRAINTS_it"]
24949    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
24950}
24951extern "C" {
24952    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_set"]
24953    pub fn X509_PURPOSE_set(
24954        p: *mut ::std::os::raw::c_int,
24955        purpose: ::std::os::raw::c_int,
24956    ) -> ::std::os::raw::c_int;
24957}
24958extern "C" {
24959    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get_count"]
24960    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
24961}
24962extern "C" {
24963    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get_by_id"]
24964    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24965}
24966extern "C" {
24967    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get0_name"]
24968    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24969}
24970extern "C" {
24971    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get0_sname"]
24972    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24973}
24974extern "C" {
24975    #[link_name = "\u{1}aws_lc_0_35_0_X509_PURPOSE_get_trust"]
24976    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24977}
24978#[repr(C)]
24979#[derive(Debug, Copy, Clone)]
24980pub struct ocsp_cert_id_st {
24981    _unused: [u8; 0],
24982}
24983pub type OCSP_CERTID = ocsp_cert_id_st;
24984#[repr(C)]
24985#[derive(Debug, Copy, Clone)]
24986pub struct ocsp_one_request_st {
24987    _unused: [u8; 0],
24988}
24989pub type OCSP_ONEREQ = ocsp_one_request_st;
24990#[repr(C)]
24991#[derive(Debug, Copy, Clone)]
24992pub struct ocsp_req_info_st {
24993    _unused: [u8; 0],
24994}
24995pub type OCSP_REQINFO = ocsp_req_info_st;
24996#[repr(C)]
24997#[derive(Debug, Copy, Clone)]
24998pub struct ocsp_signature_st {
24999    _unused: [u8; 0],
25000}
25001pub type OCSP_SIGNATURE = ocsp_signature_st;
25002#[repr(C)]
25003#[derive(Debug, Copy, Clone)]
25004pub struct ocsp_request_st {
25005    _unused: [u8; 0],
25006}
25007pub type OCSP_REQUEST = ocsp_request_st;
25008#[repr(C)]
25009#[derive(Debug, Copy, Clone)]
25010pub struct ocsp_resp_bytes_st {
25011    _unused: [u8; 0],
25012}
25013pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
25014#[repr(C)]
25015#[derive(Debug, Copy, Clone)]
25016pub struct ocsp_revoked_info_st {
25017    _unused: [u8; 0],
25018}
25019pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
25020#[repr(C)]
25021#[derive(Debug, Copy, Clone)]
25022pub struct ocsp_cert_status_st {
25023    _unused: [u8; 0],
25024}
25025pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
25026#[repr(C)]
25027#[derive(Debug, Copy, Clone)]
25028pub struct ocsp_single_response_st {
25029    _unused: [u8; 0],
25030}
25031pub type OCSP_SINGLERESP = ocsp_single_response_st;
25032#[repr(C)]
25033#[derive(Debug, Copy, Clone)]
25034pub struct ocsp_response_data_st {
25035    _unused: [u8; 0],
25036}
25037pub type OCSP_RESPDATA = ocsp_response_data_st;
25038#[repr(C)]
25039#[derive(Debug, Copy, Clone)]
25040pub struct ocsp_response_st {
25041    _unused: [u8; 0],
25042}
25043pub type OCSP_RESPONSE = ocsp_response_st;
25044#[repr(C)]
25045#[derive(Debug, Copy, Clone)]
25046pub struct ocsp_responder_id_st {
25047    _unused: [u8; 0],
25048}
25049pub type OCSP_RESPID = ocsp_responder_id_st;
25050#[repr(C)]
25051#[derive(Debug, Copy, Clone)]
25052pub struct ocsp_basic_response_st {
25053    _unused: [u8; 0],
25054}
25055pub type OCSP_BASICRESP = ocsp_basic_response_st;
25056#[repr(C)]
25057#[derive(Debug, Copy, Clone)]
25058pub struct stack_st_OCSP_CERTID {
25059    _unused: [u8; 0],
25060}
25061pub type sk_OCSP_CERTID_free_func =
25062    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
25063pub type sk_OCSP_CERTID_copy_func =
25064    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
25065pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
25066    unsafe extern "C" fn(
25067        arg1: *const *const OCSP_CERTID,
25068        arg2: *const *const OCSP_CERTID,
25069    ) -> ::std::os::raw::c_int,
25070>;
25071pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
25072    unsafe extern "C" fn(
25073        arg1: *mut OCSP_CERTID,
25074        arg2: *mut ::std::os::raw::c_void,
25075    ) -> ::std::os::raw::c_int,
25076>;
25077#[repr(C)]
25078#[derive(Debug, Copy, Clone)]
25079pub struct stack_st_OCSP_ONEREQ {
25080    _unused: [u8; 0],
25081}
25082pub type sk_OCSP_ONEREQ_free_func =
25083    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
25084pub type sk_OCSP_ONEREQ_copy_func =
25085    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
25086pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
25087    unsafe extern "C" fn(
25088        arg1: *const *const OCSP_ONEREQ,
25089        arg2: *const *const OCSP_ONEREQ,
25090    ) -> ::std::os::raw::c_int,
25091>;
25092pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
25093    unsafe extern "C" fn(
25094        arg1: *mut OCSP_ONEREQ,
25095        arg2: *mut ::std::os::raw::c_void,
25096    ) -> ::std::os::raw::c_int,
25097>;
25098#[repr(C)]
25099#[derive(Debug, Copy, Clone)]
25100pub struct stack_st_OCSP_RESPID {
25101    _unused: [u8; 0],
25102}
25103pub type sk_OCSP_RESPID_free_func =
25104    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
25105pub type sk_OCSP_RESPID_copy_func =
25106    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
25107pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
25108    unsafe extern "C" fn(
25109        arg1: *const *const OCSP_RESPID,
25110        arg2: *const *const OCSP_RESPID,
25111    ) -> ::std::os::raw::c_int,
25112>;
25113pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
25114    unsafe extern "C" fn(
25115        arg1: *mut OCSP_RESPID,
25116        arg2: *mut ::std::os::raw::c_void,
25117    ) -> ::std::os::raw::c_int,
25118>;
25119#[repr(C)]
25120#[derive(Debug, Copy, Clone)]
25121pub struct stack_st_OCSP_SINGLERESP {
25122    _unused: [u8; 0],
25123}
25124pub type sk_OCSP_SINGLERESP_free_func =
25125    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
25126pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
25127    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
25128>;
25129pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
25130    unsafe extern "C" fn(
25131        arg1: *const *const OCSP_SINGLERESP,
25132        arg2: *const *const OCSP_SINGLERESP,
25133    ) -> ::std::os::raw::c_int,
25134>;
25135pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
25136    unsafe extern "C" fn(
25137        arg1: *mut OCSP_SINGLERESP,
25138        arg2: *mut ::std::os::raw::c_void,
25139    ) -> ::std::os::raw::c_int,
25140>;
25141extern "C" {
25142    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_new"]
25143    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
25144}
25145extern "C" {
25146    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_free"]
25147    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
25148}
25149extern "C" {
25150    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_BASICRESP"]
25151    pub fn d2i_OCSP_BASICRESP(
25152        a: *mut *mut OCSP_BASICRESP,
25153        in_: *mut *const ::std::os::raw::c_uchar,
25154        len: ::std::os::raw::c_long,
25155    ) -> *mut OCSP_BASICRESP;
25156}
25157extern "C" {
25158    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_BASICRESP"]
25159    pub fn i2d_OCSP_BASICRESP(
25160        a: *mut OCSP_BASICRESP,
25161        out: *mut *mut ::std::os::raw::c_uchar,
25162    ) -> ::std::os::raw::c_int;
25163}
25164extern "C" {
25165    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_it"]
25166    pub static OCSP_BASICRESP_it: ASN1_ITEM;
25167}
25168extern "C" {
25169    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_RESPONSE_new"]
25170    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
25171}
25172extern "C" {
25173    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_RESPONSE_free"]
25174    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
25175}
25176extern "C" {
25177    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_RESPONSE"]
25178    pub fn d2i_OCSP_RESPONSE(
25179        a: *mut *mut OCSP_RESPONSE,
25180        in_: *mut *const ::std::os::raw::c_uchar,
25181        len: ::std::os::raw::c_long,
25182    ) -> *mut OCSP_RESPONSE;
25183}
25184extern "C" {
25185    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_RESPONSE"]
25186    pub fn i2d_OCSP_RESPONSE(
25187        a: *mut OCSP_RESPONSE,
25188        out: *mut *mut ::std::os::raw::c_uchar,
25189    ) -> ::std::os::raw::c_int;
25190}
25191extern "C" {
25192    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_RESPONSE_it"]
25193    pub static OCSP_RESPONSE_it: ASN1_ITEM;
25194}
25195extern "C" {
25196    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_CERTID_new"]
25197    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
25198}
25199extern "C" {
25200    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_CERTID_free"]
25201    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
25202}
25203extern "C" {
25204    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_CERTID"]
25205    pub fn d2i_OCSP_CERTID(
25206        a: *mut *mut OCSP_CERTID,
25207        in_: *mut *const ::std::os::raw::c_uchar,
25208        len: ::std::os::raw::c_long,
25209    ) -> *mut OCSP_CERTID;
25210}
25211extern "C" {
25212    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_CERTID"]
25213    pub fn i2d_OCSP_CERTID(
25214        a: *mut OCSP_CERTID,
25215        out: *mut *mut ::std::os::raw::c_uchar,
25216    ) -> ::std::os::raw::c_int;
25217}
25218extern "C" {
25219    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_CERTID_it"]
25220    pub static OCSP_CERTID_it: ASN1_ITEM;
25221}
25222extern "C" {
25223    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQUEST_new"]
25224    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
25225}
25226extern "C" {
25227    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQUEST_free"]
25228    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
25229}
25230extern "C" {
25231    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_REQUEST"]
25232    pub fn d2i_OCSP_REQUEST(
25233        a: *mut *mut OCSP_REQUEST,
25234        in_: *mut *const ::std::os::raw::c_uchar,
25235        len: ::std::os::raw::c_long,
25236    ) -> *mut OCSP_REQUEST;
25237}
25238extern "C" {
25239    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_REQUEST"]
25240    pub fn i2d_OCSP_REQUEST(
25241        a: *mut OCSP_REQUEST,
25242        out: *mut *mut ::std::os::raw::c_uchar,
25243    ) -> ::std::os::raw::c_int;
25244}
25245extern "C" {
25246    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQUEST_it"]
25247    pub static OCSP_REQUEST_it: ASN1_ITEM;
25248}
25249extern "C" {
25250    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_new"]
25251    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
25252}
25253extern "C" {
25254    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_free"]
25255    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
25256}
25257extern "C" {
25258    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_SINGLERESP"]
25259    pub fn d2i_OCSP_SINGLERESP(
25260        a: *mut *mut OCSP_SINGLERESP,
25261        in_: *mut *const ::std::os::raw::c_uchar,
25262        len: ::std::os::raw::c_long,
25263    ) -> *mut OCSP_SINGLERESP;
25264}
25265extern "C" {
25266    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_SINGLERESP"]
25267    pub fn i2d_OCSP_SINGLERESP(
25268        a: *mut OCSP_SINGLERESP,
25269        out: *mut *mut ::std::os::raw::c_uchar,
25270    ) -> ::std::os::raw::c_int;
25271}
25272extern "C" {
25273    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_it"]
25274    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
25275}
25276extern "C" {
25277    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_ONEREQ_new"]
25278    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
25279}
25280extern "C" {
25281    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_ONEREQ_free"]
25282    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
25283}
25284extern "C" {
25285    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_ONEREQ"]
25286    pub fn d2i_OCSP_ONEREQ(
25287        a: *mut *mut OCSP_ONEREQ,
25288        in_: *mut *const ::std::os::raw::c_uchar,
25289        len: ::std::os::raw::c_long,
25290    ) -> *mut OCSP_ONEREQ;
25291}
25292extern "C" {
25293    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_ONEREQ"]
25294    pub fn i2d_OCSP_ONEREQ(
25295        a: *mut OCSP_ONEREQ,
25296        out: *mut *mut ::std::os::raw::c_uchar,
25297    ) -> ::std::os::raw::c_int;
25298}
25299extern "C" {
25300    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_ONEREQ_it"]
25301    pub static OCSP_ONEREQ_it: ASN1_ITEM;
25302}
25303extern "C" {
25304    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_REQUEST_bio"]
25305    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
25306}
25307extern "C" {
25308    #[link_name = "\u{1}aws_lc_0_35_0_d2i_OCSP_RESPONSE_bio"]
25309    pub fn d2i_OCSP_RESPONSE_bio(
25310        bp: *mut BIO,
25311        presp: *mut *mut OCSP_RESPONSE,
25312    ) -> *mut OCSP_RESPONSE;
25313}
25314extern "C" {
25315    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_RESPONSE_bio"]
25316    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25317}
25318extern "C" {
25319    #[link_name = "\u{1}aws_lc_0_35_0_i2d_OCSP_REQUEST_bio"]
25320    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25321}
25322extern "C" {
25323    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_CERTID_dup"]
25324    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
25325}
25326extern "C" {
25327    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_sendreq_bio"]
25328    pub fn OCSP_sendreq_bio(
25329        b: *mut BIO,
25330        path: *const ::std::os::raw::c_char,
25331        req: *mut OCSP_REQUEST,
25332    ) -> *mut OCSP_RESPONSE;
25333}
25334extern "C" {
25335    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_sendreq_new"]
25336    pub fn OCSP_sendreq_new(
25337        io: *mut BIO,
25338        path: *const ::std::os::raw::c_char,
25339        req: *mut OCSP_REQUEST,
25340        maxline: ::std::os::raw::c_int,
25341    ) -> *mut OCSP_REQ_CTX;
25342}
25343extern "C" {
25344    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_sendreq_nbio"]
25345    pub fn OCSP_sendreq_nbio(
25346        presp: *mut *mut OCSP_RESPONSE,
25347        rctx: *mut OCSP_REQ_CTX,
25348    ) -> ::std::os::raw::c_int;
25349}
25350extern "C" {
25351    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_new"]
25352    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
25353}
25354extern "C" {
25355    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_free"]
25356    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
25357}
25358extern "C" {
25359    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_set_max_response_length"]
25360    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
25361}
25362extern "C" {
25363    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_http"]
25364    pub fn OCSP_REQ_CTX_http(
25365        rctx: *mut OCSP_REQ_CTX,
25366        op: *const ::std::os::raw::c_char,
25367        path: *const ::std::os::raw::c_char,
25368    ) -> ::std::os::raw::c_int;
25369}
25370extern "C" {
25371    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_set1_req"]
25372    pub fn OCSP_REQ_CTX_set1_req(
25373        rctx: *mut OCSP_REQ_CTX,
25374        req: *mut OCSP_REQUEST,
25375    ) -> ::std::os::raw::c_int;
25376}
25377extern "C" {
25378    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_add1_header"]
25379    pub fn OCSP_REQ_CTX_add1_header(
25380        rctx: *mut OCSP_REQ_CTX,
25381        name: *const ::std::os::raw::c_char,
25382        value: *const ::std::os::raw::c_char,
25383    ) -> ::std::os::raw::c_int;
25384}
25385extern "C" {
25386    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQ_CTX_i2d"]
25387    pub fn OCSP_REQ_CTX_i2d(
25388        rctx: *mut OCSP_REQ_CTX,
25389        it: *const ASN1_ITEM,
25390        val: *mut ASN1_VALUE,
25391    ) -> ::std::os::raw::c_int;
25392}
25393extern "C" {
25394    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_add0_id"]
25395    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
25396}
25397extern "C" {
25398    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_onereq_get0_id"]
25399    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
25400}
25401extern "C" {
25402    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_add1_nonce"]
25403    pub fn OCSP_request_add1_nonce(
25404        req: *mut OCSP_REQUEST,
25405        val: *mut ::std::os::raw::c_uchar,
25406        len: ::std::os::raw::c_int,
25407    ) -> ::std::os::raw::c_int;
25408}
25409extern "C" {
25410    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_basic_add1_nonce"]
25411    pub fn OCSP_basic_add1_nonce(
25412        resp: *mut OCSP_BASICRESP,
25413        val: *mut ::std::os::raw::c_uchar,
25414        len: ::std::os::raw::c_int,
25415    ) -> ::std::os::raw::c_int;
25416}
25417extern "C" {
25418    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_check_nonce"]
25419    pub fn OCSP_check_nonce(
25420        req: *mut OCSP_REQUEST,
25421        bs: *mut OCSP_BASICRESP,
25422    ) -> ::std::os::raw::c_int;
25423}
25424extern "C" {
25425    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_copy_nonce"]
25426    pub fn OCSP_copy_nonce(
25427        resp: *mut OCSP_BASICRESP,
25428        req: *mut OCSP_REQUEST,
25429    ) -> ::std::os::raw::c_int;
25430}
25431extern "C" {
25432    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_set1_name"]
25433    pub fn OCSP_request_set1_name(
25434        req: *mut OCSP_REQUEST,
25435        nm: *mut X509_NAME,
25436    ) -> ::std::os::raw::c_int;
25437}
25438extern "C" {
25439    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_add1_cert"]
25440    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
25441        -> ::std::os::raw::c_int;
25442}
25443extern "C" {
25444    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_is_signed"]
25445    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25446}
25447extern "C" {
25448    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_onereq_count"]
25449    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25450}
25451extern "C" {
25452    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_onereq_get0"]
25453    pub fn OCSP_request_onereq_get0(
25454        req: *mut OCSP_REQUEST,
25455        i: ::std::os::raw::c_int,
25456    ) -> *mut OCSP_ONEREQ;
25457}
25458extern "C" {
25459    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_sign"]
25460    pub fn OCSP_request_sign(
25461        req: *mut OCSP_REQUEST,
25462        signer: *mut X509,
25463        key: *mut EVP_PKEY,
25464        dgst: *const EVP_MD,
25465        certs: *mut stack_st_X509,
25466        flags: ::std::os::raw::c_ulong,
25467    ) -> ::std::os::raw::c_int;
25468}
25469extern "C" {
25470    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_response_status"]
25471    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25472}
25473extern "C" {
25474    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_response_get1_basic"]
25475    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
25476}
25477extern "C" {
25478    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_resp_count"]
25479    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
25480}
25481extern "C" {
25482    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_resp_get0"]
25483    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
25484}
25485extern "C" {
25486    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_single_get0_status"]
25487    pub fn OCSP_single_get0_status(
25488        single: *mut OCSP_SINGLERESP,
25489        reason: *mut ::std::os::raw::c_int,
25490        revtime: *mut *mut ASN1_GENERALIZEDTIME,
25491        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
25492        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
25493    ) -> ::std::os::raw::c_int;
25494}
25495extern "C" {
25496    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_resp_find"]
25497    pub fn OCSP_resp_find(
25498        bs: *mut OCSP_BASICRESP,
25499        id: *mut OCSP_CERTID,
25500        last: ::std::os::raw::c_int,
25501    ) -> ::std::os::raw::c_int;
25502}
25503extern "C" {
25504    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_resp_find_status"]
25505    pub fn OCSP_resp_find_status(
25506        bs: *mut OCSP_BASICRESP,
25507        id: *mut OCSP_CERTID,
25508        status: *mut ::std::os::raw::c_int,
25509        reason: *mut ::std::os::raw::c_int,
25510        revtime: *mut *mut ASN1_GENERALIZEDTIME,
25511        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
25512        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
25513    ) -> ::std::os::raw::c_int;
25514}
25515extern "C" {
25516    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_check_validity"]
25517    pub fn OCSP_check_validity(
25518        thisUpdate: *mut ASN1_GENERALIZEDTIME,
25519        nextUpdate: *mut ASN1_GENERALIZEDTIME,
25520        drift_num_seconds: ::std::os::raw::c_long,
25521        max_age_seconds: ::std::os::raw::c_long,
25522    ) -> ::std::os::raw::c_int;
25523}
25524extern "C" {
25525    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_basic_verify"]
25526    pub fn OCSP_basic_verify(
25527        bs: *mut OCSP_BASICRESP,
25528        certs: *mut stack_st_X509,
25529        st: *mut X509_STORE,
25530        flags: ::std::os::raw::c_ulong,
25531    ) -> ::std::os::raw::c_int;
25532}
25533extern "C" {
25534    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_request_verify"]
25535    pub fn OCSP_request_verify(
25536        req: *mut OCSP_REQUEST,
25537        certs: *mut stack_st_X509,
25538        st: *mut X509_STORE,
25539        flags: ::std::os::raw::c_ulong,
25540    ) -> ::std::os::raw::c_int;
25541}
25542extern "C" {
25543    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_cert_id_new"]
25544    pub fn OCSP_cert_id_new(
25545        dgst: *const EVP_MD,
25546        issuerName: *const X509_NAME,
25547        issuerKey: *const ASN1_BIT_STRING,
25548        serialNumber: *const ASN1_INTEGER,
25549    ) -> *mut OCSP_CERTID;
25550}
25551extern "C" {
25552    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_cert_to_id"]
25553    pub fn OCSP_cert_to_id(
25554        dgst: *const EVP_MD,
25555        subject: *const X509,
25556        issuer: *const X509,
25557    ) -> *mut OCSP_CERTID;
25558}
25559extern "C" {
25560    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_parse_url"]
25561    pub fn OCSP_parse_url(
25562        url: *const ::std::os::raw::c_char,
25563        phost: *mut *mut ::std::os::raw::c_char,
25564        pport: *mut *mut ::std::os::raw::c_char,
25565        ppath: *mut *mut ::std::os::raw::c_char,
25566        pssl: *mut ::std::os::raw::c_int,
25567    ) -> ::std::os::raw::c_int;
25568}
25569extern "C" {
25570    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_id_issuer_cmp"]
25571    pub fn OCSP_id_issuer_cmp(
25572        a: *const OCSP_CERTID,
25573        b: *const OCSP_CERTID,
25574    ) -> ::std::os::raw::c_int;
25575}
25576extern "C" {
25577    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_id_cmp"]
25578    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
25579}
25580extern "C" {
25581    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_id_get0_info"]
25582    pub fn OCSP_id_get0_info(
25583        nameHash: *mut *mut ASN1_OCTET_STRING,
25584        algor: *mut *mut ASN1_OBJECT,
25585        keyHash: *mut *mut ASN1_OCTET_STRING,
25586        serial: *mut *mut ASN1_INTEGER,
25587        cid: *mut OCSP_CERTID,
25588    ) -> ::std::os::raw::c_int;
25589}
25590extern "C" {
25591    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_basic_add1_cert"]
25592    pub fn OCSP_basic_add1_cert(
25593        resp: *mut OCSP_BASICRESP,
25594        cert: *mut X509,
25595    ) -> ::std::os::raw::c_int;
25596}
25597extern "C" {
25598    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_basic_add1_status"]
25599    pub fn OCSP_basic_add1_status(
25600        resp: *mut OCSP_BASICRESP,
25601        cid: *mut OCSP_CERTID,
25602        status: ::std::os::raw::c_int,
25603        revoked_reason: ::std::os::raw::c_int,
25604        revoked_time: *mut ASN1_TIME,
25605        this_update: *mut ASN1_TIME,
25606        next_update: *mut ASN1_TIME,
25607    ) -> *mut OCSP_SINGLERESP;
25608}
25609extern "C" {
25610    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_basic_sign"]
25611    pub fn OCSP_basic_sign(
25612        resp: *mut OCSP_BASICRESP,
25613        signer: *mut X509,
25614        key: *mut EVP_PKEY,
25615        dgst: *const EVP_MD,
25616        certs: *mut stack_st_X509,
25617        flags: ::std::os::raw::c_ulong,
25618    ) -> ::std::os::raw::c_int;
25619}
25620extern "C" {
25621    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_response_create"]
25622    pub fn OCSP_response_create(
25623        status: ::std::os::raw::c_int,
25624        bs: *mut OCSP_BASICRESP,
25625    ) -> *mut OCSP_RESPONSE;
25626}
25627extern "C" {
25628    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_get0_id"]
25629    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
25630}
25631extern "C" {
25632    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_response_status_str"]
25633    pub fn OCSP_response_status_str(
25634        status_code: ::std::os::raw::c_long,
25635    ) -> *const ::std::os::raw::c_char;
25636}
25637extern "C" {
25638    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_cert_status_str"]
25639    pub fn OCSP_cert_status_str(
25640        status_code: ::std::os::raw::c_long,
25641    ) -> *const ::std::os::raw::c_char;
25642}
25643extern "C" {
25644    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_crl_reason_str"]
25645    pub fn OCSP_crl_reason_str(
25646        status_code: ::std::os::raw::c_long,
25647    ) -> *const ::std::os::raw::c_char;
25648}
25649extern "C" {
25650    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_REQUEST_print"]
25651    pub fn OCSP_REQUEST_print(
25652        bp: *mut BIO,
25653        req: *mut OCSP_REQUEST,
25654        flags: ::std::os::raw::c_ulong,
25655    ) -> ::std::os::raw::c_int;
25656}
25657extern "C" {
25658    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_RESPONSE_print"]
25659    pub fn OCSP_RESPONSE_print(
25660        bp: *mut BIO,
25661        resp: *mut OCSP_RESPONSE,
25662        flags: ::std::os::raw::c_ulong,
25663    ) -> ::std::os::raw::c_int;
25664}
25665extern "C" {
25666    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_get_ext_by_NID"]
25667    pub fn OCSP_BASICRESP_get_ext_by_NID(
25668        bs: *mut OCSP_BASICRESP,
25669        nid: ::std::os::raw::c_int,
25670        lastpos: ::std::os::raw::c_int,
25671    ) -> ::std::os::raw::c_int;
25672}
25673extern "C" {
25674    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_get_ext"]
25675    pub fn OCSP_BASICRESP_get_ext(
25676        bs: *mut OCSP_BASICRESP,
25677        loc: ::std::os::raw::c_int,
25678    ) -> *mut X509_EXTENSION;
25679}
25680extern "C" {
25681    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_BASICRESP_delete_ext"]
25682    pub fn OCSP_BASICRESP_delete_ext(
25683        x: *mut OCSP_BASICRESP,
25684        loc: ::std::os::raw::c_int,
25685    ) -> *mut X509_EXTENSION;
25686}
25687extern "C" {
25688    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_add_ext"]
25689    pub fn OCSP_SINGLERESP_add_ext(
25690        sresp: *mut OCSP_SINGLERESP,
25691        ex: *mut X509_EXTENSION,
25692        loc: ::std::os::raw::c_int,
25693    ) -> ::std::os::raw::c_int;
25694}
25695extern "C" {
25696    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_get_ext_count"]
25697    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
25698}
25699extern "C" {
25700    #[link_name = "\u{1}aws_lc_0_35_0_OCSP_SINGLERESP_get_ext"]
25701    pub fn OCSP_SINGLERESP_get_ext(
25702        sresp: *mut OCSP_SINGLERESP,
25703        loc: ::std::os::raw::c_int,
25704    ) -> *mut X509_EXTENSION;
25705}
25706pub type pem_password_cb = ::std::option::Option<
25707    unsafe extern "C" fn(
25708        buf: *mut ::std::os::raw::c_char,
25709        size: ::std::os::raw::c_int,
25710        rwflag: ::std::os::raw::c_int,
25711        userdata: *mut ::std::os::raw::c_void,
25712    ) -> ::std::os::raw::c_int,
25713>;
25714extern "C" {
25715    #[link_name = "\u{1}aws_lc_0_35_0_PEM_get_EVP_CIPHER_INFO"]
25716    pub fn PEM_get_EVP_CIPHER_INFO(
25717        header: *mut ::std::os::raw::c_char,
25718        cipher: *mut EVP_CIPHER_INFO,
25719    ) -> ::std::os::raw::c_int;
25720}
25721extern "C" {
25722    #[link_name = "\u{1}aws_lc_0_35_0_PEM_do_header"]
25723    pub fn PEM_do_header(
25724        cipher: *mut EVP_CIPHER_INFO,
25725        data: *mut ::std::os::raw::c_uchar,
25726        len: *mut ::std::os::raw::c_long,
25727        callback: pem_password_cb,
25728        u: *mut ::std::os::raw::c_void,
25729    ) -> ::std::os::raw::c_int;
25730}
25731extern "C" {
25732    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio"]
25733    pub fn PEM_read_bio(
25734        bp: *mut BIO,
25735        name: *mut *mut ::std::os::raw::c_char,
25736        header: *mut *mut ::std::os::raw::c_char,
25737        data: *mut *mut ::std::os::raw::c_uchar,
25738        len: *mut ::std::os::raw::c_long,
25739    ) -> ::std::os::raw::c_int;
25740}
25741extern "C" {
25742    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio"]
25743    pub fn PEM_write_bio(
25744        bp: *mut BIO,
25745        name: *const ::std::os::raw::c_char,
25746        hdr: *const ::std::os::raw::c_char,
25747        data: *const ::std::os::raw::c_uchar,
25748        len: ::std::os::raw::c_long,
25749    ) -> ::std::os::raw::c_int;
25750}
25751extern "C" {
25752    #[link_name = "\u{1}aws_lc_0_35_0_PEM_bytes_read_bio"]
25753    pub fn PEM_bytes_read_bio(
25754        pdata: *mut *mut ::std::os::raw::c_uchar,
25755        plen: *mut ::std::os::raw::c_long,
25756        pnm: *mut *mut ::std::os::raw::c_char,
25757        name: *const ::std::os::raw::c_char,
25758        bp: *mut BIO,
25759        cb: pem_password_cb,
25760        u: *mut ::std::os::raw::c_void,
25761    ) -> ::std::os::raw::c_int;
25762}
25763extern "C" {
25764    #[link_name = "\u{1}aws_lc_0_35_0_PEM_ASN1_read_bio"]
25765    pub fn PEM_ASN1_read_bio(
25766        d2i: d2i_of_void,
25767        name: *const ::std::os::raw::c_char,
25768        bp: *mut BIO,
25769        x: *mut *mut ::std::os::raw::c_void,
25770        cb: pem_password_cb,
25771        u: *mut ::std::os::raw::c_void,
25772    ) -> *mut ::std::os::raw::c_void;
25773}
25774extern "C" {
25775    #[link_name = "\u{1}aws_lc_0_35_0_PEM_ASN1_write_bio"]
25776    pub fn PEM_ASN1_write_bio(
25777        i2d: i2d_of_void,
25778        name: *const ::std::os::raw::c_char,
25779        bp: *mut BIO,
25780        x: *mut ::std::os::raw::c_void,
25781        enc: *const EVP_CIPHER,
25782        pass: *const ::std::os::raw::c_uchar,
25783        pass_len: ::std::os::raw::c_int,
25784        cb: pem_password_cb,
25785        u: *mut ::std::os::raw::c_void,
25786    ) -> ::std::os::raw::c_int;
25787}
25788extern "C" {
25789    #[link_name = "\u{1}aws_lc_0_35_0_PEM_X509_INFO_read_bio"]
25790    pub fn PEM_X509_INFO_read_bio(
25791        bp: *mut BIO,
25792        sk: *mut stack_st_X509_INFO,
25793        cb: pem_password_cb,
25794        u: *mut ::std::os::raw::c_void,
25795    ) -> *mut stack_st_X509_INFO;
25796}
25797extern "C" {
25798    #[link_name = "\u{1}aws_lc_0_35_0_PEM_X509_INFO_write_bio"]
25799    pub fn PEM_X509_INFO_write_bio(
25800        bp: *mut BIO,
25801        xi: *mut X509_INFO,
25802        enc: *mut EVP_CIPHER,
25803        kstr: *mut ::std::os::raw::c_uchar,
25804        klen: ::std::os::raw::c_int,
25805        cd: pem_password_cb,
25806        u: *mut ::std::os::raw::c_void,
25807    ) -> ::std::os::raw::c_int;
25808}
25809extern "C" {
25810    #[link_name = "\u{1}aws_lc_0_35_0_PEM_X509_INFO_read"]
25811    pub fn PEM_X509_INFO_read(
25812        fp: *mut FILE,
25813        sk: *mut stack_st_X509_INFO,
25814        cb: pem_password_cb,
25815        u: *mut ::std::os::raw::c_void,
25816    ) -> *mut stack_st_X509_INFO;
25817}
25818extern "C" {
25819    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read"]
25820    pub fn PEM_read(
25821        fp: *mut FILE,
25822        name: *mut *mut ::std::os::raw::c_char,
25823        header: *mut *mut ::std::os::raw::c_char,
25824        data: *mut *mut ::std::os::raw::c_uchar,
25825        len: *mut ::std::os::raw::c_long,
25826    ) -> ::std::os::raw::c_int;
25827}
25828extern "C" {
25829    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write"]
25830    pub fn PEM_write(
25831        fp: *mut FILE,
25832        name: *const ::std::os::raw::c_char,
25833        hdr: *const ::std::os::raw::c_char,
25834        data: *const ::std::os::raw::c_uchar,
25835        len: ::std::os::raw::c_long,
25836    ) -> ::std::os::raw::c_int;
25837}
25838extern "C" {
25839    #[link_name = "\u{1}aws_lc_0_35_0_PEM_ASN1_read"]
25840    pub fn PEM_ASN1_read(
25841        d2i: d2i_of_void,
25842        name: *const ::std::os::raw::c_char,
25843        fp: *mut FILE,
25844        x: *mut *mut ::std::os::raw::c_void,
25845        cb: pem_password_cb,
25846        u: *mut ::std::os::raw::c_void,
25847    ) -> *mut ::std::os::raw::c_void;
25848}
25849extern "C" {
25850    #[link_name = "\u{1}aws_lc_0_35_0_PEM_ASN1_write"]
25851    pub fn PEM_ASN1_write(
25852        i2d: i2d_of_void,
25853        name: *const ::std::os::raw::c_char,
25854        fp: *mut FILE,
25855        x: *mut ::std::os::raw::c_void,
25856        enc: *const EVP_CIPHER,
25857        pass: *const ::std::os::raw::c_uchar,
25858        pass_len: ::std::os::raw::c_int,
25859        callback: pem_password_cb,
25860        u: *mut ::std::os::raw::c_void,
25861    ) -> ::std::os::raw::c_int;
25862}
25863extern "C" {
25864    #[link_name = "\u{1}aws_lc_0_35_0_PEM_def_callback"]
25865    pub fn PEM_def_callback(
25866        buf: *mut ::std::os::raw::c_char,
25867        size: ::std::os::raw::c_int,
25868        rwflag: ::std::os::raw::c_int,
25869        userdata: *mut ::std::os::raw::c_void,
25870    ) -> ::std::os::raw::c_int;
25871}
25872extern "C" {
25873    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_X509"]
25874    pub fn PEM_read_bio_X509(
25875        bp: *mut BIO,
25876        x: *mut *mut X509,
25877        cb: pem_password_cb,
25878        u: *mut ::std::os::raw::c_void,
25879    ) -> *mut X509;
25880}
25881extern "C" {
25882    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_X509"]
25883    pub fn PEM_read_X509(
25884        fp: *mut FILE,
25885        x: *mut *mut X509,
25886        cb: pem_password_cb,
25887        u: *mut ::std::os::raw::c_void,
25888    ) -> *mut X509;
25889}
25890extern "C" {
25891    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_X509"]
25892    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25893}
25894extern "C" {
25895    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_X509"]
25896    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25897}
25898extern "C" {
25899    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_X509_AUX"]
25900    pub fn PEM_read_bio_X509_AUX(
25901        bp: *mut BIO,
25902        x: *mut *mut X509,
25903        cb: pem_password_cb,
25904        u: *mut ::std::os::raw::c_void,
25905    ) -> *mut X509;
25906}
25907extern "C" {
25908    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_X509_AUX"]
25909    pub fn PEM_read_X509_AUX(
25910        fp: *mut FILE,
25911        x: *mut *mut X509,
25912        cb: pem_password_cb,
25913        u: *mut ::std::os::raw::c_void,
25914    ) -> *mut X509;
25915}
25916extern "C" {
25917    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_X509_AUX"]
25918    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25919}
25920extern "C" {
25921    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_X509_AUX"]
25922    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25923}
25924extern "C" {
25925    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_X509_REQ"]
25926    pub fn PEM_read_bio_X509_REQ(
25927        bp: *mut BIO,
25928        x: *mut *mut X509_REQ,
25929        cb: pem_password_cb,
25930        u: *mut ::std::os::raw::c_void,
25931    ) -> *mut X509_REQ;
25932}
25933extern "C" {
25934    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_X509_REQ"]
25935    pub fn PEM_read_X509_REQ(
25936        fp: *mut FILE,
25937        x: *mut *mut X509_REQ,
25938        cb: pem_password_cb,
25939        u: *mut ::std::os::raw::c_void,
25940    ) -> *mut X509_REQ;
25941}
25942extern "C" {
25943    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_X509_REQ"]
25944    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25945}
25946extern "C" {
25947    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_X509_REQ"]
25948    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25949}
25950extern "C" {
25951    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_X509_REQ_NEW"]
25952    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25953}
25954extern "C" {
25955    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_X509_REQ_NEW"]
25956    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25957}
25958extern "C" {
25959    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_X509_CRL"]
25960    pub fn PEM_read_bio_X509_CRL(
25961        bp: *mut BIO,
25962        x: *mut *mut X509_CRL,
25963        cb: pem_password_cb,
25964        u: *mut ::std::os::raw::c_void,
25965    ) -> *mut X509_CRL;
25966}
25967extern "C" {
25968    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_X509_CRL"]
25969    pub fn PEM_read_X509_CRL(
25970        fp: *mut FILE,
25971        x: *mut *mut X509_CRL,
25972        cb: pem_password_cb,
25973        u: *mut ::std::os::raw::c_void,
25974    ) -> *mut X509_CRL;
25975}
25976extern "C" {
25977    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_X509_CRL"]
25978    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25979}
25980extern "C" {
25981    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_X509_CRL"]
25982    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25983}
25984extern "C" {
25985    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_PKCS7"]
25986    pub fn PEM_read_bio_PKCS7(
25987        bp: *mut BIO,
25988        x: *mut *mut PKCS7,
25989        cb: pem_password_cb,
25990        u: *mut ::std::os::raw::c_void,
25991    ) -> *mut PKCS7;
25992}
25993extern "C" {
25994    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_PKCS7"]
25995    pub fn PEM_read_PKCS7(
25996        fp: *mut FILE,
25997        x: *mut *mut PKCS7,
25998        cb: pem_password_cb,
25999        u: *mut ::std::os::raw::c_void,
26000    ) -> *mut PKCS7;
26001}
26002extern "C" {
26003    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PKCS7"]
26004    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
26005}
26006extern "C" {
26007    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PKCS7"]
26008    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
26009}
26010extern "C" {
26011    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_PKCS8"]
26012    pub fn PEM_read_bio_PKCS8(
26013        bp: *mut BIO,
26014        x: *mut *mut X509_SIG,
26015        cb: pem_password_cb,
26016        u: *mut ::std::os::raw::c_void,
26017    ) -> *mut X509_SIG;
26018}
26019extern "C" {
26020    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_PKCS8"]
26021    pub fn PEM_read_PKCS8(
26022        fp: *mut FILE,
26023        x: *mut *mut X509_SIG,
26024        cb: pem_password_cb,
26025        u: *mut ::std::os::raw::c_void,
26026    ) -> *mut X509_SIG;
26027}
26028extern "C" {
26029    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PKCS8"]
26030    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26031}
26032extern "C" {
26033    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PKCS8"]
26034    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26035}
26036extern "C" {
26037    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
26038    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
26039        bp: *mut BIO,
26040        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26041        cb: pem_password_cb,
26042        u: *mut ::std::os::raw::c_void,
26043    ) -> *mut PKCS8_PRIV_KEY_INFO;
26044}
26045extern "C" {
26046    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
26047    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
26048        fp: *mut FILE,
26049        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26050        cb: pem_password_cb,
26051        u: *mut ::std::os::raw::c_void,
26052    ) -> *mut PKCS8_PRIV_KEY_INFO;
26053}
26054extern "C" {
26055    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
26056    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
26057        bp: *mut BIO,
26058        x: *mut PKCS8_PRIV_KEY_INFO,
26059    ) -> ::std::os::raw::c_int;
26060}
26061extern "C" {
26062    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
26063    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
26064        fp: *mut FILE,
26065        x: *mut PKCS8_PRIV_KEY_INFO,
26066    ) -> ::std::os::raw::c_int;
26067}
26068extern "C" {
26069    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_RSAPrivateKey"]
26070    pub fn PEM_read_bio_RSAPrivateKey(
26071        bp: *mut BIO,
26072        x: *mut *mut RSA,
26073        cb: pem_password_cb,
26074        u: *mut ::std::os::raw::c_void,
26075    ) -> *mut RSA;
26076}
26077extern "C" {
26078    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_RSAPrivateKey"]
26079    pub fn PEM_read_RSAPrivateKey(
26080        fp: *mut FILE,
26081        x: *mut *mut RSA,
26082        cb: pem_password_cb,
26083        u: *mut ::std::os::raw::c_void,
26084    ) -> *mut RSA;
26085}
26086extern "C" {
26087    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_RSAPrivateKey"]
26088    pub fn PEM_write_bio_RSAPrivateKey(
26089        bp: *mut BIO,
26090        x: *mut RSA,
26091        enc: *const EVP_CIPHER,
26092        pass: *const ::std::os::raw::c_uchar,
26093        pass_len: ::std::os::raw::c_int,
26094        cb: pem_password_cb,
26095        u: *mut ::std::os::raw::c_void,
26096    ) -> ::std::os::raw::c_int;
26097}
26098extern "C" {
26099    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_RSAPrivateKey"]
26100    pub fn PEM_write_RSAPrivateKey(
26101        fp: *mut FILE,
26102        x: *mut RSA,
26103        enc: *const EVP_CIPHER,
26104        pass: *const ::std::os::raw::c_uchar,
26105        pass_len: ::std::os::raw::c_int,
26106        cb: pem_password_cb,
26107        u: *mut ::std::os::raw::c_void,
26108    ) -> ::std::os::raw::c_int;
26109}
26110extern "C" {
26111    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_RSAPublicKey"]
26112    pub fn PEM_read_bio_RSAPublicKey(
26113        bp: *mut BIO,
26114        x: *mut *mut RSA,
26115        cb: pem_password_cb,
26116        u: *mut ::std::os::raw::c_void,
26117    ) -> *mut RSA;
26118}
26119extern "C" {
26120    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_RSAPublicKey"]
26121    pub fn PEM_read_RSAPublicKey(
26122        fp: *mut FILE,
26123        x: *mut *mut RSA,
26124        cb: pem_password_cb,
26125        u: *mut ::std::os::raw::c_void,
26126    ) -> *mut RSA;
26127}
26128extern "C" {
26129    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_RSAPublicKey"]
26130    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
26131}
26132extern "C" {
26133    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_RSAPublicKey"]
26134    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
26135}
26136extern "C" {
26137    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_RSA_PUBKEY"]
26138    pub fn PEM_read_bio_RSA_PUBKEY(
26139        bp: *mut BIO,
26140        x: *mut *mut RSA,
26141        cb: pem_password_cb,
26142        u: *mut ::std::os::raw::c_void,
26143    ) -> *mut RSA;
26144}
26145extern "C" {
26146    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_RSA_PUBKEY"]
26147    pub fn PEM_read_RSA_PUBKEY(
26148        fp: *mut FILE,
26149        x: *mut *mut RSA,
26150        cb: pem_password_cb,
26151        u: *mut ::std::os::raw::c_void,
26152    ) -> *mut RSA;
26153}
26154extern "C" {
26155    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_RSA_PUBKEY"]
26156    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
26157}
26158extern "C" {
26159    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_RSA_PUBKEY"]
26160    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
26161}
26162extern "C" {
26163    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_DSAPrivateKey"]
26164    pub fn PEM_read_bio_DSAPrivateKey(
26165        bp: *mut BIO,
26166        x: *mut *mut DSA,
26167        cb: pem_password_cb,
26168        u: *mut ::std::os::raw::c_void,
26169    ) -> *mut DSA;
26170}
26171extern "C" {
26172    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_DSAPrivateKey"]
26173    pub fn PEM_read_DSAPrivateKey(
26174        fp: *mut FILE,
26175        x: *mut *mut DSA,
26176        cb: pem_password_cb,
26177        u: *mut ::std::os::raw::c_void,
26178    ) -> *mut DSA;
26179}
26180extern "C" {
26181    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_DSAPrivateKey"]
26182    pub fn PEM_write_bio_DSAPrivateKey(
26183        bp: *mut BIO,
26184        x: *mut DSA,
26185        enc: *const EVP_CIPHER,
26186        pass: *const ::std::os::raw::c_uchar,
26187        pass_len: ::std::os::raw::c_int,
26188        cb: pem_password_cb,
26189        u: *mut ::std::os::raw::c_void,
26190    ) -> ::std::os::raw::c_int;
26191}
26192extern "C" {
26193    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_DSAPrivateKey"]
26194    pub fn PEM_write_DSAPrivateKey(
26195        fp: *mut FILE,
26196        x: *mut DSA,
26197        enc: *const EVP_CIPHER,
26198        pass: *const ::std::os::raw::c_uchar,
26199        pass_len: ::std::os::raw::c_int,
26200        cb: pem_password_cb,
26201        u: *mut ::std::os::raw::c_void,
26202    ) -> ::std::os::raw::c_int;
26203}
26204extern "C" {
26205    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_DSA_PUBKEY"]
26206    pub fn PEM_read_bio_DSA_PUBKEY(
26207        bp: *mut BIO,
26208        x: *mut *mut DSA,
26209        cb: pem_password_cb,
26210        u: *mut ::std::os::raw::c_void,
26211    ) -> *mut DSA;
26212}
26213extern "C" {
26214    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_DSA_PUBKEY"]
26215    pub fn PEM_read_DSA_PUBKEY(
26216        fp: *mut FILE,
26217        x: *mut *mut DSA,
26218        cb: pem_password_cb,
26219        u: *mut ::std::os::raw::c_void,
26220    ) -> *mut DSA;
26221}
26222extern "C" {
26223    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_DSA_PUBKEY"]
26224    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
26225}
26226extern "C" {
26227    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_DSA_PUBKEY"]
26228    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
26229}
26230extern "C" {
26231    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_DSAparams"]
26232    pub fn PEM_read_bio_DSAparams(
26233        bp: *mut BIO,
26234        x: *mut *mut DSA,
26235        cb: pem_password_cb,
26236        u: *mut ::std::os::raw::c_void,
26237    ) -> *mut DSA;
26238}
26239extern "C" {
26240    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_DSAparams"]
26241    pub fn PEM_read_DSAparams(
26242        fp: *mut FILE,
26243        x: *mut *mut DSA,
26244        cb: pem_password_cb,
26245        u: *mut ::std::os::raw::c_void,
26246    ) -> *mut DSA;
26247}
26248extern "C" {
26249    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_DSAparams"]
26250    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
26251}
26252extern "C" {
26253    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_DSAparams"]
26254    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
26255}
26256extern "C" {
26257    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_ECPrivateKey"]
26258    pub fn PEM_read_bio_ECPrivateKey(
26259        bp: *mut BIO,
26260        x: *mut *mut EC_KEY,
26261        cb: pem_password_cb,
26262        u: *mut ::std::os::raw::c_void,
26263    ) -> *mut EC_KEY;
26264}
26265extern "C" {
26266    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_ECPrivateKey"]
26267    pub fn PEM_read_ECPrivateKey(
26268        fp: *mut FILE,
26269        x: *mut *mut EC_KEY,
26270        cb: pem_password_cb,
26271        u: *mut ::std::os::raw::c_void,
26272    ) -> *mut EC_KEY;
26273}
26274extern "C" {
26275    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_ECPrivateKey"]
26276    pub fn PEM_write_bio_ECPrivateKey(
26277        bp: *mut BIO,
26278        x: *mut EC_KEY,
26279        enc: *const EVP_CIPHER,
26280        pass: *const ::std::os::raw::c_uchar,
26281        pass_len: ::std::os::raw::c_int,
26282        cb: pem_password_cb,
26283        u: *mut ::std::os::raw::c_void,
26284    ) -> ::std::os::raw::c_int;
26285}
26286extern "C" {
26287    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_ECPrivateKey"]
26288    pub fn PEM_write_ECPrivateKey(
26289        fp: *mut FILE,
26290        x: *mut EC_KEY,
26291        enc: *const EVP_CIPHER,
26292        pass: *const ::std::os::raw::c_uchar,
26293        pass_len: ::std::os::raw::c_int,
26294        cb: pem_password_cb,
26295        u: *mut ::std::os::raw::c_void,
26296    ) -> ::std::os::raw::c_int;
26297}
26298extern "C" {
26299    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_EC_PUBKEY"]
26300    pub fn PEM_read_bio_EC_PUBKEY(
26301        bp: *mut BIO,
26302        x: *mut *mut EC_KEY,
26303        cb: pem_password_cb,
26304        u: *mut ::std::os::raw::c_void,
26305    ) -> *mut EC_KEY;
26306}
26307extern "C" {
26308    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_EC_PUBKEY"]
26309    pub fn PEM_read_EC_PUBKEY(
26310        fp: *mut FILE,
26311        x: *mut *mut EC_KEY,
26312        cb: pem_password_cb,
26313        u: *mut ::std::os::raw::c_void,
26314    ) -> *mut EC_KEY;
26315}
26316extern "C" {
26317    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_EC_PUBKEY"]
26318    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26319}
26320extern "C" {
26321    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_EC_PUBKEY"]
26322    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26323}
26324extern "C" {
26325    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_DHparams"]
26326    pub fn PEM_read_bio_DHparams(
26327        bp: *mut BIO,
26328        x: *mut *mut DH,
26329        cb: pem_password_cb,
26330        u: *mut ::std::os::raw::c_void,
26331    ) -> *mut DH;
26332}
26333extern "C" {
26334    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_DHparams"]
26335    pub fn PEM_read_DHparams(
26336        fp: *mut FILE,
26337        x: *mut *mut DH,
26338        cb: pem_password_cb,
26339        u: *mut ::std::os::raw::c_void,
26340    ) -> *mut DH;
26341}
26342extern "C" {
26343    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_DHparams"]
26344    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
26345}
26346extern "C" {
26347    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_DHparams"]
26348    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
26349}
26350extern "C" {
26351    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_PrivateKey"]
26352    pub fn PEM_read_bio_PrivateKey(
26353        bp: *mut BIO,
26354        x: *mut *mut EVP_PKEY,
26355        cb: pem_password_cb,
26356        u: *mut ::std::os::raw::c_void,
26357    ) -> *mut EVP_PKEY;
26358}
26359extern "C" {
26360    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_PrivateKey"]
26361    pub fn PEM_read_PrivateKey(
26362        fp: *mut FILE,
26363        x: *mut *mut EVP_PKEY,
26364        cb: pem_password_cb,
26365        u: *mut ::std::os::raw::c_void,
26366    ) -> *mut EVP_PKEY;
26367}
26368extern "C" {
26369    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PrivateKey"]
26370    pub fn PEM_write_bio_PrivateKey(
26371        bp: *mut BIO,
26372        x: *mut EVP_PKEY,
26373        enc: *const EVP_CIPHER,
26374        pass: *const ::std::os::raw::c_uchar,
26375        pass_len: ::std::os::raw::c_int,
26376        cb: pem_password_cb,
26377        u: *mut ::std::os::raw::c_void,
26378    ) -> ::std::os::raw::c_int;
26379}
26380extern "C" {
26381    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PrivateKey"]
26382    pub fn PEM_write_PrivateKey(
26383        fp: *mut FILE,
26384        x: *mut EVP_PKEY,
26385        enc: *const EVP_CIPHER,
26386        pass: *const ::std::os::raw::c_uchar,
26387        pass_len: ::std::os::raw::c_int,
26388        cb: pem_password_cb,
26389        u: *mut ::std::os::raw::c_void,
26390    ) -> ::std::os::raw::c_int;
26391}
26392extern "C" {
26393    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_PUBKEY"]
26394    pub fn PEM_read_bio_PUBKEY(
26395        bp: *mut BIO,
26396        x: *mut *mut EVP_PKEY,
26397        cb: pem_password_cb,
26398        u: *mut ::std::os::raw::c_void,
26399    ) -> *mut EVP_PKEY;
26400}
26401extern "C" {
26402    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_PUBKEY"]
26403    pub fn PEM_read_PUBKEY(
26404        fp: *mut FILE,
26405        x: *mut *mut EVP_PKEY,
26406        cb: pem_password_cb,
26407        u: *mut ::std::os::raw::c_void,
26408    ) -> *mut EVP_PKEY;
26409}
26410extern "C" {
26411    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PUBKEY"]
26412    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26413}
26414extern "C" {
26415    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PUBKEY"]
26416    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26417}
26418extern "C" {
26419    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PKCS8PrivateKey_nid"]
26420    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
26421        bp: *mut BIO,
26422        x: *const EVP_PKEY,
26423        nid: ::std::os::raw::c_int,
26424        pass: *const ::std::os::raw::c_char,
26425        pass_len: ::std::os::raw::c_int,
26426        cb: pem_password_cb,
26427        u: *mut ::std::os::raw::c_void,
26428    ) -> ::std::os::raw::c_int;
26429}
26430extern "C" {
26431    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PKCS8PrivateKey"]
26432    pub fn PEM_write_bio_PKCS8PrivateKey(
26433        bp: *mut BIO,
26434        x: *const EVP_PKEY,
26435        enc: *const EVP_CIPHER,
26436        pass: *const ::std::os::raw::c_char,
26437        pass_len: ::std::os::raw::c_int,
26438        cb: pem_password_cb,
26439        u: *mut ::std::os::raw::c_void,
26440    ) -> ::std::os::raw::c_int;
26441}
26442extern "C" {
26443    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKey_bio"]
26444    pub fn i2d_PKCS8PrivateKey_bio(
26445        bp: *mut BIO,
26446        x: *const EVP_PKEY,
26447        enc: *const EVP_CIPHER,
26448        pass: *const ::std::os::raw::c_char,
26449        pass_len: ::std::os::raw::c_int,
26450        cb: pem_password_cb,
26451        u: *mut ::std::os::raw::c_void,
26452    ) -> ::std::os::raw::c_int;
26453}
26454extern "C" {
26455    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKey_nid_bio"]
26456    pub fn i2d_PKCS8PrivateKey_nid_bio(
26457        bp: *mut BIO,
26458        x: *const EVP_PKEY,
26459        nid: ::std::os::raw::c_int,
26460        pass: *const ::std::os::raw::c_char,
26461        pass_len: ::std::os::raw::c_int,
26462        cb: pem_password_cb,
26463        u: *mut ::std::os::raw::c_void,
26464    ) -> ::std::os::raw::c_int;
26465}
26466extern "C" {
26467    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8PrivateKey_bio"]
26468    pub fn d2i_PKCS8PrivateKey_bio(
26469        bp: *mut BIO,
26470        x: *mut *mut EVP_PKEY,
26471        cb: pem_password_cb,
26472        u: *mut ::std::os::raw::c_void,
26473    ) -> *mut EVP_PKEY;
26474}
26475extern "C" {
26476    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKey_fp"]
26477    pub fn i2d_PKCS8PrivateKey_fp(
26478        fp: *mut FILE,
26479        x: *const EVP_PKEY,
26480        enc: *const EVP_CIPHER,
26481        pass: *const ::std::os::raw::c_char,
26482        pass_len: ::std::os::raw::c_int,
26483        cb: pem_password_cb,
26484        u: *mut ::std::os::raw::c_void,
26485    ) -> ::std::os::raw::c_int;
26486}
26487extern "C" {
26488    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS8PrivateKey_nid_fp"]
26489    pub fn i2d_PKCS8PrivateKey_nid_fp(
26490        fp: *mut FILE,
26491        x: *const EVP_PKEY,
26492        nid: ::std::os::raw::c_int,
26493        pass: *const ::std::os::raw::c_char,
26494        pass_len: ::std::os::raw::c_int,
26495        cb: pem_password_cb,
26496        u: *mut ::std::os::raw::c_void,
26497    ) -> ::std::os::raw::c_int;
26498}
26499extern "C" {
26500    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PKCS8PrivateKey_nid"]
26501    pub fn PEM_write_PKCS8PrivateKey_nid(
26502        fp: *mut FILE,
26503        x: *const EVP_PKEY,
26504        nid: ::std::os::raw::c_int,
26505        pass: *const ::std::os::raw::c_char,
26506        pass_len: ::std::os::raw::c_int,
26507        cb: pem_password_cb,
26508        u: *mut ::std::os::raw::c_void,
26509    ) -> ::std::os::raw::c_int;
26510}
26511extern "C" {
26512    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS8PrivateKey_fp"]
26513    pub fn d2i_PKCS8PrivateKey_fp(
26514        fp: *mut FILE,
26515        x: *mut *mut EVP_PKEY,
26516        cb: pem_password_cb,
26517        u: *mut ::std::os::raw::c_void,
26518    ) -> *mut EVP_PKEY;
26519}
26520extern "C" {
26521    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_PKCS8PrivateKey"]
26522    pub fn PEM_write_PKCS8PrivateKey(
26523        fp: *mut FILE,
26524        x: *const EVP_PKEY,
26525        enc: *const EVP_CIPHER,
26526        pass: *const ::std::os::raw::c_char,
26527        pass_len: ::std::os::raw::c_int,
26528        cd: pem_password_cb,
26529        u: *mut ::std::os::raw::c_void,
26530    ) -> ::std::os::raw::c_int;
26531}
26532extern "C" {
26533    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_Parameters"]
26534    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
26535}
26536extern "C" {
26537    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_Parameters"]
26538    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26539}
26540extern "C" {
26541    #[link_name = "\u{1}aws_lc_0_35_0_PEM_read_bio_ECPKParameters"]
26542    pub fn PEM_read_bio_ECPKParameters(
26543        bio: *mut BIO,
26544        out_group: *mut *mut EC_GROUP,
26545        cb: pem_password_cb,
26546        u: *mut ::std::os::raw::c_void,
26547    ) -> *mut EC_GROUP;
26548}
26549extern "C" {
26550    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_ECPKParameters"]
26551    pub fn PEM_write_bio_ECPKParameters(
26552        out: *mut BIO,
26553        group: *const EC_GROUP,
26554    ) -> ::std::os::raw::c_int;
26555}
26556extern "C" {
26557    #[link_name = "\u{1}aws_lc_0_35_0_PEM_write_bio_PrivateKey_traditional"]
26558    pub fn PEM_write_bio_PrivateKey_traditional(
26559        bp: *mut BIO,
26560        x: *mut EVP_PKEY,
26561        enc: *const EVP_CIPHER,
26562        kstr: *mut ::std::os::raw::c_uchar,
26563        klen: ::std::os::raw::c_int,
26564        cb: pem_password_cb,
26565        u: *mut ::std::os::raw::c_void,
26566    ) -> ::std::os::raw::c_int;
26567}
26568extern "C" {
26569    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_encrypt"]
26570    pub fn PKCS8_encrypt(
26571        pbe_nid: ::std::os::raw::c_int,
26572        cipher: *const EVP_CIPHER,
26573        pass: *const ::std::os::raw::c_char,
26574        pass_len: ::std::os::raw::c_int,
26575        salt: *const u8,
26576        salt_len: usize,
26577        iterations: ::std::os::raw::c_int,
26578        p8inf: *mut PKCS8_PRIV_KEY_INFO,
26579    ) -> *mut X509_SIG;
26580}
26581extern "C" {
26582    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_marshal_encrypted_private_key"]
26583    pub fn PKCS8_marshal_encrypted_private_key(
26584        out: *mut CBB,
26585        pbe_nid: ::std::os::raw::c_int,
26586        cipher: *const EVP_CIPHER,
26587        pass: *const ::std::os::raw::c_char,
26588        pass_len: usize,
26589        salt: *const u8,
26590        salt_len: usize,
26591        iterations: ::std::os::raw::c_int,
26592        pkey: *const EVP_PKEY,
26593    ) -> ::std::os::raw::c_int;
26594}
26595extern "C" {
26596    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_decrypt"]
26597    pub fn PKCS8_decrypt(
26598        pkcs8: *mut X509_SIG,
26599        pass: *const ::std::os::raw::c_char,
26600        pass_len: ::std::os::raw::c_int,
26601    ) -> *mut PKCS8_PRIV_KEY_INFO;
26602}
26603extern "C" {
26604    #[link_name = "\u{1}aws_lc_0_35_0_PKCS8_parse_encrypted_private_key"]
26605    pub fn PKCS8_parse_encrypted_private_key(
26606        cbs: *mut CBS,
26607        pass: *const ::std::os::raw::c_char,
26608        pass_len: usize,
26609    ) -> *mut EVP_PKEY;
26610}
26611extern "C" {
26612    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_get_key_and_certs"]
26613    pub fn PKCS12_get_key_and_certs(
26614        out_key: *mut *mut EVP_PKEY,
26615        out_certs: *mut stack_st_X509,
26616        in_: *mut CBS,
26617        password: *const ::std::os::raw::c_char,
26618    ) -> ::std::os::raw::c_int;
26619}
26620extern "C" {
26621    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_PBE_add"]
26622    pub fn PKCS12_PBE_add();
26623}
26624extern "C" {
26625    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS12"]
26626    pub fn d2i_PKCS12(
26627        out_p12: *mut *mut PKCS12,
26628        ber_bytes: *mut *const u8,
26629        ber_len: usize,
26630    ) -> *mut PKCS12;
26631}
26632extern "C" {
26633    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS12_bio"]
26634    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
26635}
26636extern "C" {
26637    #[link_name = "\u{1}aws_lc_0_35_0_d2i_PKCS12_fp"]
26638    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
26639}
26640extern "C" {
26641    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS12"]
26642    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
26643}
26644extern "C" {
26645    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS12_bio"]
26646    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
26647}
26648extern "C" {
26649    #[link_name = "\u{1}aws_lc_0_35_0_i2d_PKCS12_fp"]
26650    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
26651}
26652extern "C" {
26653    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_parse"]
26654    pub fn PKCS12_parse(
26655        p12: *const PKCS12,
26656        password: *const ::std::os::raw::c_char,
26657        out_pkey: *mut *mut EVP_PKEY,
26658        out_cert: *mut *mut X509,
26659        out_ca_certs: *mut *mut stack_st_X509,
26660    ) -> ::std::os::raw::c_int;
26661}
26662extern "C" {
26663    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_set_mac"]
26664    pub fn PKCS12_set_mac(
26665        p12: *mut PKCS12,
26666        password: *const ::std::os::raw::c_char,
26667        password_len: ::std::os::raw::c_int,
26668        salt: *mut ::std::os::raw::c_uchar,
26669        salt_len: ::std::os::raw::c_int,
26670        mac_iterations: ::std::os::raw::c_int,
26671        md: *const EVP_MD,
26672    ) -> ::std::os::raw::c_int;
26673}
26674extern "C" {
26675    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_verify_mac"]
26676    pub fn PKCS12_verify_mac(
26677        p12: *const PKCS12,
26678        password: *const ::std::os::raw::c_char,
26679        password_len: ::std::os::raw::c_int,
26680    ) -> ::std::os::raw::c_int;
26681}
26682extern "C" {
26683    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_create"]
26684    pub fn PKCS12_create(
26685        password: *const ::std::os::raw::c_char,
26686        name: *const ::std::os::raw::c_char,
26687        pkey: *const EVP_PKEY,
26688        cert: *mut X509,
26689        chain: *const stack_st_X509,
26690        key_nid: ::std::os::raw::c_int,
26691        cert_nid: ::std::os::raw::c_int,
26692        iterations: ::std::os::raw::c_int,
26693        mac_iterations: ::std::os::raw::c_int,
26694        key_type: ::std::os::raw::c_int,
26695    ) -> *mut PKCS12;
26696}
26697extern "C" {
26698    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_new"]
26699    pub fn PKCS12_new() -> *mut PKCS12;
26700}
26701extern "C" {
26702    #[link_name = "\u{1}aws_lc_0_35_0_PKCS12_free"]
26703    pub fn PKCS12_free(p12: *mut PKCS12);
26704}
26705pub type poly1305_state = [u8; 512usize];
26706extern "C" {
26707    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_init"]
26708    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
26709}
26710extern "C" {
26711    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_update"]
26712    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
26713}
26714extern "C" {
26715    #[link_name = "\u{1}aws_lc_0_35_0_CRYPTO_poly1305_finish"]
26716    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
26717}
26718extern "C" {
26719    #[link_name = "\u{1}aws_lc_0_35_0_RAND_bytes"]
26720    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26721}
26722extern "C" {
26723    #[link_name = "\u{1}aws_lc_0_35_0_RAND_priv_bytes"]
26724    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26725}
26726extern "C" {
26727    #[link_name = "\u{1}aws_lc_0_35_0_RAND_bytes_with_user_prediction_resistance"]
26728    pub fn RAND_bytes_with_user_prediction_resistance(
26729        out: *mut u8,
26730        out_len: usize,
26731        user_pred_resistance: *const u8,
26732    ) -> ::std::os::raw::c_int;
26733}
26734extern "C" {
26735    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
26736}
26737extern "C" {
26738    #[link_name = "\u{1}aws_lc_0_35_0_RAND_pseudo_bytes"]
26739    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26740}
26741extern "C" {
26742    #[link_name = "\u{1}aws_lc_0_35_0_RAND_seed"]
26743    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
26744}
26745extern "C" {
26746    #[link_name = "\u{1}aws_lc_0_35_0_RAND_load_file"]
26747    pub fn RAND_load_file(
26748        path: *const ::std::os::raw::c_char,
26749        num: ::std::os::raw::c_long,
26750    ) -> ::std::os::raw::c_int;
26751}
26752extern "C" {
26753    #[link_name = "\u{1}aws_lc_0_35_0_RAND_write_file"]
26754    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
26755}
26756extern "C" {
26757    #[link_name = "\u{1}aws_lc_0_35_0_RAND_file_name"]
26758    pub fn RAND_file_name(
26759        buf: *mut ::std::os::raw::c_char,
26760        num: usize,
26761    ) -> *const ::std::os::raw::c_char;
26762}
26763extern "C" {
26764    #[link_name = "\u{1}aws_lc_0_35_0_RAND_add"]
26765    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
26766}
26767extern "C" {
26768    #[link_name = "\u{1}aws_lc_0_35_0_RAND_egd"]
26769    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
26770}
26771extern "C" {
26772    #[link_name = "\u{1}aws_lc_0_35_0_RAND_egd_bytes"]
26773    pub fn RAND_egd_bytes(
26774        arg1: *const ::std::os::raw::c_char,
26775        bytes: ::std::os::raw::c_int,
26776    ) -> ::std::os::raw::c_int;
26777}
26778extern "C" {
26779    #[link_name = "\u{1}aws_lc_0_35_0_RAND_poll"]
26780    pub fn RAND_poll() -> ::std::os::raw::c_int;
26781}
26782extern "C" {
26783    #[link_name = "\u{1}aws_lc_0_35_0_RAND_status"]
26784    pub fn RAND_status() -> ::std::os::raw::c_int;
26785}
26786extern "C" {
26787    #[link_name = "\u{1}aws_lc_0_35_0_RAND_cleanup"]
26788    pub fn RAND_cleanup();
26789}
26790#[repr(C)]
26791#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
26792pub struct rand_meth_st {
26793    pub seed: ::std::option::Option<
26794        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
26795    >,
26796    pub bytes: ::std::option::Option<
26797        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
26798    >,
26799    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
26800    pub add: ::std::option::Option<
26801        unsafe extern "C" fn(
26802            buf: *const ::std::os::raw::c_void,
26803            num: ::std::os::raw::c_int,
26804            entropy: f64,
26805        ),
26806    >,
26807    pub pseudorand: ::std::option::Option<
26808        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
26809    >,
26810    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
26811}
26812#[test]
26813fn bindgen_test_layout_rand_meth_st() {
26814    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
26815    let ptr = UNINIT.as_ptr();
26816    assert_eq!(
26817        ::std::mem::size_of::<rand_meth_st>(),
26818        48usize,
26819        "Size of rand_meth_st"
26820    );
26821    assert_eq!(
26822        ::std::mem::align_of::<rand_meth_st>(),
26823        8usize,
26824        "Alignment of rand_meth_st"
26825    );
26826    assert_eq!(
26827        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
26828        0usize,
26829        "Offset of field: rand_meth_st::seed"
26830    );
26831    assert_eq!(
26832        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
26833        8usize,
26834        "Offset of field: rand_meth_st::bytes"
26835    );
26836    assert_eq!(
26837        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
26838        16usize,
26839        "Offset of field: rand_meth_st::cleanup"
26840    );
26841    assert_eq!(
26842        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
26843        24usize,
26844        "Offset of field: rand_meth_st::add"
26845    );
26846    assert_eq!(
26847        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
26848        32usize,
26849        "Offset of field: rand_meth_st::pseudorand"
26850    );
26851    assert_eq!(
26852        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
26853        40usize,
26854        "Offset of field: rand_meth_st::status"
26855    );
26856}
26857extern "C" {
26858    #[link_name = "\u{1}aws_lc_0_35_0_RAND_SSLeay"]
26859    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
26860}
26861extern "C" {
26862    #[link_name = "\u{1}aws_lc_0_35_0_RAND_OpenSSL"]
26863    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
26864}
26865extern "C" {
26866    #[link_name = "\u{1}aws_lc_0_35_0_RAND_get_rand_method"]
26867    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
26868}
26869extern "C" {
26870    #[link_name = "\u{1}aws_lc_0_35_0_RAND_set_rand_method"]
26871    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
26872}
26873extern "C" {
26874    #[link_name = "\u{1}aws_lc_0_35_0_RAND_keep_random_devices_open"]
26875    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
26876}
26877#[repr(C)]
26878#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26879pub struct rc4_key_st {
26880    pub x: u32,
26881    pub y: u32,
26882    pub data: [u32; 256usize],
26883}
26884#[test]
26885fn bindgen_test_layout_rc4_key_st() {
26886    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
26887    let ptr = UNINIT.as_ptr();
26888    assert_eq!(
26889        ::std::mem::size_of::<rc4_key_st>(),
26890        1032usize,
26891        "Size of rc4_key_st"
26892    );
26893    assert_eq!(
26894        ::std::mem::align_of::<rc4_key_st>(),
26895        4usize,
26896        "Alignment of rc4_key_st"
26897    );
26898    assert_eq!(
26899        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
26900        0usize,
26901        "Offset of field: rc4_key_st::x"
26902    );
26903    assert_eq!(
26904        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
26905        4usize,
26906        "Offset of field: rc4_key_st::y"
26907    );
26908    assert_eq!(
26909        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26910        8usize,
26911        "Offset of field: rc4_key_st::data"
26912    );
26913}
26914impl Default for rc4_key_st {
26915    fn default() -> Self {
26916        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26917        unsafe {
26918            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26919            s.assume_init()
26920        }
26921    }
26922}
26923extern "C" {
26924    #[link_name = "\u{1}aws_lc_0_35_0_RC4_set_key"]
26925    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
26926}
26927extern "C" {
26928    #[link_name = "\u{1}aws_lc_0_35_0_RC4"]
26929    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
26930}
26931extern "C" {
26932    #[link_name = "\u{1}aws_lc_0_35_0_RC4_options"]
26933    pub fn RC4_options() -> *const ::std::os::raw::c_char;
26934}
26935#[repr(C)]
26936#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26937pub struct RIPEMD160state_st {
26938    pub h: [u32; 5usize],
26939    pub Nl: u32,
26940    pub Nh: u32,
26941    pub data: [u8; 64usize],
26942    pub num: ::std::os::raw::c_uint,
26943}
26944#[test]
26945fn bindgen_test_layout_RIPEMD160state_st() {
26946    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
26947    let ptr = UNINIT.as_ptr();
26948    assert_eq!(
26949        ::std::mem::size_of::<RIPEMD160state_st>(),
26950        96usize,
26951        "Size of RIPEMD160state_st"
26952    );
26953    assert_eq!(
26954        ::std::mem::align_of::<RIPEMD160state_st>(),
26955        4usize,
26956        "Alignment of RIPEMD160state_st"
26957    );
26958    assert_eq!(
26959        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
26960        0usize,
26961        "Offset of field: RIPEMD160state_st::h"
26962    );
26963    assert_eq!(
26964        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
26965        20usize,
26966        "Offset of field: RIPEMD160state_st::Nl"
26967    );
26968    assert_eq!(
26969        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
26970        24usize,
26971        "Offset of field: RIPEMD160state_st::Nh"
26972    );
26973    assert_eq!(
26974        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26975        28usize,
26976        "Offset of field: RIPEMD160state_st::data"
26977    );
26978    assert_eq!(
26979        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
26980        92usize,
26981        "Offset of field: RIPEMD160state_st::num"
26982    );
26983}
26984impl Default for RIPEMD160state_st {
26985    fn default() -> Self {
26986        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26987        unsafe {
26988            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26989            s.assume_init()
26990        }
26991    }
26992}
26993extern "C" {
26994    #[link_name = "\u{1}aws_lc_0_35_0_RIPEMD160_Init"]
26995    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
26996}
26997extern "C" {
26998    #[link_name = "\u{1}aws_lc_0_35_0_RIPEMD160_Update"]
26999    pub fn RIPEMD160_Update(
27000        ctx: *mut RIPEMD160_CTX,
27001        data: *const ::std::os::raw::c_void,
27002        len: usize,
27003    ) -> ::std::os::raw::c_int;
27004}
27005extern "C" {
27006    #[link_name = "\u{1}aws_lc_0_35_0_RIPEMD160_Final"]
27007    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
27008}
27009extern "C" {
27010    #[link_name = "\u{1}aws_lc_0_35_0_RIPEMD160"]
27011    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
27012}
27013extern "C" {
27014    #[link_name = "\u{1}aws_lc_0_35_0_SIPHASH_24"]
27015    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
27016}
27017extern "C" {
27018    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_experiment_v1"]
27019    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
27020}
27021extern "C" {
27022    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_experiment_v2_voprf"]
27023    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
27024}
27025extern "C" {
27026    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_experiment_v2_pmb"]
27027    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
27028}
27029extern "C" {
27030    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_pst_v1_voprf"]
27031    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27032}
27033extern "C" {
27034    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_pst_v1_pmb"]
27035    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27036}
27037#[repr(C)]
27038#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27039pub struct trust_token_st {
27040    pub data: *mut u8,
27041    pub len: usize,
27042}
27043#[test]
27044fn bindgen_test_layout_trust_token_st() {
27045    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
27046    let ptr = UNINIT.as_ptr();
27047    assert_eq!(
27048        ::std::mem::size_of::<trust_token_st>(),
27049        16usize,
27050        "Size of trust_token_st"
27051    );
27052    assert_eq!(
27053        ::std::mem::align_of::<trust_token_st>(),
27054        8usize,
27055        "Alignment of trust_token_st"
27056    );
27057    assert_eq!(
27058        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27059        0usize,
27060        "Offset of field: trust_token_st::data"
27061    );
27062    assert_eq!(
27063        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
27064        8usize,
27065        "Offset of field: trust_token_st::len"
27066    );
27067}
27068impl Default for trust_token_st {
27069    fn default() -> Self {
27070        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27071        unsafe {
27072            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27073            s.assume_init()
27074        }
27075    }
27076}
27077#[repr(C)]
27078#[derive(Debug, Copy, Clone)]
27079pub struct stack_st_TRUST_TOKEN {
27080    _unused: [u8; 0],
27081}
27082pub type sk_TRUST_TOKEN_free_func =
27083    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27084pub type sk_TRUST_TOKEN_copy_func =
27085    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27086pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
27087    unsafe extern "C" fn(
27088        arg1: *const *const TRUST_TOKEN,
27089        arg2: *const *const TRUST_TOKEN,
27090    ) -> ::std::os::raw::c_int,
27091>;
27092pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
27093    unsafe extern "C" fn(
27094        arg1: *mut TRUST_TOKEN,
27095        arg2: *mut ::std::os::raw::c_void,
27096    ) -> ::std::os::raw::c_int,
27097>;
27098extern "C" {
27099    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_new"]
27100    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27101}
27102extern "C" {
27103    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_free"]
27104    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27105}
27106extern "C" {
27107    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_generate_key"]
27108    pub fn TRUST_TOKEN_generate_key(
27109        method: *const TRUST_TOKEN_METHOD,
27110        out_priv_key: *mut u8,
27111        out_priv_key_len: *mut usize,
27112        max_priv_key_len: usize,
27113        out_pub_key: *mut u8,
27114        out_pub_key_len: *mut usize,
27115        max_pub_key_len: usize,
27116        id: u32,
27117    ) -> ::std::os::raw::c_int;
27118}
27119extern "C" {
27120    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_derive_key_from_secret"]
27121    pub fn TRUST_TOKEN_derive_key_from_secret(
27122        method: *const TRUST_TOKEN_METHOD,
27123        out_priv_key: *mut u8,
27124        out_priv_key_len: *mut usize,
27125        max_priv_key_len: usize,
27126        out_pub_key: *mut u8,
27127        out_pub_key_len: *mut usize,
27128        max_pub_key_len: usize,
27129        id: u32,
27130        secret: *const u8,
27131        secret_len: usize,
27132    ) -> ::std::os::raw::c_int;
27133}
27134extern "C" {
27135    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_new"]
27136    pub fn TRUST_TOKEN_CLIENT_new(
27137        method: *const TRUST_TOKEN_METHOD,
27138        max_batchsize: usize,
27139    ) -> *mut TRUST_TOKEN_CLIENT;
27140}
27141extern "C" {
27142    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_free"]
27143    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27144}
27145extern "C" {
27146    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_add_key"]
27147    pub fn TRUST_TOKEN_CLIENT_add_key(
27148        ctx: *mut TRUST_TOKEN_CLIENT,
27149        out_key_index: *mut usize,
27150        key: *const u8,
27151        key_len: usize,
27152    ) -> ::std::os::raw::c_int;
27153}
27154extern "C" {
27155    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_set_srr_key"]
27156    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27157        ctx: *mut TRUST_TOKEN_CLIENT,
27158        key: *mut EVP_PKEY,
27159    ) -> ::std::os::raw::c_int;
27160}
27161extern "C" {
27162    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_begin_issuance"]
27163    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27164        ctx: *mut TRUST_TOKEN_CLIENT,
27165        out: *mut *mut u8,
27166        out_len: *mut usize,
27167        count: usize,
27168    ) -> ::std::os::raw::c_int;
27169}
27170extern "C" {
27171    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
27172    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27173        ctx: *mut TRUST_TOKEN_CLIENT,
27174        out: *mut *mut u8,
27175        out_len: *mut usize,
27176        count: usize,
27177        msg: *const u8,
27178        msg_len: usize,
27179    ) -> ::std::os::raw::c_int;
27180}
27181extern "C" {
27182    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_finish_issuance"]
27183    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27184        ctx: *mut TRUST_TOKEN_CLIENT,
27185        out_key_index: *mut usize,
27186        response: *const u8,
27187        response_len: usize,
27188    ) -> *mut stack_st_TRUST_TOKEN;
27189}
27190extern "C" {
27191    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_begin_redemption"]
27192    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27193        ctx: *mut TRUST_TOKEN_CLIENT,
27194        out: *mut *mut u8,
27195        out_len: *mut usize,
27196        token: *const TRUST_TOKEN,
27197        data: *const u8,
27198        data_len: usize,
27199        time: u64,
27200    ) -> ::std::os::raw::c_int;
27201}
27202extern "C" {
27203    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_CLIENT_finish_redemption"]
27204    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27205        ctx: *mut TRUST_TOKEN_CLIENT,
27206        out_rr: *mut *mut u8,
27207        out_rr_len: *mut usize,
27208        out_sig: *mut *mut u8,
27209        out_sig_len: *mut usize,
27210        response: *const u8,
27211        response_len: usize,
27212    ) -> ::std::os::raw::c_int;
27213}
27214extern "C" {
27215    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_new"]
27216    pub fn TRUST_TOKEN_ISSUER_new(
27217        method: *const TRUST_TOKEN_METHOD,
27218        max_batchsize: usize,
27219    ) -> *mut TRUST_TOKEN_ISSUER;
27220}
27221extern "C" {
27222    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_free"]
27223    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27224}
27225extern "C" {
27226    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_add_key"]
27227    pub fn TRUST_TOKEN_ISSUER_add_key(
27228        ctx: *mut TRUST_TOKEN_ISSUER,
27229        key: *const u8,
27230        key_len: usize,
27231    ) -> ::std::os::raw::c_int;
27232}
27233extern "C" {
27234    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_set_srr_key"]
27235    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27236        ctx: *mut TRUST_TOKEN_ISSUER,
27237        key: *mut EVP_PKEY,
27238    ) -> ::std::os::raw::c_int;
27239}
27240extern "C" {
27241    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
27242    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
27243        ctx: *mut TRUST_TOKEN_ISSUER,
27244        key: *const u8,
27245        len: usize,
27246    ) -> ::std::os::raw::c_int;
27247}
27248extern "C" {
27249    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_issue"]
27250    pub fn TRUST_TOKEN_ISSUER_issue(
27251        ctx: *const TRUST_TOKEN_ISSUER,
27252        out: *mut *mut u8,
27253        out_len: *mut usize,
27254        out_tokens_issued: *mut usize,
27255        request: *const u8,
27256        request_len: usize,
27257        public_metadata: u32,
27258        private_metadata: u8,
27259        max_issuance: usize,
27260    ) -> ::std::os::raw::c_int;
27261}
27262extern "C" {
27263    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_redeem"]
27264    pub fn TRUST_TOKEN_ISSUER_redeem(
27265        ctx: *const TRUST_TOKEN_ISSUER,
27266        out_public: *mut u32,
27267        out_private: *mut u8,
27268        out_token: *mut *mut TRUST_TOKEN,
27269        out_client_data: *mut *mut u8,
27270        out_client_data_len: *mut usize,
27271        request: *const u8,
27272        request_len: usize,
27273    ) -> ::std::os::raw::c_int;
27274}
27275extern "C" {
27276    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
27277    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27278        ctx: *const TRUST_TOKEN_ISSUER,
27279        out_public: *mut u32,
27280        out_private: *mut u8,
27281        out_token: *mut *mut TRUST_TOKEN,
27282        out_client_data: *mut *mut u8,
27283        out_client_data_len: *mut usize,
27284        request: *const u8,
27285        request_len: usize,
27286        msg: *const u8,
27287        msg_len: usize,
27288    ) -> ::std::os::raw::c_int;
27289}
27290extern "C" {
27291    #[link_name = "\u{1}aws_lc_0_35_0_TRUST_TOKEN_decode_private_metadata"]
27292    pub fn TRUST_TOKEN_decode_private_metadata(
27293        method: *const TRUST_TOKEN_METHOD,
27294        out_value: *mut u8,
27295        key: *const u8,
27296        key_len: usize,
27297        nonce: *const u8,
27298        nonce_len: usize,
27299        encrypted_bit: u8,
27300    ) -> ::std::os::raw::c_int;
27301}
27302extern "C" {
27303    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_keygen_deterministic"]
27304    pub fn EVP_PKEY_keygen_deterministic(
27305        ctx: *mut EVP_PKEY_CTX,
27306        out_pkey: *mut *mut EVP_PKEY,
27307        seed: *const u8,
27308        seed_len: *mut usize,
27309    ) -> ::std::os::raw::c_int;
27310}
27311extern "C" {
27312    #[link_name = "\u{1}aws_lc_0_35_0_EVP_PKEY_encapsulate_deterministic"]
27313    pub fn EVP_PKEY_encapsulate_deterministic(
27314        ctx: *mut EVP_PKEY_CTX,
27315        ciphertext: *mut u8,
27316        ciphertext_len: *mut usize,
27317        shared_secret: *mut u8,
27318        shared_secret_len: *mut usize,
27319        seed: *const u8,
27320        seed_len: *mut usize,
27321    ) -> ::std::os::raw::c_int;
27322}
27323extern "C" {
27324    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_LIB_RUST"]
27325    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27326}
27327extern "C" {
27328    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_REASON_RUST"]
27329    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27330}
27331extern "C" {
27332    #[link_name = "\u{1}aws_lc_0_35_0_ERR_GET_FUNC_RUST"]
27333    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27334}
27335pub type __builtin_va_list = [__va_list_tag; 1usize];
27336#[repr(C)]
27337#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27338pub struct __va_list_tag {
27339    pub gp_offset: ::std::os::raw::c_uint,
27340    pub fp_offset: ::std::os::raw::c_uint,
27341    pub overflow_arg_area: *mut ::std::os::raw::c_void,
27342    pub reg_save_area: *mut ::std::os::raw::c_void,
27343}
27344#[test]
27345fn bindgen_test_layout___va_list_tag() {
27346    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
27347    let ptr = UNINIT.as_ptr();
27348    assert_eq!(
27349        ::std::mem::size_of::<__va_list_tag>(),
27350        24usize,
27351        "Size of __va_list_tag"
27352    );
27353    assert_eq!(
27354        ::std::mem::align_of::<__va_list_tag>(),
27355        8usize,
27356        "Alignment of __va_list_tag"
27357    );
27358    assert_eq!(
27359        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
27360        0usize,
27361        "Offset of field: __va_list_tag::gp_offset"
27362    );
27363    assert_eq!(
27364        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
27365        4usize,
27366        "Offset of field: __va_list_tag::fp_offset"
27367    );
27368    assert_eq!(
27369        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
27370        8usize,
27371        "Offset of field: __va_list_tag::overflow_arg_area"
27372    );
27373    assert_eq!(
27374        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
27375        16usize,
27376        "Offset of field: __va_list_tag::reg_save_area"
27377    );
27378}
27379impl Default for __va_list_tag {
27380    fn default() -> Self {
27381        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27382        unsafe {
27383            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27384            s.assume_init()
27385        }
27386    }
27387}
27388#[repr(C)]
27389#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27390pub struct CRYPTO_dynlock_value {
27391    pub _address: u8,
27392}