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.64.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.64.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_PKCS1_PSS_PADDING: i32 = 6;
3476pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3477pub const RSA_FLAG_OPAQUE: i32 = 1;
3478pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3479pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3480pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3481pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3482pub const RSA_3: i32 = 3;
3483pub const RSA_F4: i32 = 65537;
3484pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3485pub const RSA_R_BAD_ENCODING: i32 = 100;
3486pub const RSA_R_BAD_E_VALUE: i32 = 101;
3487pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3488pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3489pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3490pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3491pub const RSA_R_BAD_VERSION: i32 = 106;
3492pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3493pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3494pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3495pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3496pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3497pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3498pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3499pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3500pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3501pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3502pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3503pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3504pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3505pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3506pub const RSA_R_ENCODE_ERROR: i32 = 121;
3507pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3508pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3509pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3510pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3511pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3512pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3513pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3514pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3515pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3516pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3517pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3518pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3519pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3520pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3521pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3522pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3523pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3524pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3525pub const RSA_R_TOO_LONG: i32 = 140;
3526pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3527pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3528pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3529pub const RSA_R_VALUE_MISSING: i32 = 144;
3530pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3531pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3532pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3533pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3534pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3535pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3536pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3537pub const X509V3_R_BAD_OBJECT: i32 = 101;
3538pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3539pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3540pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3541pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3542pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3543pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3544pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3545pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3546pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3547pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3548pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3549pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3550pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3551pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3552pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3553pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3554pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3555pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3556pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3557pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3558pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3559pub const X509V3_R_INVALID_NAME: i32 = 123;
3560pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3561pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3562pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3563pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3564pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3565pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3566pub const X509V3_R_INVALID_OPTION: i32 = 130;
3567pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3568pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3569pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3570pub const X509V3_R_INVALID_SECTION: i32 = 134;
3571pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3572pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3573pub const X509V3_R_MISSING_VALUE: i32 = 137;
3574pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3575pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3576pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3577pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3578pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3579pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3580pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3581pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3582pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3583pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3584pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3585pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3586pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3587pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3588pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3589pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3590pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3591pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3592pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3593pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3594pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3595pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3596pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3597pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3598pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3599pub const X509V3_R_INVALID_VALUE: i32 = 163;
3600pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3601pub const X509_VERSION_1: i32 = 0;
3602pub const X509_VERSION_2: i32 = 1;
3603pub const X509_VERSION_3: i32 = 2;
3604pub const EXFLAG_BCONS: i32 = 1;
3605pub const EXFLAG_KUSAGE: i32 = 2;
3606pub const EXFLAG_XKUSAGE: i32 = 4;
3607pub const EXFLAG_NSCERT: i32 = 8;
3608pub const EXFLAG_CA: i32 = 16;
3609pub const EXFLAG_SI: i32 = 32;
3610pub const EXFLAG_V1: i32 = 64;
3611pub const EXFLAG_INVALID: i32 = 128;
3612pub const EXFLAG_SET: i32 = 256;
3613pub const EXFLAG_CRITICAL: i32 = 512;
3614pub const EXFLAG_SS: i32 = 8192;
3615pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3616pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3617pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3618pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3619pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3620pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3621pub const X509v3_KU_CRL_SIGN: i32 = 2;
3622pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3623pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3624pub const XKU_SSL_SERVER: i32 = 1;
3625pub const XKU_SSL_CLIENT: i32 = 2;
3626pub const XKU_SMIME: i32 = 4;
3627pub const XKU_CODE_SIGN: i32 = 8;
3628pub const XKU_SGC: i32 = 16;
3629pub const XKU_OCSP_SIGN: i32 = 32;
3630pub const XKU_TIMESTAMP: i32 = 64;
3631pub const XKU_DVCS: i32 = 128;
3632pub const XKU_ANYEKU: i32 = 256;
3633pub const X509_SIG_INFO_VALID: i32 = 1;
3634pub const X509_SIG_INFO_TLS: i32 = 2;
3635pub const X509_CRL_VERSION_1: i32 = 0;
3636pub const X509_CRL_VERSION_2: i32 = 1;
3637pub const X509_REQ_VERSION_1: i32 = 0;
3638pub const X509V3_ADD_OP_MASK: i32 = 15;
3639pub const X509V3_ADD_DEFAULT: i32 = 0;
3640pub const X509V3_ADD_APPEND: i32 = 1;
3641pub const X509V3_ADD_REPLACE: i32 = 2;
3642pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3643pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3644pub const X509V3_ADD_DELETE: i32 = 5;
3645pub const X509V3_ADD_SILENT: i32 = 16;
3646pub const GEN_OTHERNAME: i32 = 0;
3647pub const GEN_EMAIL: i32 = 1;
3648pub const GEN_DNS: i32 = 2;
3649pub const GEN_X400: i32 = 3;
3650pub const GEN_DIRNAME: i32 = 4;
3651pub const GEN_EDIPARTY: i32 = 5;
3652pub const GEN_URI: i32 = 6;
3653pub const GEN_IPADD: i32 = 7;
3654pub const GEN_RID: i32 = 8;
3655pub const X509_LU_NONE: i32 = 0;
3656pub const X509_LU_X509: i32 = 1;
3657pub const X509_LU_CRL: i32 = 2;
3658pub const X509_LU_PKEY: i32 = 3;
3659pub const X509_V_OK: i32 = 0;
3660pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3661pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3662pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3663pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3664pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3665pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3666pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3667pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3668pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3669pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3670pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3671pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3672pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3673pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3674pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3675pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3676pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3677pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3678pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3679pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3680pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3681pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3682pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3683pub const X509_V_ERR_INVALID_CA: i32 = 24;
3684pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3685pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3686pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3687pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3688pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3689pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3690pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3691pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3692pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3693pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3694pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3695pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3696pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3697pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3698pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3699pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3700pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3701pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3702pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3703pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3704pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3705pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3706pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3707pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3708pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3709pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3710pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3711pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3712pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3713pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3714pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3715pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3716pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3717pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3718pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3719pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3720pub const X509_V_ERR_EE_KEY_TOO_SMALL: i32 = 68;
3721pub const X509_V_ERR_CA_KEY_TOO_SMALL: i32 = 69;
3722pub const X509_V_ERR_CA_MD_TOO_WEAK: i32 = 70;
3723pub const X509_V_UNABLE_TO_GET_CERTS_PUBLIC_KEY: i32 = 71;
3724pub const X509_V_ERR_EC_KEY_EXPLICIT_PARAMS: i32 = 72;
3725pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3726pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3727pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3728pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3729pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3730pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3731pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3732pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3733pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3734pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3735pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3736pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3737pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3738pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3739pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3740pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
3741pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3742pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
3743pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3744pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 1;
3745pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3746pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 16;
3747pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3748pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3749pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3750pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3751pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3752pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3753pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3754pub const X509_PURPOSE_ANY: i32 = 7;
3755pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3756pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3757pub const X509_TRUST_COMPAT: i32 = 1;
3758pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3759pub const X509_TRUST_SSL_SERVER: i32 = 3;
3760pub const X509_TRUST_EMAIL: i32 = 4;
3761pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3762pub const X509_TRUST_OCSP_SIGN: i32 = 6;
3763pub const X509_TRUST_OCSP_REQUEST: i32 = 7;
3764pub const X509_TRUST_TSA: i32 = 8;
3765pub const X509_FILETYPE_PEM: i32 = 1;
3766pub const X509_FILETYPE_ASN1: i32 = 2;
3767pub const X509_FILETYPE_DEFAULT: i32 = 3;
3768pub const X509_L_FILE_LOAD: i32 = 1;
3769pub const X509_L_ADD_DIR: i32 = 2;
3770pub const X509_FLAG_COMPAT: i32 = 0;
3771pub const X509_FLAG_NO_HEADER: i32 = 1;
3772pub const X509_FLAG_NO_VERSION: i32 = 2;
3773pub const X509_FLAG_NO_SERIAL: i32 = 4;
3774pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3775pub const X509_FLAG_NO_ISSUER: i32 = 16;
3776pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3777pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3778pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3779pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3780pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3781pub const X509_FLAG_NO_AUX: i32 = 1024;
3782pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3783pub const X509_FLAG_NO_IDS: i32 = 4096;
3784pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3785pub const X509V3_EXT_DEFAULT: i32 = 0;
3786pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3787pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3788pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3789pub const XN_FLAG_COMPAT: i32 = 0;
3790pub const XN_FLAG_SEP_MASK: i32 = 983040;
3791pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3792pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3793pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3794pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3795pub const XN_FLAG_DN_REV: i32 = 1048576;
3796pub const XN_FLAG_FN_MASK: i32 = 6291456;
3797pub const XN_FLAG_FN_SN: i32 = 0;
3798pub const XN_FLAG_FN_LN: i32 = 2097152;
3799pub const XN_FLAG_FN_OID: i32 = 4194304;
3800pub const XN_FLAG_FN_NONE: i32 = 6291456;
3801pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3802pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3803pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
3804pub const XN_FLAG_RFC2253: i32 = 17892119;
3805pub const XN_FLAG_ONELINE: i32 = 8520479;
3806pub const XN_FLAG_MULTILINE: i32 = 44302342;
3807pub const X509_TRUST_TRUSTED: i32 = 1;
3808pub const X509_TRUST_REJECTED: i32 = 2;
3809pub const X509_TRUST_UNTRUSTED: i32 = 3;
3810pub const X509V3_EXT_MULTILINE: i32 = 4;
3811pub const X509V3_CTX_TEST: i32 = 1;
3812pub const X509V3_CTX_REPLACE: i32 = 2;
3813pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3814pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3815pub const NS_SSL_CLIENT: i32 = 128;
3816pub const NS_SSL_SERVER: i32 = 64;
3817pub const NS_SMIME: i32 = 32;
3818pub const NS_OBJSIGN: i32 = 16;
3819pub const NS_SSL_CA: i32 = 4;
3820pub const NS_SMIME_CA: i32 = 2;
3821pub const NS_OBJSIGN_CA: i32 = 1;
3822pub const NS_ANY_CA: i32 = 7;
3823pub const X509_V_FLAG_POLICY_MASK: i32 = 1920;
3824pub const X509_R_AKID_MISMATCH: i32 = 100;
3825pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3826pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3827pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3828pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3829pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3830pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3831pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3832pub const X509_R_IDP_MISMATCH: i32 = 108;
3833pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3834pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3835pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3836pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3837pub const X509_R_INVALID_TRUST: i32 = 113;
3838pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3839pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3840pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3841pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3842pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3843pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3844pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3845pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3846pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3847pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3848pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3849pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3850pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3851pub const X509_R_SHOULD_RETRY: i32 = 127;
3852pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3853pub const X509_R_UNKNOWN_NID: i32 = 129;
3854pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3855pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3856pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3857pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3858pub const X509_R_WRONG_TYPE: i32 = 134;
3859pub const X509_R_NAME_TOO_LONG: i32 = 135;
3860pub const X509_R_INVALID_PARAMETER: i32 = 136;
3861pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3862pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3863pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3864pub const X509_R_INVALID_VERSION: i32 = 140;
3865pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3866pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3867pub const X509_R_NO_CRL_FOUND: i32 = 143;
3868pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3869pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
3870pub const CRL_REASON_NONE: i32 = -1;
3871pub const CRL_REASON_UNSPECIFIED: i32 = 0;
3872pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
3873pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
3874pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
3875pub const CRL_REASON_SUPERSEDED: i32 = 4;
3876pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
3877pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
3878pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
3879pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
3880pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
3881pub const KU_DIGITAL_SIGNATURE: i32 = 128;
3882pub const KU_NON_REPUDIATION: i32 = 64;
3883pub const KU_KEY_ENCIPHERMENT: i32 = 32;
3884pub const KU_DATA_ENCIPHERMENT: i32 = 16;
3885pub const KU_KEY_AGREEMENT: i32 = 8;
3886pub const KU_KEY_CERT_SIGN: i32 = 4;
3887pub const KU_CRL_SIGN: i32 = 2;
3888pub const KU_ENCIPHER_ONLY: i32 = 1;
3889pub const KU_DECIPHER_ONLY: i32 = 32768;
3890pub const OCSP_REVOKED_STATUS_NOSTATUS: i32 = -1;
3891pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
3892pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
3893pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
3894pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
3895pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
3896pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
3897pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
3898pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
3899pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
3900pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
3901pub const OCSP_NOCERTS: i32 = 1;
3902pub const OCSP_NOINTERN: i32 = 2;
3903pub const OCSP_NOCHAIN: i32 = 8;
3904pub const OCSP_NOVERIFY: i32 = 16;
3905pub const OCSP_NOEXPLICIT: i32 = 32;
3906pub const OCSP_TRUSTOTHER: i32 = 512;
3907pub const OCSP_RESPID_KEY: i32 = 1024;
3908pub const OCSP_NOTIME: i32 = 2048;
3909pub const OCSP_NOSIGS: i32 = 0;
3910pub const OCSP_NOCASIGN: i32 = 0;
3911pub const OCSP_NODELEGATED: i32 = 0;
3912pub const OCSP_NOCHECKS: i32 = 0;
3913pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
3914pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
3915pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
3916pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
3917pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
3918pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
3919pub const V_OCSP_RESPID_NAME: i32 = 0;
3920pub const V_OCSP_RESPID_KEY: i32 = 1;
3921pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
3922pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
3923pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
3924pub const OCSP_NONCE_EQUAL: i32 = 1;
3925pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
3926pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
3927pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
3928pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
3929pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
3930pub const OCSP_R_DIGEST_ERR: i32 = 102;
3931pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
3932pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
3933pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
3934pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
3935pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
3936pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
3937pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
3938pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
3939pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
3940pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
3941pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
3942pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
3943pub const OCSP_R_UNKNOWN_NID: i32 = 120;
3944pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
3945pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
3946pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
3947pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
3948pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
3949pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
3950pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
3951pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
3952pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
3953pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
3954pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
3955pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
3956pub const PEM_BUFSIZE: i32 = 1024;
3957pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3958pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3959pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3960pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3961pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3962pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
3963pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
3964pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
3965pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
3966pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
3967pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
3968pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
3969pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
3970pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
3971pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
3972pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
3973pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
3974pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
3975pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
3976pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
3977pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
3978pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
3979pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
3980pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
3981pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
3982pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
3983pub const PEM_TYPE_ENCRYPTED: i32 = 10;
3984pub const PEM_TYPE_MIC_ONLY: i32 = 20;
3985pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
3986pub const PEM_TYPE_CLEAR: i32 = 40;
3987pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
3988pub const PEM_R_BAD_DECRYPT: i32 = 101;
3989pub const PEM_R_BAD_END_LINE: i32 = 102;
3990pub const PEM_R_BAD_IV_CHARS: i32 = 103;
3991pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
3992pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
3993pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
3994pub const PEM_R_NOT_DEK_INFO: i32 = 107;
3995pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
3996pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
3997pub const PEM_R_NO_START_LINE: i32 = 110;
3998pub const PEM_R_READ_KEY: i32 = 111;
3999pub const PEM_R_SHORT_HEADER: i32 = 112;
4000pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
4001pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
4002pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
4003pub const PKCS12_DEFAULT_ITER: i32 = 2048;
4004pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
4005pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
4006pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
4007pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
4008pub const PKCS8_R_DECODE_ERROR: i32 = 104;
4009pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
4010pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
4011pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
4012pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
4013pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
4014pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
4015pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
4016pub const PKCS8_R_MISSING_MAC: i32 = 112;
4017pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
4018pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
4019pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
4020pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
4021pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
4022pub const PKCS8_R_TOO_LONG: i32 = 118;
4023pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
4024pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
4025pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
4026pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
4027pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
4028pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
4029pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
4030pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
4031pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
4032pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
4033pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
4034pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
4035pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
4036pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
4037pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
4038pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
4039pub const RAND_PRED_RESISTANCE_LEN: i32 = 32;
4040pub const RIPEMD160_CBLOCK: i32 = 64;
4041pub const RIPEMD160_LBLOCK: i32 = 16;
4042pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
4043pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
4044pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
4045pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
4046pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
4047pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
4048pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
4049pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
4050pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
4051pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
4052pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
4053pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
4054pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
4055pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
4056pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
4057pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
4058pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
4059pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
4060pub type __off_t = ::std::os::raw::c_long;
4061pub type __off64_t = ::std::os::raw::c_long;
4062pub type __time_t = ::std::os::raw::c_long;
4063pub type time_t = __time_t;
4064pub type ossl_ssize_t = isize;
4065pub type CBS_ASN1_TAG = u32;
4066pub type CRYPTO_THREADID = ::std::os::raw::c_int;
4067#[repr(C)]
4068#[derive(Debug, Copy, Clone)]
4069pub struct asn1_null_st {
4070    _unused: [u8; 0],
4071}
4072pub type ASN1_NULL = asn1_null_st;
4073pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4074pub type ASN1_ITEM = ASN1_ITEM_st;
4075#[repr(C)]
4076#[derive(Debug, Copy, Clone)]
4077pub struct asn1_object_st {
4078    _unused: [u8; 0],
4079}
4080pub type ASN1_OBJECT = asn1_object_st;
4081#[repr(C)]
4082#[derive(Debug, Copy, Clone)]
4083pub struct asn1_pctx_st {
4084    _unused: [u8; 0],
4085}
4086pub type ASN1_PCTX = asn1_pctx_st;
4087pub type ASN1_BIT_STRING = asn1_string_st;
4088pub type ASN1_BMPSTRING = asn1_string_st;
4089pub type ASN1_ENUMERATED = asn1_string_st;
4090pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4091pub type ASN1_GENERALSTRING = asn1_string_st;
4092pub type ASN1_IA5STRING = asn1_string_st;
4093pub type ASN1_INTEGER = asn1_string_st;
4094pub type ASN1_OCTET_STRING = asn1_string_st;
4095pub type ASN1_PRINTABLESTRING = asn1_string_st;
4096pub type ASN1_STRING = asn1_string_st;
4097pub type ASN1_T61STRING = asn1_string_st;
4098pub type ASN1_TIME = asn1_string_st;
4099pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4100pub type ASN1_UTCTIME = asn1_string_st;
4101pub type ASN1_UTF8STRING = asn1_string_st;
4102pub type ASN1_VISIBLESTRING = asn1_string_st;
4103pub type ASN1_TYPE = asn1_type_st;
4104pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4105pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4106pub type DIST_POINT = DIST_POINT_st;
4107pub type DSA_SIG = DSA_SIG_st;
4108pub type GENERAL_NAME = GENERAL_NAME_st;
4109pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4110pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4111pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4112pub type NETSCAPE_SPKI = Netscape_spki_st;
4113pub type RIPEMD160_CTX = RIPEMD160state_st;
4114#[repr(C)]
4115#[derive(Debug, Copy, Clone)]
4116pub struct X509_VERIFY_PARAM_st {
4117    _unused: [u8; 0],
4118}
4119pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4120pub type X509_ALGOR = X509_algor_st;
4121#[repr(C)]
4122#[derive(Debug, Copy, Clone)]
4123pub struct X509_crl_st {
4124    _unused: [u8; 0],
4125}
4126pub type X509_CRL = X509_crl_st;
4127#[repr(C)]
4128#[derive(Debug, Copy, Clone)]
4129pub struct X509_extension_st {
4130    _unused: [u8; 0],
4131}
4132pub type X509_EXTENSION = X509_extension_st;
4133pub type X509_INFO = X509_info_st;
4134#[repr(C)]
4135#[derive(Debug, Copy, Clone)]
4136pub struct X509_name_entry_st {
4137    _unused: [u8; 0],
4138}
4139pub type X509_NAME_ENTRY = X509_name_entry_st;
4140#[repr(C)]
4141#[derive(Debug, Copy, Clone)]
4142pub struct X509_name_st {
4143    _unused: [u8; 0],
4144}
4145pub type X509_NAME = X509_name_st;
4146#[repr(C)]
4147#[derive(Debug, Copy, Clone)]
4148pub struct X509_pubkey_st {
4149    _unused: [u8; 0],
4150}
4151pub type X509_PUBKEY = X509_pubkey_st;
4152#[repr(C)]
4153#[derive(Debug, Copy, Clone)]
4154pub struct X509_req_st {
4155    _unused: [u8; 0],
4156}
4157pub type X509_REQ = X509_req_st;
4158#[repr(C)]
4159#[derive(Debug, Copy, Clone)]
4160pub struct x509_sig_info_st {
4161    _unused: [u8; 0],
4162}
4163pub type X509_SIG_INFO = x509_sig_info_st;
4164#[repr(C)]
4165#[derive(Debug, Copy, Clone)]
4166pub struct X509_sig_st {
4167    _unused: [u8; 0],
4168}
4169pub type X509_SIG = X509_sig_st;
4170#[repr(C)]
4171#[derive(Debug, Copy, Clone)]
4172pub struct bignum_ctx {
4173    _unused: [u8; 0],
4174}
4175pub type BN_CTX = bignum_ctx;
4176pub type BIGNUM = bignum_st;
4177pub type BIO_METHOD = bio_method_st;
4178pub type BIO = bio_st;
4179pub type BLAKE2B_CTX = blake2b_state_st;
4180pub type BN_GENCB = bn_gencb_st;
4181pub type BN_MONT_CTX = bn_mont_ctx_st;
4182pub type BUF_MEM = buf_mem_st;
4183#[repr(C)]
4184#[derive(Debug, Copy, Clone)]
4185pub struct cast_key_st {
4186    _unused: [u8; 0],
4187}
4188pub type CAST_KEY = cast_key_st;
4189pub type CBB = cbb_st;
4190pub type CBS = cbs_st;
4191#[repr(C)]
4192#[derive(Debug, Copy, Clone)]
4193pub struct cmac_ctx_st {
4194    _unused: [u8; 0],
4195}
4196pub type CMAC_CTX = cmac_ctx_st;
4197pub type CONF = conf_st;
4198pub type CONF_VALUE = conf_value_st;
4199#[repr(C)]
4200#[derive(Debug, Copy, Clone)]
4201pub struct crypto_buffer_pool_st {
4202    _unused: [u8; 0],
4203}
4204pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4205#[repr(C)]
4206#[derive(Debug, Copy, Clone)]
4207pub struct crypto_buffer_st {
4208    _unused: [u8; 0],
4209}
4210pub type CRYPTO_BUFFER = crypto_buffer_st;
4211#[repr(C)]
4212#[derive(Debug, Copy, Clone)]
4213pub struct ctr_drbg_state_st {
4214    _unused: [u8; 0],
4215}
4216pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4217#[repr(C)]
4218#[derive(Debug, Copy, Clone)]
4219pub struct dh_st {
4220    _unused: [u8; 0],
4221}
4222pub type DH = dh_st;
4223#[repr(C)]
4224#[derive(Debug, Copy, Clone)]
4225pub struct dsa_st {
4226    _unused: [u8; 0],
4227}
4228pub type DSA = dsa_st;
4229#[repr(C)]
4230#[derive(Debug, Copy, Clone)]
4231pub struct ec_group_st {
4232    _unused: [u8; 0],
4233}
4234pub type EC_GROUP = ec_group_st;
4235#[repr(C)]
4236#[derive(Debug, Copy, Clone)]
4237pub struct ec_key_st {
4238    _unused: [u8; 0],
4239}
4240pub type EC_KEY = ec_key_st;
4241#[repr(C)]
4242#[derive(Debug, Copy, Clone)]
4243pub struct ec_point_st {
4244    _unused: [u8; 0],
4245}
4246pub type EC_POINT = ec_point_st;
4247#[repr(C)]
4248#[derive(Debug, Copy, Clone)]
4249pub struct ec_key_method_st {
4250    _unused: [u8; 0],
4251}
4252pub type EC_KEY_METHOD = ec_key_method_st;
4253pub type ECDSA_SIG = ecdsa_sig_st;
4254#[repr(C)]
4255#[derive(Debug, Copy, Clone)]
4256pub struct engine_st {
4257    _unused: [u8; 0],
4258}
4259pub type ENGINE = engine_st;
4260pub type EVP_MD_CTX = env_md_ctx_st;
4261#[repr(C)]
4262#[derive(Debug, Copy, Clone)]
4263pub struct env_md_st {
4264    _unused: [u8; 0],
4265}
4266pub type EVP_MD = env_md_st;
4267#[repr(C)]
4268#[derive(Debug, Copy, Clone)]
4269pub struct evp_aead_st {
4270    _unused: [u8; 0],
4271}
4272pub type EVP_AEAD = evp_aead_st;
4273pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4274pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4275#[repr(C)]
4276#[derive(Debug, Copy, Clone)]
4277pub struct evp_cipher_st {
4278    _unused: [u8; 0],
4279}
4280pub type EVP_CIPHER = evp_cipher_st;
4281pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4282#[repr(C)]
4283#[derive(Debug, Copy, Clone)]
4284pub struct evp_hpke_aead_st {
4285    _unused: [u8; 0],
4286}
4287pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4288pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4289#[repr(C)]
4290#[derive(Debug, Copy, Clone)]
4291pub struct evp_hpke_kdf_st {
4292    _unused: [u8; 0],
4293}
4294pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4295#[repr(C)]
4296#[derive(Debug, Copy, Clone)]
4297pub struct evp_hpke_kem_st {
4298    _unused: [u8; 0],
4299}
4300pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4301pub type EVP_HPKE_KEY = evp_hpke_key_st;
4302#[repr(C)]
4303#[derive(Debug, Copy, Clone)]
4304pub struct evp_kem_st {
4305    _unused: [u8; 0],
4306}
4307pub type EVP_KEM = evp_kem_st;
4308#[repr(C)]
4309#[derive(Debug, Copy, Clone)]
4310pub struct kem_key_st {
4311    _unused: [u8; 0],
4312}
4313pub type KEM_KEY = kem_key_st;
4314#[repr(C)]
4315#[derive(Debug, Copy, Clone)]
4316pub struct evp_pkey_ctx_st {
4317    _unused: [u8; 0],
4318}
4319pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4320#[repr(C)]
4321#[derive(Debug, Copy, Clone)]
4322pub struct evp_pkey_asn1_method_st {
4323    _unused: [u8; 0],
4324}
4325pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4326#[repr(C)]
4327#[derive(Debug, Copy, Clone)]
4328pub struct evp_pkey_st {
4329    _unused: [u8; 0],
4330}
4331pub type EVP_PKEY = evp_pkey_st;
4332#[repr(C)]
4333#[derive(Debug, Copy, Clone)]
4334pub struct evp_pkey_ctx_signature_context_params_st {
4335    _unused: [u8; 0],
4336}
4337pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4338pub type HMAC_CTX = hmac_ctx_st;
4339pub type MD4_CTX = md4_state_st;
4340pub type MD5_CTX = md5_state_st;
4341#[repr(C)]
4342#[derive(Debug, Copy, Clone)]
4343pub struct pqdsa_key_st {
4344    _unused: [u8; 0],
4345}
4346pub type PQDSA_KEY = pqdsa_key_st;
4347#[repr(C)]
4348#[derive(Debug, Copy, Clone)]
4349pub struct ocsp_req_ctx_st {
4350    _unused: [u8; 0],
4351}
4352pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4353#[repr(C)]
4354#[derive(Debug, Copy, Clone)]
4355pub struct ossl_init_settings_st {
4356    _unused: [u8; 0],
4357}
4358pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4359#[repr(C)]
4360#[derive(Debug, Copy, Clone)]
4361pub struct pkcs7_digest_st {
4362    _unused: [u8; 0],
4363}
4364pub type PKCS7_DIGEST = pkcs7_digest_st;
4365#[repr(C)]
4366#[derive(Debug, Copy, Clone)]
4367pub struct pkcs7_enc_content_st {
4368    _unused: [u8; 0],
4369}
4370pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4371#[repr(C)]
4372#[derive(Debug, Copy, Clone)]
4373pub struct pkcs7_encrypt_st {
4374    _unused: [u8; 0],
4375}
4376pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4377pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4378pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4379pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4380pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4381pub type PKCS7_SIGNED = pkcs7_signed_st;
4382pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4383pub type PKCS7 = pkcs7_st;
4384#[repr(C)]
4385#[derive(Debug, Copy, Clone)]
4386pub struct pkcs12_st {
4387    _unused: [u8; 0],
4388}
4389pub type PKCS12 = pkcs12_st;
4390#[repr(C)]
4391#[derive(Debug, Copy, Clone)]
4392pub struct pkcs8_priv_key_info_st {
4393    _unused: [u8; 0],
4394}
4395pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4396pub type X509_PKEY = private_key_st;
4397pub type RAND_METHOD = rand_meth_st;
4398pub type RC4_KEY = rc4_key_st;
4399#[repr(C)]
4400#[derive(Debug, Copy, Clone)]
4401pub struct rsa_meth_st {
4402    _unused: [u8; 0],
4403}
4404pub type RSA_METHOD = rsa_meth_st;
4405#[repr(C)]
4406#[derive(Debug, Copy, Clone)]
4407pub struct rsassa_pss_params_st {
4408    _unused: [u8; 0],
4409}
4410pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4411pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4412#[repr(C)]
4413#[derive(Debug, Copy, Clone)]
4414pub struct rsa_st {
4415    _unused: [u8; 0],
4416}
4417pub type RSA = rsa_st;
4418pub type SHA256_CTX = sha256_state_st;
4419pub type SHA512_CTX = sha512_state_st;
4420pub type SHA_CTX = sha_state_st;
4421#[repr(C)]
4422#[derive(Debug, Copy, Clone)]
4423pub struct spake2_ctx_st {
4424    _unused: [u8; 0],
4425}
4426pub type SPAKE2_CTX = spake2_ctx_st;
4427#[repr(C)]
4428#[derive(Debug, Copy, Clone)]
4429pub struct srtp_protection_profile_st {
4430    _unused: [u8; 0],
4431}
4432pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4433#[repr(C)]
4434#[derive(Debug, Copy, Clone)]
4435pub struct ssl_cipher_st {
4436    _unused: [u8; 0],
4437}
4438pub type SSL_CIPHER = ssl_cipher_st;
4439#[repr(C)]
4440#[derive(Debug, Copy, Clone)]
4441pub struct ssl_ctx_st {
4442    _unused: [u8; 0],
4443}
4444pub type SSL_CTX = ssl_ctx_st;
4445#[repr(C)]
4446#[derive(Debug, Copy, Clone)]
4447pub struct ssl_early_callback_ctx {
4448    _unused: [u8; 0],
4449}
4450pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4451#[repr(C)]
4452#[derive(Debug, Copy, Clone)]
4453pub struct ssl_ech_keys_st {
4454    _unused: [u8; 0],
4455}
4456pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4457#[repr(C)]
4458#[derive(Debug, Copy, Clone)]
4459pub struct ssl_method_st {
4460    _unused: [u8; 0],
4461}
4462pub type SSL_METHOD = ssl_method_st;
4463#[repr(C)]
4464#[derive(Debug, Copy, Clone)]
4465pub struct ssl_private_key_method_st {
4466    _unused: [u8; 0],
4467}
4468pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4469#[repr(C)]
4470#[derive(Debug, Copy, Clone)]
4471pub struct ssl_quic_method_st {
4472    _unused: [u8; 0],
4473}
4474pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4475#[repr(C)]
4476#[derive(Debug, Copy, Clone)]
4477pub struct ssl_session_st {
4478    _unused: [u8; 0],
4479}
4480pub type SSL_SESSION = ssl_session_st;
4481#[repr(C)]
4482#[derive(Debug, Copy, Clone)]
4483pub struct ssl_st {
4484    _unused: [u8; 0],
4485}
4486pub type SSL = ssl_st;
4487#[repr(C)]
4488#[derive(Debug, Copy, Clone)]
4489pub struct ssl_ticket_aead_method_st {
4490    _unused: [u8; 0],
4491}
4492pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4493#[repr(C)]
4494#[derive(Debug, Copy, Clone)]
4495pub struct st_ERR_FNS {
4496    _unused: [u8; 0],
4497}
4498pub type ERR_FNS = st_ERR_FNS;
4499pub type TRUST_TOKEN = trust_token_st;
4500#[repr(C)]
4501#[derive(Debug, Copy, Clone)]
4502pub struct trust_token_client_st {
4503    _unused: [u8; 0],
4504}
4505pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4506#[repr(C)]
4507#[derive(Debug, Copy, Clone)]
4508pub struct trust_token_issuer_st {
4509    _unused: [u8; 0],
4510}
4511pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4512#[repr(C)]
4513#[derive(Debug, Copy, Clone)]
4514pub struct trust_token_method_st {
4515    _unused: [u8; 0],
4516}
4517pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4518pub type X509V3_CTX = v3_ext_ctx;
4519pub type X509V3_EXT_METHOD = v3_ext_method;
4520#[repr(C)]
4521#[derive(Debug, Copy, Clone)]
4522pub struct x509_attributes_st {
4523    _unused: [u8; 0],
4524}
4525pub type X509_ATTRIBUTE = x509_attributes_st;
4526#[repr(C)]
4527#[derive(Debug, Copy, Clone)]
4528pub struct x509_lookup_st {
4529    _unused: [u8; 0],
4530}
4531pub type X509_LOOKUP = x509_lookup_st;
4532#[repr(C)]
4533#[derive(Debug, Copy, Clone)]
4534pub struct x509_lookup_method_st {
4535    _unused: [u8; 0],
4536}
4537pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4538#[repr(C)]
4539#[derive(Debug, Copy, Clone)]
4540pub struct x509_object_st {
4541    _unused: [u8; 0],
4542}
4543pub type X509_OBJECT = x509_object_st;
4544#[repr(C)]
4545#[derive(Debug, Copy, Clone)]
4546pub struct x509_revoked_st {
4547    _unused: [u8; 0],
4548}
4549pub type X509_REVOKED = x509_revoked_st;
4550#[repr(C)]
4551#[derive(Debug, Copy, Clone)]
4552pub struct x509_st {
4553    _unused: [u8; 0],
4554}
4555pub type X509 = x509_st;
4556#[repr(C)]
4557#[derive(Debug, Copy, Clone)]
4558pub struct x509_store_ctx_st {
4559    _unused: [u8; 0],
4560}
4561pub type X509_STORE_CTX = x509_store_ctx_st;
4562#[repr(C)]
4563#[derive(Debug, Copy, Clone)]
4564pub struct x509_store_st {
4565    _unused: [u8; 0],
4566}
4567pub type X509_STORE = x509_store_st;
4568pub type X509_TRUST = x509_trust_st;
4569pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4570#[repr(C)]
4571#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4572pub struct aes_key_st {
4573    pub rd_key: [u32; 60usize],
4574    pub rounds: ::std::os::raw::c_uint,
4575}
4576#[test]
4577fn bindgen_test_layout_aes_key_st() {
4578    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4579    let ptr = UNINIT.as_ptr();
4580    assert_eq!(
4581        ::std::mem::size_of::<aes_key_st>(),
4582        244usize,
4583        "Size of aes_key_st"
4584    );
4585    assert_eq!(
4586        ::std::mem::align_of::<aes_key_st>(),
4587        4usize,
4588        "Alignment of aes_key_st"
4589    );
4590    assert_eq!(
4591        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4592        0usize,
4593        "Offset of field: aes_key_st::rd_key"
4594    );
4595    assert_eq!(
4596        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4597        240usize,
4598        "Offset of field: aes_key_st::rounds"
4599    );
4600}
4601impl Default for aes_key_st {
4602    fn default() -> Self {
4603        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4604        unsafe {
4605            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4606            s.assume_init()
4607        }
4608    }
4609}
4610pub type AES_KEY = aes_key_st;
4611extern "C" {
4612    #[link_name = "\u{1}aws_lc_0_33_0_AES_set_encrypt_key"]
4613    pub fn AES_set_encrypt_key(
4614        key: *const u8,
4615        bits: ::std::os::raw::c_uint,
4616        aeskey: *mut AES_KEY,
4617    ) -> ::std::os::raw::c_int;
4618}
4619extern "C" {
4620    #[link_name = "\u{1}aws_lc_0_33_0_AES_set_decrypt_key"]
4621    pub fn AES_set_decrypt_key(
4622        key: *const u8,
4623        bits: ::std::os::raw::c_uint,
4624        aeskey: *mut AES_KEY,
4625    ) -> ::std::os::raw::c_int;
4626}
4627extern "C" {
4628    #[link_name = "\u{1}aws_lc_0_33_0_AES_encrypt"]
4629    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4630}
4631extern "C" {
4632    #[link_name = "\u{1}aws_lc_0_33_0_AES_decrypt"]
4633    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4634}
4635extern "C" {
4636    #[link_name = "\u{1}aws_lc_0_33_0_AES_ctr128_encrypt"]
4637    pub fn AES_ctr128_encrypt(
4638        in_: *const u8,
4639        out: *mut u8,
4640        len: usize,
4641        key: *const AES_KEY,
4642        ivec: *mut u8,
4643        ecount_buf: *mut u8,
4644        num: *mut ::std::os::raw::c_uint,
4645    );
4646}
4647extern "C" {
4648    #[link_name = "\u{1}aws_lc_0_33_0_AES_ecb_encrypt"]
4649    pub fn AES_ecb_encrypt(
4650        in_: *const u8,
4651        out: *mut u8,
4652        key: *const AES_KEY,
4653        enc: ::std::os::raw::c_int,
4654    );
4655}
4656extern "C" {
4657    #[link_name = "\u{1}aws_lc_0_33_0_AES_cbc_encrypt"]
4658    pub fn AES_cbc_encrypt(
4659        in_: *const u8,
4660        out: *mut u8,
4661        len: usize,
4662        key: *const AES_KEY,
4663        ivec: *mut u8,
4664        enc: ::std::os::raw::c_int,
4665    );
4666}
4667extern "C" {
4668    #[link_name = "\u{1}aws_lc_0_33_0_AES_ofb128_encrypt"]
4669    pub fn AES_ofb128_encrypt(
4670        in_: *const u8,
4671        out: *mut u8,
4672        len: usize,
4673        key: *const AES_KEY,
4674        ivec: *mut u8,
4675        num: *mut ::std::os::raw::c_int,
4676    );
4677}
4678extern "C" {
4679    #[link_name = "\u{1}aws_lc_0_33_0_AES_cfb1_encrypt"]
4680    pub fn AES_cfb1_encrypt(
4681        in_: *const u8,
4682        out: *mut u8,
4683        bits: usize,
4684        key: *const AES_KEY,
4685        ivec: *mut u8,
4686        num: *mut ::std::os::raw::c_int,
4687        enc: ::std::os::raw::c_int,
4688    );
4689}
4690extern "C" {
4691    #[link_name = "\u{1}aws_lc_0_33_0_AES_cfb8_encrypt"]
4692    pub fn AES_cfb8_encrypt(
4693        in_: *const u8,
4694        out: *mut u8,
4695        len: usize,
4696        key: *const AES_KEY,
4697        ivec: *mut u8,
4698        num: *mut ::std::os::raw::c_int,
4699        enc: ::std::os::raw::c_int,
4700    );
4701}
4702extern "C" {
4703    #[link_name = "\u{1}aws_lc_0_33_0_AES_cfb128_encrypt"]
4704    pub fn AES_cfb128_encrypt(
4705        in_: *const u8,
4706        out: *mut u8,
4707        len: usize,
4708        key: *const AES_KEY,
4709        ivec: *mut u8,
4710        num: *mut ::std::os::raw::c_int,
4711        enc: ::std::os::raw::c_int,
4712    );
4713}
4714extern "C" {
4715    #[link_name = "\u{1}aws_lc_0_33_0_AES_wrap_key"]
4716    pub fn AES_wrap_key(
4717        key: *const AES_KEY,
4718        iv: *const u8,
4719        out: *mut u8,
4720        in_: *const u8,
4721        in_len: usize,
4722    ) -> ::std::os::raw::c_int;
4723}
4724extern "C" {
4725    #[link_name = "\u{1}aws_lc_0_33_0_AES_unwrap_key"]
4726    pub fn AES_unwrap_key(
4727        key: *const AES_KEY,
4728        iv: *const u8,
4729        out: *mut u8,
4730        in_: *const u8,
4731        in_len: usize,
4732    ) -> ::std::os::raw::c_int;
4733}
4734extern "C" {
4735    #[link_name = "\u{1}aws_lc_0_33_0_AES_wrap_key_padded"]
4736    pub fn AES_wrap_key_padded(
4737        key: *const AES_KEY,
4738        out: *mut u8,
4739        out_len: *mut usize,
4740        max_out: usize,
4741        in_: *const u8,
4742        in_len: usize,
4743    ) -> ::std::os::raw::c_int;
4744}
4745extern "C" {
4746    #[link_name = "\u{1}aws_lc_0_33_0_AES_unwrap_key_padded"]
4747    pub fn AES_unwrap_key_padded(
4748        key: *const AES_KEY,
4749        out: *mut u8,
4750        out_len: *mut usize,
4751        max_out: usize,
4752        in_: *const u8,
4753        in_len: usize,
4754    ) -> ::std::os::raw::c_int;
4755}
4756#[repr(C)]
4757#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4758pub struct tm {
4759    pub tm_sec: ::std::os::raw::c_int,
4760    pub tm_min: ::std::os::raw::c_int,
4761    pub tm_hour: ::std::os::raw::c_int,
4762    pub tm_mday: ::std::os::raw::c_int,
4763    pub tm_mon: ::std::os::raw::c_int,
4764    pub tm_year: ::std::os::raw::c_int,
4765    pub tm_wday: ::std::os::raw::c_int,
4766    pub tm_yday: ::std::os::raw::c_int,
4767    pub tm_isdst: ::std::os::raw::c_int,
4768    pub tm_gmtoff: ::std::os::raw::c_long,
4769    pub tm_zone: *const ::std::os::raw::c_char,
4770}
4771#[test]
4772fn bindgen_test_layout_tm() {
4773    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4774    let ptr = UNINIT.as_ptr();
4775    assert_eq!(::std::mem::size_of::<tm>(), 56usize, "Size of tm");
4776    assert_eq!(::std::mem::align_of::<tm>(), 8usize, "Alignment of tm");
4777    assert_eq!(
4778        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4779        0usize,
4780        "Offset of field: tm::tm_sec"
4781    );
4782    assert_eq!(
4783        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4784        4usize,
4785        "Offset of field: tm::tm_min"
4786    );
4787    assert_eq!(
4788        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4789        8usize,
4790        "Offset of field: tm::tm_hour"
4791    );
4792    assert_eq!(
4793        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4794        12usize,
4795        "Offset of field: tm::tm_mday"
4796    );
4797    assert_eq!(
4798        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4799        16usize,
4800        "Offset of field: tm::tm_mon"
4801    );
4802    assert_eq!(
4803        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4804        20usize,
4805        "Offset of field: tm::tm_year"
4806    );
4807    assert_eq!(
4808        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4809        24usize,
4810        "Offset of field: tm::tm_wday"
4811    );
4812    assert_eq!(
4813        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4814        28usize,
4815        "Offset of field: tm::tm_yday"
4816    );
4817    assert_eq!(
4818        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4819        32usize,
4820        "Offset of field: tm::tm_isdst"
4821    );
4822    assert_eq!(
4823        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4824        40usize,
4825        "Offset of field: tm::tm_gmtoff"
4826    );
4827    assert_eq!(
4828        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4829        48usize,
4830        "Offset of field: tm::tm_zone"
4831    );
4832}
4833impl Default for tm {
4834    fn default() -> Self {
4835        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4836        unsafe {
4837            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4838            s.assume_init()
4839        }
4840    }
4841}
4842pub type __gnuc_va_list = __builtin_va_list;
4843pub type FILE = _IO_FILE;
4844#[repr(C)]
4845#[derive(Debug, Copy, Clone)]
4846pub struct _IO_marker {
4847    _unused: [u8; 0],
4848}
4849#[repr(C)]
4850#[derive(Debug, Copy, Clone)]
4851pub struct _IO_codecvt {
4852    _unused: [u8; 0],
4853}
4854#[repr(C)]
4855#[derive(Debug, Copy, Clone)]
4856pub struct _IO_wide_data {
4857    _unused: [u8; 0],
4858}
4859pub type _IO_lock_t = ::std::os::raw::c_void;
4860#[repr(C)]
4861#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4862pub struct _IO_FILE {
4863    pub _flags: ::std::os::raw::c_int,
4864    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4865    pub _IO_read_end: *mut ::std::os::raw::c_char,
4866    pub _IO_read_base: *mut ::std::os::raw::c_char,
4867    pub _IO_write_base: *mut ::std::os::raw::c_char,
4868    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4869    pub _IO_write_end: *mut ::std::os::raw::c_char,
4870    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4871    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4872    pub _IO_save_base: *mut ::std::os::raw::c_char,
4873    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4874    pub _IO_save_end: *mut ::std::os::raw::c_char,
4875    pub _markers: *mut _IO_marker,
4876    pub _chain: *mut _IO_FILE,
4877    pub _fileno: ::std::os::raw::c_int,
4878    pub _flags2: ::std::os::raw::c_int,
4879    pub _old_offset: __off_t,
4880    pub _cur_column: ::std::os::raw::c_ushort,
4881    pub _vtable_offset: ::std::os::raw::c_schar,
4882    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4883    pub _lock: *mut _IO_lock_t,
4884    pub _offset: __off64_t,
4885    pub _codecvt: *mut _IO_codecvt,
4886    pub _wide_data: *mut _IO_wide_data,
4887    pub _freeres_list: *mut _IO_FILE,
4888    pub _freeres_buf: *mut ::std::os::raw::c_void,
4889    pub __pad5: usize,
4890    pub _mode: ::std::os::raw::c_int,
4891    pub _unused2: [::std::os::raw::c_char; 20usize],
4892}
4893#[test]
4894fn bindgen_test_layout__IO_FILE() {
4895    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4896    let ptr = UNINIT.as_ptr();
4897    assert_eq!(
4898        ::std::mem::size_of::<_IO_FILE>(),
4899        216usize,
4900        "Size of _IO_FILE"
4901    );
4902    assert_eq!(
4903        ::std::mem::align_of::<_IO_FILE>(),
4904        8usize,
4905        "Alignment of _IO_FILE"
4906    );
4907    assert_eq!(
4908        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4909        0usize,
4910        "Offset of field: _IO_FILE::_flags"
4911    );
4912    assert_eq!(
4913        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4914        8usize,
4915        "Offset of field: _IO_FILE::_IO_read_ptr"
4916    );
4917    assert_eq!(
4918        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4919        16usize,
4920        "Offset of field: _IO_FILE::_IO_read_end"
4921    );
4922    assert_eq!(
4923        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4924        24usize,
4925        "Offset of field: _IO_FILE::_IO_read_base"
4926    );
4927    assert_eq!(
4928        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4929        32usize,
4930        "Offset of field: _IO_FILE::_IO_write_base"
4931    );
4932    assert_eq!(
4933        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4934        40usize,
4935        "Offset of field: _IO_FILE::_IO_write_ptr"
4936    );
4937    assert_eq!(
4938        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4939        48usize,
4940        "Offset of field: _IO_FILE::_IO_write_end"
4941    );
4942    assert_eq!(
4943        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4944        56usize,
4945        "Offset of field: _IO_FILE::_IO_buf_base"
4946    );
4947    assert_eq!(
4948        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4949        64usize,
4950        "Offset of field: _IO_FILE::_IO_buf_end"
4951    );
4952    assert_eq!(
4953        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
4954        72usize,
4955        "Offset of field: _IO_FILE::_IO_save_base"
4956    );
4957    assert_eq!(
4958        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
4959        80usize,
4960        "Offset of field: _IO_FILE::_IO_backup_base"
4961    );
4962    assert_eq!(
4963        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
4964        88usize,
4965        "Offset of field: _IO_FILE::_IO_save_end"
4966    );
4967    assert_eq!(
4968        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
4969        96usize,
4970        "Offset of field: _IO_FILE::_markers"
4971    );
4972    assert_eq!(
4973        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
4974        104usize,
4975        "Offset of field: _IO_FILE::_chain"
4976    );
4977    assert_eq!(
4978        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
4979        112usize,
4980        "Offset of field: _IO_FILE::_fileno"
4981    );
4982    assert_eq!(
4983        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
4984        116usize,
4985        "Offset of field: _IO_FILE::_flags2"
4986    );
4987    assert_eq!(
4988        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
4989        120usize,
4990        "Offset of field: _IO_FILE::_old_offset"
4991    );
4992    assert_eq!(
4993        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
4994        128usize,
4995        "Offset of field: _IO_FILE::_cur_column"
4996    );
4997    assert_eq!(
4998        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
4999        130usize,
5000        "Offset of field: _IO_FILE::_vtable_offset"
5001    );
5002    assert_eq!(
5003        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5004        131usize,
5005        "Offset of field: _IO_FILE::_shortbuf"
5006    );
5007    assert_eq!(
5008        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5009        136usize,
5010        "Offset of field: _IO_FILE::_lock"
5011    );
5012    assert_eq!(
5013        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5014        144usize,
5015        "Offset of field: _IO_FILE::_offset"
5016    );
5017    assert_eq!(
5018        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5019        152usize,
5020        "Offset of field: _IO_FILE::_codecvt"
5021    );
5022    assert_eq!(
5023        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5024        160usize,
5025        "Offset of field: _IO_FILE::_wide_data"
5026    );
5027    assert_eq!(
5028        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5029        168usize,
5030        "Offset of field: _IO_FILE::_freeres_list"
5031    );
5032    assert_eq!(
5033        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5034        176usize,
5035        "Offset of field: _IO_FILE::_freeres_buf"
5036    );
5037    assert_eq!(
5038        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5039        184usize,
5040        "Offset of field: _IO_FILE::__pad5"
5041    );
5042    assert_eq!(
5043        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5044        192usize,
5045        "Offset of field: _IO_FILE::_mode"
5046    );
5047    assert_eq!(
5048        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5049        196usize,
5050        "Offset of field: _IO_FILE::_unused2"
5051    );
5052}
5053impl Default for _IO_FILE {
5054    fn default() -> Self {
5055        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5056        unsafe {
5057            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5058            s.assume_init()
5059        }
5060    }
5061}
5062pub type va_list = __gnuc_va_list;
5063#[repr(C)]
5064#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5065pub struct buf_mem_st {
5066    pub length: usize,
5067    pub data: *mut ::std::os::raw::c_char,
5068    pub max: usize,
5069}
5070#[test]
5071fn bindgen_test_layout_buf_mem_st() {
5072    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5073    let ptr = UNINIT.as_ptr();
5074    assert_eq!(
5075        ::std::mem::size_of::<buf_mem_st>(),
5076        24usize,
5077        "Size of buf_mem_st"
5078    );
5079    assert_eq!(
5080        ::std::mem::align_of::<buf_mem_st>(),
5081        8usize,
5082        "Alignment of buf_mem_st"
5083    );
5084    assert_eq!(
5085        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5086        0usize,
5087        "Offset of field: buf_mem_st::length"
5088    );
5089    assert_eq!(
5090        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5091        8usize,
5092        "Offset of field: buf_mem_st::data"
5093    );
5094    assert_eq!(
5095        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5096        16usize,
5097        "Offset of field: buf_mem_st::max"
5098    );
5099}
5100impl Default for buf_mem_st {
5101    fn default() -> Self {
5102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5103        unsafe {
5104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5105            s.assume_init()
5106        }
5107    }
5108}
5109extern "C" {
5110    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_new"]
5111    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5112}
5113extern "C" {
5114    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_free"]
5115    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5116}
5117extern "C" {
5118    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_reserve"]
5119    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5120}
5121extern "C" {
5122    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_grow"]
5123    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5124}
5125extern "C" {
5126    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_grow_clean"]
5127    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5128}
5129extern "C" {
5130    #[link_name = "\u{1}aws_lc_0_33_0_BUF_MEM_append"]
5131    pub fn BUF_MEM_append(
5132        buf: *mut BUF_MEM,
5133        in_: *const ::std::os::raw::c_void,
5134        len: usize,
5135    ) -> ::std::os::raw::c_int;
5136}
5137extern "C" {
5138    #[link_name = "\u{1}aws_lc_0_33_0_BUF_strdup"]
5139    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5140}
5141extern "C" {
5142    #[link_name = "\u{1}aws_lc_0_33_0_BUF_strnlen"]
5143    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5144}
5145extern "C" {
5146    #[link_name = "\u{1}aws_lc_0_33_0_BUF_strndup"]
5147    pub fn BUF_strndup(
5148        str_: *const ::std::os::raw::c_char,
5149        size: usize,
5150    ) -> *mut ::std::os::raw::c_char;
5151}
5152extern "C" {
5153    #[link_name = "\u{1}aws_lc_0_33_0_BUF_memdup"]
5154    pub fn BUF_memdup(
5155        data: *const ::std::os::raw::c_void,
5156        size: usize,
5157    ) -> *mut ::std::os::raw::c_void;
5158}
5159extern "C" {
5160    #[link_name = "\u{1}aws_lc_0_33_0_BUF_strlcpy"]
5161    pub fn BUF_strlcpy(
5162        dst: *mut ::std::os::raw::c_char,
5163        src: *const ::std::os::raw::c_char,
5164        dst_size: usize,
5165    ) -> usize;
5166}
5167extern "C" {
5168    #[link_name = "\u{1}aws_lc_0_33_0_BUF_strlcat"]
5169    pub fn BUF_strlcat(
5170        dst: *mut ::std::os::raw::c_char,
5171        src: *const ::std::os::raw::c_char,
5172        dst_size: usize,
5173    ) -> usize;
5174}
5175extern "C" {
5176    #[link_name = "\u{1}aws_lc_0_33_0_SHA1_Init"]
5177    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5178}
5179extern "C" {
5180    #[link_name = "\u{1}aws_lc_0_33_0_SHA1_Update"]
5181    pub fn SHA1_Update(
5182        sha: *mut SHA_CTX,
5183        data: *const ::std::os::raw::c_void,
5184        len: usize,
5185    ) -> ::std::os::raw::c_int;
5186}
5187extern "C" {
5188    #[link_name = "\u{1}aws_lc_0_33_0_SHA1_Final"]
5189    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5190}
5191extern "C" {
5192    #[link_name = "\u{1}aws_lc_0_33_0_SHA1"]
5193    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5194}
5195extern "C" {
5196    #[link_name = "\u{1}aws_lc_0_33_0_SHA1_Transform"]
5197    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5198}
5199#[repr(C)]
5200#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5201pub struct sha_state_st {
5202    pub h: [u32; 5usize],
5203    pub Nl: u32,
5204    pub Nh: u32,
5205    pub data: [u8; 64usize],
5206    pub num: ::std::os::raw::c_uint,
5207}
5208#[test]
5209fn bindgen_test_layout_sha_state_st() {
5210    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5211    let ptr = UNINIT.as_ptr();
5212    assert_eq!(
5213        ::std::mem::size_of::<sha_state_st>(),
5214        96usize,
5215        "Size of sha_state_st"
5216    );
5217    assert_eq!(
5218        ::std::mem::align_of::<sha_state_st>(),
5219        4usize,
5220        "Alignment of sha_state_st"
5221    );
5222    assert_eq!(
5223        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5224        0usize,
5225        "Offset of field: sha_state_st::h"
5226    );
5227    assert_eq!(
5228        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5229        20usize,
5230        "Offset of field: sha_state_st::Nl"
5231    );
5232    assert_eq!(
5233        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5234        24usize,
5235        "Offset of field: sha_state_st::Nh"
5236    );
5237    assert_eq!(
5238        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5239        28usize,
5240        "Offset of field: sha_state_st::data"
5241    );
5242    assert_eq!(
5243        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5244        92usize,
5245        "Offset of field: sha_state_st::num"
5246    );
5247}
5248impl Default for sha_state_st {
5249    fn default() -> Self {
5250        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5251        unsafe {
5252            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5253            s.assume_init()
5254        }
5255    }
5256}
5257extern "C" {
5258    #[link_name = "\u{1}aws_lc_0_33_0_SHA224_Init"]
5259    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5260}
5261extern "C" {
5262    #[link_name = "\u{1}aws_lc_0_33_0_SHA224_Update"]
5263    pub fn SHA224_Update(
5264        sha: *mut SHA256_CTX,
5265        data: *const ::std::os::raw::c_void,
5266        len: usize,
5267    ) -> ::std::os::raw::c_int;
5268}
5269extern "C" {
5270    #[link_name = "\u{1}aws_lc_0_33_0_SHA224_Final"]
5271    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5272}
5273extern "C" {
5274    #[link_name = "\u{1}aws_lc_0_33_0_SHA224"]
5275    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5276}
5277extern "C" {
5278    #[link_name = "\u{1}aws_lc_0_33_0_SHA256_Init"]
5279    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5280}
5281extern "C" {
5282    #[link_name = "\u{1}aws_lc_0_33_0_SHA256_Update"]
5283    pub fn SHA256_Update(
5284        sha: *mut SHA256_CTX,
5285        data: *const ::std::os::raw::c_void,
5286        len: usize,
5287    ) -> ::std::os::raw::c_int;
5288}
5289extern "C" {
5290    #[link_name = "\u{1}aws_lc_0_33_0_SHA256_Final"]
5291    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5292}
5293extern "C" {
5294    #[link_name = "\u{1}aws_lc_0_33_0_SHA256"]
5295    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5296}
5297extern "C" {
5298    #[link_name = "\u{1}aws_lc_0_33_0_SHA256_Transform"]
5299    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_33_0_SHA256_TransformBlocks"]
5303    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5304}
5305#[repr(C)]
5306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5307pub struct sha256_state_st {
5308    pub h: [u32; 8usize],
5309    pub Nl: u32,
5310    pub Nh: u32,
5311    pub data: [u8; 64usize],
5312    pub num: ::std::os::raw::c_uint,
5313    pub md_len: ::std::os::raw::c_uint,
5314}
5315#[test]
5316fn bindgen_test_layout_sha256_state_st() {
5317    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5318    let ptr = UNINIT.as_ptr();
5319    assert_eq!(
5320        ::std::mem::size_of::<sha256_state_st>(),
5321        112usize,
5322        "Size of sha256_state_st"
5323    );
5324    assert_eq!(
5325        ::std::mem::align_of::<sha256_state_st>(),
5326        4usize,
5327        "Alignment of sha256_state_st"
5328    );
5329    assert_eq!(
5330        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5331        0usize,
5332        "Offset of field: sha256_state_st::h"
5333    );
5334    assert_eq!(
5335        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5336        32usize,
5337        "Offset of field: sha256_state_st::Nl"
5338    );
5339    assert_eq!(
5340        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5341        36usize,
5342        "Offset of field: sha256_state_st::Nh"
5343    );
5344    assert_eq!(
5345        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5346        40usize,
5347        "Offset of field: sha256_state_st::data"
5348    );
5349    assert_eq!(
5350        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5351        104usize,
5352        "Offset of field: sha256_state_st::num"
5353    );
5354    assert_eq!(
5355        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5356        108usize,
5357        "Offset of field: sha256_state_st::md_len"
5358    );
5359}
5360impl Default for sha256_state_st {
5361    fn default() -> Self {
5362        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5363        unsafe {
5364            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5365            s.assume_init()
5366        }
5367    }
5368}
5369extern "C" {
5370    #[link_name = "\u{1}aws_lc_0_33_0_SHA384_Init"]
5371    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5372}
5373extern "C" {
5374    #[link_name = "\u{1}aws_lc_0_33_0_SHA384_Update"]
5375    pub fn SHA384_Update(
5376        sha: *mut SHA512_CTX,
5377        data: *const ::std::os::raw::c_void,
5378        len: usize,
5379    ) -> ::std::os::raw::c_int;
5380}
5381extern "C" {
5382    #[link_name = "\u{1}aws_lc_0_33_0_SHA384_Final"]
5383    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5384}
5385extern "C" {
5386    #[link_name = "\u{1}aws_lc_0_33_0_SHA384"]
5387    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5388}
5389extern "C" {
5390    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_Init"]
5391    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5392}
5393extern "C" {
5394    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_Update"]
5395    pub fn SHA512_Update(
5396        sha: *mut SHA512_CTX,
5397        data: *const ::std::os::raw::c_void,
5398        len: usize,
5399    ) -> ::std::os::raw::c_int;
5400}
5401extern "C" {
5402    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_Final"]
5403    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5404}
5405extern "C" {
5406    #[link_name = "\u{1}aws_lc_0_33_0_SHA512"]
5407    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5408}
5409extern "C" {
5410    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_Transform"]
5411    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5412}
5413#[repr(C)]
5414#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5415pub struct sha512_state_st {
5416    pub h: [u64; 8usize],
5417    pub Nl: u64,
5418    pub Nh: u64,
5419    pub p: [u8; 128usize],
5420    pub num: ::std::os::raw::c_uint,
5421    pub md_len: ::std::os::raw::c_uint,
5422}
5423#[test]
5424fn bindgen_test_layout_sha512_state_st() {
5425    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5426    let ptr = UNINIT.as_ptr();
5427    assert_eq!(
5428        ::std::mem::size_of::<sha512_state_st>(),
5429        216usize,
5430        "Size of sha512_state_st"
5431    );
5432    assert_eq!(
5433        ::std::mem::align_of::<sha512_state_st>(),
5434        8usize,
5435        "Alignment of sha512_state_st"
5436    );
5437    assert_eq!(
5438        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5439        0usize,
5440        "Offset of field: sha512_state_st::h"
5441    );
5442    assert_eq!(
5443        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5444        64usize,
5445        "Offset of field: sha512_state_st::Nl"
5446    );
5447    assert_eq!(
5448        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5449        72usize,
5450        "Offset of field: sha512_state_st::Nh"
5451    );
5452    assert_eq!(
5453        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5454        80usize,
5455        "Offset of field: sha512_state_st::p"
5456    );
5457    assert_eq!(
5458        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5459        208usize,
5460        "Offset of field: sha512_state_st::num"
5461    );
5462    assert_eq!(
5463        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5464        212usize,
5465        "Offset of field: sha512_state_st::md_len"
5466    );
5467}
5468impl Default for sha512_state_st {
5469    fn default() -> Self {
5470        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5471        unsafe {
5472            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5473            s.assume_init()
5474        }
5475    }
5476}
5477extern "C" {
5478    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_224_Init"]
5479    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5480}
5481extern "C" {
5482    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_224_Update"]
5483    pub fn SHA512_224_Update(
5484        sha: *mut SHA512_CTX,
5485        data: *const ::std::os::raw::c_void,
5486        len: usize,
5487    ) -> ::std::os::raw::c_int;
5488}
5489extern "C" {
5490    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_224_Final"]
5491    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5492}
5493extern "C" {
5494    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_224"]
5495    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5496}
5497extern "C" {
5498    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_256_Init"]
5499    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5500}
5501extern "C" {
5502    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_256_Update"]
5503    pub fn SHA512_256_Update(
5504        sha: *mut SHA512_CTX,
5505        data: *const ::std::os::raw::c_void,
5506        len: usize,
5507    ) -> ::std::os::raw::c_int;
5508}
5509extern "C" {
5510    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_256_Final"]
5511    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5512}
5513extern "C" {
5514    #[link_name = "\u{1}aws_lc_0_33_0_SHA512_256"]
5515    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5516}
5517extern "C" {
5518    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_malloc"]
5519    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5520}
5521extern "C" {
5522    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_zalloc"]
5523    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5524}
5525extern "C" {
5526    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_calloc"]
5527    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5528}
5529extern "C" {
5530    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_realloc"]
5531    pub fn OPENSSL_realloc(
5532        ptr: *mut ::std::os::raw::c_void,
5533        new_size: usize,
5534    ) -> *mut ::std::os::raw::c_void;
5535}
5536extern "C" {
5537    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_free"]
5538    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5539}
5540extern "C" {
5541    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_cleanse"]
5542    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5543}
5544extern "C" {
5545    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_memcmp"]
5546    pub fn CRYPTO_memcmp(
5547        a: *const ::std::os::raw::c_void,
5548        b: *const ::std::os::raw::c_void,
5549        len: usize,
5550    ) -> ::std::os::raw::c_int;
5551}
5552extern "C" {
5553    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_hash32"]
5554    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
5555}
5556extern "C" {
5557    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strhash"]
5558    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
5559}
5560extern "C" {
5561    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strdup"]
5562    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5563}
5564extern "C" {
5565    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strnlen"]
5566    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
5567}
5568extern "C" {
5569    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_isalpha"]
5570    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5571}
5572extern "C" {
5573    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_isdigit"]
5574    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5575}
5576extern "C" {
5577    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_isxdigit"]
5578    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5579}
5580extern "C" {
5581    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_fromxdigit"]
5582    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5583}
5584extern "C" {
5585    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_hexstr2buf"]
5586    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
5587}
5588extern "C" {
5589    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_isalnum"]
5590    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5591}
5592extern "C" {
5593    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_tolower"]
5594    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5595}
5596extern "C" {
5597    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_isspace"]
5598    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5599}
5600extern "C" {
5601    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strcasecmp"]
5602    pub fn OPENSSL_strcasecmp(
5603        a: *const ::std::os::raw::c_char,
5604        b: *const ::std::os::raw::c_char,
5605    ) -> ::std::os::raw::c_int;
5606}
5607extern "C" {
5608    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strncasecmp"]
5609    pub fn OPENSSL_strncasecmp(
5610        a: *const ::std::os::raw::c_char,
5611        b: *const ::std::os::raw::c_char,
5612        n: usize,
5613    ) -> ::std::os::raw::c_int;
5614}
5615extern "C" {
5616    #[link_name = "\u{1}aws_lc_0_33_0_BIO_snprintf"]
5617    pub fn BIO_snprintf(
5618        buf: *mut ::std::os::raw::c_char,
5619        n: usize,
5620        format: *const ::std::os::raw::c_char,
5621        ...
5622    ) -> ::std::os::raw::c_int;
5623}
5624extern "C" {
5625    #[link_name = "\u{1}aws_lc_0_33_0_BIO_vsnprintf"]
5626    pub fn BIO_vsnprintf(
5627        buf: *mut ::std::os::raw::c_char,
5628        n: usize,
5629        format: *const ::std::os::raw::c_char,
5630        args: *mut __va_list_tag,
5631    ) -> ::std::os::raw::c_int;
5632}
5633extern "C" {
5634    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_vasprintf"]
5635    pub fn OPENSSL_vasprintf(
5636        str_: *mut *mut ::std::os::raw::c_char,
5637        format: *const ::std::os::raw::c_char,
5638        args: *mut __va_list_tag,
5639    ) -> ::std::os::raw::c_int;
5640}
5641extern "C" {
5642    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_asprintf"]
5643    pub fn OPENSSL_asprintf(
5644        str_: *mut *mut ::std::os::raw::c_char,
5645        format: *const ::std::os::raw::c_char,
5646        ...
5647    ) -> ::std::os::raw::c_int;
5648}
5649extern "C" {
5650    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strndup"]
5651    pub fn OPENSSL_strndup(
5652        str_: *const ::std::os::raw::c_char,
5653        size: usize,
5654    ) -> *mut ::std::os::raw::c_char;
5655}
5656extern "C" {
5657    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_memdup"]
5658    pub fn OPENSSL_memdup(
5659        data: *const ::std::os::raw::c_void,
5660        size: usize,
5661    ) -> *mut ::std::os::raw::c_void;
5662}
5663extern "C" {
5664    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strlcpy"]
5665    pub fn OPENSSL_strlcpy(
5666        dst: *mut ::std::os::raw::c_char,
5667        src: *const ::std::os::raw::c_char,
5668        dst_size: usize,
5669    ) -> usize;
5670}
5671extern "C" {
5672    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_strlcat"]
5673    pub fn OPENSSL_strlcat(
5674        dst: *mut ::std::os::raw::c_char,
5675        src: *const ::std::os::raw::c_char,
5676        dst_size: usize,
5677    ) -> usize;
5678}
5679extern "C" {
5680    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_malloc"]
5681    pub fn CRYPTO_malloc(
5682        size: usize,
5683        file: *const ::std::os::raw::c_char,
5684        line: ::std::os::raw::c_int,
5685    ) -> *mut ::std::os::raw::c_void;
5686}
5687extern "C" {
5688    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_realloc"]
5689    pub fn CRYPTO_realloc(
5690        ptr: *mut ::std::os::raw::c_void,
5691        new_size: usize,
5692        file: *const ::std::os::raw::c_char,
5693        line: ::std::os::raw::c_int,
5694    ) -> *mut ::std::os::raw::c_void;
5695}
5696extern "C" {
5697    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_free"]
5698    pub fn CRYPTO_free(
5699        ptr: *mut ::std::os::raw::c_void,
5700        file: *const ::std::os::raw::c_char,
5701        line: ::std::os::raw::c_int,
5702    );
5703}
5704extern "C" {
5705    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_clear_free"]
5706    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5707}
5708extern "C" {
5709    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_mem_functions"]
5710    pub fn CRYPTO_set_mem_functions(
5711        m: ::std::option::Option<
5712            unsafe extern "C" fn(
5713                arg1: usize,
5714                arg2: *const ::std::os::raw::c_char,
5715                arg3: ::std::os::raw::c_int,
5716            ) -> *mut ::std::os::raw::c_void,
5717        >,
5718        r: ::std::option::Option<
5719            unsafe extern "C" fn(
5720                arg1: *mut ::std::os::raw::c_void,
5721                arg2: usize,
5722                arg3: *const ::std::os::raw::c_char,
5723                arg4: ::std::os::raw::c_int,
5724            ) -> *mut ::std::os::raw::c_void,
5725        >,
5726        f: ::std::option::Option<
5727            unsafe extern "C" fn(
5728                arg1: *mut ::std::os::raw::c_void,
5729                arg2: *const ::std::os::raw::c_char,
5730                arg3: ::std::os::raw::c_int,
5731            ),
5732        >,
5733    ) -> ::std::os::raw::c_int;
5734}
5735extern "C" {
5736    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_secure_malloc_init"]
5737    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
5738}
5739extern "C" {
5740    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_secure_malloc_initialized"]
5741    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
5742}
5743extern "C" {
5744    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_secure_used"]
5745    pub fn CRYPTO_secure_used() -> usize;
5746}
5747extern "C" {
5748    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_secure_malloc"]
5749    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5750}
5751extern "C" {
5752    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_secure_zalloc"]
5753    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5754}
5755extern "C" {
5756    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_secure_clear_free"]
5757    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5758}
5759#[repr(C)]
5760#[derive(Copy, Clone)]
5761pub union crypto_mutex_st {
5762    pub alignment: f64,
5763    pub padding: [u8; 56usize],
5764}
5765#[test]
5766fn bindgen_test_layout_crypto_mutex_st() {
5767    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
5768    let ptr = UNINIT.as_ptr();
5769    assert_eq!(
5770        ::std::mem::size_of::<crypto_mutex_st>(),
5771        56usize,
5772        "Size of crypto_mutex_st"
5773    );
5774    assert_eq!(
5775        ::std::mem::align_of::<crypto_mutex_st>(),
5776        8usize,
5777        "Alignment of crypto_mutex_st"
5778    );
5779    assert_eq!(
5780        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
5781        0usize,
5782        "Offset of field: crypto_mutex_st::alignment"
5783    );
5784    assert_eq!(
5785        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
5786        0usize,
5787        "Offset of field: crypto_mutex_st::padding"
5788    );
5789}
5790impl Default for crypto_mutex_st {
5791    fn default() -> Self {
5792        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5793        unsafe {
5794            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5795            s.assume_init()
5796        }
5797    }
5798}
5799pub type CRYPTO_MUTEX = crypto_mutex_st;
5800pub type CRYPTO_refcount_t = u32;
5801extern "C" {
5802    #[link_name = "\u{1}aws_lc_0_33_0_AWSLC_thread_local_clear"]
5803    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
5804}
5805extern "C" {
5806    #[link_name = "\u{1}aws_lc_0_33_0_AWSLC_thread_local_shutdown"]
5807    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
5808}
5809extern "C" {
5810    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_num_locks"]
5811    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
5812}
5813extern "C" {
5814    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_locking_callback"]
5815    pub fn CRYPTO_set_locking_callback(
5816        func: ::std::option::Option<
5817            unsafe extern "C" fn(
5818                mode: ::std::os::raw::c_int,
5819                lock_num: ::std::os::raw::c_int,
5820                file: *const ::std::os::raw::c_char,
5821                line: ::std::os::raw::c_int,
5822            ),
5823        >,
5824    );
5825}
5826extern "C" {
5827    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_add_lock_callback"]
5828    pub fn CRYPTO_set_add_lock_callback(
5829        func: ::std::option::Option<
5830            unsafe extern "C" fn(
5831                num: *mut ::std::os::raw::c_int,
5832                amount: ::std::os::raw::c_int,
5833                lock_num: ::std::os::raw::c_int,
5834                file: *const ::std::os::raw::c_char,
5835                line: ::std::os::raw::c_int,
5836            ) -> ::std::os::raw::c_int,
5837        >,
5838    );
5839}
5840extern "C" {
5841    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_get_locking_callback"]
5842    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
5843        unsafe extern "C" fn(
5844            arg1: ::std::os::raw::c_int,
5845            arg2: ::std::os::raw::c_int,
5846            arg3: *const ::std::os::raw::c_char,
5847            arg4: ::std::os::raw::c_int,
5848        ),
5849    >;
5850}
5851extern "C" {
5852    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_get_lock_name"]
5853    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5854}
5855extern "C" {
5856    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_THREADID_set_callback"]
5857    pub fn CRYPTO_THREADID_set_callback(
5858        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
5859    ) -> ::std::os::raw::c_int;
5860}
5861extern "C" {
5862    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_THREADID_set_numeric"]
5863    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
5864}
5865extern "C" {
5866    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_THREADID_set_pointer"]
5867    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
5868}
5869extern "C" {
5870    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_THREADID_current"]
5871    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
5872}
5873extern "C" {
5874    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_id_callback"]
5875    pub fn CRYPTO_set_id_callback(
5876        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
5877    );
5878}
5879#[repr(C)]
5880#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5881pub struct CRYPTO_dynlock {
5882    pub references: ::std::os::raw::c_int,
5883    pub data: *mut CRYPTO_dynlock_value,
5884}
5885#[test]
5886fn bindgen_test_layout_CRYPTO_dynlock() {
5887    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
5888    let ptr = UNINIT.as_ptr();
5889    assert_eq!(
5890        ::std::mem::size_of::<CRYPTO_dynlock>(),
5891        16usize,
5892        "Size of CRYPTO_dynlock"
5893    );
5894    assert_eq!(
5895        ::std::mem::align_of::<CRYPTO_dynlock>(),
5896        8usize,
5897        "Alignment of CRYPTO_dynlock"
5898    );
5899    assert_eq!(
5900        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5901        0usize,
5902        "Offset of field: CRYPTO_dynlock::references"
5903    );
5904    assert_eq!(
5905        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5906        8usize,
5907        "Offset of field: CRYPTO_dynlock::data"
5908    );
5909}
5910impl Default for CRYPTO_dynlock {
5911    fn default() -> Self {
5912        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5913        unsafe {
5914            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5915            s.assume_init()
5916        }
5917    }
5918}
5919extern "C" {
5920    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_dynlock_create_callback"]
5921    pub fn CRYPTO_set_dynlock_create_callback(
5922        dyn_create_function: ::std::option::Option<
5923            unsafe extern "C" fn(
5924                file: *const ::std::os::raw::c_char,
5925                line: ::std::os::raw::c_int,
5926            ) -> *mut CRYPTO_dynlock_value,
5927        >,
5928    );
5929}
5930extern "C" {
5931    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_dynlock_lock_callback"]
5932    pub fn CRYPTO_set_dynlock_lock_callback(
5933        dyn_lock_function: ::std::option::Option<
5934            unsafe extern "C" fn(
5935                mode: ::std::os::raw::c_int,
5936                l: *mut CRYPTO_dynlock_value,
5937                file: *const ::std::os::raw::c_char,
5938                line: ::std::os::raw::c_int,
5939            ),
5940        >,
5941    );
5942}
5943extern "C" {
5944    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_set_dynlock_destroy_callback"]
5945    pub fn CRYPTO_set_dynlock_destroy_callback(
5946        dyn_destroy_function: ::std::option::Option<
5947            unsafe extern "C" fn(
5948                l: *mut CRYPTO_dynlock_value,
5949                file: *const ::std::os::raw::c_char,
5950                line: ::std::os::raw::c_int,
5951            ),
5952        >,
5953    );
5954}
5955extern "C" {
5956    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_get_dynlock_create_callback"]
5957    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
5958        unsafe extern "C" fn(
5959            arg1: *const ::std::os::raw::c_char,
5960            arg2: ::std::os::raw::c_int,
5961        ) -> *mut CRYPTO_dynlock_value,
5962    >;
5963}
5964extern "C" {
5965    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_get_dynlock_lock_callback"]
5966    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
5967        unsafe extern "C" fn(
5968            arg1: ::std::os::raw::c_int,
5969            arg2: *mut CRYPTO_dynlock_value,
5970            arg3: *const ::std::os::raw::c_char,
5971            arg4: ::std::os::raw::c_int,
5972        ),
5973    >;
5974}
5975extern "C" {
5976    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_get_dynlock_destroy_callback"]
5977    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
5978        unsafe extern "C" fn(
5979            arg1: *mut CRYPTO_dynlock_value,
5980            arg2: *const ::std::os::raw::c_char,
5981            arg3: ::std::os::raw::c_int,
5982        ),
5983    >;
5984}
5985extern "C" {
5986    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_library_init"]
5987    pub fn CRYPTO_library_init();
5988}
5989extern "C" {
5990    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_is_confidential_build"]
5991    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
5992}
5993extern "C" {
5994    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_has_asm"]
5995    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
5996}
5997extern "C" {
5998    #[link_name = "\u{1}aws_lc_0_33_0_BORINGSSL_self_test"]
5999    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6000}
6001extern "C" {
6002    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6003}
6004extern "C" {
6005    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_pre_sandbox_init"]
6006    pub fn CRYPTO_pre_sandbox_init();
6007}
6008extern "C" {
6009    #[link_name = "\u{1}aws_lc_0_33_0_FIPS_mode"]
6010    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6011}
6012extern "C" {
6013    #[link_name = "\u{1}aws_lc_0_33_0_FIPS_is_entropy_cpu_jitter"]
6014    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6015}
6016pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
6017pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
6018pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
6019pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
6020pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
6021pub type fips_counter_t = ::std::os::raw::c_uint;
6022extern "C" {
6023    #[link_name = "\u{1}aws_lc_0_33_0_FIPS_read_counter"]
6024    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
6025}
6026extern "C" {
6027    #[link_name = "\u{1}aws_lc_0_33_0_OpenSSL_version"]
6028    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6029}
6030extern "C" {
6031    #[link_name = "\u{1}aws_lc_0_33_0_SSLeay_version"]
6032    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6033}
6034extern "C" {
6035    #[link_name = "\u{1}aws_lc_0_33_0_SSLeay"]
6036    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6037}
6038extern "C" {
6039    #[link_name = "\u{1}aws_lc_0_33_0_OpenSSL_version_num"]
6040    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6041}
6042extern "C" {
6043    #[link_name = "\u{1}aws_lc_0_33_0_awslc_api_version_num"]
6044    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6045}
6046extern "C" {
6047    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_malloc_init"]
6048    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6049}
6050extern "C" {
6051    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_malloc_init"]
6052    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6053}
6054extern "C" {
6055    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_load_builtin_engines"]
6056    pub fn ENGINE_load_builtin_engines();
6057}
6058extern "C" {
6059    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_register_all_ciphers"]
6060    pub fn ENGINE_register_all_ciphers();
6061}
6062extern "C" {
6063    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_register_all_digests"]
6064    pub fn ENGINE_register_all_digests();
6065}
6066extern "C" {
6067    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_register_all_complete"]
6068    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6069}
6070extern "C" {
6071    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_load_builtin_modules"]
6072    pub fn OPENSSL_load_builtin_modules();
6073}
6074extern "C" {
6075    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_init_crypto"]
6076    pub fn OPENSSL_init_crypto(
6077        opts: u64,
6078        settings: *const OPENSSL_INIT_SETTINGS,
6079    ) -> ::std::os::raw::c_int;
6080}
6081extern "C" {
6082    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_init"]
6083    pub fn OPENSSL_init();
6084}
6085extern "C" {
6086    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_cleanup"]
6087    pub fn OPENSSL_cleanup();
6088}
6089extern "C" {
6090    #[link_name = "\u{1}aws_lc_0_33_0_FIPS_mode_set"]
6091    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6092}
6093extern "C" {
6094    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_mem_ctrl"]
6095    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6096}
6097extern "C" {
6098    #[link_name = "\u{1}aws_lc_0_33_0_ERR_load_BIO_strings"]
6099    pub fn ERR_load_BIO_strings();
6100}
6101extern "C" {
6102    #[link_name = "\u{1}aws_lc_0_33_0_ERR_load_ERR_strings"]
6103    pub fn ERR_load_ERR_strings();
6104}
6105extern "C" {
6106    #[link_name = "\u{1}aws_lc_0_33_0_ERR_load_CRYPTO_strings"]
6107    pub fn ERR_load_CRYPTO_strings();
6108}
6109extern "C" {
6110    #[link_name = "\u{1}aws_lc_0_33_0_ERR_load_crypto_strings"]
6111    pub fn ERR_load_crypto_strings();
6112}
6113extern "C" {
6114    #[link_name = "\u{1}aws_lc_0_33_0_ERR_load_RAND_strings"]
6115    pub fn ERR_load_RAND_strings();
6116}
6117extern "C" {
6118    #[link_name = "\u{1}aws_lc_0_33_0_ERR_free_strings"]
6119    pub fn ERR_free_strings();
6120}
6121extern "C" {
6122    #[link_name = "\u{1}aws_lc_0_33_0_ERR_get_error"]
6123    pub fn ERR_get_error() -> u32;
6124}
6125extern "C" {
6126    #[link_name = "\u{1}aws_lc_0_33_0_ERR_get_error_line"]
6127    pub fn ERR_get_error_line(
6128        file: *mut *const ::std::os::raw::c_char,
6129        line: *mut ::std::os::raw::c_int,
6130    ) -> u32;
6131}
6132extern "C" {
6133    #[link_name = "\u{1}aws_lc_0_33_0_ERR_get_error_line_data"]
6134    pub fn ERR_get_error_line_data(
6135        file: *mut *const ::std::os::raw::c_char,
6136        line: *mut ::std::os::raw::c_int,
6137        data: *mut *const ::std::os::raw::c_char,
6138        flags: *mut ::std::os::raw::c_int,
6139    ) -> u32;
6140}
6141extern "C" {
6142    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_error"]
6143    pub fn ERR_peek_error() -> u32;
6144}
6145extern "C" {
6146    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_error_line"]
6147    pub fn ERR_peek_error_line(
6148        file: *mut *const ::std::os::raw::c_char,
6149        line: *mut ::std::os::raw::c_int,
6150    ) -> u32;
6151}
6152extern "C" {
6153    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_error_line_data"]
6154    pub fn ERR_peek_error_line_data(
6155        file: *mut *const ::std::os::raw::c_char,
6156        line: *mut ::std::os::raw::c_int,
6157        data: *mut *const ::std::os::raw::c_char,
6158        flags: *mut ::std::os::raw::c_int,
6159    ) -> u32;
6160}
6161extern "C" {
6162    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_last_error"]
6163    pub fn ERR_peek_last_error() -> u32;
6164}
6165extern "C" {
6166    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_last_error_line"]
6167    pub fn ERR_peek_last_error_line(
6168        file: *mut *const ::std::os::raw::c_char,
6169        line: *mut ::std::os::raw::c_int,
6170    ) -> u32;
6171}
6172extern "C" {
6173    #[link_name = "\u{1}aws_lc_0_33_0_ERR_peek_last_error_line_data"]
6174    pub fn ERR_peek_last_error_line_data(
6175        file: *mut *const ::std::os::raw::c_char,
6176        line: *mut ::std::os::raw::c_int,
6177        data: *mut *const ::std::os::raw::c_char,
6178        flags: *mut ::std::os::raw::c_int,
6179    ) -> u32;
6180}
6181extern "C" {
6182    #[link_name = "\u{1}aws_lc_0_33_0_ERR_error_string_n"]
6183    pub fn ERR_error_string_n(
6184        packed_error: u32,
6185        buf: *mut ::std::os::raw::c_char,
6186        len: usize,
6187    ) -> *mut ::std::os::raw::c_char;
6188}
6189extern "C" {
6190    #[link_name = "\u{1}aws_lc_0_33_0_ERR_lib_error_string"]
6191    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6192}
6193extern "C" {
6194    #[link_name = "\u{1}aws_lc_0_33_0_ERR_reason_error_string"]
6195    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6196}
6197pub type ERR_print_errors_callback_t = ::std::option::Option<
6198    unsafe extern "C" fn(
6199        str_: *const ::std::os::raw::c_char,
6200        len: usize,
6201        ctx: *mut ::std::os::raw::c_void,
6202    ) -> ::std::os::raw::c_int,
6203>;
6204extern "C" {
6205    #[link_name = "\u{1}aws_lc_0_33_0_ERR_print_errors_cb"]
6206    pub fn ERR_print_errors_cb(
6207        callback: ERR_print_errors_callback_t,
6208        ctx: *mut ::std::os::raw::c_void,
6209    );
6210}
6211extern "C" {
6212    #[link_name = "\u{1}aws_lc_0_33_0_ERR_print_errors_fp"]
6213    pub fn ERR_print_errors_fp(file: *mut FILE);
6214}
6215extern "C" {
6216    #[link_name = "\u{1}aws_lc_0_33_0_ERR_clear_error"]
6217    pub fn ERR_clear_error();
6218}
6219extern "C" {
6220    #[link_name = "\u{1}aws_lc_0_33_0_ERR_set_mark"]
6221    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6222}
6223extern "C" {
6224    #[link_name = "\u{1}aws_lc_0_33_0_ERR_pop_to_mark"]
6225    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6226}
6227extern "C" {
6228    #[link_name = "\u{1}aws_lc_0_33_0_ERR_get_next_error_library"]
6229    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6230}
6231extern "C" {
6232    #[link_name = "\u{1}aws_lc_0_33_0_ERR_remove_state"]
6233    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6234}
6235extern "C" {
6236    #[link_name = "\u{1}aws_lc_0_33_0_ERR_remove_thread_state"]
6237    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6238}
6239extern "C" {
6240    #[link_name = "\u{1}aws_lc_0_33_0_ERR_func_error_string"]
6241    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6242}
6243extern "C" {
6244    #[link_name = "\u{1}aws_lc_0_33_0_ERR_error_string"]
6245    pub fn ERR_error_string(
6246        packed_error: u32,
6247        buf: *mut ::std::os::raw::c_char,
6248    ) -> *mut ::std::os::raw::c_char;
6249}
6250extern "C" {
6251    #[link_name = "\u{1}aws_lc_0_33_0_ERR_clear_system_error"]
6252    pub fn ERR_clear_system_error();
6253}
6254extern "C" {
6255    #[link_name = "\u{1}aws_lc_0_33_0_ERR_put_error"]
6256    pub fn ERR_put_error(
6257        library: ::std::os::raw::c_int,
6258        unused: ::std::os::raw::c_int,
6259        reason: ::std::os::raw::c_int,
6260        file: *const ::std::os::raw::c_char,
6261        line: ::std::os::raw::c_uint,
6262    );
6263}
6264extern "C" {
6265    #[link_name = "\u{1}aws_lc_0_33_0_ERR_add_error_data"]
6266    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6267}
6268extern "C" {
6269    #[link_name = "\u{1}aws_lc_0_33_0_ERR_add_error_dataf"]
6270    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6271}
6272extern "C" {
6273    #[link_name = "\u{1}aws_lc_0_33_0_ERR_set_error_data"]
6274    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6275}
6276pub type OPENSSL_sk_free_func =
6277    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6278pub type OPENSSL_sk_copy_func = ::std::option::Option<
6279    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6280>;
6281pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6282    unsafe extern "C" fn(
6283        a: *const *const ::std::os::raw::c_void,
6284        b: *const *const ::std::os::raw::c_void,
6285    ) -> ::std::os::raw::c_int,
6286>;
6287pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6288    unsafe extern "C" fn(
6289        obj: *mut ::std::os::raw::c_void,
6290        data: *mut ::std::os::raw::c_void,
6291    ) -> ::std::os::raw::c_int,
6292>;
6293pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6294    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6295>;
6296pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6297    unsafe extern "C" fn(
6298        arg1: OPENSSL_sk_copy_func,
6299        arg2: *const ::std::os::raw::c_void,
6300    ) -> *mut ::std::os::raw::c_void,
6301>;
6302pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6303    unsafe extern "C" fn(
6304        arg1: OPENSSL_sk_cmp_func,
6305        arg2: *const ::std::os::raw::c_void,
6306        arg3: *const ::std::os::raw::c_void,
6307    ) -> ::std::os::raw::c_int,
6308>;
6309pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6310    unsafe extern "C" fn(
6311        arg1: OPENSSL_sk_delete_if_func,
6312        arg2: *mut ::std::os::raw::c_void,
6313        arg3: *mut ::std::os::raw::c_void,
6314    ) -> ::std::os::raw::c_int,
6315>;
6316#[repr(C)]
6317#[derive(Debug, Copy, Clone)]
6318pub struct stack_st {
6319    _unused: [u8; 0],
6320}
6321pub type OPENSSL_STACK = stack_st;
6322extern "C" {
6323    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_new"]
6324    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6325}
6326extern "C" {
6327    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_new_null"]
6328    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6329}
6330extern "C" {
6331    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_num"]
6332    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6333}
6334extern "C" {
6335    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_zero"]
6336    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6337}
6338extern "C" {
6339    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_value"]
6340    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6341}
6342extern "C" {
6343    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_set"]
6344    pub fn OPENSSL_sk_set(
6345        sk: *mut OPENSSL_STACK,
6346        i: usize,
6347        p: *mut ::std::os::raw::c_void,
6348    ) -> *mut ::std::os::raw::c_void;
6349}
6350extern "C" {
6351    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_free"]
6352    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6353}
6354extern "C" {
6355    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_pop_free_ex"]
6356    pub fn OPENSSL_sk_pop_free_ex(
6357        sk: *mut OPENSSL_STACK,
6358        call_free_func: OPENSSL_sk_call_free_func,
6359        free_func: OPENSSL_sk_free_func,
6360    );
6361}
6362extern "C" {
6363    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_insert"]
6364    pub fn OPENSSL_sk_insert(
6365        sk: *mut OPENSSL_STACK,
6366        p: *mut ::std::os::raw::c_void,
6367        where_: usize,
6368    ) -> usize;
6369}
6370extern "C" {
6371    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_delete"]
6372    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6373}
6374extern "C" {
6375    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_delete_ptr"]
6376    pub fn OPENSSL_sk_delete_ptr(
6377        sk: *mut OPENSSL_STACK,
6378        p: *const ::std::os::raw::c_void,
6379    ) -> *mut ::std::os::raw::c_void;
6380}
6381extern "C" {
6382    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_delete_if"]
6383    pub fn OPENSSL_sk_delete_if(
6384        sk: *mut OPENSSL_STACK,
6385        call_func: OPENSSL_sk_call_delete_if_func,
6386        func: OPENSSL_sk_delete_if_func,
6387        data: *mut ::std::os::raw::c_void,
6388    );
6389}
6390extern "C" {
6391    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_find"]
6392    pub fn OPENSSL_sk_find(
6393        sk: *const OPENSSL_STACK,
6394        out_index: *mut usize,
6395        p: *const ::std::os::raw::c_void,
6396        call_cmp_func: OPENSSL_sk_call_cmp_func,
6397    ) -> ::std::os::raw::c_int;
6398}
6399extern "C" {
6400    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_unshift"]
6401    pub fn OPENSSL_sk_unshift(
6402        sk: *mut OPENSSL_STACK,
6403        data: *mut ::std::os::raw::c_void,
6404    ) -> ::std::os::raw::c_int;
6405}
6406extern "C" {
6407    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_shift"]
6408    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6409}
6410extern "C" {
6411    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_push"]
6412    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6413}
6414extern "C" {
6415    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_pop"]
6416    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6417}
6418extern "C" {
6419    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_dup"]
6420    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6421}
6422extern "C" {
6423    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_sort"]
6424    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6425}
6426extern "C" {
6427    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_is_sorted"]
6428    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6429}
6430extern "C" {
6431    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_set_cmp_func"]
6432    pub fn OPENSSL_sk_set_cmp_func(
6433        sk: *mut OPENSSL_STACK,
6434        comp: OPENSSL_sk_cmp_func,
6435    ) -> OPENSSL_sk_cmp_func;
6436}
6437extern "C" {
6438    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_sk_deep_copy"]
6439    pub fn OPENSSL_sk_deep_copy(
6440        sk: *const OPENSSL_STACK,
6441        call_copy_func: OPENSSL_sk_call_copy_func,
6442        copy_func: OPENSSL_sk_copy_func,
6443        call_free_func: OPENSSL_sk_call_free_func,
6444        free_func: OPENSSL_sk_free_func,
6445    ) -> *mut OPENSSL_STACK;
6446}
6447pub type _STACK = OPENSSL_STACK;
6448extern "C" {
6449    #[link_name = "\u{1}aws_lc_0_33_0_sk_pop_free"]
6450    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6451}
6452pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6453#[repr(C)]
6454#[derive(Debug, Copy, Clone)]
6455pub struct stack_st_void {
6456    _unused: [u8; 0],
6457}
6458pub type sk_void_free_func =
6459    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6460pub type sk_void_copy_func = ::std::option::Option<
6461    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6462>;
6463pub type sk_void_cmp_func = ::std::option::Option<
6464    unsafe extern "C" fn(
6465        arg1: *const *const ::std::os::raw::c_void,
6466        arg2: *const *const ::std::os::raw::c_void,
6467    ) -> ::std::os::raw::c_int,
6468>;
6469pub type sk_void_delete_if_func = ::std::option::Option<
6470    unsafe extern "C" fn(
6471        arg1: *mut ::std::os::raw::c_void,
6472        arg2: *mut ::std::os::raw::c_void,
6473    ) -> ::std::os::raw::c_int,
6474>;
6475#[repr(C)]
6476#[derive(Debug, Copy, Clone)]
6477pub struct stack_st_OPENSSL_STRING {
6478    _unused: [u8; 0],
6479}
6480pub type sk_OPENSSL_STRING_free_func =
6481    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6482pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6483    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6484>;
6485pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6486    unsafe extern "C" fn(
6487        arg1: *const *const ::std::os::raw::c_char,
6488        arg2: *const *const ::std::os::raw::c_char,
6489    ) -> ::std::os::raw::c_int,
6490>;
6491pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6492    unsafe extern "C" fn(
6493        arg1: *mut ::std::os::raw::c_char,
6494        arg2: *mut ::std::os::raw::c_void,
6495    ) -> ::std::os::raw::c_int,
6496>;
6497pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6498pub type CRYPTO_EX_free = ::std::option::Option<
6499    unsafe extern "C" fn(
6500        parent: *mut ::std::os::raw::c_void,
6501        ptr: *mut ::std::os::raw::c_void,
6502        ad: *mut CRYPTO_EX_DATA,
6503        index: ::std::os::raw::c_int,
6504        argl: ::std::os::raw::c_long,
6505        argp: *mut ::std::os::raw::c_void,
6506    ),
6507>;
6508extern "C" {
6509    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_cleanup_all_ex_data"]
6510    pub fn CRYPTO_cleanup_all_ex_data();
6511}
6512pub type CRYPTO_EX_dup = ::std::option::Option<
6513    unsafe extern "C" fn(
6514        to: *mut CRYPTO_EX_DATA,
6515        from: *const CRYPTO_EX_DATA,
6516        from_d: *mut *mut ::std::os::raw::c_void,
6517        index: ::std::os::raw::c_int,
6518        argl: ::std::os::raw::c_long,
6519        argp: *mut ::std::os::raw::c_void,
6520    ) -> ::std::os::raw::c_int,
6521>;
6522pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6523#[repr(C)]
6524#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6525pub struct crypto_ex_data_st {
6526    pub sk: *mut stack_st_void,
6527}
6528#[test]
6529fn bindgen_test_layout_crypto_ex_data_st() {
6530    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6531    let ptr = UNINIT.as_ptr();
6532    assert_eq!(
6533        ::std::mem::size_of::<crypto_ex_data_st>(),
6534        8usize,
6535        "Size of crypto_ex_data_st"
6536    );
6537    assert_eq!(
6538        ::std::mem::align_of::<crypto_ex_data_st>(),
6539        8usize,
6540        "Alignment of crypto_ex_data_st"
6541    );
6542    assert_eq!(
6543        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6544        0usize,
6545        "Offset of field: crypto_ex_data_st::sk"
6546    );
6547}
6548impl Default for crypto_ex_data_st {
6549    fn default() -> Self {
6550        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6551        unsafe {
6552            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6553            s.assume_init()
6554        }
6555    }
6556}
6557#[repr(C)]
6558#[derive(Debug, Copy, Clone)]
6559pub struct stack_st_BIO {
6560    _unused: [u8; 0],
6561}
6562pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6563pub type sk_BIO_copy_func =
6564    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6565pub type sk_BIO_cmp_func = ::std::option::Option<
6566    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
6567>;
6568pub type sk_BIO_delete_if_func = ::std::option::Option<
6569    unsafe extern "C" fn(
6570        arg1: *mut BIO,
6571        arg2: *mut ::std::os::raw::c_void,
6572    ) -> ::std::os::raw::c_int,
6573>;
6574extern "C" {
6575    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new"]
6576    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6577}
6578extern "C" {
6579    #[link_name = "\u{1}aws_lc_0_33_0_BIO_free"]
6580    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
6581}
6582extern "C" {
6583    #[link_name = "\u{1}aws_lc_0_33_0_BIO_vfree"]
6584    pub fn BIO_vfree(bio: *mut BIO);
6585}
6586extern "C" {
6587    #[link_name = "\u{1}aws_lc_0_33_0_BIO_up_ref"]
6588    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
6589}
6590extern "C" {
6591    #[link_name = "\u{1}aws_lc_0_33_0_BIO_read"]
6592    pub fn BIO_read(
6593        bio: *mut BIO,
6594        data: *mut ::std::os::raw::c_void,
6595        len: ::std::os::raw::c_int,
6596    ) -> ::std::os::raw::c_int;
6597}
6598extern "C" {
6599    #[link_name = "\u{1}aws_lc_0_33_0_BIO_read_ex"]
6600    pub fn BIO_read_ex(
6601        bio: *mut BIO,
6602        data: *mut ::std::os::raw::c_void,
6603        data_len: usize,
6604        read_bytes: *mut usize,
6605    ) -> ::std::os::raw::c_int;
6606}
6607extern "C" {
6608    #[link_name = "\u{1}aws_lc_0_33_0_BIO_gets"]
6609    pub fn BIO_gets(
6610        bio: *mut BIO,
6611        buf: *mut ::std::os::raw::c_char,
6612        size: ::std::os::raw::c_int,
6613    ) -> ::std::os::raw::c_int;
6614}
6615extern "C" {
6616    #[link_name = "\u{1}aws_lc_0_33_0_BIO_write"]
6617    pub fn BIO_write(
6618        bio: *mut BIO,
6619        data: *const ::std::os::raw::c_void,
6620        len: ::std::os::raw::c_int,
6621    ) -> ::std::os::raw::c_int;
6622}
6623extern "C" {
6624    #[link_name = "\u{1}aws_lc_0_33_0_BIO_write_ex"]
6625    pub fn BIO_write_ex(
6626        bio: *mut BIO,
6627        data: *const ::std::os::raw::c_void,
6628        data_len: usize,
6629        written_bytes: *mut usize,
6630    ) -> ::std::os::raw::c_int;
6631}
6632extern "C" {
6633    #[link_name = "\u{1}aws_lc_0_33_0_BIO_write_all"]
6634    pub fn BIO_write_all(
6635        bio: *mut BIO,
6636        data: *const ::std::os::raw::c_void,
6637        len: usize,
6638    ) -> ::std::os::raw::c_int;
6639}
6640extern "C" {
6641    #[link_name = "\u{1}aws_lc_0_33_0_BIO_puts"]
6642    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6643}
6644extern "C" {
6645    #[link_name = "\u{1}aws_lc_0_33_0_BIO_flush"]
6646    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
6647}
6648extern "C" {
6649    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl"]
6650    pub fn BIO_ctrl(
6651        bio: *mut BIO,
6652        cmd: ::std::os::raw::c_int,
6653        larg: ::std::os::raw::c_long,
6654        parg: *mut ::std::os::raw::c_void,
6655    ) -> ::std::os::raw::c_long;
6656}
6657extern "C" {
6658    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ptr_ctrl"]
6659    pub fn BIO_ptr_ctrl(
6660        bp: *mut BIO,
6661        cmd: ::std::os::raw::c_int,
6662        larg: ::std::os::raw::c_long,
6663    ) -> *mut ::std::os::raw::c_char;
6664}
6665extern "C" {
6666    #[link_name = "\u{1}aws_lc_0_33_0_BIO_int_ctrl"]
6667    pub fn BIO_int_ctrl(
6668        bp: *mut BIO,
6669        cmd: ::std::os::raw::c_int,
6670        larg: ::std::os::raw::c_long,
6671        iarg: ::std::os::raw::c_int,
6672    ) -> ::std::os::raw::c_long;
6673}
6674extern "C" {
6675    #[link_name = "\u{1}aws_lc_0_33_0_BIO_reset"]
6676    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
6677}
6678extern "C" {
6679    #[link_name = "\u{1}aws_lc_0_33_0_BIO_eof"]
6680    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
6681}
6682extern "C" {
6683    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_flags"]
6684    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6685}
6686extern "C" {
6687    #[link_name = "\u{1}aws_lc_0_33_0_BIO_test_flags"]
6688    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6689}
6690extern "C" {
6691    #[link_name = "\u{1}aws_lc_0_33_0_BIO_should_read"]
6692    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
6693}
6694extern "C" {
6695    #[link_name = "\u{1}aws_lc_0_33_0_BIO_should_write"]
6696    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
6697}
6698extern "C" {
6699    #[link_name = "\u{1}aws_lc_0_33_0_BIO_should_retry"]
6700    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
6701}
6702extern "C" {
6703    #[link_name = "\u{1}aws_lc_0_33_0_BIO_should_io_special"]
6704    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
6705}
6706extern "C" {
6707    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_retry_reason"]
6708    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
6709}
6710extern "C" {
6711    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_retry_reason"]
6712    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
6713}
6714extern "C" {
6715    #[link_name = "\u{1}aws_lc_0_33_0_BIO_clear_flags"]
6716    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6717}
6718extern "C" {
6719    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_retry_read"]
6720    pub fn BIO_set_retry_read(bio: *mut BIO);
6721}
6722extern "C" {
6723    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_retry_write"]
6724    pub fn BIO_set_retry_write(bio: *mut BIO);
6725}
6726extern "C" {
6727    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_retry_flags"]
6728    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
6729}
6730extern "C" {
6731    #[link_name = "\u{1}aws_lc_0_33_0_BIO_clear_retry_flags"]
6732    pub fn BIO_clear_retry_flags(bio: *mut BIO);
6733}
6734extern "C" {
6735    #[link_name = "\u{1}aws_lc_0_33_0_BIO_method_type"]
6736    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
6737}
6738extern "C" {
6739    #[link_name = "\u{1}aws_lc_0_33_0_BIO_method_name"]
6740    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
6741}
6742pub type bio_info_cb = ::std::option::Option<
6743    unsafe extern "C" fn(
6744        b: *mut BIO,
6745        state: ::std::os::raw::c_int,
6746        res: ::std::os::raw::c_int,
6747    ) -> ::std::os::raw::c_long,
6748>;
6749pub type BIO_callback_fn_ex = ::std::option::Option<
6750    unsafe extern "C" fn(
6751        bio: *mut BIO,
6752        oper: ::std::os::raw::c_int,
6753        argp: *const ::std::os::raw::c_char,
6754        len: usize,
6755        argi: ::std::os::raw::c_int,
6756        argl: ::std::os::raw::c_long,
6757        bio_ret: ::std::os::raw::c_int,
6758        processed: *mut usize,
6759    ) -> ::std::os::raw::c_long,
6760>;
6761pub type BIO_callback_fn = ::std::option::Option<
6762    unsafe extern "C" fn(
6763        bio: *mut BIO,
6764        oper: ::std::os::raw::c_int,
6765        argp: *const ::std::os::raw::c_char,
6766        argi: ::std::os::raw::c_int,
6767        argl: ::std::os::raw::c_long,
6768        bio_ret: ::std::os::raw::c_long,
6769    ) -> ::std::os::raw::c_long,
6770>;
6771extern "C" {
6772    #[link_name = "\u{1}aws_lc_0_33_0_BIO_callback_ctrl"]
6773    pub fn BIO_callback_ctrl(
6774        bio: *mut BIO,
6775        cmd: ::std::os::raw::c_int,
6776        fp: bio_info_cb,
6777    ) -> ::std::os::raw::c_long;
6778}
6779extern "C" {
6780    #[link_name = "\u{1}aws_lc_0_33_0_BIO_pending"]
6781    pub fn BIO_pending(bio: *const BIO) -> usize;
6782}
6783extern "C" {
6784    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl_pending"]
6785    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6786}
6787extern "C" {
6788    #[link_name = "\u{1}aws_lc_0_33_0_BIO_wpending"]
6789    pub fn BIO_wpending(bio: *const BIO) -> usize;
6790}
6791extern "C" {
6792    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_close"]
6793    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
6794        -> ::std::os::raw::c_int;
6795}
6796extern "C" {
6797    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_close"]
6798    pub fn BIO_get_close(bio: *mut BIO) -> ::std::os::raw::c_int;
6799}
6800extern "C" {
6801    #[link_name = "\u{1}aws_lc_0_33_0_BIO_number_read"]
6802    pub fn BIO_number_read(bio: *const BIO) -> u64;
6803}
6804extern "C" {
6805    #[link_name = "\u{1}aws_lc_0_33_0_BIO_number_written"]
6806    pub fn BIO_number_written(bio: *const BIO) -> u64;
6807}
6808extern "C" {
6809    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_callback_ex"]
6810    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
6811}
6812extern "C" {
6813    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_callback"]
6814    pub fn BIO_set_callback(bio: *mut BIO, callback: BIO_callback_fn);
6815}
6816extern "C" {
6817    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_callback_arg"]
6818    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
6819}
6820extern "C" {
6821    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_callback_arg"]
6822    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
6823}
6824extern "C" {
6825    #[link_name = "\u{1}aws_lc_0_33_0_BIO_push"]
6826    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6827}
6828extern "C" {
6829    #[link_name = "\u{1}aws_lc_0_33_0_BIO_pop"]
6830    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6831}
6832extern "C" {
6833    #[link_name = "\u{1}aws_lc_0_33_0_BIO_next"]
6834    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6835}
6836extern "C" {
6837    #[link_name = "\u{1}aws_lc_0_33_0_BIO_free_all"]
6838    pub fn BIO_free_all(bio: *mut BIO);
6839}
6840extern "C" {
6841    #[link_name = "\u{1}aws_lc_0_33_0_BIO_find_type"]
6842    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
6843}
6844extern "C" {
6845    #[link_name = "\u{1}aws_lc_0_33_0_BIO_copy_next_retry"]
6846    pub fn BIO_copy_next_retry(bio: *mut BIO);
6847}
6848extern "C" {
6849    #[link_name = "\u{1}aws_lc_0_33_0_BIO_printf"]
6850    pub fn BIO_printf(
6851        bio: *mut BIO,
6852        format: *const ::std::os::raw::c_char,
6853        ...
6854    ) -> ::std::os::raw::c_int;
6855}
6856extern "C" {
6857    #[link_name = "\u{1}aws_lc_0_33_0_BIO_indent"]
6858    pub fn BIO_indent(
6859        bio: *mut BIO,
6860        indent: ::std::os::raw::c_uint,
6861        max_indent: ::std::os::raw::c_uint,
6862    ) -> ::std::os::raw::c_int;
6863}
6864extern "C" {
6865    #[link_name = "\u{1}aws_lc_0_33_0_BIO_hexdump"]
6866    pub fn BIO_hexdump(
6867        bio: *mut BIO,
6868        data: *const u8,
6869        len: usize,
6870        indent: ::std::os::raw::c_uint,
6871    ) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    #[link_name = "\u{1}aws_lc_0_33_0_BIO_dump"]
6875    pub fn BIO_dump(
6876        bio: *mut BIO,
6877        data: *const ::std::os::raw::c_void,
6878        len: ::std::os::raw::c_int,
6879    ) -> ::std::os::raw::c_int;
6880}
6881extern "C" {
6882    #[link_name = "\u{1}aws_lc_0_33_0_ERR_print_errors"]
6883    pub fn ERR_print_errors(bio: *mut BIO);
6884}
6885extern "C" {
6886    #[link_name = "\u{1}aws_lc_0_33_0_BIO_read_asn1"]
6887    pub fn BIO_read_asn1(
6888        bio: *mut BIO,
6889        out: *mut *mut u8,
6890        out_len: *mut usize,
6891        max_len: usize,
6892    ) -> ::std::os::raw::c_int;
6893}
6894extern "C" {
6895    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_mem"]
6896    pub fn BIO_s_mem() -> *const BIO_METHOD;
6897}
6898extern "C" {
6899    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_mem_buf"]
6900    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
6901}
6902extern "C" {
6903    #[link_name = "\u{1}aws_lc_0_33_0_BIO_mem_contents"]
6904    pub fn BIO_mem_contents(
6905        bio: *const BIO,
6906        out_contents: *mut *const u8,
6907        out_len: *mut usize,
6908    ) -> ::std::os::raw::c_int;
6909}
6910extern "C" {
6911    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_mem_ptr"]
6912    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
6913}
6914extern "C" {
6915    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_mem_buf"]
6916    pub fn BIO_set_mem_buf(
6917        bio: *mut BIO,
6918        b: *mut BUF_MEM,
6919        take_ownership: ::std::os::raw::c_int,
6920    ) -> ::std::os::raw::c_int;
6921}
6922extern "C" {
6923    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_mem_eof_return"]
6924    pub fn BIO_set_mem_eof_return(
6925        bio: *mut BIO,
6926        eof_value: ::std::os::raw::c_int,
6927    ) -> ::std::os::raw::c_int;
6928}
6929extern "C" {
6930    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_fd"]
6931    pub fn BIO_s_fd() -> *const BIO_METHOD;
6932}
6933extern "C" {
6934    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_fd"]
6935    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6936}
6937extern "C" {
6938    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_fd"]
6939    pub fn BIO_set_fd(
6940        bio: *mut BIO,
6941        fd: ::std::os::raw::c_int,
6942        close_flag: ::std::os::raw::c_int,
6943    ) -> ::std::os::raw::c_int;
6944}
6945extern "C" {
6946    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_fd"]
6947    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6948}
6949extern "C" {
6950    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_file"]
6951    pub fn BIO_s_file() -> *const BIO_METHOD;
6952}
6953extern "C" {
6954    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_file"]
6955    pub fn BIO_new_file(
6956        filename: *const ::std::os::raw::c_char,
6957        mode: *const ::std::os::raw::c_char,
6958    ) -> *mut BIO;
6959}
6960extern "C" {
6961    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_fp"]
6962    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6963}
6964extern "C" {
6965    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_fp"]
6966    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
6967}
6968extern "C" {
6969    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_fp"]
6970    pub fn BIO_set_fp(
6971        bio: *mut BIO,
6972        file: *mut FILE,
6973        close_flag: ::std::os::raw::c_int,
6974    ) -> ::std::os::raw::c_int;
6975}
6976extern "C" {
6977    #[link_name = "\u{1}aws_lc_0_33_0_BIO_read_filename"]
6978    pub fn BIO_read_filename(
6979        bio: *mut BIO,
6980        filename: *const ::std::os::raw::c_char,
6981    ) -> ::std::os::raw::c_int;
6982}
6983extern "C" {
6984    #[link_name = "\u{1}aws_lc_0_33_0_BIO_write_filename"]
6985    pub fn BIO_write_filename(
6986        bio: *mut BIO,
6987        filename: *const ::std::os::raw::c_char,
6988    ) -> ::std::os::raw::c_int;
6989}
6990extern "C" {
6991    #[link_name = "\u{1}aws_lc_0_33_0_BIO_append_filename"]
6992    pub fn BIO_append_filename(
6993        bio: *mut BIO,
6994        filename: *const ::std::os::raw::c_char,
6995    ) -> ::std::os::raw::c_int;
6996}
6997extern "C" {
6998    #[link_name = "\u{1}aws_lc_0_33_0_BIO_rw_filename"]
6999    pub fn BIO_rw_filename(
7000        bio: *mut BIO,
7001        filename: *const ::std::os::raw::c_char,
7002    ) -> ::std::os::raw::c_int;
7003}
7004extern "C" {
7005    #[link_name = "\u{1}aws_lc_0_33_0_BIO_tell"]
7006    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7007}
7008extern "C" {
7009    #[link_name = "\u{1}aws_lc_0_33_0_BIO_seek"]
7010    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7011}
7012extern "C" {
7013    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_socket"]
7014    pub fn BIO_s_socket() -> *const BIO_METHOD;
7015}
7016extern "C" {
7017    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_socket"]
7018    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7019        -> *mut BIO;
7020}
7021extern "C" {
7022    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_connect"]
7023    pub fn BIO_s_connect() -> *const BIO_METHOD;
7024}
7025extern "C" {
7026    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_connect"]
7027    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7028}
7029extern "C" {
7030    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_conn_hostname"]
7031    pub fn BIO_set_conn_hostname(
7032        bio: *mut BIO,
7033        host_and_optional_port: *const ::std::os::raw::c_char,
7034    ) -> ::std::os::raw::c_int;
7035}
7036extern "C" {
7037    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_conn_port"]
7038    pub fn BIO_set_conn_port(
7039        bio: *mut BIO,
7040        port_str: *const ::std::os::raw::c_char,
7041    ) -> ::std::os::raw::c_int;
7042}
7043extern "C" {
7044    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_conn_int_port"]
7045    pub fn BIO_set_conn_int_port(
7046        bio: *mut BIO,
7047        port: *const ::std::os::raw::c_int,
7048    ) -> ::std::os::raw::c_int;
7049}
7050extern "C" {
7051    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_nbio"]
7052    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7053}
7054extern "C" {
7055    #[link_name = "\u{1}aws_lc_0_33_0_BIO_do_connect"]
7056    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7057}
7058extern "C" {
7059    #[link_name = "\u{1}aws_lc_0_33_0_BIO_f_md"]
7060    pub fn BIO_f_md() -> *const BIO_METHOD;
7061}
7062extern "C" {
7063    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_md_ctx"]
7064    pub fn BIO_get_md_ctx(b: *mut BIO, ctx: *mut *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
7065}
7066extern "C" {
7067    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_md"]
7068    pub fn BIO_set_md(b: *mut BIO, md: *const EVP_MD) -> ::std::os::raw::c_int;
7069}
7070extern "C" {
7071    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_md"]
7072    pub fn BIO_get_md(b: *mut BIO, md: *mut *mut EVP_MD) -> ::std::os::raw::c_int;
7073}
7074#[repr(C)]
7075#[derive(Copy, Clone)]
7076pub struct bio_addr_st {
7077    _unused: [u8; 0],
7078}
7079pub type BIO_ADDR = bio_addr_st;
7080extern "C" {
7081    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_datagram"]
7082    pub fn BIO_s_datagram() -> *const BIO_METHOD;
7083}
7084extern "C" {
7085    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_dgram"]
7086    pub fn BIO_new_dgram(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7087}
7088extern "C" {
7089    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl_dgram_connect"]
7090    pub fn BIO_ctrl_dgram_connect(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7091}
7092extern "C" {
7093    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl_set_connected"]
7094    pub fn BIO_ctrl_set_connected(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7095}
7096extern "C" {
7097    #[link_name = "\u{1}aws_lc_0_33_0_BIO_dgram_recv_timedout"]
7098    pub fn BIO_dgram_recv_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7099}
7100extern "C" {
7101    #[link_name = "\u{1}aws_lc_0_33_0_BIO_dgram_send_timedout"]
7102    pub fn BIO_dgram_send_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7103}
7104extern "C" {
7105    #[link_name = "\u{1}aws_lc_0_33_0_BIO_dgram_get_peer"]
7106    pub fn BIO_dgram_get_peer(bp: *mut BIO, peer: *mut BIO_ADDR) -> ::std::os::raw::c_int;
7107}
7108extern "C" {
7109    #[link_name = "\u{1}aws_lc_0_33_0_BIO_dgram_set_peer"]
7110    pub fn BIO_dgram_set_peer(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7111}
7112extern "C" {
7113    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_new"]
7114    pub fn BIO_ADDR_new() -> *mut BIO_ADDR;
7115}
7116extern "C" {
7117    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_copy"]
7118    pub fn BIO_ADDR_copy(dst: *mut BIO_ADDR, src: *const BIO_ADDR) -> ::std::os::raw::c_int;
7119}
7120extern "C" {
7121    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_dup"]
7122    pub fn BIO_ADDR_dup(ap: *const BIO_ADDR) -> *mut BIO_ADDR;
7123}
7124extern "C" {
7125    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_free"]
7126    pub fn BIO_ADDR_free(ap: *mut BIO_ADDR);
7127}
7128extern "C" {
7129    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_clear"]
7130    pub fn BIO_ADDR_clear(ap: *mut BIO_ADDR);
7131}
7132extern "C" {
7133    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_rawmake"]
7134    pub fn BIO_ADDR_rawmake(
7135        ap: *mut BIO_ADDR,
7136        family: ::std::os::raw::c_int,
7137        where_: *const ::std::os::raw::c_void,
7138        wherelen: usize,
7139        port: ::std::os::raw::c_ushort,
7140    ) -> ::std::os::raw::c_int;
7141}
7142extern "C" {
7143    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_family"]
7144    pub fn BIO_ADDR_family(ap: *const BIO_ADDR) -> ::std::os::raw::c_int;
7145}
7146extern "C" {
7147    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_rawaddress"]
7148    pub fn BIO_ADDR_rawaddress(
7149        ap: *const BIO_ADDR,
7150        p: *mut ::std::os::raw::c_void,
7151        l: *mut usize,
7152    ) -> ::std::os::raw::c_int;
7153}
7154extern "C" {
7155    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ADDR_rawport"]
7156    pub fn BIO_ADDR_rawport(ap: *const BIO_ADDR) -> ::std::os::raw::c_ushort;
7157}
7158extern "C" {
7159    #[link_name = "\u{1}aws_lc_0_33_0_BIO_new_bio_pair"]
7160    pub fn BIO_new_bio_pair(
7161        out1: *mut *mut BIO,
7162        writebuf1: usize,
7163        out2: *mut *mut BIO,
7164        writebuf2: usize,
7165    ) -> ::std::os::raw::c_int;
7166}
7167extern "C" {
7168    #[link_name = "\u{1}aws_lc_0_33_0_BIO_destroy_bio_pair"]
7169    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7170}
7171extern "C" {
7172    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl_get_read_request"]
7173    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7174}
7175extern "C" {
7176    #[link_name = "\u{1}aws_lc_0_33_0_BIO_ctrl_get_write_guarantee"]
7177    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7178}
7179extern "C" {
7180    #[link_name = "\u{1}aws_lc_0_33_0_BIO_shutdown_wr"]
7181    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7182}
7183extern "C" {
7184    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_new_index"]
7185    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7186}
7187extern "C" {
7188    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_new"]
7189    pub fn BIO_meth_new(
7190        type_: ::std::os::raw::c_int,
7191        name: *const ::std::os::raw::c_char,
7192    ) -> *mut BIO_METHOD;
7193}
7194extern "C" {
7195    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_free"]
7196    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7197}
7198extern "C" {
7199    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_create"]
7200    pub fn BIO_meth_set_create(
7201        method: *mut BIO_METHOD,
7202        create: ::std::option::Option<
7203            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7204        >,
7205    ) -> ::std::os::raw::c_int;
7206}
7207extern "C" {
7208    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_create"]
7209    pub fn BIO_meth_get_create(
7210        method: *const BIO_METHOD,
7211    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7212}
7213extern "C" {
7214    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_destroy"]
7215    pub fn BIO_meth_set_destroy(
7216        method: *mut BIO_METHOD,
7217        destroy: ::std::option::Option<
7218            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7219        >,
7220    ) -> ::std::os::raw::c_int;
7221}
7222extern "C" {
7223    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_destroy"]
7224    pub fn BIO_meth_get_destroy(
7225        method: *const BIO_METHOD,
7226    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7227}
7228extern "C" {
7229    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_write"]
7230    pub fn BIO_meth_set_write(
7231        method: *mut BIO_METHOD,
7232        write: ::std::option::Option<
7233            unsafe extern "C" fn(
7234                arg1: *mut BIO,
7235                arg2: *const ::std::os::raw::c_char,
7236                arg3: ::std::os::raw::c_int,
7237            ) -> ::std::os::raw::c_int,
7238        >,
7239    ) -> ::std::os::raw::c_int;
7240}
7241extern "C" {
7242    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_read"]
7243    pub fn BIO_meth_set_read(
7244        method: *mut BIO_METHOD,
7245        read: ::std::option::Option<
7246            unsafe extern "C" fn(
7247                arg1: *mut BIO,
7248                arg2: *mut ::std::os::raw::c_char,
7249                arg3: ::std::os::raw::c_int,
7250            ) -> ::std::os::raw::c_int,
7251        >,
7252    ) -> ::std::os::raw::c_int;
7253}
7254extern "C" {
7255    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_gets"]
7256    pub fn BIO_meth_set_gets(
7257        method: *mut BIO_METHOD,
7258        gets: ::std::option::Option<
7259            unsafe extern "C" fn(
7260                arg1: *mut BIO,
7261                arg2: *mut ::std::os::raw::c_char,
7262                arg3: ::std::os::raw::c_int,
7263            ) -> ::std::os::raw::c_int,
7264        >,
7265    ) -> ::std::os::raw::c_int;
7266}
7267extern "C" {
7268    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_gets"]
7269    pub fn BIO_meth_get_gets(
7270        method: *const BIO_METHOD,
7271    ) -> ::std::option::Option<
7272        unsafe extern "C" fn(
7273            method: *mut BIO,
7274            arg1: *mut ::std::os::raw::c_char,
7275            arg2: ::std::os::raw::c_int,
7276        ) -> ::std::os::raw::c_int,
7277    >;
7278}
7279extern "C" {
7280    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_ctrl"]
7281    pub fn BIO_meth_set_ctrl(
7282        method: *mut BIO_METHOD,
7283        ctrl: ::std::option::Option<
7284            unsafe extern "C" fn(
7285                arg1: *mut BIO,
7286                arg2: ::std::os::raw::c_int,
7287                arg3: ::std::os::raw::c_long,
7288                arg4: *mut ::std::os::raw::c_void,
7289            ) -> ::std::os::raw::c_long,
7290        >,
7291    ) -> ::std::os::raw::c_int;
7292}
7293extern "C" {
7294    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_ctrl"]
7295    pub fn BIO_meth_get_ctrl(
7296        method: *const BIO_METHOD,
7297    ) -> ::std::option::Option<
7298        unsafe extern "C" fn(
7299            method: *mut BIO,
7300            arg1: ::std::os::raw::c_int,
7301            arg2: ::std::os::raw::c_long,
7302            arg3: *mut ::std::os::raw::c_void,
7303        ) -> ::std::os::raw::c_long,
7304    >;
7305}
7306extern "C" {
7307    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_callback_ctrl"]
7308    pub fn BIO_meth_set_callback_ctrl(
7309        method: *mut BIO_METHOD,
7310        callback_ctrl: ::std::option::Option<
7311            unsafe extern "C" fn(
7312                arg1: *mut BIO,
7313                arg2: ::std::os::raw::c_int,
7314                arg3: bio_info_cb,
7315            ) -> ::std::os::raw::c_long,
7316        >,
7317    ) -> ::std::os::raw::c_int;
7318}
7319extern "C" {
7320    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_callback_ctrl"]
7321    pub fn BIO_meth_get_callback_ctrl(
7322        method: *const BIO_METHOD,
7323    ) -> ::std::option::Option<
7324        unsafe extern "C" fn(
7325            method: *mut BIO,
7326            arg1: ::std::os::raw::c_int,
7327            arg2: bio_info_cb,
7328        ) -> ::std::os::raw::c_long,
7329    >;
7330}
7331extern "C" {
7332    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_data"]
7333    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7334}
7335extern "C" {
7336    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_data"]
7337    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7338}
7339extern "C" {
7340    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_init"]
7341    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7342}
7343extern "C" {
7344    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_init"]
7345    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7346}
7347extern "C" {
7348    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_ex_new_index"]
7349    pub fn BIO_get_ex_new_index(
7350        argl: ::std::os::raw::c_long,
7351        argp: *mut ::std::os::raw::c_void,
7352        unused: *mut CRYPTO_EX_unused,
7353        dup_unused: CRYPTO_EX_dup,
7354        free_func: CRYPTO_EX_free,
7355    ) -> ::std::os::raw::c_int;
7356}
7357extern "C" {
7358    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_ex_data"]
7359    pub fn BIO_set_ex_data(
7360        bio: *mut BIO,
7361        idx: ::std::os::raw::c_int,
7362        arg: *mut ::std::os::raw::c_void,
7363    ) -> ::std::os::raw::c_int;
7364}
7365extern "C" {
7366    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_ex_data"]
7367    pub fn BIO_get_ex_data(
7368        bio: *const BIO,
7369        idx: ::std::os::raw::c_int,
7370    ) -> *mut ::std::os::raw::c_void;
7371}
7372extern "C" {
7373    #[link_name = "\u{1}aws_lc_0_33_0_BIO_f_base64"]
7374    pub fn BIO_f_base64() -> *const BIO_METHOD;
7375}
7376extern "C" {
7377    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_retry_special"]
7378    pub fn BIO_set_retry_special(bio: *mut BIO);
7379}
7380extern "C" {
7381    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_shutdown"]
7382    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7383}
7384extern "C" {
7385    #[link_name = "\u{1}aws_lc_0_33_0_BIO_get_shutdown"]
7386    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7387}
7388extern "C" {
7389    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_set_puts"]
7390    pub fn BIO_meth_set_puts(
7391        method: *mut BIO_METHOD,
7392        puts: ::std::option::Option<
7393            unsafe extern "C" fn(
7394                arg1: *mut BIO,
7395                arg2: *const ::std::os::raw::c_char,
7396            ) -> ::std::os::raw::c_int,
7397        >,
7398    ) -> ::std::os::raw::c_int;
7399}
7400extern "C" {
7401    #[link_name = "\u{1}aws_lc_0_33_0_BIO_meth_get_puts"]
7402    pub fn BIO_meth_get_puts(
7403        method: *const BIO_METHOD,
7404    ) -> ::std::option::Option<
7405        unsafe extern "C" fn(
7406            method: *mut BIO,
7407            arg1: *const ::std::os::raw::c_char,
7408        ) -> ::std::os::raw::c_int,
7409    >;
7410}
7411extern "C" {
7412    #[link_name = "\u{1}aws_lc_0_33_0_BIO_s_secmem"]
7413    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7414}
7415extern "C" {
7416    #[link_name = "\u{1}aws_lc_0_33_0_BIO_set_write_buffer_size"]
7417    pub fn BIO_set_write_buffer_size(
7418        bio: *mut BIO,
7419        buffer_size: ::std::os::raw::c_int,
7420    ) -> ::std::os::raw::c_int;
7421}
7422#[repr(C)]
7423#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7424pub struct bio_method_st {
7425    pub type_: ::std::os::raw::c_int,
7426    pub name: *const ::std::os::raw::c_char,
7427    pub bwrite: ::std::option::Option<
7428        unsafe extern "C" fn(
7429            arg1: *mut BIO,
7430            arg2: *const ::std::os::raw::c_char,
7431            arg3: ::std::os::raw::c_int,
7432        ) -> ::std::os::raw::c_int,
7433    >,
7434    pub bread: ::std::option::Option<
7435        unsafe extern "C" fn(
7436            arg1: *mut BIO,
7437            arg2: *mut ::std::os::raw::c_char,
7438            arg3: ::std::os::raw::c_int,
7439        ) -> ::std::os::raw::c_int,
7440    >,
7441    pub bputs: ::std::option::Option<
7442        unsafe extern "C" fn(
7443            arg1: *mut BIO,
7444            arg2: *const ::std::os::raw::c_char,
7445        ) -> ::std::os::raw::c_int,
7446    >,
7447    pub bgets: ::std::option::Option<
7448        unsafe extern "C" fn(
7449            arg1: *mut BIO,
7450            arg2: *mut ::std::os::raw::c_char,
7451            arg3: ::std::os::raw::c_int,
7452        ) -> ::std::os::raw::c_int,
7453    >,
7454    pub ctrl: ::std::option::Option<
7455        unsafe extern "C" fn(
7456            arg1: *mut BIO,
7457            arg2: ::std::os::raw::c_int,
7458            arg3: ::std::os::raw::c_long,
7459            arg4: *mut ::std::os::raw::c_void,
7460        ) -> ::std::os::raw::c_long,
7461    >,
7462    pub create:
7463        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7464    pub destroy:
7465        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7466    pub callback_ctrl: ::std::option::Option<
7467        unsafe extern "C" fn(
7468            arg1: *mut BIO,
7469            arg2: ::std::os::raw::c_int,
7470            arg3: bio_info_cb,
7471        ) -> ::std::os::raw::c_long,
7472    >,
7473}
7474#[test]
7475fn bindgen_test_layout_bio_method_st() {
7476    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7477    let ptr = UNINIT.as_ptr();
7478    assert_eq!(
7479        ::std::mem::size_of::<bio_method_st>(),
7480        80usize,
7481        "Size of bio_method_st"
7482    );
7483    assert_eq!(
7484        ::std::mem::align_of::<bio_method_st>(),
7485        8usize,
7486        "Alignment of bio_method_st"
7487    );
7488    assert_eq!(
7489        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7490        0usize,
7491        "Offset of field: bio_method_st::type_"
7492    );
7493    assert_eq!(
7494        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7495        8usize,
7496        "Offset of field: bio_method_st::name"
7497    );
7498    assert_eq!(
7499        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7500        16usize,
7501        "Offset of field: bio_method_st::bwrite"
7502    );
7503    assert_eq!(
7504        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7505        24usize,
7506        "Offset of field: bio_method_st::bread"
7507    );
7508    assert_eq!(
7509        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7510        32usize,
7511        "Offset of field: bio_method_st::bputs"
7512    );
7513    assert_eq!(
7514        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7515        40usize,
7516        "Offset of field: bio_method_st::bgets"
7517    );
7518    assert_eq!(
7519        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7520        48usize,
7521        "Offset of field: bio_method_st::ctrl"
7522    );
7523    assert_eq!(
7524        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7525        56usize,
7526        "Offset of field: bio_method_st::create"
7527    );
7528    assert_eq!(
7529        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7530        64usize,
7531        "Offset of field: bio_method_st::destroy"
7532    );
7533    assert_eq!(
7534        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7535        72usize,
7536        "Offset of field: bio_method_st::callback_ctrl"
7537    );
7538}
7539impl Default for bio_method_st {
7540    fn default() -> Self {
7541        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7542        unsafe {
7543            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7544            s.assume_init()
7545        }
7546    }
7547}
7548#[repr(C)]
7549#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7550pub struct bio_st {
7551    pub method: *const BIO_METHOD,
7552    pub ex_data: CRYPTO_EX_DATA,
7553    pub callback_ex: BIO_callback_fn_ex,
7554    pub callback: BIO_callback_fn,
7555    pub cb_arg: *mut ::std::os::raw::c_char,
7556    pub init: ::std::os::raw::c_int,
7557    pub shutdown: ::std::os::raw::c_int,
7558    pub flags: ::std::os::raw::c_int,
7559    pub retry_reason: ::std::os::raw::c_int,
7560    pub num: ::std::os::raw::c_int,
7561    pub references: CRYPTO_refcount_t,
7562    pub ptr: *mut ::std::os::raw::c_void,
7563    pub next_bio: *mut BIO,
7564    pub num_read: u64,
7565    pub num_write: u64,
7566}
7567#[test]
7568fn bindgen_test_layout_bio_st() {
7569    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
7570    let ptr = UNINIT.as_ptr();
7571    assert_eq!(::std::mem::size_of::<bio_st>(), 96usize, "Size of bio_st");
7572    assert_eq!(
7573        ::std::mem::align_of::<bio_st>(),
7574        8usize,
7575        "Alignment of bio_st"
7576    );
7577    assert_eq!(
7578        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
7579        0usize,
7580        "Offset of field: bio_st::method"
7581    );
7582    assert_eq!(
7583        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
7584        8usize,
7585        "Offset of field: bio_st::ex_data"
7586    );
7587    assert_eq!(
7588        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
7589        16usize,
7590        "Offset of field: bio_st::callback_ex"
7591    );
7592    assert_eq!(
7593        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
7594        24usize,
7595        "Offset of field: bio_st::callback"
7596    );
7597    assert_eq!(
7598        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
7599        32usize,
7600        "Offset of field: bio_st::cb_arg"
7601    );
7602    assert_eq!(
7603        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7604        40usize,
7605        "Offset of field: bio_st::init"
7606    );
7607    assert_eq!(
7608        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
7609        44usize,
7610        "Offset of field: bio_st::shutdown"
7611    );
7612    assert_eq!(
7613        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7614        48usize,
7615        "Offset of field: bio_st::flags"
7616    );
7617    assert_eq!(
7618        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
7619        52usize,
7620        "Offset of field: bio_st::retry_reason"
7621    );
7622    assert_eq!(
7623        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
7624        56usize,
7625        "Offset of field: bio_st::num"
7626    );
7627    assert_eq!(
7628        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
7629        60usize,
7630        "Offset of field: bio_st::references"
7631    );
7632    assert_eq!(
7633        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
7634        64usize,
7635        "Offset of field: bio_st::ptr"
7636    );
7637    assert_eq!(
7638        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
7639        72usize,
7640        "Offset of field: bio_st::next_bio"
7641    );
7642    assert_eq!(
7643        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
7644        80usize,
7645        "Offset of field: bio_st::num_read"
7646    );
7647    assert_eq!(
7648        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
7649        88usize,
7650        "Offset of field: bio_st::num_write"
7651    );
7652}
7653impl Default for bio_st {
7654    fn default() -> Self {
7655        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7656        unsafe {
7657            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7658            s.assume_init()
7659        }
7660    }
7661}
7662pub type BN_ULONG = u64;
7663extern "C" {
7664    #[link_name = "\u{1}aws_lc_0_33_0_BN_new"]
7665    pub fn BN_new() -> *mut BIGNUM;
7666}
7667extern "C" {
7668    #[link_name = "\u{1}aws_lc_0_33_0_BN_init"]
7669    pub fn BN_init(bn: *mut BIGNUM);
7670}
7671extern "C" {
7672    #[link_name = "\u{1}aws_lc_0_33_0_BN_free"]
7673    pub fn BN_free(bn: *mut BIGNUM);
7674}
7675extern "C" {
7676    #[link_name = "\u{1}aws_lc_0_33_0_BN_clear_free"]
7677    pub fn BN_clear_free(bn: *mut BIGNUM);
7678}
7679extern "C" {
7680    #[link_name = "\u{1}aws_lc_0_33_0_BN_dup"]
7681    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7682}
7683extern "C" {
7684    #[link_name = "\u{1}aws_lc_0_33_0_BN_copy"]
7685    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7686}
7687extern "C" {
7688    #[link_name = "\u{1}aws_lc_0_33_0_BN_clear"]
7689    pub fn BN_clear(bn: *mut BIGNUM);
7690}
7691extern "C" {
7692    #[link_name = "\u{1}aws_lc_0_33_0_BN_value_one"]
7693    pub fn BN_value_one() -> *const BIGNUM;
7694}
7695extern "C" {
7696    #[link_name = "\u{1}aws_lc_0_33_0_BN_num_bits"]
7697    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7698}
7699extern "C" {
7700    #[link_name = "\u{1}aws_lc_0_33_0_BN_num_bytes"]
7701    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7702}
7703extern "C" {
7704    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_minimal_width"]
7705    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7706}
7707extern "C" {
7708    #[link_name = "\u{1}aws_lc_0_33_0_BN_zero"]
7709    pub fn BN_zero(bn: *mut BIGNUM);
7710}
7711extern "C" {
7712    #[link_name = "\u{1}aws_lc_0_33_0_BN_one"]
7713    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
7714}
7715extern "C" {
7716    #[link_name = "\u{1}aws_lc_0_33_0_BN_set_word"]
7717    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
7718}
7719extern "C" {
7720    #[link_name = "\u{1}aws_lc_0_33_0_BN_set_u64"]
7721    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
7722}
7723extern "C" {
7724    #[link_name = "\u{1}aws_lc_0_33_0_BN_set_negative"]
7725    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
7726}
7727extern "C" {
7728    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_negative"]
7729    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7730}
7731extern "C" {
7732    #[link_name = "\u{1}aws_lc_0_33_0_BN_bin2bn"]
7733    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7734}
7735extern "C" {
7736    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2bin"]
7737    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7738}
7739extern "C" {
7740    #[link_name = "\u{1}aws_lc_0_33_0_BN_le2bn"]
7741    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7742}
7743extern "C" {
7744    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2le_padded"]
7745    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7746}
7747extern "C" {
7748    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2bin_padded"]
7749    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7750}
7751extern "C" {
7752    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2cbb_padded"]
7753    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
7754        -> ::std::os::raw::c_int;
7755}
7756extern "C" {
7757    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2hex"]
7758    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7759}
7760extern "C" {
7761    #[link_name = "\u{1}aws_lc_0_33_0_BN_hex2bn"]
7762    pub fn BN_hex2bn(
7763        outp: *mut *mut BIGNUM,
7764        in_: *const ::std::os::raw::c_char,
7765    ) -> ::std::os::raw::c_int;
7766}
7767extern "C" {
7768    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2dec"]
7769    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7770}
7771extern "C" {
7772    #[link_name = "\u{1}aws_lc_0_33_0_BN_dec2bn"]
7773    pub fn BN_dec2bn(
7774        outp: *mut *mut BIGNUM,
7775        in_: *const ::std::os::raw::c_char,
7776    ) -> ::std::os::raw::c_int;
7777}
7778extern "C" {
7779    #[link_name = "\u{1}aws_lc_0_33_0_BN_asc2bn"]
7780    pub fn BN_asc2bn(
7781        outp: *mut *mut BIGNUM,
7782        in_: *const ::std::os::raw::c_char,
7783    ) -> ::std::os::raw::c_int;
7784}
7785extern "C" {
7786    #[link_name = "\u{1}aws_lc_0_33_0_BN_print"]
7787    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
7788}
7789extern "C" {
7790    #[link_name = "\u{1}aws_lc_0_33_0_BN_print_fp"]
7791    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
7792}
7793extern "C" {
7794    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_word"]
7795    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7796}
7797extern "C" {
7798    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_u64"]
7799    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
7800}
7801extern "C" {
7802    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_flags"]
7803    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7804}
7805extern "C" {
7806    #[link_name = "\u{1}aws_lc_0_33_0_BN_parse_asn1_unsigned"]
7807    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
7808}
7809extern "C" {
7810    #[link_name = "\u{1}aws_lc_0_33_0_BN_marshal_asn1"]
7811    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
7812}
7813extern "C" {
7814    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_new"]
7815    pub fn BN_CTX_new() -> *mut BN_CTX;
7816}
7817extern "C" {
7818    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_free"]
7819    pub fn BN_CTX_free(ctx: *mut BN_CTX);
7820}
7821extern "C" {
7822    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_start"]
7823    pub fn BN_CTX_start(ctx: *mut BN_CTX);
7824}
7825extern "C" {
7826    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_get"]
7827    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7828}
7829extern "C" {
7830    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_end"]
7831    pub fn BN_CTX_end(ctx: *mut BN_CTX);
7832}
7833extern "C" {
7834    #[link_name = "\u{1}aws_lc_0_33_0_BN_add"]
7835    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7836}
7837extern "C" {
7838    #[link_name = "\u{1}aws_lc_0_33_0_BN_uadd"]
7839    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7840}
7841extern "C" {
7842    #[link_name = "\u{1}aws_lc_0_33_0_BN_add_word"]
7843    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7844}
7845extern "C" {
7846    #[link_name = "\u{1}aws_lc_0_33_0_BN_sub"]
7847    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7848}
7849extern "C" {
7850    #[link_name = "\u{1}aws_lc_0_33_0_BN_usub"]
7851    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7852}
7853extern "C" {
7854    #[link_name = "\u{1}aws_lc_0_33_0_BN_sub_word"]
7855    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7856}
7857extern "C" {
7858    #[link_name = "\u{1}aws_lc_0_33_0_BN_mul"]
7859    pub fn BN_mul(
7860        r: *mut BIGNUM,
7861        a: *const BIGNUM,
7862        b: *const BIGNUM,
7863        ctx: *mut BN_CTX,
7864    ) -> ::std::os::raw::c_int;
7865}
7866extern "C" {
7867    #[link_name = "\u{1}aws_lc_0_33_0_BN_mul_word"]
7868    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7869}
7870extern "C" {
7871    #[link_name = "\u{1}aws_lc_0_33_0_BN_sqr"]
7872    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
7873}
7874extern "C" {
7875    #[link_name = "\u{1}aws_lc_0_33_0_BN_div"]
7876    pub fn BN_div(
7877        quotient: *mut BIGNUM,
7878        rem: *mut BIGNUM,
7879        numerator: *const BIGNUM,
7880        divisor: *const BIGNUM,
7881        ctx: *mut BN_CTX,
7882    ) -> ::std::os::raw::c_int;
7883}
7884extern "C" {
7885    #[link_name = "\u{1}aws_lc_0_33_0_BN_div_word"]
7886    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7887}
7888extern "C" {
7889    #[link_name = "\u{1}aws_lc_0_33_0_BN_sqrt"]
7890    pub fn BN_sqrt(
7891        out_sqrt: *mut BIGNUM,
7892        in_: *const BIGNUM,
7893        ctx: *mut BN_CTX,
7894    ) -> ::std::os::raw::c_int;
7895}
7896extern "C" {
7897    #[link_name = "\u{1}aws_lc_0_33_0_BN_cmp"]
7898    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7899}
7900extern "C" {
7901    #[link_name = "\u{1}aws_lc_0_33_0_BN_cmp_word"]
7902    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
7903}
7904extern "C" {
7905    #[link_name = "\u{1}aws_lc_0_33_0_BN_ucmp"]
7906    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7907}
7908extern "C" {
7909    #[link_name = "\u{1}aws_lc_0_33_0_BN_equal_consttime"]
7910    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7911}
7912extern "C" {
7913    #[link_name = "\u{1}aws_lc_0_33_0_BN_abs_is_word"]
7914    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7915}
7916extern "C" {
7917    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_zero"]
7918    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7919}
7920extern "C" {
7921    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_one"]
7922    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7923}
7924extern "C" {
7925    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_word"]
7926    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7927}
7928extern "C" {
7929    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_odd"]
7930    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7931}
7932extern "C" {
7933    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_pow2"]
7934    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
7935}
7936extern "C" {
7937    #[link_name = "\u{1}aws_lc_0_33_0_BN_lshift"]
7938    pub fn BN_lshift(
7939        r: *mut BIGNUM,
7940        a: *const BIGNUM,
7941        n: ::std::os::raw::c_int,
7942    ) -> ::std::os::raw::c_int;
7943}
7944extern "C" {
7945    #[link_name = "\u{1}aws_lc_0_33_0_BN_lshift1"]
7946    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7947}
7948extern "C" {
7949    #[link_name = "\u{1}aws_lc_0_33_0_BN_rshift"]
7950    pub fn BN_rshift(
7951        r: *mut BIGNUM,
7952        a: *const BIGNUM,
7953        n: ::std::os::raw::c_int,
7954    ) -> ::std::os::raw::c_int;
7955}
7956extern "C" {
7957    #[link_name = "\u{1}aws_lc_0_33_0_BN_rshift1"]
7958    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7959}
7960extern "C" {
7961    #[link_name = "\u{1}aws_lc_0_33_0_BN_set_bit"]
7962    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7963}
7964extern "C" {
7965    #[link_name = "\u{1}aws_lc_0_33_0_BN_clear_bit"]
7966    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7967}
7968extern "C" {
7969    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_bit_set"]
7970    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7971}
7972extern "C" {
7973    #[link_name = "\u{1}aws_lc_0_33_0_BN_mask_bits"]
7974    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7975}
7976extern "C" {
7977    #[link_name = "\u{1}aws_lc_0_33_0_BN_count_low_zero_bits"]
7978    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7979}
7980extern "C" {
7981    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_word"]
7982    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7983}
7984extern "C" {
7985    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_pow2"]
7986    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7987}
7988extern "C" {
7989    #[link_name = "\u{1}aws_lc_0_33_0_BN_nnmod_pow2"]
7990    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7991}
7992extern "C" {
7993    #[link_name = "\u{1}aws_lc_0_33_0_BN_nnmod"]
7994    pub fn BN_nnmod(
7995        rem: *mut BIGNUM,
7996        numerator: *const BIGNUM,
7997        divisor: *const BIGNUM,
7998        ctx: *mut BN_CTX,
7999    ) -> ::std::os::raw::c_int;
8000}
8001extern "C" {
8002    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_add"]
8003    pub fn BN_mod_add(
8004        r: *mut BIGNUM,
8005        a: *const BIGNUM,
8006        b: *const BIGNUM,
8007        m: *const BIGNUM,
8008        ctx: *mut BN_CTX,
8009    ) -> ::std::os::raw::c_int;
8010}
8011extern "C" {
8012    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_add_quick"]
8013    pub fn BN_mod_add_quick(
8014        r: *mut BIGNUM,
8015        a: *const BIGNUM,
8016        b: *const BIGNUM,
8017        m: *const BIGNUM,
8018    ) -> ::std::os::raw::c_int;
8019}
8020extern "C" {
8021    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_sub"]
8022    pub fn BN_mod_sub(
8023        r: *mut BIGNUM,
8024        a: *const BIGNUM,
8025        b: *const BIGNUM,
8026        m: *const BIGNUM,
8027        ctx: *mut BN_CTX,
8028    ) -> ::std::os::raw::c_int;
8029}
8030extern "C" {
8031    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_sub_quick"]
8032    pub fn BN_mod_sub_quick(
8033        r: *mut BIGNUM,
8034        a: *const BIGNUM,
8035        b: *const BIGNUM,
8036        m: *const BIGNUM,
8037    ) -> ::std::os::raw::c_int;
8038}
8039extern "C" {
8040    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_mul"]
8041    pub fn BN_mod_mul(
8042        r: *mut BIGNUM,
8043        a: *const BIGNUM,
8044        b: *const BIGNUM,
8045        m: *const BIGNUM,
8046        ctx: *mut BN_CTX,
8047    ) -> ::std::os::raw::c_int;
8048}
8049extern "C" {
8050    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_sqr"]
8051    pub fn BN_mod_sqr(
8052        r: *mut BIGNUM,
8053        a: *const BIGNUM,
8054        m: *const BIGNUM,
8055        ctx: *mut BN_CTX,
8056    ) -> ::std::os::raw::c_int;
8057}
8058extern "C" {
8059    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_lshift"]
8060    pub fn BN_mod_lshift(
8061        r: *mut BIGNUM,
8062        a: *const BIGNUM,
8063        n: ::std::os::raw::c_int,
8064        m: *const BIGNUM,
8065        ctx: *mut BN_CTX,
8066    ) -> ::std::os::raw::c_int;
8067}
8068extern "C" {
8069    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_lshift_quick"]
8070    pub fn BN_mod_lshift_quick(
8071        r: *mut BIGNUM,
8072        a: *const BIGNUM,
8073        n: ::std::os::raw::c_int,
8074        m: *const BIGNUM,
8075    ) -> ::std::os::raw::c_int;
8076}
8077extern "C" {
8078    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_lshift1"]
8079    pub fn BN_mod_lshift1(
8080        r: *mut BIGNUM,
8081        a: *const BIGNUM,
8082        m: *const BIGNUM,
8083        ctx: *mut BN_CTX,
8084    ) -> ::std::os::raw::c_int;
8085}
8086extern "C" {
8087    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_lshift1_quick"]
8088    pub fn BN_mod_lshift1_quick(
8089        r: *mut BIGNUM,
8090        a: *const BIGNUM,
8091        m: *const BIGNUM,
8092    ) -> ::std::os::raw::c_int;
8093}
8094extern "C" {
8095    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_sqrt"]
8096    pub fn BN_mod_sqrt(
8097        in_: *mut BIGNUM,
8098        a: *const BIGNUM,
8099        p: *const BIGNUM,
8100        ctx: *mut BN_CTX,
8101    ) -> *mut BIGNUM;
8102}
8103extern "C" {
8104    #[link_name = "\u{1}aws_lc_0_33_0_BN_rand"]
8105    pub fn BN_rand(
8106        rnd: *mut BIGNUM,
8107        bits: ::std::os::raw::c_int,
8108        top: ::std::os::raw::c_int,
8109        bottom: ::std::os::raw::c_int,
8110    ) -> ::std::os::raw::c_int;
8111}
8112extern "C" {
8113    #[link_name = "\u{1}aws_lc_0_33_0_BN_pseudo_rand"]
8114    pub fn BN_pseudo_rand(
8115        rnd: *mut BIGNUM,
8116        bits: ::std::os::raw::c_int,
8117        top: ::std::os::raw::c_int,
8118        bottom: ::std::os::raw::c_int,
8119    ) -> ::std::os::raw::c_int;
8120}
8121extern "C" {
8122    #[link_name = "\u{1}aws_lc_0_33_0_BN_rand_range"]
8123    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8124}
8125extern "C" {
8126    #[link_name = "\u{1}aws_lc_0_33_0_BN_rand_range_ex"]
8127    pub fn BN_rand_range_ex(
8128        r: *mut BIGNUM,
8129        min_inclusive: BN_ULONG,
8130        max_exclusive: *const BIGNUM,
8131    ) -> ::std::os::raw::c_int;
8132}
8133extern "C" {
8134    #[link_name = "\u{1}aws_lc_0_33_0_BN_pseudo_rand_range"]
8135    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8136}
8137#[repr(C)]
8138#[derive(Copy, Clone)]
8139pub struct bn_gencb_st {
8140    pub type_: u8,
8141    pub arg: *mut ::std::os::raw::c_void,
8142    pub callback: bn_gencb_st__bindgen_ty_1,
8143}
8144#[repr(C)]
8145#[derive(Copy, Clone)]
8146pub union bn_gencb_st__bindgen_ty_1 {
8147    pub new_style: ::std::option::Option<
8148        unsafe extern "C" fn(
8149            event: ::std::os::raw::c_int,
8150            n: ::std::os::raw::c_int,
8151            arg1: *mut bn_gencb_st,
8152        ) -> ::std::os::raw::c_int,
8153    >,
8154    pub old_style: ::std::option::Option<
8155        unsafe extern "C" fn(
8156            arg1: ::std::os::raw::c_int,
8157            arg2: ::std::os::raw::c_int,
8158            arg3: *mut ::std::os::raw::c_void,
8159        ),
8160    >,
8161}
8162#[test]
8163fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8164    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8165        ::std::mem::MaybeUninit::uninit();
8166    let ptr = UNINIT.as_ptr();
8167    assert_eq!(
8168        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8169        8usize,
8170        "Size of bn_gencb_st__bindgen_ty_1"
8171    );
8172    assert_eq!(
8173        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8174        8usize,
8175        "Alignment of bn_gencb_st__bindgen_ty_1"
8176    );
8177    assert_eq!(
8178        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8179        0usize,
8180        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
8181    );
8182    assert_eq!(
8183        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8184        0usize,
8185        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
8186    );
8187}
8188impl Default for bn_gencb_st__bindgen_ty_1 {
8189    fn default() -> Self {
8190        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8191        unsafe {
8192            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8193            s.assume_init()
8194        }
8195    }
8196}
8197#[test]
8198fn bindgen_test_layout_bn_gencb_st() {
8199    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8200    let ptr = UNINIT.as_ptr();
8201    assert_eq!(
8202        ::std::mem::size_of::<bn_gencb_st>(),
8203        24usize,
8204        "Size of bn_gencb_st"
8205    );
8206    assert_eq!(
8207        ::std::mem::align_of::<bn_gencb_st>(),
8208        8usize,
8209        "Alignment of bn_gencb_st"
8210    );
8211    assert_eq!(
8212        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8213        0usize,
8214        "Offset of field: bn_gencb_st::type_"
8215    );
8216    assert_eq!(
8217        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8218        8usize,
8219        "Offset of field: bn_gencb_st::arg"
8220    );
8221    assert_eq!(
8222        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8223        16usize,
8224        "Offset of field: bn_gencb_st::callback"
8225    );
8226}
8227impl Default for bn_gencb_st {
8228    fn default() -> Self {
8229        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8230        unsafe {
8231            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8232            s.assume_init()
8233        }
8234    }
8235}
8236extern "C" {
8237    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_new"]
8238    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8239}
8240extern "C" {
8241    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_free"]
8242    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8243}
8244extern "C" {
8245    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_set"]
8246    pub fn BN_GENCB_set(
8247        callback: *mut BN_GENCB,
8248        f: ::std::option::Option<
8249            unsafe extern "C" fn(
8250                event: ::std::os::raw::c_int,
8251                n: ::std::os::raw::c_int,
8252                arg1: *mut BN_GENCB,
8253            ) -> ::std::os::raw::c_int,
8254        >,
8255        arg: *mut ::std::os::raw::c_void,
8256    );
8257}
8258extern "C" {
8259    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_call"]
8260    pub fn BN_GENCB_call(
8261        callback: *mut BN_GENCB,
8262        event: ::std::os::raw::c_int,
8263        n: ::std::os::raw::c_int,
8264    ) -> ::std::os::raw::c_int;
8265}
8266extern "C" {
8267    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_get_arg"]
8268    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8269}
8270extern "C" {
8271    #[link_name = "\u{1}aws_lc_0_33_0_BN_generate_prime_ex"]
8272    pub fn BN_generate_prime_ex(
8273        ret: *mut BIGNUM,
8274        bits: ::std::os::raw::c_int,
8275        safe: ::std::os::raw::c_int,
8276        add: *const BIGNUM,
8277        rem: *const BIGNUM,
8278        cb: *mut BN_GENCB,
8279    ) -> ::std::os::raw::c_int;
8280}
8281pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8282pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8283pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8284pub type bn_primality_result_t = ::std::os::raw::c_uint;
8285extern "C" {
8286    #[link_name = "\u{1}aws_lc_0_33_0_BN_enhanced_miller_rabin_primality_test"]
8287    pub fn BN_enhanced_miller_rabin_primality_test(
8288        out_result: *mut bn_primality_result_t,
8289        w: *const BIGNUM,
8290        checks: ::std::os::raw::c_int,
8291        ctx: *mut BN_CTX,
8292        cb: *mut BN_GENCB,
8293    ) -> ::std::os::raw::c_int;
8294}
8295extern "C" {
8296    #[link_name = "\u{1}aws_lc_0_33_0_BN_primality_test"]
8297    pub fn BN_primality_test(
8298        is_probably_prime: *mut ::std::os::raw::c_int,
8299        candidate: *const BIGNUM,
8300        checks: ::std::os::raw::c_int,
8301        ctx: *mut BN_CTX,
8302        do_trial_division: ::std::os::raw::c_int,
8303        cb: *mut BN_GENCB,
8304    ) -> ::std::os::raw::c_int;
8305}
8306extern "C" {
8307    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_prime_fasttest_ex"]
8308    pub fn BN_is_prime_fasttest_ex(
8309        candidate: *const BIGNUM,
8310        checks: ::std::os::raw::c_int,
8311        ctx: *mut BN_CTX,
8312        do_trial_division: ::std::os::raw::c_int,
8313        cb: *mut BN_GENCB,
8314    ) -> ::std::os::raw::c_int;
8315}
8316extern "C" {
8317    #[link_name = "\u{1}aws_lc_0_33_0_BN_is_prime_ex"]
8318    pub fn BN_is_prime_ex(
8319        candidate: *const BIGNUM,
8320        checks: ::std::os::raw::c_int,
8321        ctx: *mut BN_CTX,
8322        cb: *mut BN_GENCB,
8323    ) -> ::std::os::raw::c_int;
8324}
8325extern "C" {
8326    #[link_name = "\u{1}aws_lc_0_33_0_BN_gcd"]
8327    pub fn BN_gcd(
8328        r: *mut BIGNUM,
8329        a: *const BIGNUM,
8330        b: *const BIGNUM,
8331        ctx: *mut BN_CTX,
8332    ) -> ::std::os::raw::c_int;
8333}
8334extern "C" {
8335    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_inverse"]
8336    pub fn BN_mod_inverse(
8337        out: *mut BIGNUM,
8338        a: *const BIGNUM,
8339        n: *const BIGNUM,
8340        ctx: *mut BN_CTX,
8341    ) -> *mut BIGNUM;
8342}
8343extern "C" {
8344    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_inverse_blinded"]
8345    pub fn BN_mod_inverse_blinded(
8346        out: *mut BIGNUM,
8347        out_no_inverse: *mut ::std::os::raw::c_int,
8348        a: *const BIGNUM,
8349        mont: *const BN_MONT_CTX,
8350        ctx: *mut BN_CTX,
8351    ) -> ::std::os::raw::c_int;
8352}
8353extern "C" {
8354    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_inverse_odd"]
8355    pub fn BN_mod_inverse_odd(
8356        out: *mut BIGNUM,
8357        out_no_inverse: *mut ::std::os::raw::c_int,
8358        a: *const BIGNUM,
8359        n: *const BIGNUM,
8360        ctx: *mut BN_CTX,
8361    ) -> ::std::os::raw::c_int;
8362}
8363extern "C" {
8364    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_new_for_modulus"]
8365    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8366}
8367extern "C" {
8368    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_new_consttime"]
8369    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8370}
8371extern "C" {
8372    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_free"]
8373    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8374}
8375extern "C" {
8376    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_copy"]
8377    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8378}
8379extern "C" {
8380    #[link_name = "\u{1}aws_lc_0_33_0_BN_to_montgomery"]
8381    pub fn BN_to_montgomery(
8382        ret: *mut BIGNUM,
8383        a: *const BIGNUM,
8384        mont: *const BN_MONT_CTX,
8385        ctx: *mut BN_CTX,
8386    ) -> ::std::os::raw::c_int;
8387}
8388extern "C" {
8389    #[link_name = "\u{1}aws_lc_0_33_0_BN_from_montgomery"]
8390    pub fn BN_from_montgomery(
8391        ret: *mut BIGNUM,
8392        a: *const BIGNUM,
8393        mont: *const BN_MONT_CTX,
8394        ctx: *mut BN_CTX,
8395    ) -> ::std::os::raw::c_int;
8396}
8397extern "C" {
8398    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_mul_montgomery"]
8399    pub fn BN_mod_mul_montgomery(
8400        r: *mut BIGNUM,
8401        a: *const BIGNUM,
8402        b: *const BIGNUM,
8403        mont: *const BN_MONT_CTX,
8404        ctx: *mut BN_CTX,
8405    ) -> ::std::os::raw::c_int;
8406}
8407extern "C" {
8408    #[link_name = "\u{1}aws_lc_0_33_0_BN_exp"]
8409    pub fn BN_exp(
8410        r: *mut BIGNUM,
8411        a: *const BIGNUM,
8412        p: *const BIGNUM,
8413        ctx: *mut BN_CTX,
8414    ) -> ::std::os::raw::c_int;
8415}
8416extern "C" {
8417    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp"]
8418    pub fn BN_mod_exp(
8419        r: *mut BIGNUM,
8420        a: *const BIGNUM,
8421        p: *const BIGNUM,
8422        m: *const BIGNUM,
8423        ctx: *mut BN_CTX,
8424    ) -> ::std::os::raw::c_int;
8425}
8426extern "C" {
8427    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp_mont"]
8428    pub fn BN_mod_exp_mont(
8429        r: *mut BIGNUM,
8430        a: *const BIGNUM,
8431        p: *const BIGNUM,
8432        m: *const BIGNUM,
8433        ctx: *mut BN_CTX,
8434        mont: *const BN_MONT_CTX,
8435    ) -> ::std::os::raw::c_int;
8436}
8437extern "C" {
8438    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp_mont_consttime"]
8439    pub fn BN_mod_exp_mont_consttime(
8440        rr: *mut BIGNUM,
8441        a: *const BIGNUM,
8442        p: *const BIGNUM,
8443        m: *const BIGNUM,
8444        ctx: *mut BN_CTX,
8445        mont: *const BN_MONT_CTX,
8446    ) -> ::std::os::raw::c_int;
8447}
8448extern "C" {
8449    #[link_name = "\u{1}aws_lc_0_33_0_BN_GENCB_set_old"]
8450    pub fn BN_GENCB_set_old(
8451        callback: *mut BN_GENCB,
8452        f: ::std::option::Option<
8453            unsafe extern "C" fn(
8454                arg1: ::std::os::raw::c_int,
8455                arg2: ::std::os::raw::c_int,
8456                arg3: *mut ::std::os::raw::c_void,
8457            ),
8458        >,
8459        cb_arg: *mut ::std::os::raw::c_void,
8460    );
8461}
8462extern "C" {
8463    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2mpi"]
8464    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8465}
8466extern "C" {
8467    #[link_name = "\u{1}aws_lc_0_33_0_BN_mpi2bn"]
8468    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8469}
8470extern "C" {
8471    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp_mont_word"]
8472    pub fn BN_mod_exp_mont_word(
8473        r: *mut BIGNUM,
8474        a: BN_ULONG,
8475        p: *const BIGNUM,
8476        m: *const BIGNUM,
8477        ctx: *mut BN_CTX,
8478        mont: *const BN_MONT_CTX,
8479    ) -> ::std::os::raw::c_int;
8480}
8481extern "C" {
8482    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp2_mont"]
8483    pub fn BN_mod_exp2_mont(
8484        r: *mut BIGNUM,
8485        a1: *const BIGNUM,
8486        p1: *const BIGNUM,
8487        a2: *const BIGNUM,
8488        p2: *const BIGNUM,
8489        m: *const BIGNUM,
8490        ctx: *mut BN_CTX,
8491        mont: *const BN_MONT_CTX,
8492    ) -> ::std::os::raw::c_int;
8493}
8494extern "C" {
8495    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_new"]
8496    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8497}
8498extern "C" {
8499    #[link_name = "\u{1}aws_lc_0_33_0_BN_MONT_CTX_set"]
8500    pub fn BN_MONT_CTX_set(
8501        mont: *mut BN_MONT_CTX,
8502        mod_: *const BIGNUM,
8503        ctx: *mut BN_CTX,
8504    ) -> ::std::os::raw::c_int;
8505}
8506extern "C" {
8507    #[link_name = "\u{1}aws_lc_0_33_0_BN_bn2binpad"]
8508    pub fn BN_bn2binpad(
8509        in_: *const BIGNUM,
8510        out: *mut u8,
8511        len: ::std::os::raw::c_int,
8512    ) -> ::std::os::raw::c_int;
8513}
8514extern "C" {
8515    #[link_name = "\u{1}aws_lc_0_33_0_BN_secure_new"]
8516    pub fn BN_secure_new() -> *mut BIGNUM;
8517}
8518extern "C" {
8519    #[link_name = "\u{1}aws_lc_0_33_0_BN_CTX_secure_new"]
8520    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8521}
8522extern "C" {
8523    #[link_name = "\u{1}aws_lc_0_33_0_BN_mod_exp_mont_consttime_x2"]
8524    pub fn BN_mod_exp_mont_consttime_x2(
8525        rr1: *mut BIGNUM,
8526        a1: *const BIGNUM,
8527        p1: *const BIGNUM,
8528        m1: *const BIGNUM,
8529        in_mont1: *const BN_MONT_CTX,
8530        rr2: *mut BIGNUM,
8531        a2: *const BIGNUM,
8532        p2: *const BIGNUM,
8533        m2: *const BIGNUM,
8534        in_mont2: *const BN_MONT_CTX,
8535        ctx: *mut BN_CTX,
8536    ) -> ::std::os::raw::c_int;
8537}
8538extern "C" {
8539    #[link_name = "\u{1}aws_lc_0_33_0_BN_set_flags"]
8540    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8541}
8542#[repr(C)]
8543#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8544pub struct bignum_st {
8545    pub d: *mut BN_ULONG,
8546    pub width: ::std::os::raw::c_int,
8547    pub dmax: ::std::os::raw::c_int,
8548    pub neg: ::std::os::raw::c_int,
8549    pub flags: ::std::os::raw::c_int,
8550}
8551#[test]
8552fn bindgen_test_layout_bignum_st() {
8553    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8554    let ptr = UNINIT.as_ptr();
8555    assert_eq!(
8556        ::std::mem::size_of::<bignum_st>(),
8557        24usize,
8558        "Size of bignum_st"
8559    );
8560    assert_eq!(
8561        ::std::mem::align_of::<bignum_st>(),
8562        8usize,
8563        "Alignment of bignum_st"
8564    );
8565    assert_eq!(
8566        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8567        0usize,
8568        "Offset of field: bignum_st::d"
8569    );
8570    assert_eq!(
8571        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8572        8usize,
8573        "Offset of field: bignum_st::width"
8574    );
8575    assert_eq!(
8576        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8577        12usize,
8578        "Offset of field: bignum_st::dmax"
8579    );
8580    assert_eq!(
8581        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
8582        16usize,
8583        "Offset of field: bignum_st::neg"
8584    );
8585    assert_eq!(
8586        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8587        20usize,
8588        "Offset of field: bignum_st::flags"
8589    );
8590}
8591impl Default for bignum_st {
8592    fn default() -> Self {
8593        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8594        unsafe {
8595            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8596            s.assume_init()
8597        }
8598    }
8599}
8600#[repr(C)]
8601#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8602pub struct bn_mont_ctx_st {
8603    pub RR: BIGNUM,
8604    pub N: BIGNUM,
8605    pub n0: [BN_ULONG; 2usize],
8606}
8607#[test]
8608fn bindgen_test_layout_bn_mont_ctx_st() {
8609    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
8610    let ptr = UNINIT.as_ptr();
8611    assert_eq!(
8612        ::std::mem::size_of::<bn_mont_ctx_st>(),
8613        64usize,
8614        "Size of bn_mont_ctx_st"
8615    );
8616    assert_eq!(
8617        ::std::mem::align_of::<bn_mont_ctx_st>(),
8618        8usize,
8619        "Alignment of bn_mont_ctx_st"
8620    );
8621    assert_eq!(
8622        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
8623        0usize,
8624        "Offset of field: bn_mont_ctx_st::RR"
8625    );
8626    assert_eq!(
8627        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
8628        24usize,
8629        "Offset of field: bn_mont_ctx_st::N"
8630    );
8631    assert_eq!(
8632        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
8633        48usize,
8634        "Offset of field: bn_mont_ctx_st::n0"
8635    );
8636}
8637impl Default for bn_mont_ctx_st {
8638    fn default() -> Self {
8639        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8640        unsafe {
8641            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8642            s.assume_init()
8643        }
8644    }
8645}
8646extern "C" {
8647    #[link_name = "\u{1}aws_lc_0_33_0_BN_num_bits_word"]
8648    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
8649}
8650extern "C" {
8651    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_tag2bit"]
8652    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
8653}
8654extern "C" {
8655    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_tag2str"]
8656    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8657}
8658pub type d2i_of_void = ::std::option::Option<
8659    unsafe extern "C" fn(
8660        arg1: *mut *mut ::std::os::raw::c_void,
8661        arg2: *mut *const ::std::os::raw::c_uchar,
8662        arg3: ::std::os::raw::c_long,
8663    ) -> *mut ::std::os::raw::c_void,
8664>;
8665pub type i2d_of_void = ::std::option::Option<
8666    unsafe extern "C" fn(
8667        arg1: *const ::std::os::raw::c_void,
8668        arg2: *mut *mut ::std::os::raw::c_uchar,
8669    ) -> ::std::os::raw::c_int,
8670>;
8671pub type ASN1_ITEM_EXP = ASN1_ITEM;
8672#[repr(C)]
8673#[derive(Debug, Copy, Clone)]
8674pub struct ASN1_VALUE_st {
8675    _unused: [u8; 0],
8676}
8677pub type ASN1_VALUE = ASN1_VALUE_st;
8678extern "C" {
8679    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_new"]
8680    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
8681}
8682extern "C" {
8683    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_free"]
8684    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
8685}
8686extern "C" {
8687    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_d2i"]
8688    pub fn ASN1_item_d2i(
8689        out: *mut *mut ASN1_VALUE,
8690        inp: *mut *const ::std::os::raw::c_uchar,
8691        len: ::std::os::raw::c_long,
8692        it: *const ASN1_ITEM,
8693    ) -> *mut ASN1_VALUE;
8694}
8695extern "C" {
8696    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_i2d"]
8697    pub fn ASN1_item_i2d(
8698        val: *mut ASN1_VALUE,
8699        outp: *mut *mut ::std::os::raw::c_uchar,
8700        it: *const ASN1_ITEM,
8701    ) -> ::std::os::raw::c_int;
8702}
8703extern "C" {
8704    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_dup"]
8705    pub fn ASN1_dup(
8706        i2d: i2d_of_void,
8707        d2i: d2i_of_void,
8708        x: *mut ::std::os::raw::c_void,
8709    ) -> *mut ::std::os::raw::c_void;
8710}
8711extern "C" {
8712    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_dup"]
8713    pub fn ASN1_item_dup(
8714        it: *const ASN1_ITEM,
8715        x: *mut ::std::os::raw::c_void,
8716    ) -> *mut ::std::os::raw::c_void;
8717}
8718extern "C" {
8719    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_d2i_fp"]
8720    pub fn ASN1_item_d2i_fp(
8721        it: *const ASN1_ITEM,
8722        in_: *mut FILE,
8723        out: *mut ::std::os::raw::c_void,
8724    ) -> *mut ::std::os::raw::c_void;
8725}
8726extern "C" {
8727    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_d2i_bio"]
8728    pub fn ASN1_item_d2i_bio(
8729        it: *const ASN1_ITEM,
8730        in_: *mut BIO,
8731        out: *mut ::std::os::raw::c_void,
8732    ) -> *mut ::std::os::raw::c_void;
8733}
8734extern "C" {
8735    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_i2d_fp"]
8736    pub fn ASN1_item_i2d_fp(
8737        it: *const ASN1_ITEM,
8738        out: *mut FILE,
8739        in_: *mut ::std::os::raw::c_void,
8740    ) -> ::std::os::raw::c_int;
8741}
8742extern "C" {
8743    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_i2d_bio"]
8744    pub fn ASN1_item_i2d_bio(
8745        it: *const ASN1_ITEM,
8746        out: *mut BIO,
8747        in_: *mut ::std::os::raw::c_void,
8748    ) -> ::std::os::raw::c_int;
8749}
8750extern "C" {
8751    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_i2d_bio"]
8752    pub fn ASN1_i2d_bio(
8753        i2d: i2d_of_void,
8754        out: *mut BIO,
8755        in_: *mut ::std::os::raw::c_void,
8756    ) -> ::std::os::raw::c_int;
8757}
8758extern "C" {
8759    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_unpack"]
8760    pub fn ASN1_item_unpack(
8761        oct: *const ASN1_STRING,
8762        it: *const ASN1_ITEM,
8763    ) -> *mut ::std::os::raw::c_void;
8764}
8765extern "C" {
8766    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_pack"]
8767    pub fn ASN1_item_pack(
8768        obj: *mut ::std::os::raw::c_void,
8769        it: *const ASN1_ITEM,
8770        out: *mut *mut ASN1_STRING,
8771    ) -> *mut ASN1_STRING;
8772}
8773extern "C" {
8774    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_BOOLEAN"]
8775    pub fn d2i_ASN1_BOOLEAN(
8776        out: *mut ASN1_BOOLEAN,
8777        inp: *mut *const ::std::os::raw::c_uchar,
8778        len: ::std::os::raw::c_long,
8779    ) -> ASN1_BOOLEAN;
8780}
8781extern "C" {
8782    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_BOOLEAN"]
8783    pub fn i2d_ASN1_BOOLEAN(
8784        a: ASN1_BOOLEAN,
8785        outp: *mut *mut ::std::os::raw::c_uchar,
8786    ) -> ::std::os::raw::c_int;
8787}
8788extern "C" {
8789    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BOOLEAN_it"]
8790    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
8791}
8792extern "C" {
8793    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TBOOLEAN_it"]
8794    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
8795}
8796extern "C" {
8797    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_FBOOLEAN_it"]
8798    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
8799}
8800#[repr(C)]
8801#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8802pub struct asn1_string_st {
8803    pub length: ::std::os::raw::c_int,
8804    pub type_: ::std::os::raw::c_int,
8805    pub data: *mut ::std::os::raw::c_uchar,
8806    pub flags: ::std::os::raw::c_long,
8807}
8808#[test]
8809fn bindgen_test_layout_asn1_string_st() {
8810    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
8811    let ptr = UNINIT.as_ptr();
8812    assert_eq!(
8813        ::std::mem::size_of::<asn1_string_st>(),
8814        24usize,
8815        "Size of asn1_string_st"
8816    );
8817    assert_eq!(
8818        ::std::mem::align_of::<asn1_string_st>(),
8819        8usize,
8820        "Alignment of asn1_string_st"
8821    );
8822    assert_eq!(
8823        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8824        0usize,
8825        "Offset of field: asn1_string_st::length"
8826    );
8827    assert_eq!(
8828        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8829        4usize,
8830        "Offset of field: asn1_string_st::type_"
8831    );
8832    assert_eq!(
8833        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8834        8usize,
8835        "Offset of field: asn1_string_st::data"
8836    );
8837    assert_eq!(
8838        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8839        16usize,
8840        "Offset of field: asn1_string_st::flags"
8841    );
8842}
8843impl Default for asn1_string_st {
8844    fn default() -> Self {
8845        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8846        unsafe {
8847            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8848            s.assume_init()
8849        }
8850    }
8851}
8852extern "C" {
8853    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_type_new"]
8854    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
8855}
8856extern "C" {
8857    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_new"]
8858    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
8859}
8860extern "C" {
8861    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_free"]
8862    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
8863}
8864extern "C" {
8865    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_clear_free"]
8866    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
8867}
8868extern "C" {
8869    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_copy"]
8870    pub fn ASN1_STRING_copy(
8871        dst: *mut ASN1_STRING,
8872        str_: *const ASN1_STRING,
8873    ) -> ::std::os::raw::c_int;
8874}
8875extern "C" {
8876    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_dup"]
8877    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
8878}
8879extern "C" {
8880    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_type"]
8881    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8882}
8883extern "C" {
8884    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_get0_data"]
8885    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
8886}
8887extern "C" {
8888    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_data"]
8889    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
8890}
8891extern "C" {
8892    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_length"]
8893    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8894}
8895extern "C" {
8896    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_cmp"]
8897    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
8898}
8899extern "C" {
8900    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_set"]
8901    pub fn ASN1_STRING_set(
8902        str_: *mut ASN1_STRING,
8903        data: *const ::std::os::raw::c_void,
8904        len: ossl_ssize_t,
8905    ) -> ::std::os::raw::c_int;
8906}
8907extern "C" {
8908    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_set0"]
8909    pub fn ASN1_STRING_set0(
8910        str_: *mut ASN1_STRING,
8911        data: *mut ::std::os::raw::c_void,
8912        len: ::std::os::raw::c_int,
8913    );
8914}
8915extern "C" {
8916    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BMPSTRING_new"]
8917    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
8918}
8919extern "C" {
8920    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALSTRING_new"]
8921    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
8922}
8923extern "C" {
8924    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_IA5STRING_new"]
8925    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
8926}
8927extern "C" {
8928    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_new"]
8929    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
8930}
8931extern "C" {
8932    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLESTRING_new"]
8933    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
8934}
8935extern "C" {
8936    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_T61STRING_new"]
8937    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
8938}
8939extern "C" {
8940    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UNIVERSALSTRING_new"]
8941    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
8942}
8943extern "C" {
8944    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTF8STRING_new"]
8945    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
8946}
8947extern "C" {
8948    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_VISIBLESTRING_new"]
8949    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
8950}
8951extern "C" {
8952    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BMPSTRING_free"]
8953    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
8954}
8955extern "C" {
8956    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALSTRING_free"]
8957    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
8958}
8959extern "C" {
8960    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_IA5STRING_free"]
8961    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
8962}
8963extern "C" {
8964    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_free"]
8965    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
8966}
8967extern "C" {
8968    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLESTRING_free"]
8969    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
8970}
8971extern "C" {
8972    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_T61STRING_free"]
8973    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
8974}
8975extern "C" {
8976    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UNIVERSALSTRING_free"]
8977    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
8978}
8979extern "C" {
8980    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTF8STRING_free"]
8981    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
8982}
8983extern "C" {
8984    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_VISIBLESTRING_free"]
8985    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8986}
8987extern "C" {
8988    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_BMPSTRING"]
8989    pub fn d2i_ASN1_BMPSTRING(
8990        out: *mut *mut ASN1_BMPSTRING,
8991        inp: *mut *const u8,
8992        len: ::std::os::raw::c_long,
8993    ) -> *mut ASN1_BMPSTRING;
8994}
8995extern "C" {
8996    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_GENERALSTRING"]
8997    pub fn d2i_ASN1_GENERALSTRING(
8998        out: *mut *mut ASN1_GENERALSTRING,
8999        inp: *mut *const u8,
9000        len: ::std::os::raw::c_long,
9001    ) -> *mut ASN1_GENERALSTRING;
9002}
9003extern "C" {
9004    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_IA5STRING"]
9005    pub fn d2i_ASN1_IA5STRING(
9006        out: *mut *mut ASN1_IA5STRING,
9007        inp: *mut *const u8,
9008        len: ::std::os::raw::c_long,
9009    ) -> *mut ASN1_IA5STRING;
9010}
9011extern "C" {
9012    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_OCTET_STRING"]
9013    pub fn d2i_ASN1_OCTET_STRING(
9014        out: *mut *mut ASN1_OCTET_STRING,
9015        inp: *mut *const u8,
9016        len: ::std::os::raw::c_long,
9017    ) -> *mut ASN1_OCTET_STRING;
9018}
9019extern "C" {
9020    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_PRINTABLESTRING"]
9021    pub fn d2i_ASN1_PRINTABLESTRING(
9022        out: *mut *mut ASN1_PRINTABLESTRING,
9023        inp: *mut *const u8,
9024        len: ::std::os::raw::c_long,
9025    ) -> *mut ASN1_PRINTABLESTRING;
9026}
9027extern "C" {
9028    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_T61STRING"]
9029    pub fn d2i_ASN1_T61STRING(
9030        out: *mut *mut ASN1_T61STRING,
9031        inp: *mut *const u8,
9032        len: ::std::os::raw::c_long,
9033    ) -> *mut ASN1_T61STRING;
9034}
9035extern "C" {
9036    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_UNIVERSALSTRING"]
9037    pub fn d2i_ASN1_UNIVERSALSTRING(
9038        out: *mut *mut ASN1_UNIVERSALSTRING,
9039        inp: *mut *const u8,
9040        len: ::std::os::raw::c_long,
9041    ) -> *mut ASN1_UNIVERSALSTRING;
9042}
9043extern "C" {
9044    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_UTF8STRING"]
9045    pub fn d2i_ASN1_UTF8STRING(
9046        out: *mut *mut ASN1_UTF8STRING,
9047        inp: *mut *const u8,
9048        len: ::std::os::raw::c_long,
9049    ) -> *mut ASN1_UTF8STRING;
9050}
9051extern "C" {
9052    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_VISIBLESTRING"]
9053    pub fn d2i_ASN1_VISIBLESTRING(
9054        out: *mut *mut ASN1_VISIBLESTRING,
9055        inp: *mut *const u8,
9056        len: ::std::os::raw::c_long,
9057    ) -> *mut ASN1_VISIBLESTRING;
9058}
9059extern "C" {
9060    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_BMPSTRING"]
9061    pub fn i2d_ASN1_BMPSTRING(
9062        in_: *const ASN1_BMPSTRING,
9063        outp: *mut *mut u8,
9064    ) -> ::std::os::raw::c_int;
9065}
9066extern "C" {
9067    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_GENERALSTRING"]
9068    pub fn i2d_ASN1_GENERALSTRING(
9069        in_: *const ASN1_GENERALSTRING,
9070        outp: *mut *mut u8,
9071    ) -> ::std::os::raw::c_int;
9072}
9073extern "C" {
9074    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_IA5STRING"]
9075    pub fn i2d_ASN1_IA5STRING(
9076        in_: *const ASN1_IA5STRING,
9077        outp: *mut *mut u8,
9078    ) -> ::std::os::raw::c_int;
9079}
9080extern "C" {
9081    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_OCTET_STRING"]
9082    pub fn i2d_ASN1_OCTET_STRING(
9083        in_: *const ASN1_OCTET_STRING,
9084        outp: *mut *mut u8,
9085    ) -> ::std::os::raw::c_int;
9086}
9087extern "C" {
9088    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_PRINTABLESTRING"]
9089    pub fn i2d_ASN1_PRINTABLESTRING(
9090        in_: *const ASN1_PRINTABLESTRING,
9091        outp: *mut *mut u8,
9092    ) -> ::std::os::raw::c_int;
9093}
9094extern "C" {
9095    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_T61STRING"]
9096    pub fn i2d_ASN1_T61STRING(
9097        in_: *const ASN1_T61STRING,
9098        outp: *mut *mut u8,
9099    ) -> ::std::os::raw::c_int;
9100}
9101extern "C" {
9102    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_UNIVERSALSTRING"]
9103    pub fn i2d_ASN1_UNIVERSALSTRING(
9104        in_: *const ASN1_UNIVERSALSTRING,
9105        outp: *mut *mut u8,
9106    ) -> ::std::os::raw::c_int;
9107}
9108extern "C" {
9109    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_UTF8STRING"]
9110    pub fn i2d_ASN1_UTF8STRING(
9111        in_: *const ASN1_UTF8STRING,
9112        outp: *mut *mut u8,
9113    ) -> ::std::os::raw::c_int;
9114}
9115extern "C" {
9116    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_VISIBLESTRING"]
9117    pub fn i2d_ASN1_VISIBLESTRING(
9118        in_: *const ASN1_VISIBLESTRING,
9119        outp: *mut *mut u8,
9120    ) -> ::std::os::raw::c_int;
9121}
9122extern "C" {
9123    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BMPSTRING_it"]
9124    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9125}
9126extern "C" {
9127    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALSTRING_it"]
9128    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9129}
9130extern "C" {
9131    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_IA5STRING_it"]
9132    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9133}
9134extern "C" {
9135    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_it"]
9136    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9137}
9138extern "C" {
9139    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLESTRING_it"]
9140    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9141}
9142extern "C" {
9143    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_T61STRING_it"]
9144    pub static ASN1_T61STRING_it: ASN1_ITEM;
9145}
9146extern "C" {
9147    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UNIVERSALSTRING_it"]
9148    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9149}
9150extern "C" {
9151    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTF8STRING_it"]
9152    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9153}
9154extern "C" {
9155    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_VISIBLESTRING_it"]
9156    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9157}
9158extern "C" {
9159    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_dup"]
9160    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9161}
9162extern "C" {
9163    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_cmp"]
9164    pub fn ASN1_OCTET_STRING_cmp(
9165        a: *const ASN1_OCTET_STRING,
9166        b: *const ASN1_OCTET_STRING,
9167    ) -> ::std::os::raw::c_int;
9168}
9169extern "C" {
9170    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OCTET_STRING_set"]
9171    pub fn ASN1_OCTET_STRING_set(
9172        str_: *mut ASN1_OCTET_STRING,
9173        data: *const ::std::os::raw::c_uchar,
9174        len: ::std::os::raw::c_int,
9175    ) -> ::std::os::raw::c_int;
9176}
9177extern "C" {
9178    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_to_UTF8"]
9179    pub fn ASN1_STRING_to_UTF8(
9180        out: *mut *mut ::std::os::raw::c_uchar,
9181        in_: *const ASN1_STRING,
9182    ) -> ::std::os::raw::c_int;
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_mbstring_copy"]
9186    pub fn ASN1_mbstring_copy(
9187        out: *mut *mut ASN1_STRING,
9188        in_: *const u8,
9189        len: ossl_ssize_t,
9190        inform: ::std::os::raw::c_int,
9191        mask: ::std::os::raw::c_ulong,
9192    ) -> ::std::os::raw::c_int;
9193}
9194extern "C" {
9195    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_mbstring_ncopy"]
9196    pub fn ASN1_mbstring_ncopy(
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        minsize: ossl_ssize_t,
9203        maxsize: ossl_ssize_t,
9204    ) -> ::std::os::raw::c_int;
9205}
9206extern "C" {
9207    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_set_by_NID"]
9208    pub fn ASN1_STRING_set_by_NID(
9209        out: *mut *mut ASN1_STRING,
9210        in_: *const ::std::os::raw::c_uchar,
9211        len: ossl_ssize_t,
9212        inform: ::std::os::raw::c_int,
9213        nid: ::std::os::raw::c_int,
9214    ) -> *mut ASN1_STRING;
9215}
9216extern "C" {
9217    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_TABLE_add"]
9218    pub fn ASN1_STRING_TABLE_add(
9219        nid: ::std::os::raw::c_int,
9220        minsize: ::std::os::raw::c_long,
9221        maxsize: ::std::os::raw::c_long,
9222        mask: ::std::os::raw::c_ulong,
9223        flags: ::std::os::raw::c_ulong,
9224    ) -> ::std::os::raw::c_int;
9225}
9226extern "C" {
9227    #[link_name = "\u{1}aws_lc_0_33_0_DIRECTORYSTRING_new"]
9228    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9229}
9230extern "C" {
9231    #[link_name = "\u{1}aws_lc_0_33_0_DIRECTORYSTRING_free"]
9232    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9233}
9234extern "C" {
9235    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DIRECTORYSTRING"]
9236    pub fn d2i_DIRECTORYSTRING(
9237        out: *mut *mut ASN1_STRING,
9238        inp: *mut *const u8,
9239        len: ::std::os::raw::c_long,
9240    ) -> *mut ASN1_STRING;
9241}
9242extern "C" {
9243    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DIRECTORYSTRING"]
9244    pub fn i2d_DIRECTORYSTRING(
9245        in_: *const ASN1_STRING,
9246        outp: *mut *mut u8,
9247    ) -> ::std::os::raw::c_int;
9248}
9249extern "C" {
9250    #[link_name = "\u{1}aws_lc_0_33_0_DIRECTORYSTRING_it"]
9251    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9252}
9253extern "C" {
9254    #[link_name = "\u{1}aws_lc_0_33_0_DISPLAYTEXT_new"]
9255    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9256}
9257extern "C" {
9258    #[link_name = "\u{1}aws_lc_0_33_0_DISPLAYTEXT_free"]
9259    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9260}
9261extern "C" {
9262    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DISPLAYTEXT"]
9263    pub fn d2i_DISPLAYTEXT(
9264        out: *mut *mut ASN1_STRING,
9265        inp: *mut *const u8,
9266        len: ::std::os::raw::c_long,
9267    ) -> *mut ASN1_STRING;
9268}
9269extern "C" {
9270    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DISPLAYTEXT"]
9271    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9272}
9273extern "C" {
9274    #[link_name = "\u{1}aws_lc_0_33_0_DISPLAYTEXT_it"]
9275    pub static DISPLAYTEXT_it: ASN1_ITEM;
9276}
9277extern "C" {
9278    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_new"]
9279    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9280}
9281extern "C" {
9282    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_free"]
9283    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9284}
9285extern "C" {
9286    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_BIT_STRING"]
9287    pub fn d2i_ASN1_BIT_STRING(
9288        out: *mut *mut ASN1_BIT_STRING,
9289        inp: *mut *const u8,
9290        len: ::std::os::raw::c_long,
9291    ) -> *mut ASN1_BIT_STRING;
9292}
9293extern "C" {
9294    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_BIT_STRING"]
9295    pub fn i2d_ASN1_BIT_STRING(
9296        in_: *const ASN1_BIT_STRING,
9297        outp: *mut *mut u8,
9298    ) -> ::std::os::raw::c_int;
9299}
9300extern "C" {
9301    #[link_name = "\u{1}aws_lc_0_33_0_c2i_ASN1_BIT_STRING"]
9302    pub fn c2i_ASN1_BIT_STRING(
9303        out: *mut *mut ASN1_BIT_STRING,
9304        inp: *mut *const u8,
9305        len: ::std::os::raw::c_long,
9306    ) -> *mut ASN1_BIT_STRING;
9307}
9308extern "C" {
9309    #[link_name = "\u{1}aws_lc_0_33_0_i2c_ASN1_BIT_STRING"]
9310    pub fn i2c_ASN1_BIT_STRING(
9311        in_: *const ASN1_BIT_STRING,
9312        outp: *mut *mut u8,
9313    ) -> ::std::os::raw::c_int;
9314}
9315extern "C" {
9316    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_it"]
9317    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9318}
9319extern "C" {
9320    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_num_bytes"]
9321    pub fn ASN1_BIT_STRING_num_bytes(
9322        str_: *const ASN1_BIT_STRING,
9323        out: *mut usize,
9324    ) -> ::std::os::raw::c_int;
9325}
9326extern "C" {
9327    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_set"]
9328    pub fn ASN1_BIT_STRING_set(
9329        str_: *mut ASN1_BIT_STRING,
9330        d: *const ::std::os::raw::c_uchar,
9331        length: ossl_ssize_t,
9332    ) -> ::std::os::raw::c_int;
9333}
9334extern "C" {
9335    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_set_bit"]
9336    pub fn ASN1_BIT_STRING_set_bit(
9337        str_: *mut ASN1_BIT_STRING,
9338        n: ::std::os::raw::c_int,
9339        value: ::std::os::raw::c_int,
9340    ) -> ::std::os::raw::c_int;
9341}
9342extern "C" {
9343    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_get_bit"]
9344    pub fn ASN1_BIT_STRING_get_bit(
9345        str_: *const ASN1_BIT_STRING,
9346        n: ::std::os::raw::c_int,
9347    ) -> ::std::os::raw::c_int;
9348}
9349extern "C" {
9350    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_BIT_STRING_check"]
9351    pub fn ASN1_BIT_STRING_check(
9352        str_: *const ASN1_BIT_STRING,
9353        flags: *const ::std::os::raw::c_uchar,
9354        flags_len: ::std::os::raw::c_int,
9355    ) -> ::std::os::raw::c_int;
9356}
9357#[repr(C)]
9358#[derive(Debug, Copy, Clone)]
9359pub struct stack_st_ASN1_INTEGER {
9360    _unused: [u8; 0],
9361}
9362pub type sk_ASN1_INTEGER_free_func =
9363    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9364pub type sk_ASN1_INTEGER_copy_func =
9365    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9366pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9367    unsafe extern "C" fn(
9368        arg1: *const *const ASN1_INTEGER,
9369        arg2: *const *const ASN1_INTEGER,
9370    ) -> ::std::os::raw::c_int,
9371>;
9372pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9373    unsafe extern "C" fn(
9374        arg1: *mut ASN1_INTEGER,
9375        arg2: *mut ::std::os::raw::c_void,
9376    ) -> ::std::os::raw::c_int,
9377>;
9378extern "C" {
9379    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_new"]
9380    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9381}
9382extern "C" {
9383    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_free"]
9384    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9385}
9386extern "C" {
9387    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_dup"]
9388    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9389}
9390extern "C" {
9391    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_INTEGER"]
9392    pub fn d2i_ASN1_INTEGER(
9393        out: *mut *mut ASN1_INTEGER,
9394        inp: *mut *const u8,
9395        len: ::std::os::raw::c_long,
9396    ) -> *mut ASN1_INTEGER;
9397}
9398extern "C" {
9399    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_INTEGER"]
9400    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9401}
9402extern "C" {
9403    #[link_name = "\u{1}aws_lc_0_33_0_c2i_ASN1_INTEGER"]
9404    pub fn c2i_ASN1_INTEGER(
9405        in_: *mut *mut ASN1_INTEGER,
9406        outp: *mut *const u8,
9407        len: ::std::os::raw::c_long,
9408    ) -> *mut ASN1_INTEGER;
9409}
9410extern "C" {
9411    #[link_name = "\u{1}aws_lc_0_33_0_i2c_ASN1_INTEGER"]
9412    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9413}
9414extern "C" {
9415    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_it"]
9416    pub static ASN1_INTEGER_it: ASN1_ITEM;
9417}
9418extern "C" {
9419    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_set_uint64"]
9420    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9421}
9422extern "C" {
9423    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_set_int64"]
9424    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9425}
9426extern "C" {
9427    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_get_uint64"]
9428    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9429}
9430extern "C" {
9431    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_get_int64"]
9432    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9433}
9434extern "C" {
9435    #[link_name = "\u{1}aws_lc_0_33_0_BN_to_ASN1_INTEGER"]
9436    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9437}
9438extern "C" {
9439    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_to_BN"]
9440    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9441}
9442extern "C" {
9443    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_cmp"]
9444    pub fn ASN1_INTEGER_cmp(
9445        x: *const ASN1_INTEGER,
9446        y: *const ASN1_INTEGER,
9447    ) -> ::std::os::raw::c_int;
9448}
9449extern "C" {
9450    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_new"]
9451    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9452}
9453extern "C" {
9454    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_free"]
9455    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9456}
9457extern "C" {
9458    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_ENUMERATED"]
9459    pub fn d2i_ASN1_ENUMERATED(
9460        out: *mut *mut ASN1_ENUMERATED,
9461        inp: *mut *const u8,
9462        len: ::std::os::raw::c_long,
9463    ) -> *mut ASN1_ENUMERATED;
9464}
9465extern "C" {
9466    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_ENUMERATED"]
9467    pub fn i2d_ASN1_ENUMERATED(
9468        in_: *const ASN1_ENUMERATED,
9469        outp: *mut *mut u8,
9470    ) -> ::std::os::raw::c_int;
9471}
9472extern "C" {
9473    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_it"]
9474    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9475}
9476extern "C" {
9477    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_set_uint64"]
9478    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9479}
9480extern "C" {
9481    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_set_int64"]
9482    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9483}
9484extern "C" {
9485    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_get_uint64"]
9486    pub fn ASN1_ENUMERATED_get_uint64(
9487        out: *mut u64,
9488        a: *const ASN1_ENUMERATED,
9489    ) -> ::std::os::raw::c_int;
9490}
9491extern "C" {
9492    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_get_int64"]
9493    pub fn ASN1_ENUMERATED_get_int64(
9494        out: *mut i64,
9495        a: *const ASN1_ENUMERATED,
9496    ) -> ::std::os::raw::c_int;
9497}
9498extern "C" {
9499    #[link_name = "\u{1}aws_lc_0_33_0_BN_to_ASN1_ENUMERATED"]
9500    pub fn BN_to_ASN1_ENUMERATED(
9501        bn: *const BIGNUM,
9502        ai: *mut ASN1_ENUMERATED,
9503    ) -> *mut ASN1_ENUMERATED;
9504}
9505extern "C" {
9506    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_to_BN"]
9507    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9508}
9509extern "C" {
9510    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_new"]
9511    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9512}
9513extern "C" {
9514    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_free"]
9515    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9516}
9517extern "C" {
9518    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_UTCTIME"]
9519    pub fn d2i_ASN1_UTCTIME(
9520        out: *mut *mut ASN1_UTCTIME,
9521        inp: *mut *const u8,
9522        len: ::std::os::raw::c_long,
9523    ) -> *mut ASN1_UTCTIME;
9524}
9525extern "C" {
9526    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_UTCTIME"]
9527    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9528}
9529extern "C" {
9530    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_it"]
9531    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9532}
9533extern "C" {
9534    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_check"]
9535    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9536}
9537extern "C" {
9538    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_set"]
9539    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9540}
9541extern "C" {
9542    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_adj"]
9543    pub fn ASN1_UTCTIME_adj(
9544        s: *mut ASN1_UTCTIME,
9545        posix_time: i64,
9546        offset_day: ::std::os::raw::c_int,
9547        offset_sec: ::std::os::raw::c_long,
9548    ) -> *mut ASN1_UTCTIME;
9549}
9550extern "C" {
9551    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_set_string"]
9552    pub fn ASN1_UTCTIME_set_string(
9553        s: *mut ASN1_UTCTIME,
9554        str_: *const ::std::os::raw::c_char,
9555    ) -> ::std::os::raw::c_int;
9556}
9557extern "C" {
9558    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_cmp_time_t"]
9559    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
9560}
9561extern "C" {
9562    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_new"]
9563    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
9564}
9565extern "C" {
9566    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_free"]
9567    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
9568}
9569extern "C" {
9570    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_GENERALIZEDTIME"]
9571    pub fn d2i_ASN1_GENERALIZEDTIME(
9572        out: *mut *mut ASN1_GENERALIZEDTIME,
9573        inp: *mut *const u8,
9574        len: ::std::os::raw::c_long,
9575    ) -> *mut ASN1_GENERALIZEDTIME;
9576}
9577extern "C" {
9578    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_GENERALIZEDTIME"]
9579    pub fn i2d_ASN1_GENERALIZEDTIME(
9580        in_: *const ASN1_GENERALIZEDTIME,
9581        outp: *mut *mut u8,
9582    ) -> ::std::os::raw::c_int;
9583}
9584extern "C" {
9585    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_it"]
9586    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
9587}
9588extern "C" {
9589    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_check"]
9590    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
9591}
9592extern "C" {
9593    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_set"]
9594    pub fn ASN1_GENERALIZEDTIME_set(
9595        s: *mut ASN1_GENERALIZEDTIME,
9596        posix_time: i64,
9597    ) -> *mut ASN1_GENERALIZEDTIME;
9598}
9599extern "C" {
9600    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_adj"]
9601    pub fn ASN1_GENERALIZEDTIME_adj(
9602        s: *mut ASN1_GENERALIZEDTIME,
9603        posix_time: i64,
9604        offset_day: ::std::os::raw::c_int,
9605        offset_sec: ::std::os::raw::c_long,
9606    ) -> *mut ASN1_GENERALIZEDTIME;
9607}
9608extern "C" {
9609    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_set_string"]
9610    pub fn ASN1_GENERALIZEDTIME_set_string(
9611        s: *mut ASN1_GENERALIZEDTIME,
9612        str_: *const ::std::os::raw::c_char,
9613    ) -> ::std::os::raw::c_int;
9614}
9615extern "C" {
9616    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_new"]
9617    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
9618}
9619extern "C" {
9620    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_free"]
9621    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
9622}
9623extern "C" {
9624    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_TIME"]
9625    pub fn d2i_ASN1_TIME(
9626        out: *mut *mut ASN1_TIME,
9627        inp: *mut *const u8,
9628        len: ::std::os::raw::c_long,
9629    ) -> *mut ASN1_TIME;
9630}
9631extern "C" {
9632    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_TIME"]
9633    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9634}
9635extern "C" {
9636    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_it"]
9637    pub static ASN1_TIME_it: ASN1_ITEM;
9638}
9639extern "C" {
9640    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_diff"]
9641    pub fn ASN1_TIME_diff(
9642        out_days: *mut ::std::os::raw::c_int,
9643        out_seconds: *mut ::std::os::raw::c_int,
9644        from: *const ASN1_TIME,
9645        to: *const ASN1_TIME,
9646    ) -> ::std::os::raw::c_int;
9647}
9648extern "C" {
9649    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_set_posix"]
9650    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
9651}
9652extern "C" {
9653    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_set"]
9654    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
9655}
9656extern "C" {
9657    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_adj"]
9658    pub fn ASN1_TIME_adj(
9659        s: *mut ASN1_TIME,
9660        posix_time: i64,
9661        offset_day: ::std::os::raw::c_int,
9662        offset_sec: ::std::os::raw::c_long,
9663    ) -> *mut ASN1_TIME;
9664}
9665extern "C" {
9666    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_check"]
9667    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
9668}
9669extern "C" {
9670    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_to_generalizedtime"]
9671    pub fn ASN1_TIME_to_generalizedtime(
9672        t: *const ASN1_TIME,
9673        out: *mut *mut ASN1_GENERALIZEDTIME,
9674    ) -> *mut ASN1_GENERALIZEDTIME;
9675}
9676extern "C" {
9677    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_set_string"]
9678    pub fn ASN1_TIME_set_string(
9679        s: *mut ASN1_TIME,
9680        str_: *const ::std::os::raw::c_char,
9681    ) -> ::std::os::raw::c_int;
9682}
9683extern "C" {
9684    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_to_tm"]
9685    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
9686}
9687extern "C" {
9688    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_set_string_X509"]
9689    pub fn ASN1_TIME_set_string_X509(
9690        s: *mut ASN1_TIME,
9691        str_: *const ::std::os::raw::c_char,
9692    ) -> ::std::os::raw::c_int;
9693}
9694extern "C" {
9695    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_to_time_t"]
9696    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
9697}
9698extern "C" {
9699    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_to_posix"]
9700    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
9701}
9702extern "C" {
9703    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_NULL_new"]
9704    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_NULL_free"]
9708    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
9709}
9710extern "C" {
9711    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_NULL"]
9712    pub fn d2i_ASN1_NULL(
9713        out: *mut *mut ASN1_NULL,
9714        inp: *mut *const u8,
9715        len: ::std::os::raw::c_long,
9716    ) -> *mut ASN1_NULL;
9717}
9718extern "C" {
9719    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_NULL"]
9720    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9721}
9722extern "C" {
9723    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_NULL_it"]
9724    pub static ASN1_NULL_it: ASN1_ITEM;
9725}
9726#[repr(C)]
9727#[derive(Debug, Copy, Clone)]
9728pub struct stack_st_ASN1_OBJECT {
9729    _unused: [u8; 0],
9730}
9731pub type sk_ASN1_OBJECT_free_func =
9732    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
9733pub type sk_ASN1_OBJECT_copy_func =
9734    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
9735pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
9736    unsafe extern "C" fn(
9737        arg1: *const *const ASN1_OBJECT,
9738        arg2: *const *const ASN1_OBJECT,
9739    ) -> ::std::os::raw::c_int,
9740>;
9741pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
9742    unsafe extern "C" fn(
9743        arg1: *mut ASN1_OBJECT,
9744        arg2: *mut ::std::os::raw::c_void,
9745    ) -> ::std::os::raw::c_int,
9746>;
9747extern "C" {
9748    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OBJECT_create"]
9749    pub fn ASN1_OBJECT_create(
9750        nid: ::std::os::raw::c_int,
9751        data: *const u8,
9752        len: usize,
9753        sn: *const ::std::os::raw::c_char,
9754        ln: *const ::std::os::raw::c_char,
9755    ) -> *mut ASN1_OBJECT;
9756}
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OBJECT_free"]
9759    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
9760}
9761extern "C" {
9762    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_OBJECT"]
9763    pub fn d2i_ASN1_OBJECT(
9764        out: *mut *mut ASN1_OBJECT,
9765        inp: *mut *const u8,
9766        len: ::std::os::raw::c_long,
9767    ) -> *mut ASN1_OBJECT;
9768}
9769extern "C" {
9770    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_OBJECT"]
9771    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_33_0_c2i_ASN1_OBJECT"]
9775    pub fn c2i_ASN1_OBJECT(
9776        out: *mut *mut ASN1_OBJECT,
9777        inp: *mut *const u8,
9778        len: ::std::os::raw::c_long,
9779    ) -> *mut ASN1_OBJECT;
9780}
9781extern "C" {
9782    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_OBJECT_it"]
9783    pub static ASN1_OBJECT_it: ASN1_ITEM;
9784}
9785#[repr(C)]
9786#[derive(Copy, Clone)]
9787pub struct asn1_type_st {
9788    pub type_: ::std::os::raw::c_int,
9789    pub value: asn1_type_st__bindgen_ty_1,
9790}
9791#[repr(C)]
9792#[derive(Copy, Clone)]
9793pub union asn1_type_st__bindgen_ty_1 {
9794    pub ptr: *mut ::std::os::raw::c_char,
9795    pub boolean: ASN1_BOOLEAN,
9796    pub asn1_string: *mut ASN1_STRING,
9797    pub object: *mut ASN1_OBJECT,
9798    pub integer: *mut ASN1_INTEGER,
9799    pub enumerated: *mut ASN1_ENUMERATED,
9800    pub bit_string: *mut ASN1_BIT_STRING,
9801    pub octet_string: *mut ASN1_OCTET_STRING,
9802    pub printablestring: *mut ASN1_PRINTABLESTRING,
9803    pub t61string: *mut ASN1_T61STRING,
9804    pub ia5string: *mut ASN1_IA5STRING,
9805    pub generalstring: *mut ASN1_GENERALSTRING,
9806    pub bmpstring: *mut ASN1_BMPSTRING,
9807    pub universalstring: *mut ASN1_UNIVERSALSTRING,
9808    pub utctime: *mut ASN1_UTCTIME,
9809    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
9810    pub visiblestring: *mut ASN1_VISIBLESTRING,
9811    pub utf8string: *mut ASN1_UTF8STRING,
9812    pub set: *mut ASN1_STRING,
9813    pub sequence: *mut ASN1_STRING,
9814    pub asn1_value: *mut ASN1_VALUE,
9815}
9816#[test]
9817fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
9818    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
9819        ::std::mem::MaybeUninit::uninit();
9820    let ptr = UNINIT.as_ptr();
9821    assert_eq!(
9822        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
9823        8usize,
9824        "Size of asn1_type_st__bindgen_ty_1"
9825    );
9826    assert_eq!(
9827        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
9828        8usize,
9829        "Alignment of asn1_type_st__bindgen_ty_1"
9830    );
9831    assert_eq!(
9832        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9833        0usize,
9834        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
9835    );
9836    assert_eq!(
9837        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
9838        0usize,
9839        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
9840    );
9841    assert_eq!(
9842        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
9843        0usize,
9844        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
9845    );
9846    assert_eq!(
9847        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
9848        0usize,
9849        "Offset of field: asn1_type_st__bindgen_ty_1::object"
9850    );
9851    assert_eq!(
9852        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
9853        0usize,
9854        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
9855    );
9856    assert_eq!(
9857        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
9858        0usize,
9859        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
9860    );
9861    assert_eq!(
9862        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
9863        0usize,
9864        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
9865    );
9866    assert_eq!(
9867        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
9868        0usize,
9869        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
9870    );
9871    assert_eq!(
9872        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
9873        0usize,
9874        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
9875    );
9876    assert_eq!(
9877        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
9878        0usize,
9879        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
9880    );
9881    assert_eq!(
9882        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
9883        0usize,
9884        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
9885    );
9886    assert_eq!(
9887        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
9888        0usize,
9889        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
9890    );
9891    assert_eq!(
9892        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
9893        0usize,
9894        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
9895    );
9896    assert_eq!(
9897        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
9898        0usize,
9899        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
9900    );
9901    assert_eq!(
9902        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
9903        0usize,
9904        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
9905    );
9906    assert_eq!(
9907        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
9908        0usize,
9909        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
9910    );
9911    assert_eq!(
9912        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
9913        0usize,
9914        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
9915    );
9916    assert_eq!(
9917        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
9918        0usize,
9919        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
9920    );
9921    assert_eq!(
9922        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
9923        0usize,
9924        "Offset of field: asn1_type_st__bindgen_ty_1::set"
9925    );
9926    assert_eq!(
9927        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
9928        0usize,
9929        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
9930    );
9931    assert_eq!(
9932        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
9933        0usize,
9934        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
9935    );
9936}
9937impl Default for asn1_type_st__bindgen_ty_1 {
9938    fn default() -> Self {
9939        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9940        unsafe {
9941            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9942            s.assume_init()
9943        }
9944    }
9945}
9946#[test]
9947fn bindgen_test_layout_asn1_type_st() {
9948    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
9949    let ptr = UNINIT.as_ptr();
9950    assert_eq!(
9951        ::std::mem::size_of::<asn1_type_st>(),
9952        16usize,
9953        "Size of asn1_type_st"
9954    );
9955    assert_eq!(
9956        ::std::mem::align_of::<asn1_type_st>(),
9957        8usize,
9958        "Alignment of asn1_type_st"
9959    );
9960    assert_eq!(
9961        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9962        0usize,
9963        "Offset of field: asn1_type_st::type_"
9964    );
9965    assert_eq!(
9966        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
9967        8usize,
9968        "Offset of field: asn1_type_st::value"
9969    );
9970}
9971impl Default for asn1_type_st {
9972    fn default() -> Self {
9973        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9974        unsafe {
9975            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9976            s.assume_init()
9977        }
9978    }
9979}
9980#[repr(C)]
9981#[derive(Debug, Copy, Clone)]
9982pub struct stack_st_ASN1_TYPE {
9983    _unused: [u8; 0],
9984}
9985pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
9986pub type sk_ASN1_TYPE_copy_func =
9987    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
9988pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
9989    unsafe extern "C" fn(
9990        arg1: *const *const ASN1_TYPE,
9991        arg2: *const *const ASN1_TYPE,
9992    ) -> ::std::os::raw::c_int,
9993>;
9994pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
9995    unsafe extern "C" fn(
9996        arg1: *mut ASN1_TYPE,
9997        arg2: *mut ::std::os::raw::c_void,
9998    ) -> ::std::os::raw::c_int,
9999>;
10000extern "C" {
10001    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_new"]
10002    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10003}
10004extern "C" {
10005    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_free"]
10006    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10007}
10008extern "C" {
10009    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_TYPE"]
10010    pub fn d2i_ASN1_TYPE(
10011        out: *mut *mut ASN1_TYPE,
10012        inp: *mut *const u8,
10013        len: ::std::os::raw::c_long,
10014    ) -> *mut ASN1_TYPE;
10015}
10016extern "C" {
10017    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_TYPE"]
10018    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10019}
10020extern "C" {
10021    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ANY_it"]
10022    pub static ASN1_ANY_it: ASN1_ITEM;
10023}
10024extern "C" {
10025    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_get"]
10026    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10027}
10028extern "C" {
10029    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_set"]
10030    pub fn ASN1_TYPE_set(
10031        a: *mut ASN1_TYPE,
10032        type_: ::std::os::raw::c_int,
10033        value: *mut ::std::os::raw::c_void,
10034    );
10035}
10036extern "C" {
10037    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_set1"]
10038    pub fn ASN1_TYPE_set1(
10039        a: *mut ASN1_TYPE,
10040        type_: ::std::os::raw::c_int,
10041        value: *const ::std::os::raw::c_void,
10042    ) -> ::std::os::raw::c_int;
10043}
10044extern "C" {
10045    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TYPE_cmp"]
10046    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10047}
10048pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10049extern "C" {
10050    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_SEQUENCE_ANY"]
10051    pub fn d2i_ASN1_SEQUENCE_ANY(
10052        out: *mut *mut ASN1_SEQUENCE_ANY,
10053        inp: *mut *const u8,
10054        len: ::std::os::raw::c_long,
10055    ) -> *mut ASN1_SEQUENCE_ANY;
10056}
10057extern "C" {
10058    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_SEQUENCE_ANY"]
10059    pub fn i2d_ASN1_SEQUENCE_ANY(
10060        in_: *const ASN1_SEQUENCE_ANY,
10061        outp: *mut *mut u8,
10062    ) -> ::std::os::raw::c_int;
10063}
10064extern "C" {
10065    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_SET_ANY"]
10066    pub fn d2i_ASN1_SET_ANY(
10067        out: *mut *mut ASN1_SEQUENCE_ANY,
10068        inp: *mut *const u8,
10069        len: ::std::os::raw::c_long,
10070    ) -> *mut ASN1_SEQUENCE_ANY;
10071}
10072extern "C" {
10073    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_SET_ANY"]
10074    pub fn i2d_ASN1_SET_ANY(
10075        in_: *const ASN1_SEQUENCE_ANY,
10076        outp: *mut *mut u8,
10077    ) -> ::std::os::raw::c_int;
10078}
10079extern "C" {
10080    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_UTCTIME_print"]
10081    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10082}
10083extern "C" {
10084    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_GENERALIZEDTIME_print"]
10085    pub fn ASN1_GENERALIZEDTIME_print(
10086        out: *mut BIO,
10087        a: *const ASN1_GENERALIZEDTIME,
10088    ) -> ::std::os::raw::c_int;
10089}
10090extern "C" {
10091    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_TIME_print"]
10092    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10093}
10094extern "C" {
10095    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_print"]
10096    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10097}
10098extern "C" {
10099    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_print_ex"]
10100    pub fn ASN1_STRING_print_ex(
10101        out: *mut BIO,
10102        str_: *const ASN1_STRING,
10103        flags: ::std::os::raw::c_ulong,
10104    ) -> ::std::os::raw::c_int;
10105}
10106extern "C" {
10107    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_print_ex_fp"]
10108    pub fn ASN1_STRING_print_ex_fp(
10109        fp: *mut FILE,
10110        str_: *const ASN1_STRING,
10111        flags: ::std::os::raw::c_ulong,
10112    ) -> ::std::os::raw::c_int;
10113}
10114extern "C" {
10115    #[link_name = "\u{1}aws_lc_0_33_0_i2a_ASN1_INTEGER"]
10116    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10117}
10118extern "C" {
10119    #[link_name = "\u{1}aws_lc_0_33_0_i2a_ASN1_ENUMERATED"]
10120    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10121}
10122extern "C" {
10123    #[link_name = "\u{1}aws_lc_0_33_0_i2a_ASN1_OBJECT"]
10124    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10125}
10126extern "C" {
10127    #[link_name = "\u{1}aws_lc_0_33_0_i2a_ASN1_STRING"]
10128    pub fn i2a_ASN1_STRING(
10129        bp: *mut BIO,
10130        a: *const ASN1_STRING,
10131        type_: ::std::os::raw::c_int,
10132    ) -> ::std::os::raw::c_int;
10133}
10134extern "C" {
10135    #[link_name = "\u{1}aws_lc_0_33_0_i2t_ASN1_OBJECT"]
10136    pub fn i2t_ASN1_OBJECT(
10137        buf: *mut ::std::os::raw::c_char,
10138        buf_len: ::std::os::raw::c_int,
10139        a: *const ASN1_OBJECT,
10140    ) -> ::std::os::raw::c_int;
10141}
10142extern "C" {
10143    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_get_object"]
10144    pub fn ASN1_get_object(
10145        inp: *mut *const ::std::os::raw::c_uchar,
10146        out_length: *mut ::std::os::raw::c_long,
10147        out_tag: *mut ::std::os::raw::c_int,
10148        out_class: *mut ::std::os::raw::c_int,
10149        max_len: ::std::os::raw::c_long,
10150    ) -> ::std::os::raw::c_int;
10151}
10152extern "C" {
10153    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_put_object"]
10154    pub fn ASN1_put_object(
10155        outp: *mut *mut ::std::os::raw::c_uchar,
10156        constructed: ::std::os::raw::c_int,
10157        length: ::std::os::raw::c_int,
10158        tag: ::std::os::raw::c_int,
10159        xclass: ::std::os::raw::c_int,
10160    );
10161}
10162extern "C" {
10163    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_put_eoc"]
10164    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10165}
10166extern "C" {
10167    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_object_size"]
10168    pub fn ASN1_object_size(
10169        constructed: ::std::os::raw::c_int,
10170        length: ::std::os::raw::c_int,
10171        tag: ::std::os::raw::c_int,
10172    ) -> ::std::os::raw::c_int;
10173}
10174extern "C" {
10175    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLE_new"]
10176    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10177}
10178extern "C" {
10179    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLE_free"]
10180    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10181}
10182extern "C" {
10183    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ASN1_PRINTABLE"]
10184    pub fn d2i_ASN1_PRINTABLE(
10185        out: *mut *mut ASN1_STRING,
10186        inp: *mut *const u8,
10187        len: ::std::os::raw::c_long,
10188    ) -> *mut ASN1_STRING;
10189}
10190extern "C" {
10191    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ASN1_PRINTABLE"]
10192    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10193        -> ::std::os::raw::c_int;
10194}
10195extern "C" {
10196    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_PRINTABLE_it"]
10197    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10198}
10199extern "C" {
10200    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_set"]
10201    pub fn ASN1_INTEGER_set(
10202        a: *mut ASN1_INTEGER,
10203        v: ::std::os::raw::c_long,
10204    ) -> ::std::os::raw::c_int;
10205}
10206extern "C" {
10207    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_set"]
10208    pub fn ASN1_ENUMERATED_set(
10209        a: *mut ASN1_ENUMERATED,
10210        v: ::std::os::raw::c_long,
10211    ) -> ::std::os::raw::c_int;
10212}
10213extern "C" {
10214    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_INTEGER_get"]
10215    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10216}
10217extern "C" {
10218    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_ENUMERATED_get"]
10219    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10220}
10221extern "C" {
10222    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_set_default_mask"]
10223    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10224}
10225extern "C" {
10226    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_set_default_mask_asc"]
10227    pub fn ASN1_STRING_set_default_mask_asc(
10228        p: *const ::std::os::raw::c_char,
10229    ) -> ::std::os::raw::c_int;
10230}
10231extern "C" {
10232    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_get_default_mask"]
10233    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10234}
10235extern "C" {
10236    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_STRING_TABLE_cleanup"]
10237    pub fn ASN1_STRING_TABLE_cleanup();
10238}
10239pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10240#[repr(C)]
10241#[derive(Debug, Copy, Clone)]
10242pub struct ASN1_TLC_st {
10243    _unused: [u8; 0],
10244}
10245pub type ASN1_TLC = ASN1_TLC_st;
10246#[repr(C)]
10247#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10248pub struct ASN1_TEMPLATE_st {
10249    pub flags: u32,
10250    pub tag: ::std::os::raw::c_int,
10251    pub offset: ::std::os::raw::c_ulong,
10252    pub field_name: *const ::std::os::raw::c_char,
10253    pub item: *const ASN1_ITEM_st,
10254}
10255#[test]
10256fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10257    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10258    let ptr = UNINIT.as_ptr();
10259    assert_eq!(
10260        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10261        32usize,
10262        "Size of ASN1_TEMPLATE_st"
10263    );
10264    assert_eq!(
10265        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10266        8usize,
10267        "Alignment of ASN1_TEMPLATE_st"
10268    );
10269    assert_eq!(
10270        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10271        0usize,
10272        "Offset of field: ASN1_TEMPLATE_st::flags"
10273    );
10274    assert_eq!(
10275        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10276        4usize,
10277        "Offset of field: ASN1_TEMPLATE_st::tag"
10278    );
10279    assert_eq!(
10280        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10281        8usize,
10282        "Offset of field: ASN1_TEMPLATE_st::offset"
10283    );
10284    assert_eq!(
10285        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10286        16usize,
10287        "Offset of field: ASN1_TEMPLATE_st::field_name"
10288    );
10289    assert_eq!(
10290        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10291        24usize,
10292        "Offset of field: ASN1_TEMPLATE_st::item"
10293    );
10294}
10295impl Default for ASN1_TEMPLATE_st {
10296    fn default() -> Self {
10297        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10298        unsafe {
10299            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10300            s.assume_init()
10301        }
10302    }
10303}
10304pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10305pub type ASN1_ADB = ASN1_ADB_st;
10306#[repr(C)]
10307#[derive(Debug, Copy, Clone)]
10308pub struct asn1_must_be_null_st {
10309    _unused: [u8; 0],
10310}
10311pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10312#[repr(C)]
10313#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10314pub struct ASN1_ADB_st {
10315    pub flags: u32,
10316    pub offset: ::std::os::raw::c_ulong,
10317    pub unused: *mut ASN1_MUST_BE_NULL,
10318    pub tbl: *const ASN1_ADB_TABLE,
10319    pub tblcount: ::std::os::raw::c_long,
10320    pub default_tt: *const ASN1_TEMPLATE,
10321    pub null_tt: *const ASN1_TEMPLATE,
10322}
10323#[test]
10324fn bindgen_test_layout_ASN1_ADB_st() {
10325    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10326    let ptr = UNINIT.as_ptr();
10327    assert_eq!(
10328        ::std::mem::size_of::<ASN1_ADB_st>(),
10329        56usize,
10330        "Size of ASN1_ADB_st"
10331    );
10332    assert_eq!(
10333        ::std::mem::align_of::<ASN1_ADB_st>(),
10334        8usize,
10335        "Alignment of ASN1_ADB_st"
10336    );
10337    assert_eq!(
10338        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10339        0usize,
10340        "Offset of field: ASN1_ADB_st::flags"
10341    );
10342    assert_eq!(
10343        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10344        8usize,
10345        "Offset of field: ASN1_ADB_st::offset"
10346    );
10347    assert_eq!(
10348        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10349        16usize,
10350        "Offset of field: ASN1_ADB_st::unused"
10351    );
10352    assert_eq!(
10353        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10354        24usize,
10355        "Offset of field: ASN1_ADB_st::tbl"
10356    );
10357    assert_eq!(
10358        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10359        32usize,
10360        "Offset of field: ASN1_ADB_st::tblcount"
10361    );
10362    assert_eq!(
10363        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10364        40usize,
10365        "Offset of field: ASN1_ADB_st::default_tt"
10366    );
10367    assert_eq!(
10368        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10369        48usize,
10370        "Offset of field: ASN1_ADB_st::null_tt"
10371    );
10372}
10373impl Default for ASN1_ADB_st {
10374    fn default() -> Self {
10375        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10376        unsafe {
10377            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10378            s.assume_init()
10379        }
10380    }
10381}
10382#[repr(C)]
10383#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10384pub struct ASN1_ADB_TABLE_st {
10385    pub value: ::std::os::raw::c_int,
10386    pub tt: ASN1_TEMPLATE,
10387}
10388#[test]
10389fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10390    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10391    let ptr = UNINIT.as_ptr();
10392    assert_eq!(
10393        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10394        40usize,
10395        "Size of ASN1_ADB_TABLE_st"
10396    );
10397    assert_eq!(
10398        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10399        8usize,
10400        "Alignment of ASN1_ADB_TABLE_st"
10401    );
10402    assert_eq!(
10403        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10404        0usize,
10405        "Offset of field: ASN1_ADB_TABLE_st::value"
10406    );
10407    assert_eq!(
10408        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10409        8usize,
10410        "Offset of field: ASN1_ADB_TABLE_st::tt"
10411    );
10412}
10413impl Default for ASN1_ADB_TABLE_st {
10414    fn default() -> Self {
10415        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10416        unsafe {
10417            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10418            s.assume_init()
10419        }
10420    }
10421}
10422#[repr(C)]
10423#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10424pub struct ASN1_ITEM_st {
10425    pub itype: ::std::os::raw::c_char,
10426    pub utype: ::std::os::raw::c_int,
10427    pub templates: *const ASN1_TEMPLATE,
10428    pub tcount: ::std::os::raw::c_long,
10429    pub funcs: *const ::std::os::raw::c_void,
10430    pub size: ::std::os::raw::c_long,
10431    pub sname: *const ::std::os::raw::c_char,
10432}
10433#[test]
10434fn bindgen_test_layout_ASN1_ITEM_st() {
10435    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10436    let ptr = UNINIT.as_ptr();
10437    assert_eq!(
10438        ::std::mem::size_of::<ASN1_ITEM_st>(),
10439        48usize,
10440        "Size of ASN1_ITEM_st"
10441    );
10442    assert_eq!(
10443        ::std::mem::align_of::<ASN1_ITEM_st>(),
10444        8usize,
10445        "Alignment of ASN1_ITEM_st"
10446    );
10447    assert_eq!(
10448        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10449        0usize,
10450        "Offset of field: ASN1_ITEM_st::itype"
10451    );
10452    assert_eq!(
10453        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10454        4usize,
10455        "Offset of field: ASN1_ITEM_st::utype"
10456    );
10457    assert_eq!(
10458        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10459        8usize,
10460        "Offset of field: ASN1_ITEM_st::templates"
10461    );
10462    assert_eq!(
10463        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10464        16usize,
10465        "Offset of field: ASN1_ITEM_st::tcount"
10466    );
10467    assert_eq!(
10468        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10469        24usize,
10470        "Offset of field: ASN1_ITEM_st::funcs"
10471    );
10472    assert_eq!(
10473        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10474        32usize,
10475        "Offset of field: ASN1_ITEM_st::size"
10476    );
10477    assert_eq!(
10478        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
10479        40usize,
10480        "Offset of field: ASN1_ITEM_st::sname"
10481    );
10482}
10483impl Default for ASN1_ITEM_st {
10484    fn default() -> Self {
10485        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10486        unsafe {
10487            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10488            s.assume_init()
10489        }
10490    }
10491}
10492pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
10493pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
10494pub type ASN1_d2i_func = ::std::option::Option<
10495    unsafe extern "C" fn(
10496        a: *mut *mut ASN1_VALUE,
10497        in_: *mut *const ::std::os::raw::c_uchar,
10498        length: ::std::os::raw::c_long,
10499    ) -> *mut ASN1_VALUE,
10500>;
10501pub type ASN1_i2d_func = ::std::option::Option<
10502    unsafe extern "C" fn(
10503        a: *mut ASN1_VALUE,
10504        in_: *mut *mut ::std::os::raw::c_uchar,
10505    ) -> ::std::os::raw::c_int,
10506>;
10507pub type ASN1_ex_d2i = ::std::option::Option<
10508    unsafe extern "C" fn(
10509        pval: *mut *mut ASN1_VALUE,
10510        in_: *mut *const ::std::os::raw::c_uchar,
10511        len: ::std::os::raw::c_long,
10512        it: *const ASN1_ITEM,
10513        tag: ::std::os::raw::c_int,
10514        aclass: ::std::os::raw::c_int,
10515        opt: ::std::os::raw::c_char,
10516        ctx: *mut ASN1_TLC,
10517    ) -> ::std::os::raw::c_int,
10518>;
10519pub type ASN1_ex_i2d = ::std::option::Option<
10520    unsafe extern "C" fn(
10521        pval: *mut *mut ASN1_VALUE,
10522        out: *mut *mut ::std::os::raw::c_uchar,
10523        it: *const ASN1_ITEM,
10524        tag: ::std::os::raw::c_int,
10525        aclass: ::std::os::raw::c_int,
10526    ) -> ::std::os::raw::c_int,
10527>;
10528pub type ASN1_ex_new_func = ::std::option::Option<
10529    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
10530>;
10531pub type ASN1_ex_free_func =
10532    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
10533pub type ASN1_ex_print_func = ::std::option::Option<
10534    unsafe extern "C" fn(
10535        out: *mut BIO,
10536        pval: *mut *mut ASN1_VALUE,
10537        indent: ::std::os::raw::c_int,
10538        fname: *const ::std::os::raw::c_char,
10539        pctx: *const ASN1_PCTX,
10540    ) -> ::std::os::raw::c_int,
10541>;
10542#[repr(C)]
10543#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10544pub struct ASN1_EXTERN_FUNCS_st {
10545    pub app_data: *mut ::std::os::raw::c_void,
10546    pub asn1_ex_new: ASN1_ex_new_func,
10547    pub asn1_ex_free: ASN1_ex_free_func,
10548    pub asn1_ex_d2i: ASN1_ex_d2i,
10549    pub asn1_ex_i2d: ASN1_ex_i2d,
10550    pub asn1_ex_print: ASN1_ex_print_func,
10551}
10552#[test]
10553fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
10554    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
10555    let ptr = UNINIT.as_ptr();
10556    assert_eq!(
10557        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
10558        48usize,
10559        "Size of ASN1_EXTERN_FUNCS_st"
10560    );
10561    assert_eq!(
10562        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
10563        8usize,
10564        "Alignment of ASN1_EXTERN_FUNCS_st"
10565    );
10566    assert_eq!(
10567        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10568        0usize,
10569        "Offset of field: ASN1_EXTERN_FUNCS_st::app_data"
10570    );
10571    assert_eq!(
10572        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
10573        8usize,
10574        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_new"
10575    );
10576    assert_eq!(
10577        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
10578        16usize,
10579        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_free"
10580    );
10581    assert_eq!(
10582        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
10583        24usize,
10584        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_d2i"
10585    );
10586    assert_eq!(
10587        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
10588        32usize,
10589        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_i2d"
10590    );
10591    assert_eq!(
10592        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
10593        40usize,
10594        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_print"
10595    );
10596}
10597impl Default for ASN1_EXTERN_FUNCS_st {
10598    fn default() -> Self {
10599        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10600        unsafe {
10601            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10602            s.assume_init()
10603        }
10604    }
10605}
10606pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
10607pub type ASN1_aux_cb = ::std::option::Option<
10608    unsafe extern "C" fn(
10609        operation: ::std::os::raw::c_int,
10610        in_: *mut *mut ASN1_VALUE,
10611        it: *const ASN1_ITEM,
10612        exarg: *mut ::std::os::raw::c_void,
10613    ) -> ::std::os::raw::c_int,
10614>;
10615#[repr(C)]
10616#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10617pub struct ASN1_AUX_st {
10618    pub app_data: *mut ::std::os::raw::c_void,
10619    pub flags: u32,
10620    pub ref_offset: ::std::os::raw::c_int,
10621    pub asn1_cb: ASN1_aux_cb,
10622    pub enc_offset: ::std::os::raw::c_int,
10623}
10624#[test]
10625fn bindgen_test_layout_ASN1_AUX_st() {
10626    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
10627    let ptr = UNINIT.as_ptr();
10628    assert_eq!(
10629        ::std::mem::size_of::<ASN1_AUX_st>(),
10630        32usize,
10631        "Size of ASN1_AUX_st"
10632    );
10633    assert_eq!(
10634        ::std::mem::align_of::<ASN1_AUX_st>(),
10635        8usize,
10636        "Alignment of ASN1_AUX_st"
10637    );
10638    assert_eq!(
10639        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10640        0usize,
10641        "Offset of field: ASN1_AUX_st::app_data"
10642    );
10643    assert_eq!(
10644        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10645        8usize,
10646        "Offset of field: ASN1_AUX_st::flags"
10647    );
10648    assert_eq!(
10649        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
10650        12usize,
10651        "Offset of field: ASN1_AUX_st::ref_offset"
10652    );
10653    assert_eq!(
10654        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
10655        16usize,
10656        "Offset of field: ASN1_AUX_st::asn1_cb"
10657    );
10658    assert_eq!(
10659        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
10660        24usize,
10661        "Offset of field: ASN1_AUX_st::enc_offset"
10662    );
10663}
10664impl Default for ASN1_AUX_st {
10665    fn default() -> Self {
10666        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10667        unsafe {
10668            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10669            s.assume_init()
10670        }
10671    }
10672}
10673pub type ASN1_AUX = ASN1_AUX_st;
10674extern "C" {
10675    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_SEQUENCE_it"]
10676    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
10677}
10678#[repr(C)]
10679#[derive(Debug, Copy, Clone)]
10680pub struct stack_st_ASN1_VALUE {
10681    _unused: [u8; 0],
10682}
10683pub type sk_ASN1_VALUE_free_func =
10684    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
10685pub type sk_ASN1_VALUE_copy_func =
10686    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
10687pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
10688    unsafe extern "C" fn(
10689        arg1: *const *const ASN1_VALUE,
10690        arg2: *const *const ASN1_VALUE,
10691    ) -> ::std::os::raw::c_int,
10692>;
10693pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
10694    unsafe extern "C" fn(
10695        arg1: *mut ASN1_VALUE,
10696        arg2: *mut ::std::os::raw::c_void,
10697    ) -> ::std::os::raw::c_int,
10698>;
10699extern "C" {
10700    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncodeBlock"]
10701    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
10702}
10703extern "C" {
10704    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncodedLength"]
10705    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10706}
10707extern "C" {
10708    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodedLength"]
10709    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10710}
10711extern "C" {
10712    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodeBase64"]
10713    pub fn EVP_DecodeBase64(
10714        out: *mut u8,
10715        out_len: *mut usize,
10716        max_out: usize,
10717        in_: *const u8,
10718        in_len: usize,
10719    ) -> ::std::os::raw::c_int;
10720}
10721extern "C" {
10722    #[link_name = "\u{1}aws_lc_0_33_0_EVP_ENCODE_CTX_new"]
10723    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
10724}
10725extern "C" {
10726    #[link_name = "\u{1}aws_lc_0_33_0_EVP_ENCODE_CTX_free"]
10727    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
10728}
10729extern "C" {
10730    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncodeInit"]
10731    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
10732}
10733extern "C" {
10734    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncodeUpdate"]
10735    pub fn EVP_EncodeUpdate(
10736        ctx: *mut EVP_ENCODE_CTX,
10737        out: *mut u8,
10738        out_len: *mut ::std::os::raw::c_int,
10739        in_: *const u8,
10740        in_len: usize,
10741    ) -> ::std::os::raw::c_int;
10742}
10743extern "C" {
10744    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncodeFinal"]
10745    pub fn EVP_EncodeFinal(
10746        ctx: *mut EVP_ENCODE_CTX,
10747        out: *mut u8,
10748        out_len: *mut ::std::os::raw::c_int,
10749    );
10750}
10751extern "C" {
10752    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodeInit"]
10753    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
10754}
10755extern "C" {
10756    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodeUpdate"]
10757    pub fn EVP_DecodeUpdate(
10758        ctx: *mut EVP_ENCODE_CTX,
10759        out: *mut u8,
10760        out_len: *mut ::std::os::raw::c_int,
10761        in_: *const u8,
10762        in_len: usize,
10763    ) -> ::std::os::raw::c_int;
10764}
10765extern "C" {
10766    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodeFinal"]
10767    pub fn EVP_DecodeFinal(
10768        ctx: *mut EVP_ENCODE_CTX,
10769        out: *mut u8,
10770        out_len: *mut ::std::os::raw::c_int,
10771    ) -> ::std::os::raw::c_int;
10772}
10773extern "C" {
10774    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecodeBlock"]
10775    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
10776}
10777#[repr(C)]
10778#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10779pub struct evp_encode_ctx_st {
10780    pub data_used: ::std::os::raw::c_uint,
10781    pub data: [u8; 48usize],
10782    pub eof_seen: ::std::os::raw::c_char,
10783    pub error_encountered: ::std::os::raw::c_char,
10784}
10785#[test]
10786fn bindgen_test_layout_evp_encode_ctx_st() {
10787    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
10788    let ptr = UNINIT.as_ptr();
10789    assert_eq!(
10790        ::std::mem::size_of::<evp_encode_ctx_st>(),
10791        56usize,
10792        "Size of evp_encode_ctx_st"
10793    );
10794    assert_eq!(
10795        ::std::mem::align_of::<evp_encode_ctx_st>(),
10796        4usize,
10797        "Alignment of evp_encode_ctx_st"
10798    );
10799    assert_eq!(
10800        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
10801        0usize,
10802        "Offset of field: evp_encode_ctx_st::data_used"
10803    );
10804    assert_eq!(
10805        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10806        4usize,
10807        "Offset of field: evp_encode_ctx_st::data"
10808    );
10809    assert_eq!(
10810        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
10811        52usize,
10812        "Offset of field: evp_encode_ctx_st::eof_seen"
10813    );
10814    assert_eq!(
10815        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
10816        53usize,
10817        "Offset of field: evp_encode_ctx_st::error_encountered"
10818    );
10819}
10820impl Default for evp_encode_ctx_st {
10821    fn default() -> Self {
10822        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10823        unsafe {
10824            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10825            s.assume_init()
10826        }
10827    }
10828}
10829#[repr(C)]
10830#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10831pub struct blake2b_state_st {
10832    pub h: [u64; 8usize],
10833    pub t_low: u64,
10834    pub t_high: u64,
10835    pub block: [u8; 128usize],
10836    pub block_used: usize,
10837}
10838#[test]
10839fn bindgen_test_layout_blake2b_state_st() {
10840    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
10841    let ptr = UNINIT.as_ptr();
10842    assert_eq!(
10843        ::std::mem::size_of::<blake2b_state_st>(),
10844        216usize,
10845        "Size of blake2b_state_st"
10846    );
10847    assert_eq!(
10848        ::std::mem::align_of::<blake2b_state_st>(),
10849        8usize,
10850        "Alignment of blake2b_state_st"
10851    );
10852    assert_eq!(
10853        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10854        0usize,
10855        "Offset of field: blake2b_state_st::h"
10856    );
10857    assert_eq!(
10858        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
10859        64usize,
10860        "Offset of field: blake2b_state_st::t_low"
10861    );
10862    assert_eq!(
10863        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
10864        72usize,
10865        "Offset of field: blake2b_state_st::t_high"
10866    );
10867    assert_eq!(
10868        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
10869        80usize,
10870        "Offset of field: blake2b_state_st::block"
10871    );
10872    assert_eq!(
10873        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
10874        208usize,
10875        "Offset of field: blake2b_state_st::block_used"
10876    );
10877}
10878impl Default for blake2b_state_st {
10879    fn default() -> Self {
10880        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10881        unsafe {
10882            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10883            s.assume_init()
10884        }
10885    }
10886}
10887extern "C" {
10888    #[link_name = "\u{1}aws_lc_0_33_0_BLAKE2B256_Init"]
10889    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
10890}
10891extern "C" {
10892    #[link_name = "\u{1}aws_lc_0_33_0_BLAKE2B256_Update"]
10893    pub fn BLAKE2B256_Update(
10894        b2b: *mut BLAKE2B_CTX,
10895        data: *const ::std::os::raw::c_void,
10896        len: usize,
10897    );
10898}
10899extern "C" {
10900    #[link_name = "\u{1}aws_lc_0_33_0_BLAKE2B256_Final"]
10901    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
10902}
10903extern "C" {
10904    #[link_name = "\u{1}aws_lc_0_33_0_BLAKE2B256"]
10905    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
10906}
10907#[repr(C)]
10908#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10909pub struct bf_key_st {
10910    pub P: [u32; 18usize],
10911    pub S: [u32; 1024usize],
10912}
10913#[test]
10914fn bindgen_test_layout_bf_key_st() {
10915    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
10916    let ptr = UNINIT.as_ptr();
10917    assert_eq!(
10918        ::std::mem::size_of::<bf_key_st>(),
10919        4168usize,
10920        "Size of bf_key_st"
10921    );
10922    assert_eq!(
10923        ::std::mem::align_of::<bf_key_st>(),
10924        4usize,
10925        "Alignment of bf_key_st"
10926    );
10927    assert_eq!(
10928        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
10929        0usize,
10930        "Offset of field: bf_key_st::P"
10931    );
10932    assert_eq!(
10933        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
10934        72usize,
10935        "Offset of field: bf_key_st::S"
10936    );
10937}
10938impl Default for bf_key_st {
10939    fn default() -> Self {
10940        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10941        unsafe {
10942            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10943            s.assume_init()
10944        }
10945    }
10946}
10947pub type BF_KEY = bf_key_st;
10948extern "C" {
10949    #[link_name = "\u{1}aws_lc_0_33_0_BF_set_key"]
10950    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
10951}
10952extern "C" {
10953    #[link_name = "\u{1}aws_lc_0_33_0_BF_encrypt"]
10954    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
10955}
10956extern "C" {
10957    #[link_name = "\u{1}aws_lc_0_33_0_BF_decrypt"]
10958    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
10959}
10960extern "C" {
10961    #[link_name = "\u{1}aws_lc_0_33_0_BF_ecb_encrypt"]
10962    pub fn BF_ecb_encrypt(
10963        in_: *const u8,
10964        out: *mut u8,
10965        key: *const BF_KEY,
10966        enc: ::std::os::raw::c_int,
10967    );
10968}
10969extern "C" {
10970    #[link_name = "\u{1}aws_lc_0_33_0_BF_cbc_encrypt"]
10971    pub fn BF_cbc_encrypt(
10972        in_: *const u8,
10973        out: *mut u8,
10974        length: usize,
10975        schedule: *const BF_KEY,
10976        ivec: *mut u8,
10977        enc: ::std::os::raw::c_int,
10978    );
10979}
10980extern "C" {
10981    #[link_name = "\u{1}aws_lc_0_33_0_BF_cfb64_encrypt"]
10982    pub fn BF_cfb64_encrypt(
10983        in_: *const u8,
10984        out: *mut u8,
10985        length: usize,
10986        schedule: *const BF_KEY,
10987        ivec: *mut u8,
10988        num: *mut ::std::os::raw::c_int,
10989        encrypt: ::std::os::raw::c_int,
10990    );
10991}
10992#[repr(C)]
10993#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10994pub struct cbs_st {
10995    pub data: *const u8,
10996    pub len: usize,
10997}
10998#[test]
10999fn bindgen_test_layout_cbs_st() {
11000    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11001    let ptr = UNINIT.as_ptr();
11002    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
11003    assert_eq!(
11004        ::std::mem::align_of::<cbs_st>(),
11005        8usize,
11006        "Alignment of cbs_st"
11007    );
11008    assert_eq!(
11009        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11010        0usize,
11011        "Offset of field: cbs_st::data"
11012    );
11013    assert_eq!(
11014        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11015        8usize,
11016        "Offset of field: cbs_st::len"
11017    );
11018}
11019impl Default for cbs_st {
11020    fn default() -> Self {
11021        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11022        unsafe {
11023            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11024            s.assume_init()
11025        }
11026    }
11027}
11028extern "C" {
11029    #[link_name = "\u{1}aws_lc_0_33_0_CBS_init"]
11030    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11031}
11032extern "C" {
11033    #[link_name = "\u{1}aws_lc_0_33_0_CBS_skip"]
11034    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11035}
11036extern "C" {
11037    #[link_name = "\u{1}aws_lc_0_33_0_CBS_data"]
11038    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11039}
11040extern "C" {
11041    #[link_name = "\u{1}aws_lc_0_33_0_CBS_len"]
11042    pub fn CBS_len(cbs: *const CBS) -> usize;
11043}
11044extern "C" {
11045    #[link_name = "\u{1}aws_lc_0_33_0_CBS_stow"]
11046    pub fn CBS_stow(
11047        cbs: *const CBS,
11048        out_ptr: *mut *mut u8,
11049        out_len: *mut usize,
11050    ) -> ::std::os::raw::c_int;
11051}
11052extern "C" {
11053    #[link_name = "\u{1}aws_lc_0_33_0_CBS_strdup"]
11054    pub fn CBS_strdup(
11055        cbs: *const CBS,
11056        out_ptr: *mut *mut ::std::os::raw::c_char,
11057    ) -> ::std::os::raw::c_int;
11058}
11059extern "C" {
11060    #[link_name = "\u{1}aws_lc_0_33_0_CBS_contains_zero_byte"]
11061    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11062}
11063extern "C" {
11064    #[link_name = "\u{1}aws_lc_0_33_0_CBS_mem_equal"]
11065    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11066}
11067extern "C" {
11068    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u8"]
11069    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11070}
11071extern "C" {
11072    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u16"]
11073    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11074}
11075extern "C" {
11076    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u16le"]
11077    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11078}
11079extern "C" {
11080    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u24"]
11081    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11082}
11083extern "C" {
11084    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u32"]
11085    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11086}
11087extern "C" {
11088    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u32le"]
11089    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11090}
11091extern "C" {
11092    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u64"]
11093    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11094}
11095extern "C" {
11096    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u64le"]
11097    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11098}
11099extern "C" {
11100    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_last_u8"]
11101    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11102}
11103extern "C" {
11104    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_bytes"]
11105    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11106}
11107extern "C" {
11108    #[link_name = "\u{1}aws_lc_0_33_0_CBS_copy_bytes"]
11109    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11110}
11111extern "C" {
11112    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u8_length_prefixed"]
11113    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11114}
11115extern "C" {
11116    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u16_length_prefixed"]
11117    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11118}
11119extern "C" {
11120    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u24_length_prefixed"]
11121    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11122}
11123extern "C" {
11124    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_until_first"]
11125    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11126}
11127extern "C" {
11128    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_u64_decimal"]
11129    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11130}
11131extern "C" {
11132    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_asn1"]
11133    pub fn CBS_get_asn1(
11134        cbs: *mut CBS,
11135        out: *mut CBS,
11136        tag_value: CBS_ASN1_TAG,
11137    ) -> ::std::os::raw::c_int;
11138}
11139extern "C" {
11140    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_asn1_element"]
11141    pub fn CBS_get_asn1_element(
11142        cbs: *mut CBS,
11143        out: *mut CBS,
11144        tag_value: CBS_ASN1_TAG,
11145    ) -> ::std::os::raw::c_int;
11146}
11147extern "C" {
11148    #[link_name = "\u{1}aws_lc_0_33_0_CBS_peek_asn1_tag"]
11149    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11150}
11151extern "C" {
11152    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_any_asn1"]
11153    pub fn CBS_get_any_asn1(
11154        cbs: *mut CBS,
11155        out: *mut CBS,
11156        out_tag: *mut CBS_ASN1_TAG,
11157    ) -> ::std::os::raw::c_int;
11158}
11159extern "C" {
11160    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_any_asn1_element"]
11161    pub fn CBS_get_any_asn1_element(
11162        cbs: *mut CBS,
11163        out: *mut CBS,
11164        out_tag: *mut CBS_ASN1_TAG,
11165        out_header_len: *mut usize,
11166    ) -> ::std::os::raw::c_int;
11167}
11168extern "C" {
11169    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_any_ber_asn1_element"]
11170    pub fn CBS_get_any_ber_asn1_element(
11171        cbs: *mut CBS,
11172        out: *mut CBS,
11173        out_tag: *mut CBS_ASN1_TAG,
11174        out_header_len: *mut usize,
11175        out_ber_found: *mut ::std::os::raw::c_int,
11176        out_indefinite: *mut ::std::os::raw::c_int,
11177    ) -> ::std::os::raw::c_int;
11178}
11179extern "C" {
11180    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_asn1_uint64"]
11181    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11182}
11183extern "C" {
11184    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_asn1_int64"]
11185    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11186}
11187extern "C" {
11188    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_asn1_bool"]
11189    pub fn CBS_get_asn1_bool(
11190        cbs: *mut CBS,
11191        out: *mut ::std::os::raw::c_int,
11192    ) -> ::std::os::raw::c_int;
11193}
11194extern "C" {
11195    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_optional_asn1"]
11196    pub fn CBS_get_optional_asn1(
11197        cbs: *mut CBS,
11198        out: *mut CBS,
11199        out_present: *mut ::std::os::raw::c_int,
11200        tag: CBS_ASN1_TAG,
11201    ) -> ::std::os::raw::c_int;
11202}
11203extern "C" {
11204    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_optional_asn1_octet_string"]
11205    pub fn CBS_get_optional_asn1_octet_string(
11206        cbs: *mut CBS,
11207        out: *mut CBS,
11208        out_present: *mut ::std::os::raw::c_int,
11209        tag: CBS_ASN1_TAG,
11210    ) -> ::std::os::raw::c_int;
11211}
11212extern "C" {
11213    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_optional_asn1_uint64"]
11214    pub fn CBS_get_optional_asn1_uint64(
11215        cbs: *mut CBS,
11216        out: *mut u64,
11217        tag: CBS_ASN1_TAG,
11218        default_value: u64,
11219    ) -> ::std::os::raw::c_int;
11220}
11221extern "C" {
11222    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_optional_asn1_bool"]
11223    pub fn CBS_get_optional_asn1_bool(
11224        cbs: *mut CBS,
11225        out: *mut ::std::os::raw::c_int,
11226        tag: CBS_ASN1_TAG,
11227        default_value: ::std::os::raw::c_int,
11228    ) -> ::std::os::raw::c_int;
11229}
11230extern "C" {
11231    #[link_name = "\u{1}aws_lc_0_33_0_CBS_is_valid_asn1_bitstring"]
11232    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11233}
11234extern "C" {
11235    #[link_name = "\u{1}aws_lc_0_33_0_CBS_asn1_bitstring_has_bit"]
11236    pub fn CBS_asn1_bitstring_has_bit(
11237        cbs: *const CBS,
11238        bit: ::std::os::raw::c_uint,
11239    ) -> ::std::os::raw::c_int;
11240}
11241extern "C" {
11242    #[link_name = "\u{1}aws_lc_0_33_0_CBS_is_valid_asn1_integer"]
11243    pub fn CBS_is_valid_asn1_integer(
11244        cbs: *const CBS,
11245        out_is_negative: *mut ::std::os::raw::c_int,
11246    ) -> ::std::os::raw::c_int;
11247}
11248extern "C" {
11249    #[link_name = "\u{1}aws_lc_0_33_0_CBS_is_unsigned_asn1_integer"]
11250    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11251}
11252extern "C" {
11253    #[link_name = "\u{1}aws_lc_0_33_0_CBS_is_valid_asn1_oid"]
11254    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11255}
11256extern "C" {
11257    #[link_name = "\u{1}aws_lc_0_33_0_CBS_asn1_oid_to_text"]
11258    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11259}
11260extern "C" {
11261    #[link_name = "\u{1}aws_lc_0_33_0_CBS_parse_generalized_time"]
11262    pub fn CBS_parse_generalized_time(
11263        cbs: *const CBS,
11264        out_tm: *mut tm,
11265        allow_timezone_offset: ::std::os::raw::c_int,
11266    ) -> ::std::os::raw::c_int;
11267}
11268extern "C" {
11269    #[link_name = "\u{1}aws_lc_0_33_0_CBS_parse_utc_time"]
11270    pub fn CBS_parse_utc_time(
11271        cbs: *const CBS,
11272        out_tm: *mut tm,
11273        allow_timezone_offset: ::std::os::raw::c_int,
11274    ) -> ::std::os::raw::c_int;
11275}
11276extern "C" {
11277    #[link_name = "\u{1}aws_lc_0_33_0_CBS_get_optional_asn1_int64"]
11278    pub fn CBS_get_optional_asn1_int64(
11279        cbs: *mut CBS,
11280        out: *mut i64,
11281        tag: CBS_ASN1_TAG,
11282        default_value: i64,
11283    ) -> ::std::os::raw::c_int;
11284}
11285#[repr(C)]
11286#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11287pub struct cbb_buffer_st {
11288    pub buf: *mut u8,
11289    pub len: usize,
11290    pub cap: usize,
11291    pub _bitfield_align_1: [u8; 0],
11292    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11293    pub __bindgen_padding_0: [u8; 7usize],
11294}
11295#[test]
11296fn bindgen_test_layout_cbb_buffer_st() {
11297    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11298    let ptr = UNINIT.as_ptr();
11299    assert_eq!(
11300        ::std::mem::size_of::<cbb_buffer_st>(),
11301        32usize,
11302        "Size of cbb_buffer_st"
11303    );
11304    assert_eq!(
11305        ::std::mem::align_of::<cbb_buffer_st>(),
11306        8usize,
11307        "Alignment of cbb_buffer_st"
11308    );
11309    assert_eq!(
11310        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11311        0usize,
11312        "Offset of field: cbb_buffer_st::buf"
11313    );
11314    assert_eq!(
11315        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11316        8usize,
11317        "Offset of field: cbb_buffer_st::len"
11318    );
11319    assert_eq!(
11320        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11321        16usize,
11322        "Offset of field: cbb_buffer_st::cap"
11323    );
11324}
11325impl Default for cbb_buffer_st {
11326    fn default() -> Self {
11327        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11328        unsafe {
11329            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11330            s.assume_init()
11331        }
11332    }
11333}
11334impl cbb_buffer_st {
11335    #[inline]
11336    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
11337        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11338    }
11339    #[inline]
11340    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
11341        unsafe {
11342            let val: u32 = ::std::mem::transmute(val);
11343            self._bitfield_1.set(0usize, 1u8, val as u64)
11344        }
11345    }
11346    #[inline]
11347    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
11348        unsafe {
11349            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11350                ::std::ptr::addr_of!((*this)._bitfield_1),
11351                0usize,
11352                1u8,
11353            ) as u32)
11354        }
11355    }
11356    #[inline]
11357    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11358        unsafe {
11359            let val: u32 = ::std::mem::transmute(val);
11360            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11361                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11362                0usize,
11363                1u8,
11364                val as u64,
11365            )
11366        }
11367    }
11368    #[inline]
11369    pub fn error(&self) -> ::std::os::raw::c_uint {
11370        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11371    }
11372    #[inline]
11373    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
11374        unsafe {
11375            let val: u32 = ::std::mem::transmute(val);
11376            self._bitfield_1.set(1usize, 1u8, val as u64)
11377        }
11378    }
11379    #[inline]
11380    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
11381        unsafe {
11382            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11383                ::std::ptr::addr_of!((*this)._bitfield_1),
11384                1usize,
11385                1u8,
11386            ) as u32)
11387        }
11388    }
11389    #[inline]
11390    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11391        unsafe {
11392            let val: u32 = ::std::mem::transmute(val);
11393            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11394                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11395                1usize,
11396                1u8,
11397                val as u64,
11398            )
11399        }
11400    }
11401    #[inline]
11402    pub fn new_bitfield_1(
11403        can_resize: ::std::os::raw::c_uint,
11404        error: ::std::os::raw::c_uint,
11405    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11406        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11407        __bindgen_bitfield_unit.set(0usize, 1u8, {
11408            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
11409            can_resize as u64
11410        });
11411        __bindgen_bitfield_unit.set(1usize, 1u8, {
11412            let error: u32 = unsafe { ::std::mem::transmute(error) };
11413            error as u64
11414        });
11415        __bindgen_bitfield_unit
11416    }
11417}
11418#[repr(C)]
11419#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11420pub struct cbb_child_st {
11421    pub base: *mut cbb_buffer_st,
11422    pub offset: usize,
11423    pub pending_len_len: u8,
11424    pub _bitfield_align_1: [u8; 0],
11425    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11426    pub __bindgen_padding_0: [u16; 3usize],
11427}
11428#[test]
11429fn bindgen_test_layout_cbb_child_st() {
11430    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
11431    let ptr = UNINIT.as_ptr();
11432    assert_eq!(
11433        ::std::mem::size_of::<cbb_child_st>(),
11434        24usize,
11435        "Size of cbb_child_st"
11436    );
11437    assert_eq!(
11438        ::std::mem::align_of::<cbb_child_st>(),
11439        8usize,
11440        "Alignment of cbb_child_st"
11441    );
11442    assert_eq!(
11443        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11444        0usize,
11445        "Offset of field: cbb_child_st::base"
11446    );
11447    assert_eq!(
11448        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
11449        8usize,
11450        "Offset of field: cbb_child_st::offset"
11451    );
11452    assert_eq!(
11453        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
11454        16usize,
11455        "Offset of field: cbb_child_st::pending_len_len"
11456    );
11457}
11458impl Default for cbb_child_st {
11459    fn default() -> Self {
11460        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11461        unsafe {
11462            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11463            s.assume_init()
11464        }
11465    }
11466}
11467impl cbb_child_st {
11468    #[inline]
11469    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
11470        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11471    }
11472    #[inline]
11473    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
11474        unsafe {
11475            let val: u32 = ::std::mem::transmute(val);
11476            self._bitfield_1.set(0usize, 1u8, val as u64)
11477        }
11478    }
11479    #[inline]
11480    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
11481        unsafe {
11482            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11483                ::std::ptr::addr_of!((*this)._bitfield_1),
11484                0usize,
11485                1u8,
11486            ) as u32)
11487        }
11488    }
11489    #[inline]
11490    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11491        unsafe {
11492            let val: u32 = ::std::mem::transmute(val);
11493            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11494                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11495                0usize,
11496                1u8,
11497                val as u64,
11498            )
11499        }
11500    }
11501    #[inline]
11502    pub fn new_bitfield_1(
11503        pending_is_asn1: ::std::os::raw::c_uint,
11504    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11505        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11506        __bindgen_bitfield_unit.set(0usize, 1u8, {
11507            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
11508            pending_is_asn1 as u64
11509        });
11510        __bindgen_bitfield_unit
11511    }
11512}
11513#[repr(C)]
11514#[derive(Copy, Clone)]
11515pub struct cbb_st {
11516    pub child: *mut CBB,
11517    pub is_child: ::std::os::raw::c_char,
11518    pub u: cbb_st__bindgen_ty_1,
11519}
11520#[repr(C)]
11521#[derive(Copy, Clone)]
11522pub union cbb_st__bindgen_ty_1 {
11523    pub base: cbb_buffer_st,
11524    pub child: cbb_child_st,
11525}
11526#[test]
11527fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
11528    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
11529    let ptr = UNINIT.as_ptr();
11530    assert_eq!(
11531        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
11532        32usize,
11533        "Size of cbb_st__bindgen_ty_1"
11534    );
11535    assert_eq!(
11536        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
11537        8usize,
11538        "Alignment of cbb_st__bindgen_ty_1"
11539    );
11540    assert_eq!(
11541        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11542        0usize,
11543        "Offset of field: cbb_st__bindgen_ty_1::base"
11544    );
11545    assert_eq!(
11546        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11547        0usize,
11548        "Offset of field: cbb_st__bindgen_ty_1::child"
11549    );
11550}
11551impl Default for cbb_st__bindgen_ty_1 {
11552    fn default() -> Self {
11553        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11554        unsafe {
11555            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11556            s.assume_init()
11557        }
11558    }
11559}
11560#[test]
11561fn bindgen_test_layout_cbb_st() {
11562    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
11563    let ptr = UNINIT.as_ptr();
11564    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
11565    assert_eq!(
11566        ::std::mem::align_of::<cbb_st>(),
11567        8usize,
11568        "Alignment of cbb_st"
11569    );
11570    assert_eq!(
11571        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11572        0usize,
11573        "Offset of field: cbb_st::child"
11574    );
11575    assert_eq!(
11576        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
11577        8usize,
11578        "Offset of field: cbb_st::is_child"
11579    );
11580    assert_eq!(
11581        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
11582        16usize,
11583        "Offset of field: cbb_st::u"
11584    );
11585}
11586impl Default for cbb_st {
11587    fn default() -> Self {
11588        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11589        unsafe {
11590            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11591            s.assume_init()
11592        }
11593    }
11594}
11595extern "C" {
11596    #[link_name = "\u{1}aws_lc_0_33_0_CBB_zero"]
11597    pub fn CBB_zero(cbb: *mut CBB);
11598}
11599extern "C" {
11600    #[link_name = "\u{1}aws_lc_0_33_0_CBB_init"]
11601    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
11602}
11603extern "C" {
11604    #[link_name = "\u{1}aws_lc_0_33_0_CBB_init_fixed"]
11605    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
11606}
11607extern "C" {
11608    #[link_name = "\u{1}aws_lc_0_33_0_CBB_cleanup"]
11609    pub fn CBB_cleanup(cbb: *mut CBB);
11610}
11611extern "C" {
11612    #[link_name = "\u{1}aws_lc_0_33_0_CBB_finish"]
11613    pub fn CBB_finish(
11614        cbb: *mut CBB,
11615        out_data: *mut *mut u8,
11616        out_len: *mut usize,
11617    ) -> ::std::os::raw::c_int;
11618}
11619extern "C" {
11620    #[link_name = "\u{1}aws_lc_0_33_0_CBB_flush"]
11621    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
11622}
11623extern "C" {
11624    #[link_name = "\u{1}aws_lc_0_33_0_CBB_data"]
11625    pub fn CBB_data(cbb: *const CBB) -> *const u8;
11626}
11627extern "C" {
11628    #[link_name = "\u{1}aws_lc_0_33_0_CBB_len"]
11629    pub fn CBB_len(cbb: *const CBB) -> usize;
11630}
11631extern "C" {
11632    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u8_length_prefixed"]
11633    pub fn CBB_add_u8_length_prefixed(
11634        cbb: *mut CBB,
11635        out_contents: *mut CBB,
11636    ) -> ::std::os::raw::c_int;
11637}
11638extern "C" {
11639    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u16_length_prefixed"]
11640    pub fn CBB_add_u16_length_prefixed(
11641        cbb: *mut CBB,
11642        out_contents: *mut CBB,
11643    ) -> ::std::os::raw::c_int;
11644}
11645extern "C" {
11646    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u24_length_prefixed"]
11647    pub fn CBB_add_u24_length_prefixed(
11648        cbb: *mut CBB,
11649        out_contents: *mut CBB,
11650    ) -> ::std::os::raw::c_int;
11651}
11652extern "C" {
11653    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1"]
11654    pub fn CBB_add_asn1(
11655        cbb: *mut CBB,
11656        out_contents: *mut CBB,
11657        tag: CBS_ASN1_TAG,
11658    ) -> ::std::os::raw::c_int;
11659}
11660extern "C" {
11661    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_bytes"]
11662    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11663}
11664extern "C" {
11665    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_zeros"]
11666    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11667}
11668extern "C" {
11669    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_space"]
11670    pub fn CBB_add_space(
11671        cbb: *mut CBB,
11672        out_data: *mut *mut u8,
11673        len: usize,
11674    ) -> ::std::os::raw::c_int;
11675}
11676extern "C" {
11677    #[link_name = "\u{1}aws_lc_0_33_0_CBB_reserve"]
11678    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
11679}
11680extern "C" {
11681    #[link_name = "\u{1}aws_lc_0_33_0_CBB_did_write"]
11682    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11683}
11684extern "C" {
11685    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u8"]
11686    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
11687}
11688extern "C" {
11689    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u16"]
11690    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11691}
11692extern "C" {
11693    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u16le"]
11694    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11695}
11696extern "C" {
11697    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u24"]
11698    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11699}
11700extern "C" {
11701    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u32"]
11702    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11703}
11704extern "C" {
11705    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u32le"]
11706    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11707}
11708extern "C" {
11709    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u64"]
11710    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11711}
11712extern "C" {
11713    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_u64le"]
11714    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11715}
11716extern "C" {
11717    #[link_name = "\u{1}aws_lc_0_33_0_CBB_discard_child"]
11718    pub fn CBB_discard_child(cbb: *mut CBB);
11719}
11720extern "C" {
11721    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_uint64"]
11722    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11723}
11724extern "C" {
11725    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_uint64_with_tag"]
11726    pub fn CBB_add_asn1_uint64_with_tag(
11727        cbb: *mut CBB,
11728        value: u64,
11729        tag: CBS_ASN1_TAG,
11730    ) -> ::std::os::raw::c_int;
11731}
11732extern "C" {
11733    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_int64"]
11734    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
11735}
11736extern "C" {
11737    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_int64_with_tag"]
11738    pub fn CBB_add_asn1_int64_with_tag(
11739        cbb: *mut CBB,
11740        value: i64,
11741        tag: CBS_ASN1_TAG,
11742    ) -> ::std::os::raw::c_int;
11743}
11744extern "C" {
11745    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_octet_string"]
11746    pub fn CBB_add_asn1_octet_string(
11747        cbb: *mut CBB,
11748        data: *const u8,
11749        data_len: usize,
11750    ) -> ::std::os::raw::c_int;
11751}
11752extern "C" {
11753    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_bool"]
11754    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11755}
11756extern "C" {
11757    #[link_name = "\u{1}aws_lc_0_33_0_CBB_add_asn1_oid_from_text"]
11758    pub fn CBB_add_asn1_oid_from_text(
11759        cbb: *mut CBB,
11760        text: *const ::std::os::raw::c_char,
11761        len: usize,
11762    ) -> ::std::os::raw::c_int;
11763}
11764extern "C" {
11765    #[link_name = "\u{1}aws_lc_0_33_0_CBB_flush_asn1_set_of"]
11766    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
11767}
11768extern "C" {
11769    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11770}
11771extern "C" {
11772    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11773}
11774extern "C" {
11775    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11776}
11777extern "C" {
11778    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11779}
11780extern "C" {
11781    pub fn CBB_get_utf8_len(u: u32) -> usize;
11782}
11783extern "C" {
11784    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11785}
11786extern "C" {
11787    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11788}
11789extern "C" {
11790    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11791}
11792extern "C" {
11793    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
11794}
11795extern "C" {
11796    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_chacha_20"]
11797    pub fn CRYPTO_chacha_20(
11798        out: *mut u8,
11799        in_: *const u8,
11800        in_len: usize,
11801        key: *const u8,
11802        nonce: *const u8,
11803        counter: u32,
11804    );
11805}
11806extern "C" {
11807    #[link_name = "\u{1}aws_lc_0_33_0_EVP_rc4"]
11808    pub fn EVP_rc4() -> *const EVP_CIPHER;
11809}
11810extern "C" {
11811    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_cbc"]
11812    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
11813}
11814extern "C" {
11815    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ecb"]
11816    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
11817}
11818extern "C" {
11819    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ede"]
11820    pub fn EVP_des_ede() -> *const EVP_CIPHER;
11821}
11822extern "C" {
11823    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ede3"]
11824    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
11825}
11826extern "C" {
11827    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ede_cbc"]
11828    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
11829}
11830extern "C" {
11831    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ede3_cbc"]
11832    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
11833}
11834extern "C" {
11835    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_ecb"]
11836    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
11837}
11838extern "C" {
11839    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cbc"]
11840    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
11841}
11842extern "C" {
11843    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_ctr"]
11844    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
11845}
11846extern "C" {
11847    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_ofb"]
11848    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
11849}
11850extern "C" {
11851    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_ecb"]
11852    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
11853}
11854extern "C" {
11855    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cbc"]
11856    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
11857}
11858extern "C" {
11859    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_ctr"]
11860    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
11861}
11862extern "C" {
11863    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_ofb"]
11864    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
11865}
11866extern "C" {
11867    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_xts"]
11868    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
11869}
11870extern "C" {
11871    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_wrap"]
11872    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
11873}
11874extern "C" {
11875    #[link_name = "\u{1}aws_lc_0_33_0_EVP_enc_null"]
11876    pub fn EVP_enc_null() -> *const EVP_CIPHER;
11877}
11878extern "C" {
11879    #[link_name = "\u{1}aws_lc_0_33_0_EVP_rc2_cbc"]
11880    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
11881}
11882extern "C" {
11883    #[link_name = "\u{1}aws_lc_0_33_0_EVP_rc2_40_cbc"]
11884    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
11885}
11886extern "C" {
11887    #[link_name = "\u{1}aws_lc_0_33_0_EVP_chacha20_poly1305"]
11888    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
11889}
11890extern "C" {
11891    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_cipherbynid"]
11892    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
11893}
11894extern "C" {
11895    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_init"]
11896    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
11897}
11898extern "C" {
11899    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_new"]
11900    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
11901}
11902extern "C" {
11903    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_cleanup"]
11904    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11905}
11906extern "C" {
11907    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_free"]
11908    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
11909}
11910extern "C" {
11911    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_copy"]
11912    pub fn EVP_CIPHER_CTX_copy(
11913        out: *mut EVP_CIPHER_CTX,
11914        in_: *const EVP_CIPHER_CTX,
11915    ) -> ::std::os::raw::c_int;
11916}
11917extern "C" {
11918    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_reset"]
11919    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11920}
11921extern "C" {
11922    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CipherInit_ex"]
11923    pub fn EVP_CipherInit_ex(
11924        ctx: *mut EVP_CIPHER_CTX,
11925        cipher: *const EVP_CIPHER,
11926        engine: *mut ENGINE,
11927        key: *const u8,
11928        iv: *const u8,
11929        enc: ::std::os::raw::c_int,
11930    ) -> ::std::os::raw::c_int;
11931}
11932extern "C" {
11933    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncryptInit_ex"]
11934    pub fn EVP_EncryptInit_ex(
11935        ctx: *mut EVP_CIPHER_CTX,
11936        cipher: *const EVP_CIPHER,
11937        impl_: *mut ENGINE,
11938        key: *const u8,
11939        iv: *const u8,
11940    ) -> ::std::os::raw::c_int;
11941}
11942extern "C" {
11943    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecryptInit_ex"]
11944    pub fn EVP_DecryptInit_ex(
11945        ctx: *mut EVP_CIPHER_CTX,
11946        cipher: *const EVP_CIPHER,
11947        impl_: *mut ENGINE,
11948        key: *const u8,
11949        iv: *const u8,
11950    ) -> ::std::os::raw::c_int;
11951}
11952extern "C" {
11953    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncryptUpdate"]
11954    pub fn EVP_EncryptUpdate(
11955        ctx: *mut EVP_CIPHER_CTX,
11956        out: *mut u8,
11957        out_len: *mut ::std::os::raw::c_int,
11958        in_: *const u8,
11959        in_len: ::std::os::raw::c_int,
11960    ) -> ::std::os::raw::c_int;
11961}
11962extern "C" {
11963    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncryptFinal_ex"]
11964    pub fn EVP_EncryptFinal_ex(
11965        ctx: *mut EVP_CIPHER_CTX,
11966        out: *mut u8,
11967        out_len: *mut ::std::os::raw::c_int,
11968    ) -> ::std::os::raw::c_int;
11969}
11970extern "C" {
11971    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecryptUpdate"]
11972    pub fn EVP_DecryptUpdate(
11973        ctx: *mut EVP_CIPHER_CTX,
11974        out: *mut u8,
11975        out_len: *mut ::std::os::raw::c_int,
11976        in_: *const u8,
11977        in_len: ::std::os::raw::c_int,
11978    ) -> ::std::os::raw::c_int;
11979}
11980extern "C" {
11981    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecryptFinal_ex"]
11982    pub fn EVP_DecryptFinal_ex(
11983        ctx: *mut EVP_CIPHER_CTX,
11984        out: *mut u8,
11985        out_len: *mut ::std::os::raw::c_int,
11986    ) -> ::std::os::raw::c_int;
11987}
11988extern "C" {
11989    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CipherUpdate"]
11990    pub fn EVP_CipherUpdate(
11991        ctx: *mut EVP_CIPHER_CTX,
11992        out: *mut u8,
11993        out_len: *mut ::std::os::raw::c_int,
11994        in_: *const u8,
11995        in_len: ::std::os::raw::c_int,
11996    ) -> ::std::os::raw::c_int;
11997}
11998extern "C" {
11999    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CipherFinal_ex"]
12000    pub fn EVP_CipherFinal_ex(
12001        ctx: *mut EVP_CIPHER_CTX,
12002        out: *mut u8,
12003        out_len: *mut ::std::os::raw::c_int,
12004    ) -> ::std::os::raw::c_int;
12005}
12006extern "C" {
12007    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_cipher"]
12008    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12009}
12010extern "C" {
12011    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_nid"]
12012    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12013}
12014extern "C" {
12015    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_encrypting"]
12016    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12017}
12018extern "C" {
12019    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_block_size"]
12020    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12021}
12022extern "C" {
12023    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_key_length"]
12024    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12025}
12026extern "C" {
12027    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_iv_length"]
12028    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12029}
12030extern "C" {
12031    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_get_app_data"]
12032    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12033}
12034extern "C" {
12035    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_set_app_data"]
12036    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12037}
12038extern "C" {
12039    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_flags"]
12040    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12041}
12042extern "C" {
12043    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_mode"]
12044    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12045}
12046extern "C" {
12047    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_ctrl"]
12048    pub fn EVP_CIPHER_CTX_ctrl(
12049        ctx: *mut EVP_CIPHER_CTX,
12050        command: ::std::os::raw::c_int,
12051        arg: ::std::os::raw::c_int,
12052        ptr: *mut ::std::os::raw::c_void,
12053    ) -> ::std::os::raw::c_int;
12054}
12055extern "C" {
12056    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_set_padding"]
12057    pub fn EVP_CIPHER_CTX_set_padding(
12058        ctx: *mut EVP_CIPHER_CTX,
12059        pad: ::std::os::raw::c_int,
12060    ) -> ::std::os::raw::c_int;
12061}
12062extern "C" {
12063    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_set_key_length"]
12064    pub fn EVP_CIPHER_CTX_set_key_length(
12065        ctx: *mut EVP_CIPHER_CTX,
12066        key_len: ::std::os::raw::c_uint,
12067    ) -> ::std::os::raw::c_int;
12068}
12069extern "C" {
12070    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_nid"]
12071    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12072}
12073extern "C" {
12074    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_name"]
12075    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12076}
12077extern "C" {
12078    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_block_size"]
12079    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12080}
12081extern "C" {
12082    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_key_length"]
12083    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12084}
12085extern "C" {
12086    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_iv_length"]
12087    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12088}
12089extern "C" {
12090    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_flags"]
12091    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12092}
12093extern "C" {
12094    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_mode"]
12095    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12096}
12097extern "C" {
12098    #[link_name = "\u{1}aws_lc_0_33_0_EVP_BytesToKey"]
12099    pub fn EVP_BytesToKey(
12100        type_: *const EVP_CIPHER,
12101        md: *const EVP_MD,
12102        salt: *const u8,
12103        data: *const u8,
12104        data_len: usize,
12105        count: ::std::os::raw::c_uint,
12106        key: *mut u8,
12107        iv: *mut u8,
12108    ) -> ::std::os::raw::c_int;
12109}
12110extern "C" {
12111    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cbc_hmac_sha1"]
12112    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12113}
12114extern "C" {
12115    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cbc_hmac_sha1"]
12116    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12117}
12118extern "C" {
12119    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cbc_hmac_sha256"]
12120    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12121}
12122extern "C" {
12123    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cbc_hmac_sha256"]
12124    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12125}
12126extern "C" {
12127    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CipherInit"]
12128    pub fn EVP_CipherInit(
12129        ctx: *mut EVP_CIPHER_CTX,
12130        cipher: *const EVP_CIPHER,
12131        key: *const u8,
12132        iv: *const u8,
12133        enc: ::std::os::raw::c_int,
12134    ) -> ::std::os::raw::c_int;
12135}
12136extern "C" {
12137    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncryptInit"]
12138    pub fn EVP_EncryptInit(
12139        ctx: *mut EVP_CIPHER_CTX,
12140        cipher: *const EVP_CIPHER,
12141        key: *const u8,
12142        iv: *const u8,
12143    ) -> ::std::os::raw::c_int;
12144}
12145extern "C" {
12146    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecryptInit"]
12147    pub fn EVP_DecryptInit(
12148        ctx: *mut EVP_CIPHER_CTX,
12149        cipher: *const EVP_CIPHER,
12150        key: *const u8,
12151        iv: *const u8,
12152    ) -> ::std::os::raw::c_int;
12153}
12154extern "C" {
12155    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CipherFinal"]
12156    pub fn EVP_CipherFinal(
12157        ctx: *mut EVP_CIPHER_CTX,
12158        out: *mut u8,
12159        out_len: *mut ::std::os::raw::c_int,
12160    ) -> ::std::os::raw::c_int;
12161}
12162extern "C" {
12163    #[link_name = "\u{1}aws_lc_0_33_0_EVP_EncryptFinal"]
12164    pub fn EVP_EncryptFinal(
12165        ctx: *mut EVP_CIPHER_CTX,
12166        out: *mut u8,
12167        out_len: *mut ::std::os::raw::c_int,
12168    ) -> ::std::os::raw::c_int;
12169}
12170extern "C" {
12171    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DecryptFinal"]
12172    pub fn EVP_DecryptFinal(
12173        ctx: *mut EVP_CIPHER_CTX,
12174        out: *mut u8,
12175        out_len: *mut ::std::os::raw::c_int,
12176    ) -> ::std::os::raw::c_int;
12177}
12178extern "C" {
12179    #[link_name = "\u{1}aws_lc_0_33_0_EVP_Cipher"]
12180    pub fn EVP_Cipher(
12181        ctx: *mut EVP_CIPHER_CTX,
12182        out: *mut u8,
12183        in_: *const u8,
12184        in_len: usize,
12185    ) -> ::std::os::raw::c_int;
12186}
12187extern "C" {
12188    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_cipherbyname"]
12189    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12190}
12191extern "C" {
12192    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_gcm"]
12193    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12194}
12195extern "C" {
12196    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_gcm"]
12197    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12198}
12199extern "C" {
12200    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_ccm"]
12201    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12202}
12203extern "C" {
12204    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_ccm"]
12205    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12206}
12207extern "C" {
12208    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_ccm"]
12209    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12210}
12211extern "C" {
12212    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_ecb"]
12213    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12214}
12215extern "C" {
12216    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_cbc"]
12217    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12218}
12219extern "C" {
12220    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_ctr"]
12221    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12222}
12223extern "C" {
12224    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_gcm"]
12225    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12226}
12227extern "C" {
12228    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_ofb"]
12229    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12230}
12231extern "C" {
12232    #[link_name = "\u{1}aws_lc_0_33_0_EVP_des_ede3_ecb"]
12233    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12234}
12235extern "C" {
12236    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cfb128"]
12237    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12238}
12239extern "C" {
12240    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cfb"]
12241    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12242}
12243extern "C" {
12244    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cfb1"]
12245    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12246}
12247extern "C" {
12248    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_128_cfb8"]
12249    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12250}
12251extern "C" {
12252    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_cfb128"]
12253    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12254}
12255extern "C" {
12256    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_cfb"]
12257    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12258}
12259extern "C" {
12260    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_cfb1"]
12261    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12262}
12263extern "C" {
12264    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_192_cfb8"]
12265    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12266}
12267extern "C" {
12268    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cfb128"]
12269    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12270}
12271extern "C" {
12272    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cfb"]
12273    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12274}
12275extern "C" {
12276    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cfb1"]
12277    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12278}
12279extern "C" {
12280    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aes_256_cfb8"]
12281    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12282}
12283extern "C" {
12284    #[link_name = "\u{1}aws_lc_0_33_0_EVP_bf_ecb"]
12285    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12286}
12287extern "C" {
12288    #[link_name = "\u{1}aws_lc_0_33_0_EVP_bf_cbc"]
12289    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12290}
12291extern "C" {
12292    #[link_name = "\u{1}aws_lc_0_33_0_EVP_bf_cfb"]
12293    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12294}
12295extern "C" {
12296    #[link_name = "\u{1}aws_lc_0_33_0_EVP_cast5_ecb"]
12297    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12298}
12299extern "C" {
12300    #[link_name = "\u{1}aws_lc_0_33_0_EVP_cast5_cbc"]
12301    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12302}
12303extern "C" {
12304    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_CTX_set_flags"]
12305    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12306}
12307extern "C" {
12308    #[link_name = "\u{1}aws_lc_0_33_0_EVP_add_cipher_alias"]
12309    pub fn EVP_add_cipher_alias(
12310        a: *const ::std::os::raw::c_char,
12311        b: *const ::std::os::raw::c_char,
12312    ) -> ::std::os::raw::c_int;
12313}
12314#[repr(C)]
12315#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12316pub struct evp_cipher_ctx_st {
12317    pub cipher: *const EVP_CIPHER,
12318    pub app_data: *mut ::std::os::raw::c_void,
12319    pub cipher_data: *mut ::std::os::raw::c_void,
12320    pub key_len: ::std::os::raw::c_uint,
12321    pub encrypt: ::std::os::raw::c_int,
12322    pub flags: u32,
12323    pub oiv: [u8; 16usize],
12324    pub iv: [u8; 16usize],
12325    pub buf: [u8; 32usize],
12326    pub buf_len: ::std::os::raw::c_int,
12327    pub num: ::std::os::raw::c_uint,
12328    pub final_used: ::std::os::raw::c_int,
12329    pub final_: [u8; 32usize],
12330    pub poisoned: ::std::os::raw::c_int,
12331}
12332#[test]
12333fn bindgen_test_layout_evp_cipher_ctx_st() {
12334    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12335    let ptr = UNINIT.as_ptr();
12336    assert_eq!(
12337        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12338        152usize,
12339        "Size of evp_cipher_ctx_st"
12340    );
12341    assert_eq!(
12342        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12343        8usize,
12344        "Alignment of evp_cipher_ctx_st"
12345    );
12346    assert_eq!(
12347        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12348        0usize,
12349        "Offset of field: evp_cipher_ctx_st::cipher"
12350    );
12351    assert_eq!(
12352        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12353        8usize,
12354        "Offset of field: evp_cipher_ctx_st::app_data"
12355    );
12356    assert_eq!(
12357        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
12358        16usize,
12359        "Offset of field: evp_cipher_ctx_st::cipher_data"
12360    );
12361    assert_eq!(
12362        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
12363        24usize,
12364        "Offset of field: evp_cipher_ctx_st::key_len"
12365    );
12366    assert_eq!(
12367        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
12368        28usize,
12369        "Offset of field: evp_cipher_ctx_st::encrypt"
12370    );
12371    assert_eq!(
12372        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12373        32usize,
12374        "Offset of field: evp_cipher_ctx_st::flags"
12375    );
12376    assert_eq!(
12377        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
12378        36usize,
12379        "Offset of field: evp_cipher_ctx_st::oiv"
12380    );
12381    assert_eq!(
12382        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12383        52usize,
12384        "Offset of field: evp_cipher_ctx_st::iv"
12385    );
12386    assert_eq!(
12387        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12388        68usize,
12389        "Offset of field: evp_cipher_ctx_st::buf"
12390    );
12391    assert_eq!(
12392        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
12393        100usize,
12394        "Offset of field: evp_cipher_ctx_st::buf_len"
12395    );
12396    assert_eq!(
12397        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
12398        104usize,
12399        "Offset of field: evp_cipher_ctx_st::num"
12400    );
12401    assert_eq!(
12402        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
12403        108usize,
12404        "Offset of field: evp_cipher_ctx_st::final_used"
12405    );
12406    assert_eq!(
12407        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
12408        112usize,
12409        "Offset of field: evp_cipher_ctx_st::final_"
12410    );
12411    assert_eq!(
12412        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
12413        144usize,
12414        "Offset of field: evp_cipher_ctx_st::poisoned"
12415    );
12416}
12417impl Default for evp_cipher_ctx_st {
12418    fn default() -> Self {
12419        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12420        unsafe {
12421            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12422            s.assume_init()
12423        }
12424    }
12425}
12426#[repr(C)]
12427#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12428pub struct evp_cipher_info_st {
12429    pub cipher: *const EVP_CIPHER,
12430    pub iv: [::std::os::raw::c_uchar; 16usize],
12431}
12432#[test]
12433fn bindgen_test_layout_evp_cipher_info_st() {
12434    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
12435    let ptr = UNINIT.as_ptr();
12436    assert_eq!(
12437        ::std::mem::size_of::<evp_cipher_info_st>(),
12438        24usize,
12439        "Size of evp_cipher_info_st"
12440    );
12441    assert_eq!(
12442        ::std::mem::align_of::<evp_cipher_info_st>(),
12443        8usize,
12444        "Alignment of evp_cipher_info_st"
12445    );
12446    assert_eq!(
12447        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12448        0usize,
12449        "Offset of field: evp_cipher_info_st::cipher"
12450    );
12451    assert_eq!(
12452        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12453        8usize,
12454        "Offset of field: evp_cipher_info_st::iv"
12455    );
12456}
12457impl Default for evp_cipher_info_st {
12458    fn default() -> Self {
12459        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12460        unsafe {
12461            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12462            s.assume_init()
12463        }
12464    }
12465}
12466pub type EVP_CIPHER_INFO = evp_cipher_info_st;
12467extern "C" {
12468    #[link_name = "\u{1}aws_lc_0_33_0_AES_CMAC"]
12469    pub fn AES_CMAC(
12470        out: *mut u8,
12471        key: *const u8,
12472        key_len: usize,
12473        in_: *const u8,
12474        in_len: usize,
12475    ) -> ::std::os::raw::c_int;
12476}
12477extern "C" {
12478    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_CTX_new"]
12479    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
12480}
12481extern "C" {
12482    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_CTX_free"]
12483    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
12484}
12485extern "C" {
12486    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_CTX_copy"]
12487    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
12488}
12489extern "C" {
12490    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_Init"]
12491    pub fn CMAC_Init(
12492        ctx: *mut CMAC_CTX,
12493        key: *const ::std::os::raw::c_void,
12494        key_len: usize,
12495        cipher: *const EVP_CIPHER,
12496        engine: *mut ENGINE,
12497    ) -> ::std::os::raw::c_int;
12498}
12499extern "C" {
12500    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_Reset"]
12501    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
12502}
12503extern "C" {
12504    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_Update"]
12505    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
12506}
12507extern "C" {
12508    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_Final"]
12509    pub fn CMAC_Final(
12510        ctx: *mut CMAC_CTX,
12511        out: *mut u8,
12512        out_len: *mut usize,
12513    ) -> ::std::os::raw::c_int;
12514}
12515extern "C" {
12516    #[link_name = "\u{1}aws_lc_0_33_0_CMAC_CTX_get0_cipher_ctx"]
12517    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
12518}
12519#[repr(C)]
12520#[derive(Debug, Copy, Clone)]
12521pub struct lhash_st {
12522    _unused: [u8; 0],
12523}
12524pub type _LHASH = lhash_st;
12525extern "C" {
12526    #[link_name = "\u{1}aws_lc_0_33_0_lh_doall_arg"]
12527    pub fn lh_doall_arg(
12528        lh: *mut _LHASH,
12529        func: ::std::option::Option<
12530            unsafe extern "C" fn(
12531                arg1: *mut ::std::os::raw::c_void,
12532                arg2: *mut ::std::os::raw::c_void,
12533            ),
12534        >,
12535        arg: *mut ::std::os::raw::c_void,
12536    );
12537}
12538#[repr(C)]
12539#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12540pub struct conf_value_st {
12541    pub section: *mut ::std::os::raw::c_char,
12542    pub name: *mut ::std::os::raw::c_char,
12543    pub value: *mut ::std::os::raw::c_char,
12544}
12545#[test]
12546fn bindgen_test_layout_conf_value_st() {
12547    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
12548    let ptr = UNINIT.as_ptr();
12549    assert_eq!(
12550        ::std::mem::size_of::<conf_value_st>(),
12551        24usize,
12552        "Size of conf_value_st"
12553    );
12554    assert_eq!(
12555        ::std::mem::align_of::<conf_value_st>(),
12556        8usize,
12557        "Alignment of conf_value_st"
12558    );
12559    assert_eq!(
12560        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
12561        0usize,
12562        "Offset of field: conf_value_st::section"
12563    );
12564    assert_eq!(
12565        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
12566        8usize,
12567        "Offset of field: conf_value_st::name"
12568    );
12569    assert_eq!(
12570        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12571        16usize,
12572        "Offset of field: conf_value_st::value"
12573    );
12574}
12575impl Default for conf_value_st {
12576    fn default() -> Self {
12577        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12578        unsafe {
12579            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12580            s.assume_init()
12581        }
12582    }
12583}
12584#[repr(C)]
12585#[derive(Debug, Copy, Clone)]
12586pub struct stack_st_CONF_VALUE {
12587    _unused: [u8; 0],
12588}
12589pub type sk_CONF_VALUE_free_func =
12590    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
12591pub type sk_CONF_VALUE_copy_func =
12592    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
12593pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
12594    unsafe extern "C" fn(
12595        arg1: *const *const CONF_VALUE,
12596        arg2: *const *const CONF_VALUE,
12597    ) -> ::std::os::raw::c_int,
12598>;
12599pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
12600    unsafe extern "C" fn(
12601        arg1: *mut CONF_VALUE,
12602        arg2: *mut ::std::os::raw::c_void,
12603    ) -> ::std::os::raw::c_int,
12604>;
12605#[repr(C)]
12606#[derive(Debug, Copy, Clone)]
12607pub struct lhash_st_CONF_VALUE {
12608    _unused: [u8; 0],
12609}
12610#[repr(C)]
12611#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12612pub struct conf_st {
12613    pub data: *mut lhash_st_CONF_VALUE,
12614}
12615#[test]
12616fn bindgen_test_layout_conf_st() {
12617    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
12618    let ptr = UNINIT.as_ptr();
12619    assert_eq!(::std::mem::size_of::<conf_st>(), 8usize, "Size of conf_st");
12620    assert_eq!(
12621        ::std::mem::align_of::<conf_st>(),
12622        8usize,
12623        "Alignment of conf_st"
12624    );
12625    assert_eq!(
12626        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
12627        0usize,
12628        "Offset of field: conf_st::data"
12629    );
12630}
12631impl Default for conf_st {
12632    fn default() -> Self {
12633        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12634        unsafe {
12635            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12636            s.assume_init()
12637        }
12638    }
12639}
12640extern "C" {
12641    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_new"]
12642    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
12643}
12644extern "C" {
12645    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_free"]
12646    pub fn NCONF_free(conf: *mut CONF);
12647}
12648extern "C" {
12649    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_load"]
12650    pub fn NCONF_load(
12651        conf: *mut CONF,
12652        filename: *const ::std::os::raw::c_char,
12653        out_error_line: *mut ::std::os::raw::c_long,
12654    ) -> ::std::os::raw::c_int;
12655}
12656extern "C" {
12657    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_load_bio"]
12658    pub fn NCONF_load_bio(
12659        conf: *mut CONF,
12660        bio: *mut BIO,
12661        out_error_line: *mut ::std::os::raw::c_long,
12662    ) -> ::std::os::raw::c_int;
12663}
12664extern "C" {
12665    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_get_section"]
12666    pub fn NCONF_get_section(
12667        conf: *const CONF,
12668        section: *const ::std::os::raw::c_char,
12669    ) -> *const stack_st_CONF_VALUE;
12670}
12671extern "C" {
12672    #[link_name = "\u{1}aws_lc_0_33_0_NCONF_get_string"]
12673    pub fn NCONF_get_string(
12674        conf: *const CONF,
12675        section: *const ::std::os::raw::c_char,
12676        name: *const ::std::os::raw::c_char,
12677    ) -> *const ::std::os::raw::c_char;
12678}
12679extern "C" {
12680    #[link_name = "\u{1}aws_lc_0_33_0_CONF_modules_load_file"]
12681    pub fn CONF_modules_load_file(
12682        filename: *const ::std::os::raw::c_char,
12683        appname: *const ::std::os::raw::c_char,
12684        flags: ::std::os::raw::c_ulong,
12685    ) -> ::std::os::raw::c_int;
12686}
12687extern "C" {
12688    #[link_name = "\u{1}aws_lc_0_33_0_CONF_get1_default_config_file"]
12689    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
12690}
12691extern "C" {
12692    #[link_name = "\u{1}aws_lc_0_33_0_CONF_modules_free"]
12693    pub fn CONF_modules_free();
12694}
12695extern "C" {
12696    #[link_name = "\u{1}aws_lc_0_33_0_CONF_modules_unload"]
12697    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
12698}
12699extern "C" {
12700    #[link_name = "\u{1}aws_lc_0_33_0_CONF_modules_finish"]
12701    pub fn CONF_modules_finish();
12702}
12703extern "C" {
12704    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_config"]
12705    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
12706}
12707extern "C" {
12708    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_no_config"]
12709    pub fn OPENSSL_no_config();
12710}
12711extern "C" {
12712    #[link_name = "\u{1}aws_lc_0_33_0_CTR_DRBG_new"]
12713    pub fn CTR_DRBG_new(
12714        entropy: *const u8,
12715        personalization: *const u8,
12716        personalization_len: usize,
12717    ) -> *mut CTR_DRBG_STATE;
12718}
12719extern "C" {
12720    #[link_name = "\u{1}aws_lc_0_33_0_CTR_DRBG_free"]
12721    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
12722}
12723extern "C" {
12724    #[link_name = "\u{1}aws_lc_0_33_0_CTR_DRBG_reseed"]
12725    pub fn CTR_DRBG_reseed(
12726        drbg: *mut CTR_DRBG_STATE,
12727        entropy: *const u8,
12728        additional_data: *const u8,
12729        additional_data_len: usize,
12730    ) -> ::std::os::raw::c_int;
12731}
12732extern "C" {
12733    #[link_name = "\u{1}aws_lc_0_33_0_CTR_DRBG_generate"]
12734    pub fn CTR_DRBG_generate(
12735        drbg: *mut CTR_DRBG_STATE,
12736        out: *mut u8,
12737        out_len: usize,
12738        additional_data: *const u8,
12739        additional_data_len: usize,
12740    ) -> ::std::os::raw::c_int;
12741}
12742extern "C" {
12743    #[link_name = "\u{1}aws_lc_0_33_0_CTR_DRBG_clear"]
12744    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
12745}
12746extern "C" {
12747    #[link_name = "\u{1}aws_lc_0_33_0_X25519_keypair"]
12748    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
12749}
12750extern "C" {
12751    #[link_name = "\u{1}aws_lc_0_33_0_X25519"]
12752    pub fn X25519(
12753        out_shared_key: *mut u8,
12754        private_key: *const u8,
12755        peer_public_value: *const u8,
12756    ) -> ::std::os::raw::c_int;
12757}
12758extern "C" {
12759    #[link_name = "\u{1}aws_lc_0_33_0_X25519_public_from_private"]
12760    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
12761}
12762extern "C" {
12763    #[link_name = "\u{1}aws_lc_0_33_0_ED25519_keypair"]
12764    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
12765}
12766extern "C" {
12767    #[link_name = "\u{1}aws_lc_0_33_0_ED25519_sign"]
12768    pub fn ED25519_sign(
12769        out_sig: *mut u8,
12770        message: *const u8,
12771        message_len: usize,
12772        private_key: *const u8,
12773    ) -> ::std::os::raw::c_int;
12774}
12775extern "C" {
12776    #[link_name = "\u{1}aws_lc_0_33_0_ED25519_verify"]
12777    pub fn ED25519_verify(
12778        message: *const u8,
12779        message_len: usize,
12780        signature: *const u8,
12781        public_key: *const u8,
12782    ) -> ::std::os::raw::c_int;
12783}
12784extern "C" {
12785    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ctx_sign"]
12786    pub fn ED25519ctx_sign(
12787        out_sig: *mut u8,
12788        message: *const u8,
12789        message_len: usize,
12790        private_key: *const u8,
12791        context: *const u8,
12792        context_len: usize,
12793    ) -> ::std::os::raw::c_int;
12794}
12795extern "C" {
12796    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ctx_verify"]
12797    pub fn ED25519ctx_verify(
12798        message: *const u8,
12799        message_len: usize,
12800        signature: *const u8,
12801        public_key: *const u8,
12802        context: *const u8,
12803        context_len: usize,
12804    ) -> ::std::os::raw::c_int;
12805}
12806extern "C" {
12807    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ph_sign"]
12808    pub fn ED25519ph_sign(
12809        out_sig: *mut u8,
12810        message: *const u8,
12811        message_len: usize,
12812        private_key: *const u8,
12813        context: *const u8,
12814        context_len: usize,
12815    ) -> ::std::os::raw::c_int;
12816}
12817extern "C" {
12818    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ph_verify"]
12819    pub fn ED25519ph_verify(
12820        message: *const u8,
12821        message_len: usize,
12822        signature: *const u8,
12823        public_key: *const u8,
12824        context: *const u8,
12825        context_len: usize,
12826    ) -> ::std::os::raw::c_int;
12827}
12828extern "C" {
12829    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ph_sign_digest"]
12830    pub fn ED25519ph_sign_digest(
12831        out_sig: *mut u8,
12832        digest: *const u8,
12833        private_key: *const u8,
12834        context: *const u8,
12835        context_len: usize,
12836    ) -> ::std::os::raw::c_int;
12837}
12838extern "C" {
12839    #[link_name = "\u{1}aws_lc_0_33_0_ED25519ph_verify_digest"]
12840    pub fn ED25519ph_verify_digest(
12841        digest: *const u8,
12842        signature: *const u8,
12843        public_key: *const u8,
12844        context: *const u8,
12845        context_len: usize,
12846    ) -> ::std::os::raw::c_int;
12847}
12848extern "C" {
12849    #[link_name = "\u{1}aws_lc_0_33_0_ED25519_keypair_from_seed"]
12850    pub fn ED25519_keypair_from_seed(
12851        out_public_key: *mut u8,
12852        out_private_key: *mut u8,
12853        seed: *const u8,
12854    );
12855}
12856pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
12857pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
12858pub type spake2_role_t = ::std::os::raw::c_uint;
12859extern "C" {
12860    #[link_name = "\u{1}aws_lc_0_33_0_SPAKE2_CTX_new"]
12861    pub fn SPAKE2_CTX_new(
12862        my_role: spake2_role_t,
12863        my_name: *const u8,
12864        my_name_len: usize,
12865        their_name: *const u8,
12866        their_name_len: usize,
12867    ) -> *mut SPAKE2_CTX;
12868}
12869extern "C" {
12870    #[link_name = "\u{1}aws_lc_0_33_0_SPAKE2_CTX_free"]
12871    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
12872}
12873extern "C" {
12874    #[link_name = "\u{1}aws_lc_0_33_0_SPAKE2_generate_msg"]
12875    pub fn SPAKE2_generate_msg(
12876        ctx: *mut SPAKE2_CTX,
12877        out: *mut u8,
12878        out_len: *mut usize,
12879        max_out_len: usize,
12880        password: *const u8,
12881        password_len: usize,
12882    ) -> ::std::os::raw::c_int;
12883}
12884extern "C" {
12885    #[link_name = "\u{1}aws_lc_0_33_0_SPAKE2_process_msg"]
12886    pub fn SPAKE2_process_msg(
12887        ctx: *mut SPAKE2_CTX,
12888        out_key: *mut u8,
12889        out_key_len: *mut usize,
12890        max_out_key_len: usize,
12891        their_msg: *const u8,
12892        their_msg_len: usize,
12893    ) -> ::std::os::raw::c_int;
12894}
12895#[repr(C)]
12896#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12897pub struct DES_cblock_st {
12898    pub bytes: [u8; 8usize],
12899}
12900#[test]
12901fn bindgen_test_layout_DES_cblock_st() {
12902    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
12903    let ptr = UNINIT.as_ptr();
12904    assert_eq!(
12905        ::std::mem::size_of::<DES_cblock_st>(),
12906        8usize,
12907        "Size of DES_cblock_st"
12908    );
12909    assert_eq!(
12910        ::std::mem::align_of::<DES_cblock_st>(),
12911        1usize,
12912        "Alignment of DES_cblock_st"
12913    );
12914    assert_eq!(
12915        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
12916        0usize,
12917        "Offset of field: DES_cblock_st::bytes"
12918    );
12919}
12920pub type DES_cblock = DES_cblock_st;
12921pub type const_DES_cblock = DES_cblock_st;
12922#[repr(C)]
12923#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12924pub struct DES_ks {
12925    pub subkeys: [[u32; 2usize]; 16usize],
12926}
12927#[test]
12928fn bindgen_test_layout_DES_ks() {
12929    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
12930    let ptr = UNINIT.as_ptr();
12931    assert_eq!(::std::mem::size_of::<DES_ks>(), 128usize, "Size of DES_ks");
12932    assert_eq!(
12933        ::std::mem::align_of::<DES_ks>(),
12934        4usize,
12935        "Alignment of DES_ks"
12936    );
12937    assert_eq!(
12938        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
12939        0usize,
12940        "Offset of field: DES_ks::subkeys"
12941    );
12942}
12943pub type DES_key_schedule = DES_ks;
12944extern "C" {
12945    #[link_name = "\u{1}aws_lc_0_33_0_DES_is_weak_key"]
12946    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
12947}
12948extern "C" {
12949    #[link_name = "\u{1}aws_lc_0_33_0_DES_set_key"]
12950    pub fn DES_set_key(
12951        key: *const DES_cblock,
12952        schedule: *mut DES_key_schedule,
12953    ) -> ::std::os::raw::c_int;
12954}
12955extern "C" {
12956    #[link_name = "\u{1}aws_lc_0_33_0_DES_set_key_unchecked"]
12957    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
12958}
12959extern "C" {
12960    #[link_name = "\u{1}aws_lc_0_33_0_DES_key_sched"]
12961    pub fn DES_key_sched(
12962        key: *const DES_cblock,
12963        schedule: *mut DES_key_schedule,
12964    ) -> ::std::os::raw::c_int;
12965}
12966extern "C" {
12967    #[link_name = "\u{1}aws_lc_0_33_0_DES_set_odd_parity"]
12968    pub fn DES_set_odd_parity(key: *mut DES_cblock);
12969}
12970extern "C" {
12971    #[link_name = "\u{1}aws_lc_0_33_0_DES_ecb_encrypt"]
12972    pub fn DES_ecb_encrypt(
12973        in_: *const DES_cblock,
12974        out: *mut DES_cblock,
12975        schedule: *const DES_key_schedule,
12976        is_encrypt: ::std::os::raw::c_int,
12977    );
12978}
12979extern "C" {
12980    #[link_name = "\u{1}aws_lc_0_33_0_DES_ncbc_encrypt"]
12981    pub fn DES_ncbc_encrypt(
12982        in_: *const u8,
12983        out: *mut u8,
12984        len: usize,
12985        schedule: *const DES_key_schedule,
12986        ivec: *mut DES_cblock,
12987        enc: ::std::os::raw::c_int,
12988    );
12989}
12990extern "C" {
12991    #[link_name = "\u{1}aws_lc_0_33_0_DES_ecb3_encrypt"]
12992    pub fn DES_ecb3_encrypt(
12993        input: *const DES_cblock,
12994        output: *mut DES_cblock,
12995        ks1: *const DES_key_schedule,
12996        ks2: *const DES_key_schedule,
12997        ks3: *const DES_key_schedule,
12998        enc: ::std::os::raw::c_int,
12999    );
13000}
13001extern "C" {
13002    #[link_name = "\u{1}aws_lc_0_33_0_DES_ede3_cbc_encrypt"]
13003    pub fn DES_ede3_cbc_encrypt(
13004        in_: *const u8,
13005        out: *mut u8,
13006        len: usize,
13007        ks1: *const DES_key_schedule,
13008        ks2: *const DES_key_schedule,
13009        ks3: *const DES_key_schedule,
13010        ivec: *mut DES_cblock,
13011        enc: ::std::os::raw::c_int,
13012    );
13013}
13014extern "C" {
13015    #[link_name = "\u{1}aws_lc_0_33_0_DES_ede2_cbc_encrypt"]
13016    pub fn DES_ede2_cbc_encrypt(
13017        in_: *const u8,
13018        out: *mut u8,
13019        len: usize,
13020        ks1: *const DES_key_schedule,
13021        ks2: *const DES_key_schedule,
13022        ivec: *mut DES_cblock,
13023        enc: ::std::os::raw::c_int,
13024    );
13025}
13026extern "C" {
13027    #[link_name = "\u{1}aws_lc_0_33_0_DH_new"]
13028    pub fn DH_new() -> *mut DH;
13029}
13030extern "C" {
13031    #[link_name = "\u{1}aws_lc_0_33_0_DH_new_by_nid"]
13032    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13033}
13034extern "C" {
13035    #[link_name = "\u{1}aws_lc_0_33_0_DH_free"]
13036    pub fn DH_free(dh: *mut DH);
13037}
13038extern "C" {
13039    #[link_name = "\u{1}aws_lc_0_33_0_DH_up_ref"]
13040    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13041}
13042extern "C" {
13043    #[link_name = "\u{1}aws_lc_0_33_0_DH_bits"]
13044    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13045}
13046extern "C" {
13047    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_pub_key"]
13048    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13049}
13050extern "C" {
13051    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_priv_key"]
13052    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13053}
13054extern "C" {
13055    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_p"]
13056    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13057}
13058extern "C" {
13059    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_q"]
13060    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13061}
13062extern "C" {
13063    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_g"]
13064    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13065}
13066extern "C" {
13067    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_key"]
13068    pub fn DH_get0_key(
13069        dh: *const DH,
13070        out_pub_key: *mut *const BIGNUM,
13071        out_priv_key: *mut *const BIGNUM,
13072    );
13073}
13074extern "C" {
13075    #[link_name = "\u{1}aws_lc_0_33_0_DH_set0_key"]
13076    pub fn DH_set0_key(
13077        dh: *mut DH,
13078        pub_key: *mut BIGNUM,
13079        priv_key: *mut BIGNUM,
13080    ) -> ::std::os::raw::c_int;
13081}
13082extern "C" {
13083    #[link_name = "\u{1}aws_lc_0_33_0_DH_get0_pqg"]
13084    pub fn DH_get0_pqg(
13085        dh: *const DH,
13086        out_p: *mut *const BIGNUM,
13087        out_q: *mut *const BIGNUM,
13088        out_g: *mut *const BIGNUM,
13089    );
13090}
13091extern "C" {
13092    #[link_name = "\u{1}aws_lc_0_33_0_DH_set0_pqg"]
13093    pub fn DH_set0_pqg(
13094        dh: *mut DH,
13095        p: *mut BIGNUM,
13096        q: *mut BIGNUM,
13097        g: *mut BIGNUM,
13098    ) -> ::std::os::raw::c_int;
13099}
13100extern "C" {
13101    #[link_name = "\u{1}aws_lc_0_33_0_DH_set_length"]
13102    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13103        -> ::std::os::raw::c_int;
13104}
13105extern "C" {
13106    #[link_name = "\u{1}aws_lc_0_33_0_DH_get_rfc7919_2048"]
13107    pub fn DH_get_rfc7919_2048() -> *mut DH;
13108}
13109extern "C" {
13110    #[link_name = "\u{1}aws_lc_0_33_0_DH_get_rfc7919_4096"]
13111    pub fn DH_get_rfc7919_4096() -> *mut DH;
13112}
13113extern "C" {
13114    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_1536"]
13115    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13116}
13117extern "C" {
13118    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_2048"]
13119    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13120}
13121extern "C" {
13122    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_3072"]
13123    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13124}
13125extern "C" {
13126    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_4096"]
13127    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13128}
13129extern "C" {
13130    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_6144"]
13131    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13132}
13133extern "C" {
13134    #[link_name = "\u{1}aws_lc_0_33_0_BN_get_rfc3526_prime_8192"]
13135    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13136}
13137extern "C" {
13138    #[link_name = "\u{1}aws_lc_0_33_0_DH_generate_parameters_ex"]
13139    pub fn DH_generate_parameters_ex(
13140        dh: *mut DH,
13141        prime_bits: ::std::os::raw::c_int,
13142        generator: ::std::os::raw::c_int,
13143        cb: *mut BN_GENCB,
13144    ) -> ::std::os::raw::c_int;
13145}
13146extern "C" {
13147    #[link_name = "\u{1}aws_lc_0_33_0_DH_generate_key"]
13148    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13149}
13150extern "C" {
13151    #[link_name = "\u{1}aws_lc_0_33_0_DH_compute_key_padded"]
13152    pub fn DH_compute_key_padded(
13153        out: *mut u8,
13154        peers_key: *const BIGNUM,
13155        dh: *mut DH,
13156    ) -> ::std::os::raw::c_int;
13157}
13158extern "C" {
13159    #[link_name = "\u{1}aws_lc_0_33_0_DH_compute_key_hashed"]
13160    pub fn DH_compute_key_hashed(
13161        dh: *mut DH,
13162        out: *mut u8,
13163        out_len: *mut usize,
13164        max_out_len: usize,
13165        peers_key: *const BIGNUM,
13166        digest: *const EVP_MD,
13167    ) -> ::std::os::raw::c_int;
13168}
13169extern "C" {
13170    #[link_name = "\u{1}aws_lc_0_33_0_DH_size"]
13171    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13172}
13173extern "C" {
13174    #[link_name = "\u{1}aws_lc_0_33_0_DH_num_bits"]
13175    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13176}
13177extern "C" {
13178    #[link_name = "\u{1}aws_lc_0_33_0_DH_check"]
13179    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13180}
13181extern "C" {
13182    #[link_name = "\u{1}aws_lc_0_33_0_DH_check_pub_key"]
13183    pub fn DH_check_pub_key(
13184        dh: *const DH,
13185        pub_key: *const BIGNUM,
13186        out_flags: *mut ::std::os::raw::c_int,
13187    ) -> ::std::os::raw::c_int;
13188}
13189extern "C" {
13190    #[link_name = "\u{1}aws_lc_0_33_0_DHparams_dup"]
13191    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13192}
13193extern "C" {
13194    #[link_name = "\u{1}aws_lc_0_33_0_DH_parse_parameters"]
13195    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13196}
13197extern "C" {
13198    #[link_name = "\u{1}aws_lc_0_33_0_DH_marshal_parameters"]
13199    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13200}
13201extern "C" {
13202    #[link_name = "\u{1}aws_lc_0_33_0_DH_generate_parameters"]
13203    pub fn DH_generate_parameters(
13204        prime_len: ::std::os::raw::c_int,
13205        generator: ::std::os::raw::c_int,
13206        callback: ::std::option::Option<
13207            unsafe extern "C" fn(
13208                arg1: ::std::os::raw::c_int,
13209                arg2: ::std::os::raw::c_int,
13210                arg3: *mut ::std::os::raw::c_void,
13211            ),
13212        >,
13213        cb_arg: *mut ::std::os::raw::c_void,
13214    ) -> *mut DH;
13215}
13216extern "C" {
13217    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DHparams"]
13218    pub fn d2i_DHparams(
13219        ret: *mut *mut DH,
13220        inp: *mut *const ::std::os::raw::c_uchar,
13221        len: ::std::os::raw::c_long,
13222    ) -> *mut DH;
13223}
13224extern "C" {
13225    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DHparams"]
13226    pub fn i2d_DHparams(
13227        in_: *const DH,
13228        outp: *mut *mut ::std::os::raw::c_uchar,
13229    ) -> ::std::os::raw::c_int;
13230}
13231extern "C" {
13232    #[link_name = "\u{1}aws_lc_0_33_0_DH_compute_key"]
13233    pub fn DH_compute_key(
13234        out: *mut u8,
13235        peers_key: *const BIGNUM,
13236        dh: *mut DH,
13237    ) -> ::std::os::raw::c_int;
13238}
13239extern "C" {
13240    #[link_name = "\u{1}aws_lc_0_33_0_DH_get_2048_256"]
13241    pub fn DH_get_2048_256() -> *mut DH;
13242}
13243extern "C" {
13244    #[link_name = "\u{1}aws_lc_0_33_0_DH_clear_flags"]
13245    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
13246}
13247extern "C" {
13248    #[link_name = "\u{1}aws_lc_0_33_0_EVP_md4"]
13249    pub fn EVP_md4() -> *const EVP_MD;
13250}
13251extern "C" {
13252    #[link_name = "\u{1}aws_lc_0_33_0_EVP_md5"]
13253    pub fn EVP_md5() -> *const EVP_MD;
13254}
13255extern "C" {
13256    #[link_name = "\u{1}aws_lc_0_33_0_EVP_ripemd160"]
13257    pub fn EVP_ripemd160() -> *const EVP_MD;
13258}
13259extern "C" {
13260    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha1"]
13261    pub fn EVP_sha1() -> *const EVP_MD;
13262}
13263extern "C" {
13264    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha224"]
13265    pub fn EVP_sha224() -> *const EVP_MD;
13266}
13267extern "C" {
13268    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha256"]
13269    pub fn EVP_sha256() -> *const EVP_MD;
13270}
13271extern "C" {
13272    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha384"]
13273    pub fn EVP_sha384() -> *const EVP_MD;
13274}
13275extern "C" {
13276    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha512"]
13277    pub fn EVP_sha512() -> *const EVP_MD;
13278}
13279extern "C" {
13280    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha512_224"]
13281    pub fn EVP_sha512_224() -> *const EVP_MD;
13282}
13283extern "C" {
13284    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha512_256"]
13285    pub fn EVP_sha512_256() -> *const EVP_MD;
13286}
13287extern "C" {
13288    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha3_224"]
13289    pub fn EVP_sha3_224() -> *const EVP_MD;
13290}
13291extern "C" {
13292    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha3_256"]
13293    pub fn EVP_sha3_256() -> *const EVP_MD;
13294}
13295extern "C" {
13296    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha3_384"]
13297    pub fn EVP_sha3_384() -> *const EVP_MD;
13298}
13299extern "C" {
13300    #[link_name = "\u{1}aws_lc_0_33_0_EVP_sha3_512"]
13301    pub fn EVP_sha3_512() -> *const EVP_MD;
13302}
13303extern "C" {
13304    #[link_name = "\u{1}aws_lc_0_33_0_EVP_shake128"]
13305    pub fn EVP_shake128() -> *const EVP_MD;
13306}
13307extern "C" {
13308    #[link_name = "\u{1}aws_lc_0_33_0_EVP_shake256"]
13309    pub fn EVP_shake256() -> *const EVP_MD;
13310}
13311extern "C" {
13312    #[link_name = "\u{1}aws_lc_0_33_0_EVP_blake2b256"]
13313    pub fn EVP_blake2b256() -> *const EVP_MD;
13314}
13315extern "C" {
13316    #[link_name = "\u{1}aws_lc_0_33_0_EVP_md5_sha1"]
13317    pub fn EVP_md5_sha1() -> *const EVP_MD;
13318}
13319extern "C" {
13320    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_digestbynid"]
13321    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
13322}
13323extern "C" {
13324    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_digestbyobj"]
13325    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
13326}
13327extern "C" {
13328    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_init"]
13329    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
13330}
13331extern "C" {
13332    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_new"]
13333    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
13334}
13335extern "C" {
13336    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_cleanup"]
13337    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13338}
13339extern "C" {
13340    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_cleanse"]
13341    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
13342}
13343extern "C" {
13344    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_free"]
13345    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
13346}
13347extern "C" {
13348    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_copy_ex"]
13349    pub fn EVP_MD_CTX_copy_ex(
13350        out: *mut EVP_MD_CTX,
13351        in_: *const EVP_MD_CTX,
13352    ) -> ::std::os::raw::c_int;
13353}
13354extern "C" {
13355    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_move"]
13356    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
13357}
13358extern "C" {
13359    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_reset"]
13360    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
13361}
13362extern "C" {
13363    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestInit_ex"]
13364    pub fn EVP_DigestInit_ex(
13365        ctx: *mut EVP_MD_CTX,
13366        type_: *const EVP_MD,
13367        engine: *mut ENGINE,
13368    ) -> ::std::os::raw::c_int;
13369}
13370extern "C" {
13371    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestInit"]
13372    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
13373}
13374extern "C" {
13375    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestUpdate"]
13376    pub fn EVP_DigestUpdate(
13377        ctx: *mut EVP_MD_CTX,
13378        data: *const ::std::os::raw::c_void,
13379        len: usize,
13380    ) -> ::std::os::raw::c_int;
13381}
13382extern "C" {
13383    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestFinal_ex"]
13384    pub fn EVP_DigestFinal_ex(
13385        ctx: *mut EVP_MD_CTX,
13386        md_out: *mut u8,
13387        out_size: *mut ::std::os::raw::c_uint,
13388    ) -> ::std::os::raw::c_int;
13389}
13390extern "C" {
13391    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestFinal"]
13392    pub fn EVP_DigestFinal(
13393        ctx: *mut EVP_MD_CTX,
13394        md_out: *mut u8,
13395        out_size: *mut ::std::os::raw::c_uint,
13396    ) -> ::std::os::raw::c_int;
13397}
13398extern "C" {
13399    #[link_name = "\u{1}aws_lc_0_33_0_EVP_Digest"]
13400    pub fn EVP_Digest(
13401        data: *const ::std::os::raw::c_void,
13402        len: usize,
13403        md_out: *mut u8,
13404        out_size: *mut ::std::os::raw::c_uint,
13405        type_: *const EVP_MD,
13406        impl_: *mut ENGINE,
13407    ) -> ::std::os::raw::c_int;
13408}
13409extern "C" {
13410    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_type"]
13411    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
13412}
13413extern "C" {
13414    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_flags"]
13415    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
13416}
13417extern "C" {
13418    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_size"]
13419    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
13420}
13421extern "C" {
13422    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_block_size"]
13423    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
13424}
13425extern "C" {
13426    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_md"]
13427    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
13428}
13429extern "C" {
13430    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_size"]
13431    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
13432}
13433extern "C" {
13434    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_block_size"]
13435    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
13436}
13437extern "C" {
13438    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_type"]
13439    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13440}
13441extern "C" {
13442    #[link_name = "\u{1}aws_lc_0_33_0_EVP_parse_digest_algorithm"]
13443    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
13444}
13445extern "C" {
13446    #[link_name = "\u{1}aws_lc_0_33_0_EVP_marshal_digest_algorithm"]
13447    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
13448}
13449extern "C" {
13450    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_copy"]
13451    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13452}
13453extern "C" {
13454    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_digestbyname"]
13455    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
13456}
13457extern "C" {
13458    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_create"]
13459    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
13460}
13461extern "C" {
13462    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_destroy"]
13463    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
13464}
13465extern "C" {
13466    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestFinalXOF"]
13467    pub fn EVP_DigestFinalXOF(
13468        ctx: *mut EVP_MD_CTX,
13469        out: *mut u8,
13470        len: usize,
13471    ) -> ::std::os::raw::c_int;
13472}
13473extern "C" {
13474    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestSqueeze"]
13475    pub fn EVP_DigestSqueeze(
13476        ctx: *mut EVP_MD_CTX,
13477        out: *mut u8,
13478        len: usize,
13479    ) -> ::std::os::raw::c_int;
13480}
13481extern "C" {
13482    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_meth_get_flags"]
13483    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
13484}
13485extern "C" {
13486    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_nid"]
13487    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
13488}
13489extern "C" {
13490    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_set_pkey_ctx"]
13491    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
13492}
13493extern "C" {
13494    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_get_pkey_ctx"]
13495    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13496}
13497extern "C" {
13498    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_pkey_ctx"]
13499    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
13500}
13501#[repr(C)]
13502#[derive(Debug, Copy, Clone)]
13503pub struct evp_md_pctx_ops {
13504    _unused: [u8; 0],
13505}
13506#[repr(C)]
13507#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13508pub struct env_md_ctx_st {
13509    pub digest: *const EVP_MD,
13510    pub md_data: *mut ::std::os::raw::c_void,
13511    pub update: ::std::option::Option<
13512        unsafe extern "C" fn(
13513            ctx: *mut EVP_MD_CTX,
13514            data: *const ::std::os::raw::c_void,
13515            count: usize,
13516        ) -> ::std::os::raw::c_int,
13517    >,
13518    pub pctx: *mut EVP_PKEY_CTX,
13519    pub pctx_ops: *const evp_md_pctx_ops,
13520    pub flags: ::std::os::raw::c_ulong,
13521}
13522#[test]
13523fn bindgen_test_layout_env_md_ctx_st() {
13524    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
13525    let ptr = UNINIT.as_ptr();
13526    assert_eq!(
13527        ::std::mem::size_of::<env_md_ctx_st>(),
13528        48usize,
13529        "Size of env_md_ctx_st"
13530    );
13531    assert_eq!(
13532        ::std::mem::align_of::<env_md_ctx_st>(),
13533        8usize,
13534        "Alignment of env_md_ctx_st"
13535    );
13536    assert_eq!(
13537        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
13538        0usize,
13539        "Offset of field: env_md_ctx_st::digest"
13540    );
13541    assert_eq!(
13542        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
13543        8usize,
13544        "Offset of field: env_md_ctx_st::md_data"
13545    );
13546    assert_eq!(
13547        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
13548        16usize,
13549        "Offset of field: env_md_ctx_st::update"
13550    );
13551    assert_eq!(
13552        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
13553        24usize,
13554        "Offset of field: env_md_ctx_st::pctx"
13555    );
13556    assert_eq!(
13557        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
13558        32usize,
13559        "Offset of field: env_md_ctx_st::pctx_ops"
13560    );
13561    assert_eq!(
13562        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13563        40usize,
13564        "Offset of field: env_md_ctx_st::flags"
13565    );
13566}
13567impl Default for env_md_ctx_st {
13568    fn default() -> Self {
13569        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13570        unsafe {
13571            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13572            s.assume_init()
13573        }
13574    }
13575}
13576extern "C" {
13577    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_unstable_sha3_enable"]
13578    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
13579}
13580extern "C" {
13581    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_unstable_sha3_is_enabled"]
13582    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
13583}
13584extern "C" {
13585    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_CTX_set_flags"]
13586    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
13587}
13588extern "C" {
13589    #[link_name = "\u{1}aws_lc_0_33_0_EVP_add_digest"]
13590    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
13591}
13592extern "C" {
13593    #[link_name = "\u{1}aws_lc_0_33_0_EVP_md_null"]
13594    pub fn EVP_md_null() -> *const EVP_MD;
13595}
13596extern "C" {
13597    #[link_name = "\u{1}aws_lc_0_33_0_DSA_new"]
13598    pub fn DSA_new() -> *mut DSA;
13599}
13600extern "C" {
13601    #[link_name = "\u{1}aws_lc_0_33_0_DSA_free"]
13602    pub fn DSA_free(dsa: *mut DSA);
13603}
13604extern "C" {
13605    #[link_name = "\u{1}aws_lc_0_33_0_DSA_up_ref"]
13606    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
13607}
13608extern "C" {
13609    #[link_name = "\u{1}aws_lc_0_33_0_DSA_print"]
13610    pub fn DSA_print(
13611        bio: *mut BIO,
13612        dsa: *const DSA,
13613        indent: ::std::os::raw::c_int,
13614    ) -> ::std::os::raw::c_int;
13615}
13616extern "C" {
13617    #[link_name = "\u{1}aws_lc_0_33_0_DSA_print_fp"]
13618    pub fn DSA_print_fp(
13619        fp: *mut FILE,
13620        dsa: *const DSA,
13621        indent: ::std::os::raw::c_int,
13622    ) -> ::std::os::raw::c_int;
13623}
13624extern "C" {
13625    #[link_name = "\u{1}aws_lc_0_33_0_DSA_bits"]
13626    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
13627}
13628extern "C" {
13629    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_pub_key"]
13630    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
13631}
13632extern "C" {
13633    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_priv_key"]
13634    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
13635}
13636extern "C" {
13637    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_p"]
13638    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
13639}
13640extern "C" {
13641    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_q"]
13642    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
13643}
13644extern "C" {
13645    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_g"]
13646    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
13647}
13648extern "C" {
13649    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_key"]
13650    pub fn DSA_get0_key(
13651        dsa: *const DSA,
13652        out_pub_key: *mut *const BIGNUM,
13653        out_priv_key: *mut *const BIGNUM,
13654    );
13655}
13656extern "C" {
13657    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get0_pqg"]
13658    pub fn DSA_get0_pqg(
13659        dsa: *const DSA,
13660        out_p: *mut *const BIGNUM,
13661        out_q: *mut *const BIGNUM,
13662        out_g: *mut *const BIGNUM,
13663    );
13664}
13665extern "C" {
13666    #[link_name = "\u{1}aws_lc_0_33_0_DSA_set0_key"]
13667    pub fn DSA_set0_key(
13668        dsa: *mut DSA,
13669        pub_key: *mut BIGNUM,
13670        priv_key: *mut BIGNUM,
13671    ) -> ::std::os::raw::c_int;
13672}
13673extern "C" {
13674    #[link_name = "\u{1}aws_lc_0_33_0_DSA_set0_pqg"]
13675    pub fn DSA_set0_pqg(
13676        dsa: *mut DSA,
13677        p: *mut BIGNUM,
13678        q: *mut BIGNUM,
13679        g: *mut BIGNUM,
13680    ) -> ::std::os::raw::c_int;
13681}
13682extern "C" {
13683    #[link_name = "\u{1}aws_lc_0_33_0_DSA_generate_parameters_ex"]
13684    pub fn DSA_generate_parameters_ex(
13685        dsa: *mut DSA,
13686        bits: ::std::os::raw::c_uint,
13687        seed: *const u8,
13688        seed_len: usize,
13689        out_counter: *mut ::std::os::raw::c_int,
13690        out_h: *mut ::std::os::raw::c_ulong,
13691        cb: *mut BN_GENCB,
13692    ) -> ::std::os::raw::c_int;
13693}
13694extern "C" {
13695    #[link_name = "\u{1}aws_lc_0_33_0_DSAparams_dup"]
13696    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
13697}
13698extern "C" {
13699    #[link_name = "\u{1}aws_lc_0_33_0_DSA_generate_key"]
13700    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
13701}
13702#[repr(C)]
13703#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13704pub struct DSA_SIG_st {
13705    pub r: *mut BIGNUM,
13706    pub s: *mut BIGNUM,
13707}
13708#[test]
13709fn bindgen_test_layout_DSA_SIG_st() {
13710    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
13711    let ptr = UNINIT.as_ptr();
13712    assert_eq!(
13713        ::std::mem::size_of::<DSA_SIG_st>(),
13714        16usize,
13715        "Size of DSA_SIG_st"
13716    );
13717    assert_eq!(
13718        ::std::mem::align_of::<DSA_SIG_st>(),
13719        8usize,
13720        "Alignment of DSA_SIG_st"
13721    );
13722    assert_eq!(
13723        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
13724        0usize,
13725        "Offset of field: DSA_SIG_st::r"
13726    );
13727    assert_eq!(
13728        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
13729        8usize,
13730        "Offset of field: DSA_SIG_st::s"
13731    );
13732}
13733impl Default for DSA_SIG_st {
13734    fn default() -> Self {
13735        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13736        unsafe {
13737            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13738            s.assume_init()
13739        }
13740    }
13741}
13742extern "C" {
13743    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_new"]
13744    pub fn DSA_SIG_new() -> *mut DSA_SIG;
13745}
13746extern "C" {
13747    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_free"]
13748    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
13749}
13750extern "C" {
13751    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_get0"]
13752    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
13753}
13754extern "C" {
13755    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_set0"]
13756    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
13757        -> ::std::os::raw::c_int;
13758}
13759extern "C" {
13760    #[link_name = "\u{1}aws_lc_0_33_0_DSA_do_sign"]
13761    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
13762}
13763extern "C" {
13764    #[link_name = "\u{1}aws_lc_0_33_0_DSA_do_verify"]
13765    pub fn DSA_do_verify(
13766        digest: *const u8,
13767        digest_len: usize,
13768        sig: *const DSA_SIG,
13769        dsa: *const DSA,
13770    ) -> ::std::os::raw::c_int;
13771}
13772extern "C" {
13773    #[link_name = "\u{1}aws_lc_0_33_0_DSA_do_check_signature"]
13774    pub fn DSA_do_check_signature(
13775        out_valid: *mut ::std::os::raw::c_int,
13776        digest: *const u8,
13777        digest_len: usize,
13778        sig: *const DSA_SIG,
13779        dsa: *const DSA,
13780    ) -> ::std::os::raw::c_int;
13781}
13782extern "C" {
13783    #[link_name = "\u{1}aws_lc_0_33_0_DSA_sign"]
13784    pub fn DSA_sign(
13785        type_: ::std::os::raw::c_int,
13786        digest: *const u8,
13787        digest_len: usize,
13788        out_sig: *mut u8,
13789        out_siglen: *mut ::std::os::raw::c_uint,
13790        dsa: *const DSA,
13791    ) -> ::std::os::raw::c_int;
13792}
13793extern "C" {
13794    #[link_name = "\u{1}aws_lc_0_33_0_DSA_verify"]
13795    pub fn DSA_verify(
13796        type_: ::std::os::raw::c_int,
13797        digest: *const u8,
13798        digest_len: usize,
13799        sig: *const u8,
13800        sig_len: usize,
13801        dsa: *const DSA,
13802    ) -> ::std::os::raw::c_int;
13803}
13804extern "C" {
13805    #[link_name = "\u{1}aws_lc_0_33_0_DSA_check_signature"]
13806    pub fn DSA_check_signature(
13807        out_valid: *mut ::std::os::raw::c_int,
13808        digest: *const u8,
13809        digest_len: usize,
13810        sig: *const u8,
13811        sig_len: usize,
13812        dsa: *const DSA,
13813    ) -> ::std::os::raw::c_int;
13814}
13815extern "C" {
13816    #[link_name = "\u{1}aws_lc_0_33_0_DSA_size"]
13817    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
13818}
13819extern "C" {
13820    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_parse"]
13821    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
13822}
13823extern "C" {
13824    #[link_name = "\u{1}aws_lc_0_33_0_DSA_SIG_marshal"]
13825    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
13826}
13827extern "C" {
13828    #[link_name = "\u{1}aws_lc_0_33_0_DSA_parse_public_key"]
13829    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
13830}
13831extern "C" {
13832    #[link_name = "\u{1}aws_lc_0_33_0_DSA_marshal_public_key"]
13833    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13834}
13835extern "C" {
13836    #[link_name = "\u{1}aws_lc_0_33_0_DSA_parse_private_key"]
13837    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
13838}
13839extern "C" {
13840    #[link_name = "\u{1}aws_lc_0_33_0_DSA_marshal_private_key"]
13841    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13842}
13843extern "C" {
13844    #[link_name = "\u{1}aws_lc_0_33_0_DSA_parse_parameters"]
13845    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
13846}
13847extern "C" {
13848    #[link_name = "\u{1}aws_lc_0_33_0_DSA_marshal_parameters"]
13849    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13850}
13851extern "C" {
13852    #[link_name = "\u{1}aws_lc_0_33_0_DSA_dup_DH"]
13853    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
13854}
13855extern "C" {
13856    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get_ex_new_index"]
13857    pub fn DSA_get_ex_new_index(
13858        argl: ::std::os::raw::c_long,
13859        argp: *mut ::std::os::raw::c_void,
13860        unused: *mut CRYPTO_EX_unused,
13861        dup_unused: CRYPTO_EX_dup,
13862        free_func: CRYPTO_EX_free,
13863    ) -> ::std::os::raw::c_int;
13864}
13865extern "C" {
13866    #[link_name = "\u{1}aws_lc_0_33_0_DSA_set_ex_data"]
13867    pub fn DSA_set_ex_data(
13868        dsa: *mut DSA,
13869        idx: ::std::os::raw::c_int,
13870        arg: *mut ::std::os::raw::c_void,
13871    ) -> ::std::os::raw::c_int;
13872}
13873extern "C" {
13874    #[link_name = "\u{1}aws_lc_0_33_0_DSA_get_ex_data"]
13875    pub fn DSA_get_ex_data(
13876        dsa: *const DSA,
13877        idx: ::std::os::raw::c_int,
13878    ) -> *mut ::std::os::raw::c_void;
13879}
13880extern "C" {
13881    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSA_SIG"]
13882    pub fn d2i_DSA_SIG(
13883        out_sig: *mut *mut DSA_SIG,
13884        inp: *mut *const u8,
13885        len: ::std::os::raw::c_long,
13886    ) -> *mut DSA_SIG;
13887}
13888extern "C" {
13889    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSA_SIG"]
13890    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13891}
13892extern "C" {
13893    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSAPublicKey"]
13894    pub fn d2i_DSAPublicKey(
13895        out: *mut *mut DSA,
13896        inp: *mut *const u8,
13897        len: ::std::os::raw::c_long,
13898    ) -> *mut DSA;
13899}
13900extern "C" {
13901    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSAPublicKey"]
13902    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13903}
13904extern "C" {
13905    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSAPrivateKey"]
13906    pub fn d2i_DSAPrivateKey(
13907        out: *mut *mut DSA,
13908        inp: *mut *const u8,
13909        len: ::std::os::raw::c_long,
13910    ) -> *mut DSA;
13911}
13912extern "C" {
13913    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSAPrivateKey"]
13914    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13915}
13916extern "C" {
13917    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSAparams"]
13918    pub fn d2i_DSAparams(
13919        out: *mut *mut DSA,
13920        inp: *mut *const u8,
13921        len: ::std::os::raw::c_long,
13922    ) -> *mut DSA;
13923}
13924extern "C" {
13925    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSAparams"]
13926    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13927}
13928#[repr(u32)]
13929#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13930pub enum point_conversion_form_t {
13931    POINT_CONVERSION_COMPRESSED = 2,
13932    POINT_CONVERSION_UNCOMPRESSED = 4,
13933    POINT_CONVERSION_HYBRID = 6,
13934}
13935extern "C" {
13936    #[link_name = "\u{1}aws_lc_0_33_0_EC_group_p224"]
13937    pub fn EC_group_p224() -> *const EC_GROUP;
13938}
13939extern "C" {
13940    #[link_name = "\u{1}aws_lc_0_33_0_EC_group_p256"]
13941    pub fn EC_group_p256() -> *const EC_GROUP;
13942}
13943extern "C" {
13944    #[link_name = "\u{1}aws_lc_0_33_0_EC_group_p384"]
13945    pub fn EC_group_p384() -> *const EC_GROUP;
13946}
13947extern "C" {
13948    #[link_name = "\u{1}aws_lc_0_33_0_EC_group_p521"]
13949    pub fn EC_group_p521() -> *const EC_GROUP;
13950}
13951extern "C" {
13952    #[link_name = "\u{1}aws_lc_0_33_0_EC_group_secp256k1"]
13953    pub fn EC_group_secp256k1() -> *const EC_GROUP;
13954}
13955extern "C" {
13956    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_new_by_curve_name"]
13957    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
13958}
13959extern "C" {
13960    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_new_by_curve_name_mutable"]
13961    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
13962}
13963extern "C" {
13964    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_cmp"]
13965    pub fn EC_GROUP_cmp(
13966        a: *const EC_GROUP,
13967        b: *const EC_GROUP,
13968        ignored: *mut BN_CTX,
13969    ) -> ::std::os::raw::c_int;
13970}
13971extern "C" {
13972    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get0_generator"]
13973    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
13974}
13975extern "C" {
13976    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get0_order"]
13977    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
13978}
13979extern "C" {
13980    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_order_bits"]
13981    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
13982}
13983extern "C" {
13984    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_cofactor"]
13985    pub fn EC_GROUP_get_cofactor(
13986        group: *const EC_GROUP,
13987        cofactor: *mut BIGNUM,
13988        ctx: *mut BN_CTX,
13989    ) -> ::std::os::raw::c_int;
13990}
13991extern "C" {
13992    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_curve_GFp"]
13993    pub fn EC_GROUP_get_curve_GFp(
13994        group: *const EC_GROUP,
13995        out_p: *mut BIGNUM,
13996        out_a: *mut BIGNUM,
13997        out_b: *mut BIGNUM,
13998        ctx: *mut BN_CTX,
13999    ) -> ::std::os::raw::c_int;
14000}
14001extern "C" {
14002    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_curve_name"]
14003    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14004}
14005extern "C" {
14006    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_degree"]
14007    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14008}
14009extern "C" {
14010    #[link_name = "\u{1}aws_lc_0_33_0_EC_curve_nid2nist"]
14011    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14012}
14013extern "C" {
14014    #[link_name = "\u{1}aws_lc_0_33_0_EC_curve_nist2nid"]
14015    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14016}
14017extern "C" {
14018    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_new"]
14019    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14020}
14021extern "C" {
14022    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_free"]
14023    pub fn EC_POINT_free(point: *mut EC_POINT);
14024}
14025extern "C" {
14026    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_copy"]
14027    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14028}
14029extern "C" {
14030    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_dup"]
14031    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14032}
14033extern "C" {
14034    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_set_to_infinity"]
14035    pub fn EC_POINT_set_to_infinity(
14036        group: *const EC_GROUP,
14037        point: *mut EC_POINT,
14038    ) -> ::std::os::raw::c_int;
14039}
14040extern "C" {
14041    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_is_at_infinity"]
14042    pub fn EC_POINT_is_at_infinity(
14043        group: *const EC_GROUP,
14044        point: *const EC_POINT,
14045    ) -> ::std::os::raw::c_int;
14046}
14047extern "C" {
14048    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_is_on_curve"]
14049    pub fn EC_POINT_is_on_curve(
14050        group: *const EC_GROUP,
14051        point: *const EC_POINT,
14052        ctx: *mut BN_CTX,
14053    ) -> ::std::os::raw::c_int;
14054}
14055extern "C" {
14056    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_cmp"]
14057    pub fn EC_POINT_cmp(
14058        group: *const EC_GROUP,
14059        a: *const EC_POINT,
14060        b: *const EC_POINT,
14061        ctx: *mut BN_CTX,
14062    ) -> ::std::os::raw::c_int;
14063}
14064extern "C" {
14065    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_get_affine_coordinates_GFp"]
14066    pub fn EC_POINT_get_affine_coordinates_GFp(
14067        group: *const EC_GROUP,
14068        point: *const EC_POINT,
14069        x: *mut BIGNUM,
14070        y: *mut BIGNUM,
14071        ctx: *mut BN_CTX,
14072    ) -> ::std::os::raw::c_int;
14073}
14074extern "C" {
14075    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_get_affine_coordinates"]
14076    pub fn EC_POINT_get_affine_coordinates(
14077        group: *const EC_GROUP,
14078        point: *const EC_POINT,
14079        x: *mut BIGNUM,
14080        y: *mut BIGNUM,
14081        ctx: *mut BN_CTX,
14082    ) -> ::std::os::raw::c_int;
14083}
14084extern "C" {
14085    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_set_affine_coordinates_GFp"]
14086    pub fn EC_POINT_set_affine_coordinates_GFp(
14087        group: *const EC_GROUP,
14088        point: *mut EC_POINT,
14089        x: *const BIGNUM,
14090        y: *const BIGNUM,
14091        ctx: *mut BN_CTX,
14092    ) -> ::std::os::raw::c_int;
14093}
14094extern "C" {
14095    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_set_affine_coordinates"]
14096    pub fn EC_POINT_set_affine_coordinates(
14097        group: *const EC_GROUP,
14098        point: *mut EC_POINT,
14099        x: *const BIGNUM,
14100        y: *const BIGNUM,
14101        ctx: *mut BN_CTX,
14102    ) -> ::std::os::raw::c_int;
14103}
14104extern "C" {
14105    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_point2oct"]
14106    pub fn EC_POINT_point2oct(
14107        group: *const EC_GROUP,
14108        point: *const EC_POINT,
14109        form: point_conversion_form_t,
14110        buf: *mut u8,
14111        len: usize,
14112        ctx: *mut BN_CTX,
14113    ) -> usize;
14114}
14115extern "C" {
14116    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_point2cbb"]
14117    pub fn EC_POINT_point2cbb(
14118        out: *mut CBB,
14119        group: *const EC_GROUP,
14120        point: *const EC_POINT,
14121        form: point_conversion_form_t,
14122        ctx: *mut BN_CTX,
14123    ) -> ::std::os::raw::c_int;
14124}
14125extern "C" {
14126    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_oct2point"]
14127    pub fn EC_POINT_oct2point(
14128        group: *const EC_GROUP,
14129        point: *mut EC_POINT,
14130        buf: *const u8,
14131        len: usize,
14132        ctx: *mut BN_CTX,
14133    ) -> ::std::os::raw::c_int;
14134}
14135extern "C" {
14136    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_set_compressed_coordinates_GFp"]
14137    pub fn EC_POINT_set_compressed_coordinates_GFp(
14138        group: *const EC_GROUP,
14139        point: *mut EC_POINT,
14140        x: *const BIGNUM,
14141        y_bit: ::std::os::raw::c_int,
14142        ctx: *mut BN_CTX,
14143    ) -> ::std::os::raw::c_int;
14144}
14145extern "C" {
14146    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_add"]
14147    pub fn EC_POINT_add(
14148        group: *const EC_GROUP,
14149        r: *mut EC_POINT,
14150        a: *const EC_POINT,
14151        b: *const EC_POINT,
14152        ctx: *mut BN_CTX,
14153    ) -> ::std::os::raw::c_int;
14154}
14155extern "C" {
14156    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_dbl"]
14157    pub fn EC_POINT_dbl(
14158        group: *const EC_GROUP,
14159        r: *mut EC_POINT,
14160        a: *const EC_POINT,
14161        ctx: *mut BN_CTX,
14162    ) -> ::std::os::raw::c_int;
14163}
14164extern "C" {
14165    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_invert"]
14166    pub fn EC_POINT_invert(
14167        group: *const EC_GROUP,
14168        a: *mut EC_POINT,
14169        ctx: *mut BN_CTX,
14170    ) -> ::std::os::raw::c_int;
14171}
14172extern "C" {
14173    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_mul"]
14174    pub fn EC_POINT_mul(
14175        group: *const EC_GROUP,
14176        r: *mut EC_POINT,
14177        n: *const BIGNUM,
14178        q: *const EC_POINT,
14179        m: *const BIGNUM,
14180        ctx: *mut BN_CTX,
14181    ) -> ::std::os::raw::c_int;
14182}
14183extern "C" {
14184    #[link_name = "\u{1}aws_lc_0_33_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14185    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14186        group: *const EC_GROUP,
14187        out: *mut EC_POINT,
14188        dst: *const u8,
14189        dst_len: usize,
14190        msg: *const u8,
14191        msg_len: usize,
14192    ) -> ::std::os::raw::c_int;
14193}
14194extern "C" {
14195    #[link_name = "\u{1}aws_lc_0_33_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14196    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14197        group: *const EC_GROUP,
14198        out: *mut EC_POINT,
14199        dst: *const u8,
14200        dst_len: usize,
14201        msg: *const u8,
14202        msg_len: usize,
14203    ) -> ::std::os::raw::c_int;
14204}
14205extern "C" {
14206    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_free"]
14207    pub fn EC_GROUP_free(group: *mut EC_GROUP);
14208}
14209extern "C" {
14210    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_dup"]
14211    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
14212}
14213extern "C" {
14214    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_new_curve_GFp"]
14215    pub fn EC_GROUP_new_curve_GFp(
14216        p: *const BIGNUM,
14217        a: *const BIGNUM,
14218        b: *const BIGNUM,
14219        ctx: *mut BN_CTX,
14220    ) -> *mut EC_GROUP;
14221}
14222extern "C" {
14223    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_set_generator"]
14224    pub fn EC_GROUP_set_generator(
14225        group: *mut EC_GROUP,
14226        generator: *const EC_POINT,
14227        order: *const BIGNUM,
14228        cofactor: *const BIGNUM,
14229    ) -> ::std::os::raw::c_int;
14230}
14231extern "C" {
14232    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_point2bn"]
14233    pub fn EC_POINT_point2bn(
14234        group: *const EC_GROUP,
14235        point: *const EC_POINT,
14236        form: point_conversion_form_t,
14237        ret: *mut BIGNUM,
14238        ctx: *mut BN_CTX,
14239    ) -> *mut BIGNUM;
14240}
14241extern "C" {
14242    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_bn2point"]
14243    pub fn EC_POINT_bn2point(
14244        group: *const EC_GROUP,
14245        bn: *const BIGNUM,
14246        point: *mut EC_POINT,
14247        ctx: *mut BN_CTX,
14248    ) -> *mut EC_POINT;
14249}
14250extern "C" {
14251    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_order"]
14252    pub fn EC_GROUP_get_order(
14253        group: *const EC_GROUP,
14254        order: *mut BIGNUM,
14255        ctx: *mut BN_CTX,
14256    ) -> ::std::os::raw::c_int;
14257}
14258#[repr(C)]
14259#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14260pub struct EC_builtin_curve {
14261    pub nid: ::std::os::raw::c_int,
14262    pub comment: *const ::std::os::raw::c_char,
14263}
14264#[test]
14265fn bindgen_test_layout_EC_builtin_curve() {
14266    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
14267    let ptr = UNINIT.as_ptr();
14268    assert_eq!(
14269        ::std::mem::size_of::<EC_builtin_curve>(),
14270        16usize,
14271        "Size of EC_builtin_curve"
14272    );
14273    assert_eq!(
14274        ::std::mem::align_of::<EC_builtin_curve>(),
14275        8usize,
14276        "Alignment of EC_builtin_curve"
14277    );
14278    assert_eq!(
14279        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
14280        0usize,
14281        "Offset of field: EC_builtin_curve::nid"
14282    );
14283    assert_eq!(
14284        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
14285        8usize,
14286        "Offset of field: EC_builtin_curve::comment"
14287    );
14288}
14289impl Default for EC_builtin_curve {
14290    fn default() -> Self {
14291        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14292        unsafe {
14293            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14294            s.assume_init()
14295        }
14296    }
14297}
14298extern "C" {
14299    #[link_name = "\u{1}aws_lc_0_33_0_EC_get_builtin_curves"]
14300    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
14301        -> usize;
14302}
14303extern "C" {
14304    #[link_name = "\u{1}aws_lc_0_33_0_EC_POINT_clear_free"]
14305    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
14306}
14307extern "C" {
14308    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_set_seed"]
14309    pub fn EC_GROUP_set_seed(
14310        group: *mut EC_GROUP,
14311        p: *const ::std::os::raw::c_uchar,
14312        len: usize,
14313    ) -> usize;
14314}
14315extern "C" {
14316    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get0_seed"]
14317    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
14318}
14319extern "C" {
14320    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_seed_len"]
14321    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
14322}
14323extern "C" {
14324    #[link_name = "\u{1}aws_lc_0_33_0_ECPKParameters_print"]
14325    pub fn ECPKParameters_print(
14326        bio: *mut BIO,
14327        group: *const EC_GROUP,
14328        offset: ::std::os::raw::c_int,
14329    ) -> ::std::os::raw::c_int;
14330}
14331extern "C" {
14332    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_set_asn1_flag"]
14333    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
14334}
14335extern "C" {
14336    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_asn1_flag"]
14337    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14338}
14339extern "C" {
14340    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_set_point_conversion_form"]
14341    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
14342}
14343extern "C" {
14344    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_get_point_conversion_form"]
14345    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
14346}
14347extern "C" {
14348    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_decoded_from_explicit_params"]
14349    pub fn EC_KEY_decoded_from_explicit_params(key: *const EC_KEY) -> ::std::os::raw::c_int;
14350}
14351#[repr(C)]
14352#[derive(Debug, Copy, Clone)]
14353pub struct ec_method_st {
14354    _unused: [u8; 0],
14355}
14356pub type EC_METHOD = ec_method_st;
14357extern "C" {
14358    #[link_name = "\u{1}aws_lc_0_33_0_EC_GROUP_method_of"]
14359    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
14360}
14361extern "C" {
14362    #[link_name = "\u{1}aws_lc_0_33_0_EC_METHOD_get_field_type"]
14363    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
14364}
14365extern "C" {
14366    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_new"]
14367    pub fn ENGINE_new() -> *mut ENGINE;
14368}
14369extern "C" {
14370    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_free"]
14371    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
14372}
14373extern "C" {
14374    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_set_RSA"]
14375    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
14376}
14377extern "C" {
14378    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_get_RSA"]
14379    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
14380}
14381extern "C" {
14382    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_set_EC"]
14383    pub fn ENGINE_set_EC(
14384        engine: *mut ENGINE,
14385        method: *const EC_KEY_METHOD,
14386    ) -> ::std::os::raw::c_int;
14387}
14388extern "C" {
14389    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_get_EC"]
14390    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
14391}
14392extern "C" {
14393    #[link_name = "\u{1}aws_lc_0_33_0_ENGINE_cleanup"]
14394    pub fn ENGINE_cleanup();
14395}
14396extern "C" {
14397    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_new"]
14398    pub fn EC_KEY_new() -> *mut EC_KEY;
14399}
14400extern "C" {
14401    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_new_method"]
14402    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
14403}
14404extern "C" {
14405    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_new_by_curve_name"]
14406    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
14407}
14408extern "C" {
14409    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_free"]
14410    pub fn EC_KEY_free(key: *mut EC_KEY);
14411}
14412extern "C" {
14413    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_dup"]
14414    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
14415}
14416extern "C" {
14417    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_up_ref"]
14418    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14419}
14420extern "C" {
14421    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_is_opaque"]
14422    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
14423}
14424extern "C" {
14425    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get0_group"]
14426    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
14427}
14428extern "C" {
14429    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_group"]
14430    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14431}
14432extern "C" {
14433    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get0_private_key"]
14434    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
14435}
14436extern "C" {
14437    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_private_key"]
14438    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
14439}
14440extern "C" {
14441    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get0_public_key"]
14442    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
14443}
14444extern "C" {
14445    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_public_key"]
14446    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
14447}
14448extern "C" {
14449    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_enc_flags"]
14450    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
14451}
14452extern "C" {
14453    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_enc_flags"]
14454    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
14455}
14456extern "C" {
14457    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_conv_form"]
14458    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
14459}
14460extern "C" {
14461    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_conv_form"]
14462    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
14463}
14464extern "C" {
14465    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_check_key"]
14466    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
14467}
14468extern "C" {
14469    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_check_fips"]
14470    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
14471}
14472extern "C" {
14473    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_public_key_affine_coordinates"]
14474    pub fn EC_KEY_set_public_key_affine_coordinates(
14475        key: *mut EC_KEY,
14476        x: *const BIGNUM,
14477        y: *const BIGNUM,
14478    ) -> ::std::os::raw::c_int;
14479}
14480extern "C" {
14481    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_key2buf"]
14482    pub fn EC_KEY_key2buf(
14483        key: *const EC_KEY,
14484        form: point_conversion_form_t,
14485        out_buf: *mut *mut ::std::os::raw::c_uchar,
14486        ctx: *mut BN_CTX,
14487    ) -> usize;
14488}
14489extern "C" {
14490    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_generate_key"]
14491    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14492}
14493extern "C" {
14494    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_generate_key_fips"]
14495    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14496}
14497extern "C" {
14498    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_derive_from_secret"]
14499    pub fn EC_KEY_derive_from_secret(
14500        group: *const EC_GROUP,
14501        secret: *const u8,
14502        secret_len: usize,
14503    ) -> *mut EC_KEY;
14504}
14505extern "C" {
14506    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_parse_private_key"]
14507    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
14508}
14509extern "C" {
14510    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_marshal_private_key"]
14511    pub fn EC_KEY_marshal_private_key(
14512        cbb: *mut CBB,
14513        key: *const EC_KEY,
14514        enc_flags: ::std::os::raw::c_uint,
14515    ) -> ::std::os::raw::c_int;
14516}
14517extern "C" {
14518    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_parse_curve_name"]
14519    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
14520}
14521extern "C" {
14522    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_marshal_curve_name"]
14523    pub fn EC_KEY_marshal_curve_name(
14524        cbb: *mut CBB,
14525        group: *const EC_GROUP,
14526    ) -> ::std::os::raw::c_int;
14527}
14528extern "C" {
14529    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_parse_parameters"]
14530    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
14531}
14532extern "C" {
14533    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_ex_new_index"]
14534    pub fn EC_KEY_get_ex_new_index(
14535        argl: ::std::os::raw::c_long,
14536        argp: *mut ::std::os::raw::c_void,
14537        unused: *mut CRYPTO_EX_unused,
14538        dup_unused: CRYPTO_EX_dup,
14539        free_func: CRYPTO_EX_free,
14540    ) -> ::std::os::raw::c_int;
14541}
14542extern "C" {
14543    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_ex_data"]
14544    pub fn EC_KEY_set_ex_data(
14545        r: *mut EC_KEY,
14546        idx: ::std::os::raw::c_int,
14547        arg: *mut ::std::os::raw::c_void,
14548    ) -> ::std::os::raw::c_int;
14549}
14550extern "C" {
14551    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_ex_data"]
14552    pub fn EC_KEY_get_ex_data(
14553        r: *const EC_KEY,
14554        idx: ::std::os::raw::c_int,
14555    ) -> *mut ::std::os::raw::c_void;
14556}
14557extern "C" {
14558    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECPrivateKey"]
14559    pub fn d2i_ECPrivateKey(
14560        out_key: *mut *mut EC_KEY,
14561        inp: *mut *const u8,
14562        len: ::std::os::raw::c_long,
14563    ) -> *mut EC_KEY;
14564}
14565extern "C" {
14566    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECPrivateKey"]
14567    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14568}
14569extern "C" {
14570    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECParameters"]
14571    pub fn d2i_ECParameters(
14572        out_key: *mut *mut EC_KEY,
14573        inp: *mut *const u8,
14574        len: ::std::os::raw::c_long,
14575    ) -> *mut EC_KEY;
14576}
14577extern "C" {
14578    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECParameters"]
14579    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14580}
14581extern "C" {
14582    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECPKParameters_bio"]
14583    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
14584}
14585extern "C" {
14586    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECPKParameters_bio"]
14587    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14588}
14589extern "C" {
14590    #[link_name = "\u{1}aws_lc_0_33_0_o2i_ECPublicKey"]
14591    pub fn o2i_ECPublicKey(
14592        out_key: *mut *mut EC_KEY,
14593        inp: *mut *const u8,
14594        len: ::std::os::raw::c_long,
14595    ) -> *mut EC_KEY;
14596}
14597extern "C" {
14598    #[link_name = "\u{1}aws_lc_0_33_0_i2o_ECPublicKey"]
14599    pub fn i2o_ECPublicKey(
14600        key: *const EC_KEY,
14601        outp: *mut *mut ::std::os::raw::c_uchar,
14602    ) -> ::std::os::raw::c_int;
14603}
14604extern "C" {
14605    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_default_method"]
14606    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
14607}
14608extern "C" {
14609    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_OpenSSL"]
14610    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
14611}
14612extern "C" {
14613    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_METHOD_new"]
14614    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
14615}
14616extern "C" {
14617    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_METHOD_free"]
14618    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
14619}
14620extern "C" {
14621    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_method"]
14622    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
14623}
14624extern "C" {
14625    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_get_method"]
14626    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
14627}
14628extern "C" {
14629    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_METHOD_set_sign_awslc"]
14630    pub fn EC_KEY_METHOD_set_sign_awslc(
14631        meth: *mut EC_KEY_METHOD,
14632        sign: ::std::option::Option<
14633            unsafe extern "C" fn(
14634                type_: ::std::os::raw::c_int,
14635                digest: *const u8,
14636                digest_len: ::std::os::raw::c_int,
14637                sig: *mut u8,
14638                siglen: *mut ::std::os::raw::c_uint,
14639                k_inv: *const BIGNUM,
14640                r: *const BIGNUM,
14641                eckey: *mut EC_KEY,
14642            ) -> ::std::os::raw::c_int,
14643        >,
14644        sign_sig: ::std::option::Option<
14645            unsafe extern "C" fn(
14646                digest: *const u8,
14647                digest_len: ::std::os::raw::c_int,
14648                in_kinv: *const BIGNUM,
14649                in_r: *const BIGNUM,
14650                eckey: *mut EC_KEY,
14651            ) -> *mut ECDSA_SIG,
14652        >,
14653    );
14654}
14655extern "C" {
14656    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_METHOD_set_init_awslc"]
14657    pub fn EC_KEY_METHOD_set_init_awslc(
14658        meth: *mut EC_KEY_METHOD,
14659        init: ::std::option::Option<
14660            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
14661        >,
14662        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
14663    );
14664}
14665extern "C" {
14666    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_METHOD_set_flags"]
14667    pub fn EC_KEY_METHOD_set_flags(
14668        meth: *mut EC_KEY_METHOD,
14669        flags: ::std::os::raw::c_int,
14670    ) -> ::std::os::raw::c_int;
14671}
14672extern "C" {
14673    #[link_name = "\u{1}aws_lc_0_33_0_EC_KEY_set_asn1_flag"]
14674    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
14675}
14676extern "C" {
14677    #[link_name = "\u{1}aws_lc_0_33_0_ECDH_compute_key"]
14678    pub fn ECDH_compute_key(
14679        out: *mut ::std::os::raw::c_void,
14680        outlen: usize,
14681        pub_key: *const EC_POINT,
14682        priv_key: *const EC_KEY,
14683        kdf: ::std::option::Option<
14684            unsafe extern "C" fn(
14685                in_: *const ::std::os::raw::c_void,
14686                inlen: usize,
14687                out: *mut ::std::os::raw::c_void,
14688                outlen: *mut usize,
14689            ) -> *mut ::std::os::raw::c_void,
14690        >,
14691    ) -> ::std::os::raw::c_int;
14692}
14693extern "C" {
14694    #[link_name = "\u{1}aws_lc_0_33_0_ECDH_compute_key_fips"]
14695    pub fn ECDH_compute_key_fips(
14696        out: *mut u8,
14697        out_len: usize,
14698        pub_key: *const EC_POINT,
14699        priv_key: *const EC_KEY,
14700    ) -> ::std::os::raw::c_int;
14701}
14702extern "C" {
14703    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_sign"]
14704    pub fn ECDSA_sign(
14705        type_: ::std::os::raw::c_int,
14706        digest: *const u8,
14707        digest_len: usize,
14708        sig: *mut u8,
14709        sig_len: *mut ::std::os::raw::c_uint,
14710        key: *const EC_KEY,
14711    ) -> ::std::os::raw::c_int;
14712}
14713extern "C" {
14714    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_verify"]
14715    pub fn ECDSA_verify(
14716        type_: ::std::os::raw::c_int,
14717        digest: *const u8,
14718        digest_len: usize,
14719        sig: *const u8,
14720        sig_len: usize,
14721        key: *const EC_KEY,
14722    ) -> ::std::os::raw::c_int;
14723}
14724extern "C" {
14725    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_size"]
14726    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
14727}
14728#[repr(C)]
14729#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14730pub struct ecdsa_sig_st {
14731    pub r: *mut BIGNUM,
14732    pub s: *mut BIGNUM,
14733}
14734#[test]
14735fn bindgen_test_layout_ecdsa_sig_st() {
14736    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
14737    let ptr = UNINIT.as_ptr();
14738    assert_eq!(
14739        ::std::mem::size_of::<ecdsa_sig_st>(),
14740        16usize,
14741        "Size of ecdsa_sig_st"
14742    );
14743    assert_eq!(
14744        ::std::mem::align_of::<ecdsa_sig_st>(),
14745        8usize,
14746        "Alignment of ecdsa_sig_st"
14747    );
14748    assert_eq!(
14749        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14750        0usize,
14751        "Offset of field: ecdsa_sig_st::r"
14752    );
14753    assert_eq!(
14754        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14755        8usize,
14756        "Offset of field: ecdsa_sig_st::s"
14757    );
14758}
14759impl Default for ecdsa_sig_st {
14760    fn default() -> Self {
14761        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14762        unsafe {
14763            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14764            s.assume_init()
14765        }
14766    }
14767}
14768extern "C" {
14769    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_new"]
14770    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
14771}
14772extern "C" {
14773    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_free"]
14774    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
14775}
14776extern "C" {
14777    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_get0_r"]
14778    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
14779}
14780extern "C" {
14781    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_get0_s"]
14782    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
14783}
14784extern "C" {
14785    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_get0"]
14786    pub fn ECDSA_SIG_get0(
14787        sig: *const ECDSA_SIG,
14788        out_r: *mut *const BIGNUM,
14789        out_s: *mut *const BIGNUM,
14790    );
14791}
14792extern "C" {
14793    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_set0"]
14794    pub fn ECDSA_SIG_set0(
14795        sig: *mut ECDSA_SIG,
14796        r: *mut BIGNUM,
14797        s: *mut BIGNUM,
14798    ) -> ::std::os::raw::c_int;
14799}
14800extern "C" {
14801    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_do_sign"]
14802    pub fn ECDSA_do_sign(
14803        digest: *const u8,
14804        digest_len: usize,
14805        key: *const EC_KEY,
14806    ) -> *mut ECDSA_SIG;
14807}
14808extern "C" {
14809    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_do_verify"]
14810    pub fn ECDSA_do_verify(
14811        digest: *const u8,
14812        digest_len: usize,
14813        sig: *const ECDSA_SIG,
14814        key: *const EC_KEY,
14815    ) -> ::std::os::raw::c_int;
14816}
14817extern "C" {
14818    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_parse"]
14819    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
14820}
14821extern "C" {
14822    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_from_bytes"]
14823    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
14824}
14825extern "C" {
14826    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_marshal"]
14827    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_to_bytes"]
14831    pub fn ECDSA_SIG_to_bytes(
14832        out_bytes: *mut *mut u8,
14833        out_len: *mut usize,
14834        sig: *const ECDSA_SIG,
14835    ) -> ::std::os::raw::c_int;
14836}
14837extern "C" {
14838    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_SIG_max_len"]
14839    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
14840}
14841extern "C" {
14842    #[link_name = "\u{1}aws_lc_0_33_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
14843    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
14844        digest: *const u8,
14845        digest_len: usize,
14846        eckey: *const EC_KEY,
14847        nonce: *const u8,
14848        nonce_len: usize,
14849    ) -> *mut ECDSA_SIG;
14850}
14851extern "C" {
14852    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECDSA_SIG"]
14853    pub fn d2i_ECDSA_SIG(
14854        out: *mut *mut ECDSA_SIG,
14855        inp: *mut *const u8,
14856        len: ::std::os::raw::c_long,
14857    ) -> *mut ECDSA_SIG;
14858}
14859extern "C" {
14860    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECDSA_SIG"]
14861    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14862}
14863extern "C" {
14864    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_gcm"]
14865    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
14866}
14867extern "C" {
14868    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_192_gcm"]
14869    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
14870}
14871extern "C" {
14872    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_gcm"]
14873    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
14874}
14875extern "C" {
14876    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_chacha20_poly1305"]
14877    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
14878}
14879extern "C" {
14880    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_xchacha20_poly1305"]
14881    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
14882}
14883extern "C" {
14884    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_ctr_hmac_sha256"]
14885    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
14886}
14887extern "C" {
14888    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_ctr_hmac_sha256"]
14889    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
14890}
14891extern "C" {
14892    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_gcm_siv"]
14893    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
14894}
14895extern "C" {
14896    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_gcm_siv"]
14897    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
14898}
14899extern "C" {
14900    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_gcm_randnonce"]
14901    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
14902}
14903extern "C" {
14904    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_gcm_randnonce"]
14905    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
14906}
14907extern "C" {
14908    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_ccm_bluetooth"]
14909    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
14910}
14911extern "C" {
14912    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_ccm_bluetooth_8"]
14913    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
14914}
14915extern "C" {
14916    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_ccm_matter"]
14917    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
14918}
14919extern "C" {
14920    #[link_name = "\u{1}aws_lc_0_33_0_EVP_has_aes_hardware"]
14921    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
14922}
14923extern "C" {
14924    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_key_length"]
14925    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
14926}
14927extern "C" {
14928    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_nonce_length"]
14929    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
14930}
14931extern "C" {
14932    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_max_overhead"]
14933    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
14934}
14935extern "C" {
14936    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_max_tag_len"]
14937    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
14938}
14939#[repr(C)]
14940#[derive(Copy, Clone)]
14941pub union evp_aead_ctx_st_state {
14942    pub opaque: [u8; 564usize],
14943    pub alignment: u64,
14944    pub ptr: *mut ::std::os::raw::c_void,
14945}
14946#[test]
14947fn bindgen_test_layout_evp_aead_ctx_st_state() {
14948    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
14949        ::std::mem::MaybeUninit::uninit();
14950    let ptr = UNINIT.as_ptr();
14951    assert_eq!(
14952        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
14953        568usize,
14954        "Size of evp_aead_ctx_st_state"
14955    );
14956    assert_eq!(
14957        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
14958        8usize,
14959        "Alignment of evp_aead_ctx_st_state"
14960    );
14961    assert_eq!(
14962        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
14963        0usize,
14964        "Offset of field: evp_aead_ctx_st_state::opaque"
14965    );
14966    assert_eq!(
14967        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
14968        0usize,
14969        "Offset of field: evp_aead_ctx_st_state::alignment"
14970    );
14971    assert_eq!(
14972        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
14973        0usize,
14974        "Offset of field: evp_aead_ctx_st_state::ptr"
14975    );
14976}
14977impl Default for evp_aead_ctx_st_state {
14978    fn default() -> Self {
14979        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14980        unsafe {
14981            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14982            s.assume_init()
14983        }
14984    }
14985}
14986#[repr(C)]
14987#[derive(Copy, Clone)]
14988pub struct evp_aead_ctx_st {
14989    pub aead: *const EVP_AEAD,
14990    pub state: evp_aead_ctx_st_state,
14991    pub state_offset: u8,
14992    pub tag_len: u8,
14993}
14994#[test]
14995fn bindgen_test_layout_evp_aead_ctx_st() {
14996    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
14997    let ptr = UNINIT.as_ptr();
14998    assert_eq!(
14999        ::std::mem::size_of::<evp_aead_ctx_st>(),
15000        584usize,
15001        "Size of evp_aead_ctx_st"
15002    );
15003    assert_eq!(
15004        ::std::mem::align_of::<evp_aead_ctx_st>(),
15005        8usize,
15006        "Alignment of evp_aead_ctx_st"
15007    );
15008    assert_eq!(
15009        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15010        0usize,
15011        "Offset of field: evp_aead_ctx_st::aead"
15012    );
15013    assert_eq!(
15014        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15015        8usize,
15016        "Offset of field: evp_aead_ctx_st::state"
15017    );
15018    assert_eq!(
15019        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15020        576usize,
15021        "Offset of field: evp_aead_ctx_st::state_offset"
15022    );
15023    assert_eq!(
15024        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15025        577usize,
15026        "Offset of field: evp_aead_ctx_st::tag_len"
15027    );
15028}
15029impl Default for evp_aead_ctx_st {
15030    fn default() -> Self {
15031        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15032        unsafe {
15033            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15034            s.assume_init()
15035        }
15036    }
15037}
15038extern "C" {
15039    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_zero"]
15040    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15041}
15042extern "C" {
15043    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_new"]
15044    pub fn EVP_AEAD_CTX_new(
15045        aead: *const EVP_AEAD,
15046        key: *const u8,
15047        key_len: usize,
15048        tag_len: usize,
15049    ) -> *mut EVP_AEAD_CTX;
15050}
15051extern "C" {
15052    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_free"]
15053    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15054}
15055extern "C" {
15056    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_init"]
15057    pub fn EVP_AEAD_CTX_init(
15058        ctx: *mut EVP_AEAD_CTX,
15059        aead: *const EVP_AEAD,
15060        key: *const u8,
15061        key_len: usize,
15062        tag_len: usize,
15063        impl_: *mut ENGINE,
15064    ) -> ::std::os::raw::c_int;
15065}
15066extern "C" {
15067    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_cleanup"]
15068    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15069}
15070extern "C" {
15071    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_seal"]
15072    pub fn EVP_AEAD_CTX_seal(
15073        ctx: *const EVP_AEAD_CTX,
15074        out: *mut u8,
15075        out_len: *mut usize,
15076        max_out_len: usize,
15077        nonce: *const u8,
15078        nonce_len: usize,
15079        in_: *const u8,
15080        in_len: usize,
15081        ad: *const u8,
15082        ad_len: usize,
15083    ) -> ::std::os::raw::c_int;
15084}
15085extern "C" {
15086    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_open"]
15087    pub fn EVP_AEAD_CTX_open(
15088        ctx: *const EVP_AEAD_CTX,
15089        out: *mut u8,
15090        out_len: *mut usize,
15091        max_out_len: usize,
15092        nonce: *const u8,
15093        nonce_len: usize,
15094        in_: *const u8,
15095        in_len: usize,
15096        ad: *const u8,
15097        ad_len: usize,
15098    ) -> ::std::os::raw::c_int;
15099}
15100extern "C" {
15101    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_seal_scatter"]
15102    pub fn EVP_AEAD_CTX_seal_scatter(
15103        ctx: *const EVP_AEAD_CTX,
15104        out: *mut u8,
15105        out_tag: *mut u8,
15106        out_tag_len: *mut usize,
15107        max_out_tag_len: usize,
15108        nonce: *const u8,
15109        nonce_len: usize,
15110        in_: *const u8,
15111        in_len: usize,
15112        extra_in: *const u8,
15113        extra_in_len: usize,
15114        ad: *const u8,
15115        ad_len: usize,
15116    ) -> ::std::os::raw::c_int;
15117}
15118extern "C" {
15119    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_open_gather"]
15120    pub fn EVP_AEAD_CTX_open_gather(
15121        ctx: *const EVP_AEAD_CTX,
15122        out: *mut u8,
15123        nonce: *const u8,
15124        nonce_len: usize,
15125        in_: *const u8,
15126        in_len: usize,
15127        in_tag: *const u8,
15128        in_tag_len: usize,
15129        ad: *const u8,
15130        ad_len: usize,
15131    ) -> ::std::os::raw::c_int;
15132}
15133extern "C" {
15134    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_aead"]
15135    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15136}
15137extern "C" {
15138    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_cbc_sha1_tls"]
15139    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15140}
15141extern "C" {
15142    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15143    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15144}
15145extern "C" {
15146    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_cbc_sha1_tls"]
15147    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
15148}
15149extern "C" {
15150    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
15151    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15152}
15153extern "C" {
15154    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_cbc_sha256_tls"]
15155    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
15156}
15157extern "C" {
15158    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
15159    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
15160}
15161extern "C" {
15162    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_cbc_sha384_tls"]
15163    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
15164}
15165extern "C" {
15166    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_des_ede3_cbc_sha1_tls"]
15167    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
15168}
15169extern "C" {
15170    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
15171    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15172}
15173extern "C" {
15174    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_null_sha1_tls"]
15175    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
15176}
15177extern "C" {
15178    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_gcm_tls12"]
15179    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
15180}
15181extern "C" {
15182    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_gcm_tls12"]
15183    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
15184}
15185extern "C" {
15186    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_128_gcm_tls13"]
15187    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
15188}
15189extern "C" {
15190    #[link_name = "\u{1}aws_lc_0_33_0_EVP_aead_aes_256_gcm_tls13"]
15191    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
15192}
15193pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
15194pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
15195pub type evp_aead_direction_t = ::std::os::raw::c_uint;
15196extern "C" {
15197    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_init_with_direction"]
15198    pub fn EVP_AEAD_CTX_init_with_direction(
15199        ctx: *mut EVP_AEAD_CTX,
15200        aead: *const EVP_AEAD,
15201        key: *const u8,
15202        key_len: usize,
15203        tag_len: usize,
15204        dir: evp_aead_direction_t,
15205    ) -> ::std::os::raw::c_int;
15206}
15207extern "C" {
15208    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_get_iv"]
15209    pub fn EVP_AEAD_CTX_get_iv(
15210        ctx: *const EVP_AEAD_CTX,
15211        out_iv: *mut *const u8,
15212        out_len: *mut usize,
15213    ) -> ::std::os::raw::c_int;
15214}
15215extern "C" {
15216    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_CTX_tag_len"]
15217    pub fn EVP_AEAD_CTX_tag_len(
15218        ctx: *const EVP_AEAD_CTX,
15219        out_tag_len: *mut usize,
15220        in_len: usize,
15221        extra_in_len: usize,
15222    ) -> ::std::os::raw::c_int;
15223}
15224extern "C" {
15225    #[link_name = "\u{1}aws_lc_0_33_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
15226    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
15227        ipv4_address: u32,
15228        nanosecs: u64,
15229        out_iv: *mut u8,
15230    ) -> ::std::os::raw::c_int;
15231}
15232extern "C" {
15233    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_dup"]
15234    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
15235}
15236extern "C" {
15237    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_cmp"]
15238    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15239}
15240extern "C" {
15241    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_get0_data"]
15242    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
15243}
15244extern "C" {
15245    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_length"]
15246    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
15247}
15248extern "C" {
15249    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_obj2nid"]
15250    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
15251}
15252extern "C" {
15253    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_cbs2nid"]
15254    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
15255}
15256extern "C" {
15257    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_sn2nid"]
15258    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15259}
15260extern "C" {
15261    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_ln2nid"]
15262    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15263}
15264extern "C" {
15265    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_txt2nid"]
15266    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
15267}
15268extern "C" {
15269    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_nid2obj"]
15270    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
15271}
15272extern "C" {
15273    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_get_undef"]
15274    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
15275}
15276extern "C" {
15277    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_nid2sn"]
15278    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15279}
15280extern "C" {
15281    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_nid2ln"]
15282    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
15283}
15284extern "C" {
15285    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_nid2cbb"]
15286    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15287}
15288extern "C" {
15289    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_txt2obj"]
15290    pub fn OBJ_txt2obj(
15291        s: *const ::std::os::raw::c_char,
15292        dont_search_names: ::std::os::raw::c_int,
15293    ) -> *mut ASN1_OBJECT;
15294}
15295extern "C" {
15296    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_obj2txt"]
15297    pub fn OBJ_obj2txt(
15298        out: *mut ::std::os::raw::c_char,
15299        out_len: ::std::os::raw::c_int,
15300        obj: *const ASN1_OBJECT,
15301        always_return_oid: ::std::os::raw::c_int,
15302    ) -> ::std::os::raw::c_int;
15303}
15304extern "C" {
15305    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_create"]
15306    pub fn OBJ_create(
15307        oid: *const ::std::os::raw::c_char,
15308        short_name: *const ::std::os::raw::c_char,
15309        long_name: *const ::std::os::raw::c_char,
15310    ) -> ::std::os::raw::c_int;
15311}
15312extern "C" {
15313    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_find_sigid_algs"]
15314    pub fn OBJ_find_sigid_algs(
15315        sign_nid: ::std::os::raw::c_int,
15316        out_digest_nid: *mut ::std::os::raw::c_int,
15317        out_pkey_nid: *mut ::std::os::raw::c_int,
15318    ) -> ::std::os::raw::c_int;
15319}
15320extern "C" {
15321    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_find_sigid_by_algs"]
15322    pub fn OBJ_find_sigid_by_algs(
15323        out_sign_nid: *mut ::std::os::raw::c_int,
15324        digest_nid: ::std::os::raw::c_int,
15325        pkey_nid: ::std::os::raw::c_int,
15326    ) -> ::std::os::raw::c_int;
15327}
15328#[repr(C)]
15329#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15330pub struct obj_name_st {
15331    pub type_: ::std::os::raw::c_int,
15332    pub alias: ::std::os::raw::c_int,
15333    pub name: *const ::std::os::raw::c_char,
15334    pub data: *const ::std::os::raw::c_char,
15335}
15336#[test]
15337fn bindgen_test_layout_obj_name_st() {
15338    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
15339    let ptr = UNINIT.as_ptr();
15340    assert_eq!(
15341        ::std::mem::size_of::<obj_name_st>(),
15342        24usize,
15343        "Size of obj_name_st"
15344    );
15345    assert_eq!(
15346        ::std::mem::align_of::<obj_name_st>(),
15347        8usize,
15348        "Alignment of obj_name_st"
15349    );
15350    assert_eq!(
15351        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
15352        0usize,
15353        "Offset of field: obj_name_st::type_"
15354    );
15355    assert_eq!(
15356        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
15357        4usize,
15358        "Offset of field: obj_name_st::alias"
15359    );
15360    assert_eq!(
15361        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
15362        8usize,
15363        "Offset of field: obj_name_st::name"
15364    );
15365    assert_eq!(
15366        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15367        16usize,
15368        "Offset of field: obj_name_st::data"
15369    );
15370}
15371impl Default for obj_name_st {
15372    fn default() -> Self {
15373        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15374        unsafe {
15375            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15376            s.assume_init()
15377        }
15378    }
15379}
15380pub type OBJ_NAME = obj_name_st;
15381extern "C" {
15382    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_NAME_do_all_sorted"]
15383    pub fn OBJ_NAME_do_all_sorted(
15384        type_: ::std::os::raw::c_int,
15385        callback: ::std::option::Option<
15386            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
15387        >,
15388        arg: *mut ::std::os::raw::c_void,
15389    );
15390}
15391extern "C" {
15392    #[link_name = "\u{1}aws_lc_0_33_0_OBJ_cleanup"]
15393    pub fn OBJ_cleanup();
15394}
15395extern "C" {
15396    #[link_name = "\u{1}aws_lc_0_33_0_MD5_Init"]
15397    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15398}
15399extern "C" {
15400    #[link_name = "\u{1}aws_lc_0_33_0_MD5_Update"]
15401    pub fn MD5_Update(
15402        md5: *mut MD5_CTX,
15403        data: *const ::std::os::raw::c_void,
15404        len: usize,
15405    ) -> ::std::os::raw::c_int;
15406}
15407extern "C" {
15408    #[link_name = "\u{1}aws_lc_0_33_0_MD5_Final"]
15409    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15410}
15411extern "C" {
15412    #[link_name = "\u{1}aws_lc_0_33_0_MD5"]
15413    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
15414}
15415extern "C" {
15416    #[link_name = "\u{1}aws_lc_0_33_0_MD5_Transform"]
15417    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
15418}
15419#[repr(C)]
15420#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15421pub struct md5_state_st {
15422    pub h: [u32; 4usize],
15423    pub Nl: u32,
15424    pub Nh: u32,
15425    pub data: [u8; 64usize],
15426    pub num: ::std::os::raw::c_uint,
15427}
15428#[test]
15429fn bindgen_test_layout_md5_state_st() {
15430    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
15431    let ptr = UNINIT.as_ptr();
15432    assert_eq!(
15433        ::std::mem::size_of::<md5_state_st>(),
15434        92usize,
15435        "Size of md5_state_st"
15436    );
15437    assert_eq!(
15438        ::std::mem::align_of::<md5_state_st>(),
15439        4usize,
15440        "Alignment of md5_state_st"
15441    );
15442    assert_eq!(
15443        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
15444        0usize,
15445        "Offset of field: md5_state_st::h"
15446    );
15447    assert_eq!(
15448        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
15449        16usize,
15450        "Offset of field: md5_state_st::Nl"
15451    );
15452    assert_eq!(
15453        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
15454        20usize,
15455        "Offset of field: md5_state_st::Nh"
15456    );
15457    assert_eq!(
15458        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
15459        24usize,
15460        "Offset of field: md5_state_st::data"
15461    );
15462    assert_eq!(
15463        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
15464        88usize,
15465        "Offset of field: md5_state_st::num"
15466    );
15467}
15468impl Default for md5_state_st {
15469    fn default() -> Self {
15470        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15471        unsafe {
15472            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15473            s.assume_init()
15474        }
15475    }
15476}
15477extern "C" {
15478    #[link_name = "\u{1}aws_lc_0_33_0_HMAC"]
15479    pub fn HMAC(
15480        evp_md: *const EVP_MD,
15481        key: *const ::std::os::raw::c_void,
15482        key_len: usize,
15483        data: *const u8,
15484        data_len: usize,
15485        out: *mut u8,
15486        out_len: *mut ::std::os::raw::c_uint,
15487    ) -> *mut u8;
15488}
15489extern "C" {
15490    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_init"]
15491    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
15492}
15493extern "C" {
15494    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_new"]
15495    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
15496}
15497extern "C" {
15498    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_cleanup"]
15499    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
15500}
15501extern "C" {
15502    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_cleanse"]
15503    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
15504}
15505extern "C" {
15506    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_free"]
15507    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
15508}
15509extern "C" {
15510    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_Init_ex"]
15511    pub fn HMAC_Init_ex(
15512        ctx: *mut HMAC_CTX,
15513        key: *const ::std::os::raw::c_void,
15514        key_len: usize,
15515        md: *const EVP_MD,
15516        impl_: *mut ENGINE,
15517    ) -> ::std::os::raw::c_int;
15518}
15519extern "C" {
15520    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_Update"]
15521    pub fn HMAC_Update(
15522        ctx: *mut HMAC_CTX,
15523        data: *const u8,
15524        data_len: usize,
15525    ) -> ::std::os::raw::c_int;
15526}
15527extern "C" {
15528    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_Final"]
15529    pub fn HMAC_Final(
15530        ctx: *mut HMAC_CTX,
15531        out: *mut u8,
15532        out_len: *mut ::std::os::raw::c_uint,
15533    ) -> ::std::os::raw::c_int;
15534}
15535extern "C" {
15536    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_size"]
15537    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
15538}
15539extern "C" {
15540    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_get_md"]
15541    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
15542}
15543extern "C" {
15544    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_copy_ex"]
15545    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
15546}
15547extern "C" {
15548    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_reset"]
15549    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
15550}
15551extern "C" {
15552    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_set_precomputed_key_export"]
15553    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
15554}
15555extern "C" {
15556    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_get_precomputed_key"]
15557    pub fn HMAC_get_precomputed_key(
15558        ctx: *mut HMAC_CTX,
15559        out: *mut u8,
15560        out_len: *mut usize,
15561    ) -> ::std::os::raw::c_int;
15562}
15563extern "C" {
15564    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_Init_from_precomputed_key"]
15565    pub fn HMAC_Init_from_precomputed_key(
15566        ctx: *mut HMAC_CTX,
15567        precomputed_key: *const u8,
15568        precompute_key_len: usize,
15569        md: *const EVP_MD,
15570    ) -> ::std::os::raw::c_int;
15571}
15572extern "C" {
15573    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_Init"]
15574    pub fn HMAC_Init(
15575        ctx: *mut HMAC_CTX,
15576        key: *const ::std::os::raw::c_void,
15577        key_len: ::std::os::raw::c_int,
15578        md: *const EVP_MD,
15579    ) -> ::std::os::raw::c_int;
15580}
15581extern "C" {
15582    #[link_name = "\u{1}aws_lc_0_33_0_HMAC_CTX_copy"]
15583    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
15584}
15585#[repr(C)]
15586#[derive(Debug, Copy, Clone)]
15587pub struct hmac_methods_st {
15588    _unused: [u8; 0],
15589}
15590pub type HmacMethods = hmac_methods_st;
15591#[repr(C)]
15592#[derive(Copy, Clone)]
15593pub union md_ctx_union {
15594    pub md5: MD5_CTX,
15595    pub sha1: SHA_CTX,
15596    pub sha256: SHA256_CTX,
15597    pub sha512: SHA512_CTX,
15598    pub sha3: [u8; 400usize],
15599}
15600#[test]
15601fn bindgen_test_layout_md_ctx_union() {
15602    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
15603    let ptr = UNINIT.as_ptr();
15604    assert_eq!(
15605        ::std::mem::size_of::<md_ctx_union>(),
15606        400usize,
15607        "Size of md_ctx_union"
15608    );
15609    assert_eq!(
15610        ::std::mem::align_of::<md_ctx_union>(),
15611        8usize,
15612        "Alignment of md_ctx_union"
15613    );
15614    assert_eq!(
15615        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
15616        0usize,
15617        "Offset of field: md_ctx_union::md5"
15618    );
15619    assert_eq!(
15620        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
15621        0usize,
15622        "Offset of field: md_ctx_union::sha1"
15623    );
15624    assert_eq!(
15625        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
15626        0usize,
15627        "Offset of field: md_ctx_union::sha256"
15628    );
15629    assert_eq!(
15630        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
15631        0usize,
15632        "Offset of field: md_ctx_union::sha512"
15633    );
15634    assert_eq!(
15635        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
15636        0usize,
15637        "Offset of field: md_ctx_union::sha3"
15638    );
15639}
15640impl Default for md_ctx_union {
15641    fn default() -> Self {
15642        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15643        unsafe {
15644            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15645            s.assume_init()
15646        }
15647    }
15648}
15649#[repr(C)]
15650#[derive(Copy, Clone)]
15651pub struct hmac_ctx_st {
15652    pub md: *const EVP_MD,
15653    pub methods: *const HmacMethods,
15654    pub md_ctx: md_ctx_union,
15655    pub i_ctx: md_ctx_union,
15656    pub o_ctx: md_ctx_union,
15657    pub state: i8,
15658}
15659#[test]
15660fn bindgen_test_layout_hmac_ctx_st() {
15661    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
15662    let ptr = UNINIT.as_ptr();
15663    assert_eq!(
15664        ::std::mem::size_of::<hmac_ctx_st>(),
15665        1224usize,
15666        "Size of hmac_ctx_st"
15667    );
15668    assert_eq!(
15669        ::std::mem::align_of::<hmac_ctx_st>(),
15670        8usize,
15671        "Alignment of hmac_ctx_st"
15672    );
15673    assert_eq!(
15674        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
15675        0usize,
15676        "Offset of field: hmac_ctx_st::md"
15677    );
15678    assert_eq!(
15679        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
15680        8usize,
15681        "Offset of field: hmac_ctx_st::methods"
15682    );
15683    assert_eq!(
15684        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
15685        16usize,
15686        "Offset of field: hmac_ctx_st::md_ctx"
15687    );
15688    assert_eq!(
15689        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
15690        416usize,
15691        "Offset of field: hmac_ctx_st::i_ctx"
15692    );
15693    assert_eq!(
15694        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
15695        816usize,
15696        "Offset of field: hmac_ctx_st::o_ctx"
15697    );
15698    assert_eq!(
15699        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15700        1216usize,
15701        "Offset of field: hmac_ctx_st::state"
15702    );
15703}
15704impl Default for hmac_ctx_st {
15705    fn default() -> Self {
15706        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15707        unsafe {
15708            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15709            s.assume_init()
15710        }
15711    }
15712}
15713extern "C" {
15714    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_new"]
15715    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
15716}
15717extern "C" {
15718    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_free"]
15719    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
15720}
15721extern "C" {
15722    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_up_ref"]
15723    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
15724}
15725extern "C" {
15726    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_is_opaque"]
15727    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15728}
15729extern "C" {
15730    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_cmp"]
15731    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
15732}
15733extern "C" {
15734    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_copy_parameters"]
15735    pub fn EVP_PKEY_copy_parameters(
15736        to: *mut EVP_PKEY,
15737        from: *const EVP_PKEY,
15738    ) -> ::std::os::raw::c_int;
15739}
15740extern "C" {
15741    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_missing_parameters"]
15742    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15743}
15744extern "C" {
15745    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_size"]
15746    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15747}
15748extern "C" {
15749    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_bits"]
15750    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15751}
15752extern "C" {
15753    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_id"]
15754    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15755}
15756extern "C" {
15757    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_get0_name"]
15758    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15759}
15760extern "C" {
15761    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_name"]
15762    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15763}
15764extern "C" {
15765    #[link_name = "\u{1}aws_lc_0_33_0_EVP_get_pw_prompt"]
15766    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
15767}
15768extern "C" {
15769    #[link_name = "\u{1}aws_lc_0_33_0_EVP_read_pw_string"]
15770    pub fn EVP_read_pw_string(
15771        buf: *mut ::std::os::raw::c_char,
15772        length: ::std::os::raw::c_int,
15773        prompt: *const ::std::os::raw::c_char,
15774        verify: ::std::os::raw::c_int,
15775    ) -> ::std::os::raw::c_int;
15776}
15777extern "C" {
15778    #[link_name = "\u{1}aws_lc_0_33_0_EVP_read_pw_string_min"]
15779    pub fn EVP_read_pw_string_min(
15780        buf: *mut ::std::os::raw::c_char,
15781        min_length: ::std::os::raw::c_int,
15782        length: ::std::os::raw::c_int,
15783        prompt: *const ::std::os::raw::c_char,
15784        verify: ::std::os::raw::c_int,
15785    ) -> ::std::os::raw::c_int;
15786}
15787extern "C" {
15788    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set1_RSA"]
15789    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15790}
15791extern "C" {
15792    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_assign_RSA"]
15793    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15794}
15795extern "C" {
15796    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get0_RSA"]
15797    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15798}
15799extern "C" {
15800    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get1_RSA"]
15801    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15802}
15803extern "C" {
15804    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set1_DSA"]
15805    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15806}
15807extern "C" {
15808    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_assign_DSA"]
15809    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15810}
15811extern "C" {
15812    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get0_DSA"]
15813    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15814}
15815extern "C" {
15816    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get1_DSA"]
15817    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15818}
15819extern "C" {
15820    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set1_EC_KEY"]
15821    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15822}
15823extern "C" {
15824    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_assign_EC_KEY"]
15825    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15826}
15827extern "C" {
15828    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get0_EC_KEY"]
15829    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15830}
15831extern "C" {
15832    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get1_EC_KEY"]
15833    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15834}
15835extern "C" {
15836    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set1_DH"]
15837    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15838}
15839extern "C" {
15840    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_assign_DH"]
15841    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15842}
15843extern "C" {
15844    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get0_DH"]
15845    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
15846}
15847extern "C" {
15848    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get1_DH"]
15849    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
15850}
15851extern "C" {
15852    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
15853    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
15854        ctx: *mut EVP_PKEY_CTX,
15855        pbits: ::std::os::raw::c_int,
15856    ) -> ::std::os::raw::c_int;
15857}
15858extern "C" {
15859    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
15860    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
15861        ctx: *mut EVP_PKEY_CTX,
15862        gen_: ::std::os::raw::c_int,
15863    ) -> ::std::os::raw::c_int;
15864}
15865extern "C" {
15866    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set_type"]
15867    pub fn EVP_PKEY_set_type(
15868        pkey: *mut EVP_PKEY,
15869        type_: ::std::os::raw::c_int,
15870    ) -> ::std::os::raw::c_int;
15871}
15872extern "C" {
15873    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set_type_str"]
15874    pub fn EVP_PKEY_set_type_str(
15875        pkey: *mut EVP_PKEY,
15876        str_: *const ::std::os::raw::c_char,
15877        len: ::std::os::raw::c_int,
15878    ) -> ::std::os::raw::c_int;
15879}
15880extern "C" {
15881    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_cmp_parameters"]
15882    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
15883        -> ::std::os::raw::c_int;
15884}
15885extern "C" {
15886    #[link_name = "\u{1}aws_lc_0_33_0_EVP_parse_public_key"]
15887    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15888}
15889extern "C" {
15890    #[link_name = "\u{1}aws_lc_0_33_0_EVP_marshal_public_key"]
15891    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15892}
15893extern "C" {
15894    #[link_name = "\u{1}aws_lc_0_33_0_EVP_parse_private_key"]
15895    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15896}
15897extern "C" {
15898    #[link_name = "\u{1}aws_lc_0_33_0_EVP_marshal_private_key"]
15899    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15900}
15901extern "C" {
15902    #[link_name = "\u{1}aws_lc_0_33_0_EVP_marshal_private_key_v2"]
15903    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
15904        -> ::std::os::raw::c_int;
15905}
15906extern "C" {
15907    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_new_raw_private_key"]
15908    pub fn EVP_PKEY_new_raw_private_key(
15909        type_: ::std::os::raw::c_int,
15910        unused: *mut ENGINE,
15911        in_: *const u8,
15912        len: usize,
15913    ) -> *mut EVP_PKEY;
15914}
15915extern "C" {
15916    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_new_raw_public_key"]
15917    pub fn EVP_PKEY_new_raw_public_key(
15918        type_: ::std::os::raw::c_int,
15919        unused: *mut ENGINE,
15920        in_: *const u8,
15921        len: usize,
15922    ) -> *mut EVP_PKEY;
15923}
15924extern "C" {
15925    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get_raw_private_key"]
15926    pub fn EVP_PKEY_get_raw_private_key(
15927        pkey: *const EVP_PKEY,
15928        out: *mut u8,
15929        out_len: *mut usize,
15930    ) -> ::std::os::raw::c_int;
15931}
15932extern "C" {
15933    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get_raw_public_key"]
15934    pub fn EVP_PKEY_get_raw_public_key(
15935        pkey: *const EVP_PKEY,
15936        out: *mut u8,
15937        out_len: *mut usize,
15938    ) -> ::std::os::raw::c_int;
15939}
15940extern "C" {
15941    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestSignInit"]
15942    pub fn EVP_DigestSignInit(
15943        ctx: *mut EVP_MD_CTX,
15944        pctx: *mut *mut EVP_PKEY_CTX,
15945        type_: *const EVP_MD,
15946        e: *mut ENGINE,
15947        pkey: *mut EVP_PKEY,
15948    ) -> ::std::os::raw::c_int;
15949}
15950extern "C" {
15951    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestSignUpdate"]
15952    pub fn EVP_DigestSignUpdate(
15953        ctx: *mut EVP_MD_CTX,
15954        data: *const ::std::os::raw::c_void,
15955        len: usize,
15956    ) -> ::std::os::raw::c_int;
15957}
15958extern "C" {
15959    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestSignFinal"]
15960    pub fn EVP_DigestSignFinal(
15961        ctx: *mut EVP_MD_CTX,
15962        out_sig: *mut u8,
15963        out_sig_len: *mut usize,
15964    ) -> ::std::os::raw::c_int;
15965}
15966extern "C" {
15967    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestSign"]
15968    pub fn EVP_DigestSign(
15969        ctx: *mut EVP_MD_CTX,
15970        out_sig: *mut u8,
15971        out_sig_len: *mut usize,
15972        data: *const u8,
15973        data_len: usize,
15974    ) -> ::std::os::raw::c_int;
15975}
15976extern "C" {
15977    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestVerifyInit"]
15978    pub fn EVP_DigestVerifyInit(
15979        ctx: *mut EVP_MD_CTX,
15980        pctx: *mut *mut EVP_PKEY_CTX,
15981        type_: *const EVP_MD,
15982        e: *mut ENGINE,
15983        pkey: *mut EVP_PKEY,
15984    ) -> ::std::os::raw::c_int;
15985}
15986extern "C" {
15987    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestVerifyUpdate"]
15988    pub fn EVP_DigestVerifyUpdate(
15989        ctx: *mut EVP_MD_CTX,
15990        data: *const ::std::os::raw::c_void,
15991        len: usize,
15992    ) -> ::std::os::raw::c_int;
15993}
15994extern "C" {
15995    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestVerifyFinal"]
15996    pub fn EVP_DigestVerifyFinal(
15997        ctx: *mut EVP_MD_CTX,
15998        sig: *const u8,
15999        sig_len: usize,
16000    ) -> ::std::os::raw::c_int;
16001}
16002extern "C" {
16003    #[link_name = "\u{1}aws_lc_0_33_0_EVP_DigestVerify"]
16004    pub fn EVP_DigestVerify(
16005        ctx: *mut EVP_MD_CTX,
16006        sig: *const u8,
16007        sig_len: usize,
16008        data: *const u8,
16009        len: usize,
16010    ) -> ::std::os::raw::c_int;
16011}
16012extern "C" {
16013    #[link_name = "\u{1}aws_lc_0_33_0_EVP_SignInit_ex"]
16014    pub fn EVP_SignInit_ex(
16015        ctx: *mut EVP_MD_CTX,
16016        type_: *const EVP_MD,
16017        impl_: *mut ENGINE,
16018    ) -> ::std::os::raw::c_int;
16019}
16020extern "C" {
16021    #[link_name = "\u{1}aws_lc_0_33_0_EVP_SignInit"]
16022    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16023}
16024extern "C" {
16025    #[link_name = "\u{1}aws_lc_0_33_0_EVP_SignUpdate"]
16026    pub fn EVP_SignUpdate(
16027        ctx: *mut EVP_MD_CTX,
16028        data: *const ::std::os::raw::c_void,
16029        len: usize,
16030    ) -> ::std::os::raw::c_int;
16031}
16032extern "C" {
16033    #[link_name = "\u{1}aws_lc_0_33_0_EVP_SignFinal"]
16034    pub fn EVP_SignFinal(
16035        ctx: *const EVP_MD_CTX,
16036        sig: *mut u8,
16037        out_sig_len: *mut ::std::os::raw::c_uint,
16038        pkey: *mut EVP_PKEY,
16039    ) -> ::std::os::raw::c_int;
16040}
16041extern "C" {
16042    #[link_name = "\u{1}aws_lc_0_33_0_EVP_VerifyInit_ex"]
16043    pub fn EVP_VerifyInit_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_33_0_EVP_VerifyInit"]
16051    pub fn EVP_VerifyInit(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_33_0_EVP_VerifyUpdate"]
16055    pub fn EVP_VerifyUpdate(
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_33_0_EVP_VerifyFinal"]
16063    pub fn EVP_VerifyFinal(
16064        ctx: *mut EVP_MD_CTX,
16065        sig: *const u8,
16066        sig_len: usize,
16067        pkey: *mut EVP_PKEY,
16068    ) -> ::std::os::raw::c_int;
16069}
16070extern "C" {
16071    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_print_public"]
16072    pub fn EVP_PKEY_print_public(
16073        out: *mut BIO,
16074        pkey: *const EVP_PKEY,
16075        indent: ::std::os::raw::c_int,
16076        pctx: *mut ASN1_PCTX,
16077    ) -> ::std::os::raw::c_int;
16078}
16079extern "C" {
16080    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_print_private"]
16081    pub fn EVP_PKEY_print_private(
16082        out: *mut BIO,
16083        pkey: *const EVP_PKEY,
16084        indent: ::std::os::raw::c_int,
16085        pctx: *mut ASN1_PCTX,
16086    ) -> ::std::os::raw::c_int;
16087}
16088extern "C" {
16089    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_print_params"]
16090    pub fn EVP_PKEY_print_params(
16091        out: *mut BIO,
16092        pkey: *const EVP_PKEY,
16093        indent: ::std::os::raw::c_int,
16094        pctx: *mut ASN1_PCTX,
16095    ) -> ::std::os::raw::c_int;
16096}
16097extern "C" {
16098    #[link_name = "\u{1}aws_lc_0_33_0_PKCS5_PBKDF2_HMAC"]
16099    pub fn PKCS5_PBKDF2_HMAC(
16100        password: *const ::std::os::raw::c_char,
16101        password_len: usize,
16102        salt: *const u8,
16103        salt_len: usize,
16104        iterations: u32,
16105        digest: *const EVP_MD,
16106        key_len: usize,
16107        out_key: *mut u8,
16108    ) -> ::std::os::raw::c_int;
16109}
16110extern "C" {
16111    #[link_name = "\u{1}aws_lc_0_33_0_PKCS5_PBKDF2_HMAC_SHA1"]
16112    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16113        password: *const ::std::os::raw::c_char,
16114        password_len: usize,
16115        salt: *const u8,
16116        salt_len: usize,
16117        iterations: u32,
16118        key_len: usize,
16119        out_key: *mut u8,
16120    ) -> ::std::os::raw::c_int;
16121}
16122extern "C" {
16123    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PBE_scrypt"]
16124    pub fn EVP_PBE_scrypt(
16125        password: *const ::std::os::raw::c_char,
16126        password_len: usize,
16127        salt: *const u8,
16128        salt_len: usize,
16129        N: u64,
16130        r: u64,
16131        p: u64,
16132        max_mem: usize,
16133        out_key: *mut u8,
16134        key_len: usize,
16135    ) -> ::std::os::raw::c_int;
16136}
16137extern "C" {
16138    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_new"]
16139    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16140}
16141extern "C" {
16142    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_new_id"]
16143    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16144}
16145extern "C" {
16146    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_free"]
16147    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16148}
16149extern "C" {
16150    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_dup"]
16151    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16152}
16153extern "C" {
16154    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get0_pkey"]
16155    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16156}
16157extern "C" {
16158    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_sign_init"]
16159    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16160}
16161extern "C" {
16162    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_sign"]
16163    pub fn EVP_PKEY_sign(
16164        ctx: *mut EVP_PKEY_CTX,
16165        sig: *mut u8,
16166        sig_len: *mut usize,
16167        digest: *const u8,
16168        digest_len: usize,
16169    ) -> ::std::os::raw::c_int;
16170}
16171extern "C" {
16172    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_verify_init"]
16173    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16174}
16175extern "C" {
16176    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_verify"]
16177    pub fn EVP_PKEY_verify(
16178        ctx: *mut EVP_PKEY_CTX,
16179        sig: *const u8,
16180        sig_len: usize,
16181        digest: *const u8,
16182        digest_len: usize,
16183    ) -> ::std::os::raw::c_int;
16184}
16185extern "C" {
16186    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_encrypt_init"]
16187    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16188}
16189extern "C" {
16190    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_encrypt"]
16191    pub fn EVP_PKEY_encrypt(
16192        ctx: *mut EVP_PKEY_CTX,
16193        out: *mut u8,
16194        out_len: *mut usize,
16195        in_: *const u8,
16196        in_len: usize,
16197    ) -> ::std::os::raw::c_int;
16198}
16199extern "C" {
16200    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_decrypt_init"]
16201    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16202}
16203extern "C" {
16204    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_decrypt"]
16205    pub fn EVP_PKEY_decrypt(
16206        ctx: *mut EVP_PKEY_CTX,
16207        out: *mut u8,
16208        out_len: *mut usize,
16209        in_: *const u8,
16210        in_len: usize,
16211    ) -> ::std::os::raw::c_int;
16212}
16213extern "C" {
16214    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_verify_recover_init"]
16215    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16216}
16217extern "C" {
16218    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_verify_recover"]
16219    pub fn EVP_PKEY_verify_recover(
16220        ctx: *mut EVP_PKEY_CTX,
16221        out: *mut u8,
16222        out_len: *mut usize,
16223        sig: *const u8,
16224        siglen: usize,
16225    ) -> ::std::os::raw::c_int;
16226}
16227extern "C" {
16228    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_derive_init"]
16229    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16230}
16231extern "C" {
16232    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_derive_set_peer"]
16233    pub fn EVP_PKEY_derive_set_peer(
16234        ctx: *mut EVP_PKEY_CTX,
16235        peer: *mut EVP_PKEY,
16236    ) -> ::std::os::raw::c_int;
16237}
16238extern "C" {
16239    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_derive"]
16240    pub fn EVP_PKEY_derive(
16241        ctx: *mut EVP_PKEY_CTX,
16242        key: *mut u8,
16243        out_key_len: *mut usize,
16244    ) -> ::std::os::raw::c_int;
16245}
16246extern "C" {
16247    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_check"]
16248    pub fn EVP_PKEY_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16249}
16250extern "C" {
16251    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_public_check"]
16252    pub fn EVP_PKEY_public_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16253}
16254extern "C" {
16255    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_param_check"]
16256    pub fn EVP_PKEY_param_check(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16257}
16258extern "C" {
16259    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_keygen_init"]
16260    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16261}
16262extern "C" {
16263    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_keygen"]
16264    pub fn EVP_PKEY_keygen(
16265        ctx: *mut EVP_PKEY_CTX,
16266        out_pkey: *mut *mut EVP_PKEY,
16267    ) -> ::std::os::raw::c_int;
16268}
16269extern "C" {
16270    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_encapsulate"]
16271    pub fn EVP_PKEY_encapsulate(
16272        ctx: *mut EVP_PKEY_CTX,
16273        ciphertext: *mut u8,
16274        ciphertext_len: *mut usize,
16275        shared_secret: *mut u8,
16276        shared_secret_len: *mut usize,
16277    ) -> ::std::os::raw::c_int;
16278}
16279extern "C" {
16280    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_decapsulate"]
16281    pub fn EVP_PKEY_decapsulate(
16282        ctx: *mut EVP_PKEY_CTX,
16283        shared_secret: *mut u8,
16284        shared_secret_len: *mut usize,
16285        ciphertext: *const u8,
16286        ciphertext_len: usize,
16287    ) -> ::std::os::raw::c_int;
16288}
16289extern "C" {
16290    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_paramgen_init"]
16291    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16292}
16293extern "C" {
16294    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_paramgen"]
16295    pub fn EVP_PKEY_paramgen(
16296        ctx: *mut EVP_PKEY_CTX,
16297        out_pkey: *mut *mut EVP_PKEY,
16298    ) -> ::std::os::raw::c_int;
16299}
16300extern "C" {
16301    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_signature_md"]
16302    pub fn EVP_PKEY_CTX_set_signature_md(
16303        ctx: *mut EVP_PKEY_CTX,
16304        md: *const EVP_MD,
16305    ) -> ::std::os::raw::c_int;
16306}
16307extern "C" {
16308    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_signature_md"]
16309    pub fn EVP_PKEY_CTX_get_signature_md(
16310        ctx: *mut EVP_PKEY_CTX,
16311        out_md: *mut *const EVP_MD,
16312    ) -> ::std::os::raw::c_int;
16313}
16314extern "C" {
16315    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_signature_context"]
16316    pub fn EVP_PKEY_CTX_set_signature_context(
16317        ctx: *mut EVP_PKEY_CTX,
16318        context: *const u8,
16319        context_len: usize,
16320    ) -> ::std::os::raw::c_int;
16321}
16322extern "C" {
16323    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get0_signature_context"]
16324    pub fn EVP_PKEY_CTX_get0_signature_context(
16325        ctx: *mut EVP_PKEY_CTX,
16326        context: *mut *const u8,
16327        context_len: *mut usize,
16328    ) -> ::std::os::raw::c_int;
16329}
16330extern "C" {
16331    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_padding"]
16332    pub fn EVP_PKEY_CTX_set_rsa_padding(
16333        ctx: *mut EVP_PKEY_CTX,
16334        padding: ::std::os::raw::c_int,
16335    ) -> ::std::os::raw::c_int;
16336}
16337extern "C" {
16338    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_rsa_padding"]
16339    pub fn EVP_PKEY_CTX_get_rsa_padding(
16340        ctx: *mut EVP_PKEY_CTX,
16341        out_padding: *mut ::std::os::raw::c_int,
16342    ) -> ::std::os::raw::c_int;
16343}
16344extern "C" {
16345    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16346    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16347        ctx: *mut EVP_PKEY_CTX,
16348        salt_len: ::std::os::raw::c_int,
16349    ) -> ::std::os::raw::c_int;
16350}
16351extern "C" {
16352    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16353    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16354        ctx: *mut EVP_PKEY_CTX,
16355        out_salt_len: *mut ::std::os::raw::c_int,
16356    ) -> ::std::os::raw::c_int;
16357}
16358extern "C" {
16359    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16360    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16361        ctx: *mut EVP_PKEY_CTX,
16362        bits: ::std::os::raw::c_int,
16363    ) -> ::std::os::raw::c_int;
16364}
16365extern "C" {
16366    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16367    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16368        ctx: *mut EVP_PKEY_CTX,
16369        e: *mut BIGNUM,
16370    ) -> ::std::os::raw::c_int;
16371}
16372extern "C" {
16373    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
16374    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16375        ctx: *mut EVP_PKEY_CTX,
16376        md: *const EVP_MD,
16377    ) -> ::std::os::raw::c_int;
16378}
16379extern "C" {
16380    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
16381    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16382        ctx: *mut EVP_PKEY_CTX,
16383        out_md: *mut *const EVP_MD,
16384    ) -> ::std::os::raw::c_int;
16385}
16386extern "C" {
16387    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16388    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16389        ctx: *mut EVP_PKEY_CTX,
16390        md: *const EVP_MD,
16391    ) -> ::std::os::raw::c_int;
16392}
16393extern "C" {
16394    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16395    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16396        ctx: *mut EVP_PKEY_CTX,
16397        out_md: *mut *const EVP_MD,
16398    ) -> ::std::os::raw::c_int;
16399}
16400extern "C" {
16401    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16402    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16403        ctx: *mut EVP_PKEY_CTX,
16404        label: *mut u8,
16405        label_len: usize,
16406    ) -> ::std::os::raw::c_int;
16407}
16408extern "C" {
16409    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16410    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16411        ctx: *mut EVP_PKEY_CTX,
16412        out_label: *mut *const u8,
16413    ) -> ::std::os::raw::c_int;
16414}
16415extern "C" {
16416    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16417    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16418        ctx: *mut EVP_PKEY_CTX,
16419        nid: ::std::os::raw::c_int,
16420    ) -> ::std::os::raw::c_int;
16421}
16422extern "C" {
16423    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_kem_set_params"]
16424    pub fn EVP_PKEY_CTX_kem_set_params(
16425        ctx: *mut EVP_PKEY_CTX,
16426        nid: ::std::os::raw::c_int,
16427    ) -> ::std::os::raw::c_int;
16428}
16429extern "C" {
16430    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_kem_new_raw_public_key"]
16431    pub fn EVP_PKEY_kem_new_raw_public_key(
16432        nid: ::std::os::raw::c_int,
16433        in_: *const u8,
16434        len: usize,
16435    ) -> *mut EVP_PKEY;
16436}
16437extern "C" {
16438    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_kem_new_raw_secret_key"]
16439    pub fn EVP_PKEY_kem_new_raw_secret_key(
16440        nid: ::std::os::raw::c_int,
16441        in_: *const u8,
16442        len: usize,
16443    ) -> *mut EVP_PKEY;
16444}
16445extern "C" {
16446    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_kem_new_raw_key"]
16447    pub fn EVP_PKEY_kem_new_raw_key(
16448        nid: ::std::os::raw::c_int,
16449        in_public: *const u8,
16450        len_public: usize,
16451        in_secret: *const u8,
16452        len_secret: usize,
16453    ) -> *mut EVP_PKEY;
16454}
16455extern "C" {
16456    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_kem_check_key"]
16457    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16458}
16459extern "C" {
16460    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_pqdsa_set_params"]
16461    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16462        ctx: *mut EVP_PKEY_CTX,
16463        nid: ::std::os::raw::c_int,
16464    ) -> ::std::os::raw::c_int;
16465}
16466extern "C" {
16467    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_pqdsa_new_raw_public_key"]
16468    pub fn EVP_PKEY_pqdsa_new_raw_public_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_33_0_EVP_PKEY_pqdsa_new_raw_private_key"]
16476    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
16477        nid: ::std::os::raw::c_int,
16478        in_: *const u8,
16479        len: usize,
16480    ) -> *mut EVP_PKEY;
16481}
16482extern "C" {
16483    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dh_pad"]
16484    pub fn EVP_PKEY_CTX_set_dh_pad(
16485        ctx: *mut EVP_PKEY_CTX,
16486        pad: ::std::os::raw::c_int,
16487    ) -> ::std::os::raw::c_int;
16488}
16489extern "C" {
16490    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_asn1_get_count"]
16491    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
16492}
16493extern "C" {
16494    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_asn1_get0"]
16495    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
16496}
16497extern "C" {
16498    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_asn1_find"]
16499    pub fn EVP_PKEY_asn1_find(
16500        _pe: *mut *mut ENGINE,
16501        type_: ::std::os::raw::c_int,
16502    ) -> *const EVP_PKEY_ASN1_METHOD;
16503}
16504extern "C" {
16505    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_asn1_find_str"]
16506    pub fn EVP_PKEY_asn1_find_str(
16507        _pe: *mut *mut ENGINE,
16508        name: *const ::std::os::raw::c_char,
16509        len: ::std::os::raw::c_int,
16510    ) -> *const EVP_PKEY_ASN1_METHOD;
16511}
16512extern "C" {
16513    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_asn1_get0_info"]
16514    pub fn EVP_PKEY_asn1_get0_info(
16515        ppkey_id: *mut ::std::os::raw::c_int,
16516        pkey_base_id: *mut ::std::os::raw::c_int,
16517        ppkey_flags: *mut ::std::os::raw::c_int,
16518        pinfo: *mut *const ::std::os::raw::c_char,
16519        ppem_str: *mut *const ::std::os::raw::c_char,
16520        ameth: *const EVP_PKEY_ASN1_METHOD,
16521    ) -> ::std::os::raw::c_int;
16522}
16523pub type EVP_PKEY_gen_cb =
16524    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
16525extern "C" {
16526    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_cb"]
16527    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
16528}
16529extern "C" {
16530    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_keygen_info"]
16531    pub fn EVP_PKEY_CTX_get_keygen_info(
16532        ctx: *mut EVP_PKEY_CTX,
16533        idx: ::std::os::raw::c_int,
16534    ) -> ::std::os::raw::c_int;
16535}
16536extern "C" {
16537    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_app_data"]
16538    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
16539}
16540extern "C" {
16541    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_get_app_data"]
16542    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
16543}
16544extern "C" {
16545    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_get_pkey_type"]
16546    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
16547}
16548extern "C" {
16549    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_pkey_type"]
16550    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
16551}
16552extern "C" {
16553    #[link_name = "\u{1}aws_lc_0_33_0_EVP_CIPHER_do_all_sorted"]
16554    pub fn EVP_CIPHER_do_all_sorted(
16555        callback: ::std::option::Option<
16556            unsafe extern "C" fn(
16557                cipher: *const EVP_CIPHER,
16558                name: *const ::std::os::raw::c_char,
16559                unused: *const ::std::os::raw::c_char,
16560                arg: *mut ::std::os::raw::c_void,
16561            ),
16562        >,
16563        arg: *mut ::std::os::raw::c_void,
16564    );
16565}
16566extern "C" {
16567    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_do_all_sorted"]
16568    pub fn EVP_MD_do_all_sorted(
16569        callback: ::std::option::Option<
16570            unsafe extern "C" fn(
16571                cipher: *const EVP_MD,
16572                name: *const ::std::os::raw::c_char,
16573                unused: *const ::std::os::raw::c_char,
16574                arg: *mut ::std::os::raw::c_void,
16575            ),
16576        >,
16577        arg: *mut ::std::os::raw::c_void,
16578    );
16579}
16580extern "C" {
16581    #[link_name = "\u{1}aws_lc_0_33_0_EVP_MD_do_all"]
16582    pub fn EVP_MD_do_all(
16583        callback: ::std::option::Option<
16584            unsafe extern "C" fn(
16585                cipher: *const EVP_MD,
16586                name: *const ::std::os::raw::c_char,
16587                unused: *const ::std::os::raw::c_char,
16588                arg: *mut ::std::os::raw::c_void,
16589            ),
16590        >,
16591        arg: *mut ::std::os::raw::c_void,
16592    );
16593}
16594extern "C" {
16595    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PrivateKey"]
16596    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16597}
16598extern "C" {
16599    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PublicKey"]
16600    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16601}
16602extern "C" {
16603    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PrivateKey"]
16604    pub fn d2i_PrivateKey(
16605        type_: ::std::os::raw::c_int,
16606        out: *mut *mut EVP_PKEY,
16607        inp: *mut *const u8,
16608        len: ::std::os::raw::c_long,
16609    ) -> *mut EVP_PKEY;
16610}
16611extern "C" {
16612    #[link_name = "\u{1}aws_lc_0_33_0_d2i_AutoPrivateKey"]
16613    pub fn d2i_AutoPrivateKey(
16614        out: *mut *mut EVP_PKEY,
16615        inp: *mut *const u8,
16616        len: ::std::os::raw::c_long,
16617    ) -> *mut EVP_PKEY;
16618}
16619extern "C" {
16620    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PublicKey"]
16621    pub fn d2i_PublicKey(
16622        type_: ::std::os::raw::c_int,
16623        out: *mut *mut EVP_PKEY,
16624        inp: *mut *const u8,
16625        len: ::std::os::raw::c_long,
16626    ) -> *mut EVP_PKEY;
16627}
16628extern "C" {
16629    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_ec_param_enc"]
16630    pub fn EVP_PKEY_CTX_set_ec_param_enc(
16631        ctx: *mut EVP_PKEY_CTX,
16632        encoding: ::std::os::raw::c_int,
16633    ) -> ::std::os::raw::c_int;
16634}
16635extern "C" {
16636    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_set1_tls_encodedpoint"]
16637    pub fn EVP_PKEY_set1_tls_encodedpoint(
16638        pkey: *mut EVP_PKEY,
16639        in_: *const u8,
16640        len: usize,
16641    ) -> ::std::os::raw::c_int;
16642}
16643extern "C" {
16644    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get1_tls_encodedpoint"]
16645    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
16646}
16647extern "C" {
16648    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_base_id"]
16649    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16650}
16651extern "C" {
16652    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
16653    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
16654        ctx: *mut EVP_PKEY_CTX,
16655        md: *const EVP_MD,
16656    ) -> ::std::os::raw::c_int;
16657}
16658extern "C" {
16659    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
16660    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
16661        ctx: *mut EVP_PKEY_CTX,
16662        salt_len: ::std::os::raw::c_int,
16663    ) -> ::std::os::raw::c_int;
16664}
16665extern "C" {
16666    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
16667    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
16668        ctx: *mut EVP_PKEY_CTX,
16669        md: *const EVP_MD,
16670    ) -> ::std::os::raw::c_int;
16671}
16672extern "C" {
16673    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PUBKEY"]
16674    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16675}
16676extern "C" {
16677    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PUBKEY"]
16678    pub fn d2i_PUBKEY(
16679        out: *mut *mut EVP_PKEY,
16680        inp: *mut *const u8,
16681        len: ::std::os::raw::c_long,
16682    ) -> *mut EVP_PKEY;
16683}
16684extern "C" {
16685    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSA_PUBKEY"]
16686    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16687}
16688extern "C" {
16689    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSA_PUBKEY"]
16690    pub fn d2i_RSA_PUBKEY(
16691        out: *mut *mut RSA,
16692        inp: *mut *const u8,
16693        len: ::std::os::raw::c_long,
16694    ) -> *mut RSA;
16695}
16696extern "C" {
16697    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSA_PUBKEY"]
16698    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16699}
16700extern "C" {
16701    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSA_PUBKEY"]
16702    pub fn d2i_DSA_PUBKEY(
16703        out: *mut *mut DSA,
16704        inp: *mut *const u8,
16705        len: ::std::os::raw::c_long,
16706    ) -> *mut DSA;
16707}
16708extern "C" {
16709    #[link_name = "\u{1}aws_lc_0_33_0_i2d_EC_PUBKEY"]
16710    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
16711}
16712extern "C" {
16713    #[link_name = "\u{1}aws_lc_0_33_0_d2i_EC_PUBKEY"]
16714    pub fn d2i_EC_PUBKEY(
16715        out: *mut *mut EC_KEY,
16716        inp: *mut *const u8,
16717        len: ::std::os::raw::c_long,
16718    ) -> *mut EC_KEY;
16719}
16720extern "C" {
16721    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_assign"]
16722    pub fn EVP_PKEY_assign(
16723        pkey: *mut EVP_PKEY,
16724        type_: ::std::os::raw::c_int,
16725        key: *mut ::std::os::raw::c_void,
16726    ) -> ::std::os::raw::c_int;
16727}
16728extern "C" {
16729    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_type"]
16730    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16731}
16732extern "C" {
16733    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_new_mac_key"]
16734    pub fn EVP_PKEY_new_mac_key(
16735        type_: ::std::os::raw::c_int,
16736        engine: *mut ENGINE,
16737        mac_key: *const u8,
16738        mac_key_len: usize,
16739    ) -> *mut EVP_PKEY;
16740}
16741extern "C" {
16742    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_get0"]
16743    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
16744}
16745extern "C" {
16746    #[link_name = "\u{1}aws_lc_0_33_0_OpenSSL_add_all_algorithms"]
16747    pub fn OpenSSL_add_all_algorithms();
16748}
16749extern "C" {
16750    #[link_name = "\u{1}aws_lc_0_33_0_OPENSSL_add_all_algorithms_conf"]
16751    pub fn OPENSSL_add_all_algorithms_conf();
16752}
16753extern "C" {
16754    #[link_name = "\u{1}aws_lc_0_33_0_OpenSSL_add_all_ciphers"]
16755    pub fn OpenSSL_add_all_ciphers();
16756}
16757extern "C" {
16758    #[link_name = "\u{1}aws_lc_0_33_0_OpenSSL_add_all_digests"]
16759    pub fn OpenSSL_add_all_digests();
16760}
16761extern "C" {
16762    #[link_name = "\u{1}aws_lc_0_33_0_EVP_cleanup"]
16763    pub fn EVP_cleanup();
16764}
16765extern "C" {
16766    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
16767    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
16768        ctx: *mut EVP_PKEY_CTX,
16769        nbits: ::std::os::raw::c_int,
16770    ) -> ::std::os::raw::c_int;
16771}
16772extern "C" {
16773    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
16774    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
16775        ctx: *mut EVP_PKEY_CTX,
16776        md: *const EVP_MD,
16777    ) -> ::std::os::raw::c_int;
16778}
16779extern "C" {
16780    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
16781    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
16782        ctx: *mut EVP_PKEY_CTX,
16783        qbits: ::std::os::raw::c_int,
16784    ) -> ::std::os::raw::c_int;
16785}
16786extern "C" {
16787    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_ctrl_str"]
16788    pub fn EVP_PKEY_CTX_ctrl_str(
16789        ctx: *mut EVP_PKEY_CTX,
16790        type_: *const ::std::os::raw::c_char,
16791        value: *const ::std::os::raw::c_char,
16792    ) -> ::std::os::raw::c_int;
16793}
16794extern "C" {
16795    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_tls1_prf"]
16796    pub fn CRYPTO_tls1_prf(
16797        digest: *const EVP_MD,
16798        out: *mut u8,
16799        out_len: usize,
16800        secret: *const u8,
16801        secret_len: usize,
16802        label: *const ::std::os::raw::c_char,
16803        label_len: usize,
16804        seed1: *const u8,
16805        seed1_len: usize,
16806        seed2: *const u8,
16807        seed2_len: usize,
16808    ) -> ::std::os::raw::c_int;
16809}
16810extern "C" {
16811    #[link_name = "\u{1}aws_lc_0_33_0_SSKDF_digest"]
16812    pub fn SSKDF_digest(
16813        out_key: *mut u8,
16814        out_len: usize,
16815        digest: *const EVP_MD,
16816        secret: *const u8,
16817        secret_len: usize,
16818        info: *const u8,
16819        info_len: usize,
16820    ) -> ::std::os::raw::c_int;
16821}
16822extern "C" {
16823    #[link_name = "\u{1}aws_lc_0_33_0_SSKDF_hmac"]
16824    pub fn SSKDF_hmac(
16825        out_key: *mut u8,
16826        out_len: usize,
16827        digest: *const EVP_MD,
16828        secret: *const u8,
16829        secret_len: usize,
16830        info: *const u8,
16831        info_len: usize,
16832        salt: *const u8,
16833        salt_len: usize,
16834    ) -> ::std::os::raw::c_int;
16835}
16836extern "C" {
16837    #[link_name = "\u{1}aws_lc_0_33_0_KBKDF_ctr_hmac"]
16838    pub fn KBKDF_ctr_hmac(
16839        out_key: *mut u8,
16840        out_len: usize,
16841        digest: *const EVP_MD,
16842        secret: *const u8,
16843        secret_len: usize,
16844        info: *const u8,
16845        info_len: usize,
16846    ) -> ::std::os::raw::c_int;
16847}
16848extern "C" {
16849    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_hkdf_mode"]
16850    pub fn EVP_PKEY_CTX_hkdf_mode(
16851        ctx: *mut EVP_PKEY_CTX,
16852        mode: ::std::os::raw::c_int,
16853    ) -> ::std::os::raw::c_int;
16854}
16855extern "C" {
16856    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set_hkdf_md"]
16857    pub fn EVP_PKEY_CTX_set_hkdf_md(
16858        ctx: *mut EVP_PKEY_CTX,
16859        md: *const EVP_MD,
16860    ) -> ::std::os::raw::c_int;
16861}
16862extern "C" {
16863    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set1_hkdf_key"]
16864    pub fn EVP_PKEY_CTX_set1_hkdf_key(
16865        ctx: *mut EVP_PKEY_CTX,
16866        key: *const u8,
16867        key_len: usize,
16868    ) -> ::std::os::raw::c_int;
16869}
16870extern "C" {
16871    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_set1_hkdf_salt"]
16872    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
16873        ctx: *mut EVP_PKEY_CTX,
16874        salt: *const u8,
16875        salt_len: usize,
16876    ) -> ::std::os::raw::c_int;
16877}
16878extern "C" {
16879    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_CTX_add1_hkdf_info"]
16880    pub fn EVP_PKEY_CTX_add1_hkdf_info(
16881        ctx: *mut EVP_PKEY_CTX,
16882        info: *const u8,
16883        info_len: usize,
16884    ) -> ::std::os::raw::c_int;
16885}
16886extern "C" {
16887    #[link_name = "\u{1}aws_lc_0_33_0_HKDF"]
16888    pub fn HKDF(
16889        out_key: *mut u8,
16890        out_len: usize,
16891        digest: *const EVP_MD,
16892        secret: *const u8,
16893        secret_len: usize,
16894        salt: *const u8,
16895        salt_len: usize,
16896        info: *const u8,
16897        info_len: usize,
16898    ) -> ::std::os::raw::c_int;
16899}
16900extern "C" {
16901    #[link_name = "\u{1}aws_lc_0_33_0_HKDF_extract"]
16902    pub fn HKDF_extract(
16903        out_key: *mut u8,
16904        out_len: *mut usize,
16905        digest: *const EVP_MD,
16906        secret: *const u8,
16907        secret_len: usize,
16908        salt: *const u8,
16909        salt_len: usize,
16910    ) -> ::std::os::raw::c_int;
16911}
16912extern "C" {
16913    #[link_name = "\u{1}aws_lc_0_33_0_HKDF_expand"]
16914    pub fn HKDF_expand(
16915        out_key: *mut u8,
16916        out_len: usize,
16917        digest: *const EVP_MD,
16918        prk: *const u8,
16919        prk_len: usize,
16920        info: *const u8,
16921        info_len: usize,
16922    ) -> ::std::os::raw::c_int;
16923}
16924extern "C" {
16925    #[link_name = "\u{1}aws_lc_0_33_0_EVP_hpke_x25519_hkdf_sha256"]
16926    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
16927}
16928extern "C" {
16929    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEM_id"]
16930    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
16931}
16932extern "C" {
16933    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEM_public_key_len"]
16934    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16935}
16936extern "C" {
16937    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEM_private_key_len"]
16938    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16939}
16940extern "C" {
16941    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEM_enc_len"]
16942    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
16943}
16944extern "C" {
16945    #[link_name = "\u{1}aws_lc_0_33_0_EVP_hpke_hkdf_sha256"]
16946    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
16947}
16948extern "C" {
16949    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KDF_id"]
16950    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
16951}
16952extern "C" {
16953    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KDF_hkdf_md"]
16954    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
16955}
16956extern "C" {
16957    #[link_name = "\u{1}aws_lc_0_33_0_EVP_hpke_aes_128_gcm"]
16958    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
16959}
16960extern "C" {
16961    #[link_name = "\u{1}aws_lc_0_33_0_EVP_hpke_aes_256_gcm"]
16962    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
16963}
16964extern "C" {
16965    #[link_name = "\u{1}aws_lc_0_33_0_EVP_hpke_chacha20_poly1305"]
16966    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
16967}
16968extern "C" {
16969    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_AEAD_id"]
16970    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
16971}
16972extern "C" {
16973    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_AEAD_aead"]
16974    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
16975}
16976extern "C" {
16977    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_zero"]
16978    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
16979}
16980extern "C" {
16981    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_cleanup"]
16982    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
16983}
16984extern "C" {
16985    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_new"]
16986    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
16987}
16988extern "C" {
16989    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_free"]
16990    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
16991}
16992extern "C" {
16993    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_copy"]
16994    pub fn EVP_HPKE_KEY_copy(
16995        dst: *mut EVP_HPKE_KEY,
16996        src: *const EVP_HPKE_KEY,
16997    ) -> ::std::os::raw::c_int;
16998}
16999extern "C" {
17000    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_move"]
17001    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17002}
17003extern "C" {
17004    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_init"]
17005    pub fn EVP_HPKE_KEY_init(
17006        key: *mut EVP_HPKE_KEY,
17007        kem: *const EVP_HPKE_KEM,
17008        priv_key: *const u8,
17009        priv_key_len: usize,
17010    ) -> ::std::os::raw::c_int;
17011}
17012extern "C" {
17013    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_generate"]
17014    pub fn EVP_HPKE_KEY_generate(
17015        key: *mut EVP_HPKE_KEY,
17016        kem: *const EVP_HPKE_KEM,
17017    ) -> ::std::os::raw::c_int;
17018}
17019extern "C" {
17020    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_kem"]
17021    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17022}
17023extern "C" {
17024    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_public_key"]
17025    pub fn EVP_HPKE_KEY_public_key(
17026        key: *const EVP_HPKE_KEY,
17027        out: *mut u8,
17028        out_len: *mut usize,
17029        max_out: usize,
17030    ) -> ::std::os::raw::c_int;
17031}
17032extern "C" {
17033    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_KEY_private_key"]
17034    pub fn EVP_HPKE_KEY_private_key(
17035        key: *const EVP_HPKE_KEY,
17036        out: *mut u8,
17037        out_len: *mut usize,
17038        max_out: usize,
17039    ) -> ::std::os::raw::c_int;
17040}
17041extern "C" {
17042    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_zero"]
17043    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17044}
17045extern "C" {
17046    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_cleanup"]
17047    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17048}
17049extern "C" {
17050    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_new"]
17051    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17052}
17053extern "C" {
17054    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_free"]
17055    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17056}
17057extern "C" {
17058    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_sender"]
17059    pub fn EVP_HPKE_CTX_setup_sender(
17060        ctx: *mut EVP_HPKE_CTX,
17061        out_enc: *mut u8,
17062        out_enc_len: *mut usize,
17063        max_enc: usize,
17064        kem: *const EVP_HPKE_KEM,
17065        kdf: *const EVP_HPKE_KDF,
17066        aead: *const EVP_HPKE_AEAD,
17067        peer_public_key: *const u8,
17068        peer_public_key_len: usize,
17069        info: *const u8,
17070        info_len: usize,
17071    ) -> ::std::os::raw::c_int;
17072}
17073extern "C" {
17074    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17075    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17076        ctx: *mut EVP_HPKE_CTX,
17077        out_enc: *mut u8,
17078        out_enc_len: *mut usize,
17079        max_enc: usize,
17080        kem: *const EVP_HPKE_KEM,
17081        kdf: *const EVP_HPKE_KDF,
17082        aead: *const EVP_HPKE_AEAD,
17083        peer_public_key: *const u8,
17084        peer_public_key_len: usize,
17085        info: *const u8,
17086        info_len: usize,
17087        seed: *const u8,
17088        seed_len: usize,
17089    ) -> ::std::os::raw::c_int;
17090}
17091extern "C" {
17092    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_recipient"]
17093    pub fn EVP_HPKE_CTX_setup_recipient(
17094        ctx: *mut EVP_HPKE_CTX,
17095        key: *const EVP_HPKE_KEY,
17096        kdf: *const EVP_HPKE_KDF,
17097        aead: *const EVP_HPKE_AEAD,
17098        enc: *const u8,
17099        enc_len: usize,
17100        info: *const u8,
17101        info_len: usize,
17102    ) -> ::std::os::raw::c_int;
17103}
17104extern "C" {
17105    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_auth_sender"]
17106    pub fn EVP_HPKE_CTX_setup_auth_sender(
17107        ctx: *mut EVP_HPKE_CTX,
17108        out_enc: *mut u8,
17109        out_enc_len: *mut usize,
17110        max_enc: usize,
17111        key: *const EVP_HPKE_KEY,
17112        kdf: *const EVP_HPKE_KDF,
17113        aead: *const EVP_HPKE_AEAD,
17114        peer_public_key: *const u8,
17115        peer_public_key_len: usize,
17116        info: *const u8,
17117        info_len: usize,
17118    ) -> ::std::os::raw::c_int;
17119}
17120extern "C" {
17121    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17122    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17123        ctx: *mut EVP_HPKE_CTX,
17124        out_enc: *mut u8,
17125        out_enc_len: *mut usize,
17126        max_enc: usize,
17127        key: *const EVP_HPKE_KEY,
17128        kdf: *const EVP_HPKE_KDF,
17129        aead: *const EVP_HPKE_AEAD,
17130        peer_public_key: *const u8,
17131        peer_public_key_len: usize,
17132        info: *const u8,
17133        info_len: usize,
17134        seed: *const u8,
17135        seed_len: usize,
17136    ) -> ::std::os::raw::c_int;
17137}
17138extern "C" {
17139    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_setup_auth_recipient"]
17140    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17141        ctx: *mut EVP_HPKE_CTX,
17142        key: *const EVP_HPKE_KEY,
17143        kdf: *const EVP_HPKE_KDF,
17144        aead: *const EVP_HPKE_AEAD,
17145        enc: *const u8,
17146        enc_len: usize,
17147        info: *const u8,
17148        info_len: usize,
17149        peer_public_key: *const u8,
17150        peer_public_key_len: usize,
17151    ) -> ::std::os::raw::c_int;
17152}
17153extern "C" {
17154    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_open"]
17155    pub fn EVP_HPKE_CTX_open(
17156        ctx: *mut EVP_HPKE_CTX,
17157        out: *mut u8,
17158        out_len: *mut usize,
17159        max_out_len: usize,
17160        in_: *const u8,
17161        in_len: usize,
17162        ad: *const u8,
17163        ad_len: usize,
17164    ) -> ::std::os::raw::c_int;
17165}
17166extern "C" {
17167    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_seal"]
17168    pub fn EVP_HPKE_CTX_seal(
17169        ctx: *mut EVP_HPKE_CTX,
17170        out: *mut u8,
17171        out_len: *mut usize,
17172        max_out_len: usize,
17173        in_: *const u8,
17174        in_len: usize,
17175        ad: *const u8,
17176        ad_len: usize,
17177    ) -> ::std::os::raw::c_int;
17178}
17179extern "C" {
17180    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_export"]
17181    pub fn EVP_HPKE_CTX_export(
17182        ctx: *const EVP_HPKE_CTX,
17183        out: *mut u8,
17184        secret_len: usize,
17185        context: *const u8,
17186        context_len: usize,
17187    ) -> ::std::os::raw::c_int;
17188}
17189extern "C" {
17190    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_max_overhead"]
17191    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17192}
17193extern "C" {
17194    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_kem"]
17195    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
17196}
17197extern "C" {
17198    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_aead"]
17199    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
17200}
17201extern "C" {
17202    #[link_name = "\u{1}aws_lc_0_33_0_EVP_HPKE_CTX_kdf"]
17203    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
17204}
17205#[repr(C)]
17206#[derive(Copy, Clone)]
17207pub struct evp_hpke_ctx_st {
17208    pub kem: *const EVP_HPKE_KEM,
17209    pub aead: *const EVP_HPKE_AEAD,
17210    pub kdf: *const EVP_HPKE_KDF,
17211    pub aead_ctx: EVP_AEAD_CTX,
17212    pub base_nonce: [u8; 24usize],
17213    pub exporter_secret: [u8; 64usize],
17214    pub seq: u64,
17215    pub is_sender: ::std::os::raw::c_int,
17216}
17217#[test]
17218fn bindgen_test_layout_evp_hpke_ctx_st() {
17219    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
17220    let ptr = UNINIT.as_ptr();
17221    assert_eq!(
17222        ::std::mem::size_of::<evp_hpke_ctx_st>(),
17223        712usize,
17224        "Size of evp_hpke_ctx_st"
17225    );
17226    assert_eq!(
17227        ::std::mem::align_of::<evp_hpke_ctx_st>(),
17228        8usize,
17229        "Alignment of evp_hpke_ctx_st"
17230    );
17231    assert_eq!(
17232        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17233        0usize,
17234        "Offset of field: evp_hpke_ctx_st::kem"
17235    );
17236    assert_eq!(
17237        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
17238        8usize,
17239        "Offset of field: evp_hpke_ctx_st::aead"
17240    );
17241    assert_eq!(
17242        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
17243        16usize,
17244        "Offset of field: evp_hpke_ctx_st::kdf"
17245    );
17246    assert_eq!(
17247        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
17248        24usize,
17249        "Offset of field: evp_hpke_ctx_st::aead_ctx"
17250    );
17251    assert_eq!(
17252        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
17253        608usize,
17254        "Offset of field: evp_hpke_ctx_st::base_nonce"
17255    );
17256    assert_eq!(
17257        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
17258        632usize,
17259        "Offset of field: evp_hpke_ctx_st::exporter_secret"
17260    );
17261    assert_eq!(
17262        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
17263        696usize,
17264        "Offset of field: evp_hpke_ctx_st::seq"
17265    );
17266    assert_eq!(
17267        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
17268        704usize,
17269        "Offset of field: evp_hpke_ctx_st::is_sender"
17270    );
17271}
17272impl Default for evp_hpke_ctx_st {
17273    fn default() -> Self {
17274        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17275        unsafe {
17276            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17277            s.assume_init()
17278        }
17279    }
17280}
17281#[repr(C)]
17282#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17283pub struct evp_hpke_key_st {
17284    pub kem: *const EVP_HPKE_KEM,
17285    pub private_key: [u8; 32usize],
17286    pub public_key: [u8; 32usize],
17287}
17288#[test]
17289fn bindgen_test_layout_evp_hpke_key_st() {
17290    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
17291    let ptr = UNINIT.as_ptr();
17292    assert_eq!(
17293        ::std::mem::size_of::<evp_hpke_key_st>(),
17294        72usize,
17295        "Size of evp_hpke_key_st"
17296    );
17297    assert_eq!(
17298        ::std::mem::align_of::<evp_hpke_key_st>(),
17299        8usize,
17300        "Alignment of evp_hpke_key_st"
17301    );
17302    assert_eq!(
17303        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
17304        0usize,
17305        "Offset of field: evp_hpke_key_st::kem"
17306    );
17307    assert_eq!(
17308        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
17309        8usize,
17310        "Offset of field: evp_hpke_key_st::private_key"
17311    );
17312    assert_eq!(
17313        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
17314        40usize,
17315        "Offset of field: evp_hpke_key_st::public_key"
17316    );
17317}
17318impl Default for evp_hpke_key_st {
17319    fn default() -> Self {
17320        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17321        unsafe {
17322            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17323            s.assume_init()
17324        }
17325    }
17326}
17327#[repr(C)]
17328#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17329pub struct HRSS_private_key {
17330    pub opaque: [u8; 1808usize],
17331}
17332#[test]
17333fn bindgen_test_layout_HRSS_private_key() {
17334    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
17335    let ptr = UNINIT.as_ptr();
17336    assert_eq!(
17337        ::std::mem::size_of::<HRSS_private_key>(),
17338        1808usize,
17339        "Size of HRSS_private_key"
17340    );
17341    assert_eq!(
17342        ::std::mem::align_of::<HRSS_private_key>(),
17343        1usize,
17344        "Alignment of HRSS_private_key"
17345    );
17346    assert_eq!(
17347        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17348        0usize,
17349        "Offset of field: HRSS_private_key::opaque"
17350    );
17351}
17352impl Default for HRSS_private_key {
17353    fn default() -> Self {
17354        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17355        unsafe {
17356            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17357            s.assume_init()
17358        }
17359    }
17360}
17361#[repr(C)]
17362#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17363pub struct HRSS_public_key {
17364    pub opaque: [u8; 1424usize],
17365}
17366#[test]
17367fn bindgen_test_layout_HRSS_public_key() {
17368    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
17369    let ptr = UNINIT.as_ptr();
17370    assert_eq!(
17371        ::std::mem::size_of::<HRSS_public_key>(),
17372        1424usize,
17373        "Size of HRSS_public_key"
17374    );
17375    assert_eq!(
17376        ::std::mem::align_of::<HRSS_public_key>(),
17377        1usize,
17378        "Alignment of HRSS_public_key"
17379    );
17380    assert_eq!(
17381        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
17382        0usize,
17383        "Offset of field: HRSS_public_key::opaque"
17384    );
17385}
17386impl Default for HRSS_public_key {
17387    fn default() -> Self {
17388        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17389        unsafe {
17390            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17391            s.assume_init()
17392        }
17393    }
17394}
17395extern "C" {
17396    #[link_name = "\u{1}aws_lc_0_33_0_HRSS_generate_key"]
17397    pub fn HRSS_generate_key(
17398        out_pub: *mut HRSS_public_key,
17399        out_priv: *mut HRSS_private_key,
17400        input: *const u8,
17401    ) -> ::std::os::raw::c_int;
17402}
17403extern "C" {
17404    #[link_name = "\u{1}aws_lc_0_33_0_HRSS_encap"]
17405    pub fn HRSS_encap(
17406        out_ciphertext: *mut u8,
17407        out_shared_key: *mut u8,
17408        in_pub: *const HRSS_public_key,
17409        in_: *const u8,
17410    ) -> ::std::os::raw::c_int;
17411}
17412extern "C" {
17413    #[link_name = "\u{1}aws_lc_0_33_0_HRSS_decap"]
17414    pub fn HRSS_decap(
17415        out_shared_key: *mut u8,
17416        in_priv: *const HRSS_private_key,
17417        ciphertext: *const u8,
17418        ciphertext_len: usize,
17419    ) -> ::std::os::raw::c_int;
17420}
17421extern "C" {
17422    #[link_name = "\u{1}aws_lc_0_33_0_HRSS_marshal_public_key"]
17423    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
17424}
17425extern "C" {
17426    #[link_name = "\u{1}aws_lc_0_33_0_HRSS_parse_public_key"]
17427    pub fn HRSS_parse_public_key(
17428        out: *mut HRSS_public_key,
17429        in_: *const u8,
17430    ) -> ::std::os::raw::c_int;
17431}
17432extern "C" {
17433    #[link_name = "\u{1}aws_lc_0_33_0_MD4_Init"]
17434    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
17435}
17436extern "C" {
17437    #[link_name = "\u{1}aws_lc_0_33_0_MD4_Update"]
17438    pub fn MD4_Update(
17439        md4: *mut MD4_CTX,
17440        data: *const ::std::os::raw::c_void,
17441        len: usize,
17442    ) -> ::std::os::raw::c_int;
17443}
17444extern "C" {
17445    #[link_name = "\u{1}aws_lc_0_33_0_MD4_Final"]
17446    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
17447}
17448extern "C" {
17449    #[link_name = "\u{1}aws_lc_0_33_0_MD4"]
17450    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
17451}
17452extern "C" {
17453    #[link_name = "\u{1}aws_lc_0_33_0_MD4_Transform"]
17454    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
17455}
17456#[repr(C)]
17457#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17458pub struct md4_state_st {
17459    pub h: [u32; 4usize],
17460    pub Nl: u32,
17461    pub Nh: u32,
17462    pub data: [u8; 64usize],
17463    pub num: ::std::os::raw::c_uint,
17464}
17465#[test]
17466fn bindgen_test_layout_md4_state_st() {
17467    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
17468    let ptr = UNINIT.as_ptr();
17469    assert_eq!(
17470        ::std::mem::size_of::<md4_state_st>(),
17471        92usize,
17472        "Size of md4_state_st"
17473    );
17474    assert_eq!(
17475        ::std::mem::align_of::<md4_state_st>(),
17476        4usize,
17477        "Alignment of md4_state_st"
17478    );
17479    assert_eq!(
17480        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
17481        0usize,
17482        "Offset of field: md4_state_st::h"
17483    );
17484    assert_eq!(
17485        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
17486        16usize,
17487        "Offset of field: md4_state_st::Nl"
17488    );
17489    assert_eq!(
17490        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
17491        20usize,
17492        "Offset of field: md4_state_st::Nh"
17493    );
17494    assert_eq!(
17495        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17496        24usize,
17497        "Offset of field: md4_state_st::data"
17498    );
17499    assert_eq!(
17500        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
17501        88usize,
17502        "Offset of field: md4_state_st::num"
17503    );
17504}
17505impl Default for md4_state_st {
17506    fn default() -> Self {
17507        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17508        unsafe {
17509            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17510            s.assume_init()
17511        }
17512    }
17513}
17514#[repr(C)]
17515#[derive(Debug, Copy, Clone)]
17516pub struct stack_st_CRYPTO_BUFFER {
17517    _unused: [u8; 0],
17518}
17519#[repr(C)]
17520#[derive(Debug, Copy, Clone)]
17521pub struct stack_st_X509 {
17522    _unused: [u8; 0],
17523}
17524#[repr(C)]
17525#[derive(Debug, Copy, Clone)]
17526pub struct stack_st_X509_CRL {
17527    _unused: [u8; 0],
17528}
17529extern "C" {
17530    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_raw_certificates"]
17531    pub fn PKCS7_get_raw_certificates(
17532        out_certs: *mut stack_st_CRYPTO_BUFFER,
17533        cbs: *mut CBS,
17534        pool: *mut CRYPTO_BUFFER_POOL,
17535    ) -> ::std::os::raw::c_int;
17536}
17537extern "C" {
17538    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_certificates"]
17539    pub fn PKCS7_get_certificates(
17540        out_certs: *mut stack_st_X509,
17541        cbs: *mut CBS,
17542    ) -> ::std::os::raw::c_int;
17543}
17544extern "C" {
17545    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_bundle_raw_certificates"]
17546    pub fn PKCS7_bundle_raw_certificates(
17547        out: *mut CBB,
17548        certs: *const stack_st_CRYPTO_BUFFER,
17549    ) -> ::std::os::raw::c_int;
17550}
17551extern "C" {
17552    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_bundle_certificates"]
17553    pub fn PKCS7_bundle_certificates(
17554        out: *mut CBB,
17555        certs: *const stack_st_X509,
17556    ) -> ::std::os::raw::c_int;
17557}
17558extern "C" {
17559    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_CRLs"]
17560    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
17561        -> ::std::os::raw::c_int;
17562}
17563extern "C" {
17564    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_bundle_CRLs"]
17565    pub fn PKCS7_bundle_CRLs(
17566        out: *mut CBB,
17567        crls: *const stack_st_X509_CRL,
17568    ) -> ::std::os::raw::c_int;
17569}
17570extern "C" {
17571    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_PEM_certificates"]
17572    pub fn PKCS7_get_PEM_certificates(
17573        out_certs: *mut stack_st_X509,
17574        pem_bio: *mut BIO,
17575    ) -> ::std::os::raw::c_int;
17576}
17577extern "C" {
17578    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_PEM_CRLs"]
17579    pub fn PKCS7_get_PEM_CRLs(
17580        out_crls: *mut stack_st_X509_CRL,
17581        pem_bio: *mut BIO,
17582    ) -> ::std::os::raw::c_int;
17583}
17584extern "C" {
17585    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS7_bio"]
17586    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
17587}
17588extern "C" {
17589    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS7_bio"]
17590    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
17591}
17592extern "C" {
17593    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_data"]
17594    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
17595}
17596extern "C" {
17597    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_digest"]
17598    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
17599}
17600extern "C" {
17601    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_encrypted"]
17602    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
17603}
17604extern "C" {
17605    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_enveloped"]
17606    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17607}
17608extern "C" {
17609    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_signed"]
17610    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
17611}
17612extern "C" {
17613    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_type_is_signedAndEnveloped"]
17614    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17615}
17616#[repr(C)]
17617#[derive(Copy, Clone)]
17618pub struct pkcs7_st {
17619    pub type_: *mut ASN1_OBJECT,
17620    pub d: pkcs7_st__bindgen_ty_1,
17621}
17622#[repr(C)]
17623#[derive(Copy, Clone)]
17624pub union pkcs7_st__bindgen_ty_1 {
17625    pub ptr: *mut ::std::os::raw::c_char,
17626    pub data: *mut ASN1_OCTET_STRING,
17627    pub sign: *mut PKCS7_SIGNED,
17628    pub enveloped: *mut PKCS7_ENVELOPE,
17629    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
17630    pub digest: *mut PKCS7_DIGEST,
17631    pub encrypted: *mut PKCS7_ENCRYPT,
17632    pub other: *mut ASN1_TYPE,
17633}
17634#[test]
17635fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
17636    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
17637        ::std::mem::MaybeUninit::uninit();
17638    let ptr = UNINIT.as_ptr();
17639    assert_eq!(
17640        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
17641        8usize,
17642        "Size of pkcs7_st__bindgen_ty_1"
17643    );
17644    assert_eq!(
17645        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
17646        8usize,
17647        "Alignment of pkcs7_st__bindgen_ty_1"
17648    );
17649    assert_eq!(
17650        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
17651        0usize,
17652        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
17653    );
17654    assert_eq!(
17655        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17656        0usize,
17657        "Offset of field: pkcs7_st__bindgen_ty_1::data"
17658    );
17659    assert_eq!(
17660        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
17661        0usize,
17662        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
17663    );
17664    assert_eq!(
17665        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
17666        0usize,
17667        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
17668    );
17669    assert_eq!(
17670        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
17671        0usize,
17672        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
17673    );
17674    assert_eq!(
17675        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
17676        0usize,
17677        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
17678    );
17679    assert_eq!(
17680        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
17681        0usize,
17682        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
17683    );
17684    assert_eq!(
17685        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
17686        0usize,
17687        "Offset of field: pkcs7_st__bindgen_ty_1::other"
17688    );
17689}
17690impl Default for pkcs7_st__bindgen_ty_1 {
17691    fn default() -> Self {
17692        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17693        unsafe {
17694            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17695            s.assume_init()
17696        }
17697    }
17698}
17699#[test]
17700fn bindgen_test_layout_pkcs7_st() {
17701    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
17702    let ptr = UNINIT.as_ptr();
17703    assert_eq!(
17704        ::std::mem::size_of::<pkcs7_st>(),
17705        16usize,
17706        "Size of pkcs7_st"
17707    );
17708    assert_eq!(
17709        ::std::mem::align_of::<pkcs7_st>(),
17710        8usize,
17711        "Alignment of pkcs7_st"
17712    );
17713    assert_eq!(
17714        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
17715        0usize,
17716        "Offset of field: pkcs7_st::type_"
17717    );
17718    assert_eq!(
17719        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
17720        8usize,
17721        "Offset of field: pkcs7_st::d"
17722    );
17723}
17724impl Default for pkcs7_st {
17725    fn default() -> Self {
17726        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17727        unsafe {
17728            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17729            s.assume_init()
17730        }
17731    }
17732}
17733#[repr(C)]
17734#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17735pub struct pkcs7_signed_st {
17736    pub version: *mut ASN1_INTEGER,
17737    pub md_algs: *mut stack_st_X509_ALGOR,
17738    pub contents: *mut PKCS7,
17739    pub cert: *mut stack_st_X509,
17740    pub crl: *mut stack_st_X509_CRL,
17741    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
17742}
17743#[test]
17744fn bindgen_test_layout_pkcs7_signed_st() {
17745    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
17746    let ptr = UNINIT.as_ptr();
17747    assert_eq!(
17748        ::std::mem::size_of::<pkcs7_signed_st>(),
17749        48usize,
17750        "Size of pkcs7_signed_st"
17751    );
17752    assert_eq!(
17753        ::std::mem::align_of::<pkcs7_signed_st>(),
17754        8usize,
17755        "Alignment of pkcs7_signed_st"
17756    );
17757    assert_eq!(
17758        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17759        0usize,
17760        "Offset of field: pkcs7_signed_st::version"
17761    );
17762    assert_eq!(
17763        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
17764        8usize,
17765        "Offset of field: pkcs7_signed_st::md_algs"
17766    );
17767    assert_eq!(
17768        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
17769        16usize,
17770        "Offset of field: pkcs7_signed_st::contents"
17771    );
17772    assert_eq!(
17773        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
17774        24usize,
17775        "Offset of field: pkcs7_signed_st::cert"
17776    );
17777    assert_eq!(
17778        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
17779        32usize,
17780        "Offset of field: pkcs7_signed_st::crl"
17781    );
17782    assert_eq!(
17783        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
17784        40usize,
17785        "Offset of field: pkcs7_signed_st::signer_info"
17786    );
17787}
17788impl Default for pkcs7_signed_st {
17789    fn default() -> Self {
17790        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17791        unsafe {
17792            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17793            s.assume_init()
17794        }
17795    }
17796}
17797#[repr(C)]
17798#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17799pub struct pkcs7_signer_info_st {
17800    pub version: *mut ASN1_INTEGER,
17801    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
17802    pub digest_alg: *mut X509_ALGOR,
17803    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
17804    pub digest_enc_alg: *mut X509_ALGOR,
17805    pub enc_digest: *mut ASN1_OCTET_STRING,
17806    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
17807    pub pkey: *mut EVP_PKEY,
17808}
17809#[test]
17810fn bindgen_test_layout_pkcs7_signer_info_st() {
17811    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
17812    let ptr = UNINIT.as_ptr();
17813    assert_eq!(
17814        ::std::mem::size_of::<pkcs7_signer_info_st>(),
17815        64usize,
17816        "Size of pkcs7_signer_info_st"
17817    );
17818    assert_eq!(
17819        ::std::mem::align_of::<pkcs7_signer_info_st>(),
17820        8usize,
17821        "Alignment of pkcs7_signer_info_st"
17822    );
17823    assert_eq!(
17824        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17825        0usize,
17826        "Offset of field: pkcs7_signer_info_st::version"
17827    );
17828    assert_eq!(
17829        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
17830        8usize,
17831        "Offset of field: pkcs7_signer_info_st::issuer_and_serial"
17832    );
17833    assert_eq!(
17834        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
17835        16usize,
17836        "Offset of field: pkcs7_signer_info_st::digest_alg"
17837    );
17838    assert_eq!(
17839        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
17840        24usize,
17841        "Offset of field: pkcs7_signer_info_st::auth_attr"
17842    );
17843    assert_eq!(
17844        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
17845        32usize,
17846        "Offset of field: pkcs7_signer_info_st::digest_enc_alg"
17847    );
17848    assert_eq!(
17849        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
17850        40usize,
17851        "Offset of field: pkcs7_signer_info_st::enc_digest"
17852    );
17853    assert_eq!(
17854        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
17855        48usize,
17856        "Offset of field: pkcs7_signer_info_st::unauth_attr"
17857    );
17858    assert_eq!(
17859        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
17860        56usize,
17861        "Offset of field: pkcs7_signer_info_st::pkey"
17862    );
17863}
17864impl Default for pkcs7_signer_info_st {
17865    fn default() -> Self {
17866        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17867        unsafe {
17868            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17869            s.assume_init()
17870        }
17871    }
17872}
17873#[repr(C)]
17874#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17875pub struct pkcs7_sign_envelope_st {
17876    pub version: *mut ASN1_INTEGER,
17877    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
17878    pub md_algs: *mut stack_st_X509_ALGOR,
17879    pub enc_data: *mut PKCS7_ENC_CONTENT,
17880    pub cert: *mut stack_st_X509,
17881    pub crl: *mut stack_st_X509_CRL,
17882    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
17883}
17884#[test]
17885fn bindgen_test_layout_pkcs7_sign_envelope_st() {
17886    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
17887        ::std::mem::MaybeUninit::uninit();
17888    let ptr = UNINIT.as_ptr();
17889    assert_eq!(
17890        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
17891        56usize,
17892        "Size of pkcs7_sign_envelope_st"
17893    );
17894    assert_eq!(
17895        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
17896        8usize,
17897        "Alignment of pkcs7_sign_envelope_st"
17898    );
17899    assert_eq!(
17900        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17901        0usize,
17902        "Offset of field: pkcs7_sign_envelope_st::version"
17903    );
17904    assert_eq!(
17905        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
17906        8usize,
17907        "Offset of field: pkcs7_sign_envelope_st::recipientinfo"
17908    );
17909    assert_eq!(
17910        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
17911        16usize,
17912        "Offset of field: pkcs7_sign_envelope_st::md_algs"
17913    );
17914    assert_eq!(
17915        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
17916        24usize,
17917        "Offset of field: pkcs7_sign_envelope_st::enc_data"
17918    );
17919    assert_eq!(
17920        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
17921        32usize,
17922        "Offset of field: pkcs7_sign_envelope_st::cert"
17923    );
17924    assert_eq!(
17925        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
17926        40usize,
17927        "Offset of field: pkcs7_sign_envelope_st::crl"
17928    );
17929    assert_eq!(
17930        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
17931        48usize,
17932        "Offset of field: pkcs7_sign_envelope_st::signer_info"
17933    );
17934}
17935impl Default for pkcs7_sign_envelope_st {
17936    fn default() -> Self {
17937        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17938        unsafe {
17939            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17940            s.assume_init()
17941        }
17942    }
17943}
17944#[repr(C)]
17945#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17946pub struct pkcs7_envelope_st {
17947    pub version: *mut ASN1_INTEGER,
17948    pub enc_data: *mut PKCS7_ENC_CONTENT,
17949    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
17950}
17951#[test]
17952fn bindgen_test_layout_pkcs7_envelope_st() {
17953    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
17954    let ptr = UNINIT.as_ptr();
17955    assert_eq!(
17956        ::std::mem::size_of::<pkcs7_envelope_st>(),
17957        24usize,
17958        "Size of pkcs7_envelope_st"
17959    );
17960    assert_eq!(
17961        ::std::mem::align_of::<pkcs7_envelope_st>(),
17962        8usize,
17963        "Alignment of pkcs7_envelope_st"
17964    );
17965    assert_eq!(
17966        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17967        0usize,
17968        "Offset of field: pkcs7_envelope_st::version"
17969    );
17970    assert_eq!(
17971        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
17972        8usize,
17973        "Offset of field: pkcs7_envelope_st::enc_data"
17974    );
17975    assert_eq!(
17976        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
17977        16usize,
17978        "Offset of field: pkcs7_envelope_st::recipientinfo"
17979    );
17980}
17981impl Default for pkcs7_envelope_st {
17982    fn default() -> Self {
17983        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17984        unsafe {
17985            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17986            s.assume_init()
17987        }
17988    }
17989}
17990#[repr(C)]
17991#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17992pub struct pkcs7_recip_info_st {
17993    pub version: *mut ASN1_INTEGER,
17994    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
17995    pub key_enc_algor: *mut X509_ALGOR,
17996    pub enc_key: *mut ASN1_OCTET_STRING,
17997    pub cert: *mut X509,
17998}
17999#[test]
18000fn bindgen_test_layout_pkcs7_recip_info_st() {
18001    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
18002    let ptr = UNINIT.as_ptr();
18003    assert_eq!(
18004        ::std::mem::size_of::<pkcs7_recip_info_st>(),
18005        40usize,
18006        "Size of pkcs7_recip_info_st"
18007    );
18008    assert_eq!(
18009        ::std::mem::align_of::<pkcs7_recip_info_st>(),
18010        8usize,
18011        "Alignment of pkcs7_recip_info_st"
18012    );
18013    assert_eq!(
18014        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18015        0usize,
18016        "Offset of field: pkcs7_recip_info_st::version"
18017    );
18018    assert_eq!(
18019        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18020        8usize,
18021        "Offset of field: pkcs7_recip_info_st::issuer_and_serial"
18022    );
18023    assert_eq!(
18024        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
18025        16usize,
18026        "Offset of field: pkcs7_recip_info_st::key_enc_algor"
18027    );
18028    assert_eq!(
18029        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
18030        24usize,
18031        "Offset of field: pkcs7_recip_info_st::enc_key"
18032    );
18033    assert_eq!(
18034        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18035        32usize,
18036        "Offset of field: pkcs7_recip_info_st::cert"
18037    );
18038}
18039impl Default for pkcs7_recip_info_st {
18040    fn default() -> Self {
18041        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18042        unsafe {
18043            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18044            s.assume_init()
18045        }
18046    }
18047}
18048#[repr(C)]
18049#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18050pub struct pkcs7_issuer_and_serial_st {
18051    pub issuer: *mut X509_NAME,
18052    pub serial: *mut ASN1_INTEGER,
18053}
18054#[test]
18055fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
18056    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
18057        ::std::mem::MaybeUninit::uninit();
18058    let ptr = UNINIT.as_ptr();
18059    assert_eq!(
18060        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
18061        16usize,
18062        "Size of pkcs7_issuer_and_serial_st"
18063    );
18064    assert_eq!(
18065        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
18066        8usize,
18067        "Alignment of pkcs7_issuer_and_serial_st"
18068    );
18069    assert_eq!(
18070        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
18071        0usize,
18072        "Offset of field: pkcs7_issuer_and_serial_st::issuer"
18073    );
18074    assert_eq!(
18075        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
18076        8usize,
18077        "Offset of field: pkcs7_issuer_and_serial_st::serial"
18078    );
18079}
18080impl Default for pkcs7_issuer_and_serial_st {
18081    fn default() -> Self {
18082        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18083        unsafe {
18084            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18085            s.assume_init()
18086        }
18087    }
18088}
18089extern "C" {
18090    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_new"]
18091    pub fn PKCS7_new() -> *mut PKCS7;
18092}
18093extern "C" {
18094    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_free"]
18095    pub fn PKCS7_free(a: *mut PKCS7);
18096}
18097extern "C" {
18098    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS7"]
18099    pub fn d2i_PKCS7(
18100        a: *mut *mut PKCS7,
18101        in_: *mut *const ::std::os::raw::c_uchar,
18102        len: ::std::os::raw::c_long,
18103    ) -> *mut PKCS7;
18104}
18105extern "C" {
18106    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS7"]
18107    pub fn i2d_PKCS7(
18108        a: *mut PKCS7,
18109        out: *mut *mut ::std::os::raw::c_uchar,
18110    ) -> ::std::os::raw::c_int;
18111}
18112extern "C" {
18113    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_it"]
18114    pub static PKCS7_it: ASN1_ITEM;
18115}
18116extern "C" {
18117    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_RECIP_INFO_new"]
18118    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
18119}
18120extern "C" {
18121    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_RECIP_INFO_free"]
18122    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
18123}
18124extern "C" {
18125    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS7_RECIP_INFO"]
18126    pub fn d2i_PKCS7_RECIP_INFO(
18127        a: *mut *mut PKCS7_RECIP_INFO,
18128        in_: *mut *const ::std::os::raw::c_uchar,
18129        len: ::std::os::raw::c_long,
18130    ) -> *mut PKCS7_RECIP_INFO;
18131}
18132extern "C" {
18133    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS7_RECIP_INFO"]
18134    pub fn i2d_PKCS7_RECIP_INFO(
18135        a: *mut PKCS7_RECIP_INFO,
18136        out: *mut *mut ::std::os::raw::c_uchar,
18137    ) -> ::std::os::raw::c_int;
18138}
18139extern "C" {
18140    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_RECIP_INFO_it"]
18141    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
18142}
18143extern "C" {
18144    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_SIGNER_INFO_new"]
18145    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
18146}
18147extern "C" {
18148    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_SIGNER_INFO_free"]
18149    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
18150}
18151extern "C" {
18152    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS7_SIGNER_INFO"]
18153    pub fn d2i_PKCS7_SIGNER_INFO(
18154        a: *mut *mut PKCS7_SIGNER_INFO,
18155        in_: *mut *const ::std::os::raw::c_uchar,
18156        len: ::std::os::raw::c_long,
18157    ) -> *mut PKCS7_SIGNER_INFO;
18158}
18159extern "C" {
18160    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS7_SIGNER_INFO"]
18161    pub fn i2d_PKCS7_SIGNER_INFO(
18162        a: *mut PKCS7_SIGNER_INFO,
18163        out: *mut *mut ::std::os::raw::c_uchar,
18164    ) -> ::std::os::raw::c_int;
18165}
18166extern "C" {
18167    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_SIGNER_INFO_it"]
18168    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
18169}
18170#[repr(C)]
18171#[derive(Debug, Copy, Clone)]
18172pub struct stack_st_PKCS7_RECIP_INFO {
18173    _unused: [u8; 0],
18174}
18175pub type sk_PKCS7_RECIP_INFO_free_func =
18176    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
18177pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
18178    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
18179>;
18180pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
18181    unsafe extern "C" fn(
18182        arg1: *const *const PKCS7_RECIP_INFO,
18183        arg2: *const *const PKCS7_RECIP_INFO,
18184    ) -> ::std::os::raw::c_int,
18185>;
18186pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
18187    unsafe extern "C" fn(
18188        arg1: *mut PKCS7_RECIP_INFO,
18189        arg2: *mut ::std::os::raw::c_void,
18190    ) -> ::std::os::raw::c_int,
18191>;
18192#[repr(C)]
18193#[derive(Debug, Copy, Clone)]
18194pub struct stack_st_PKCS7_SIGNER_INFO {
18195    _unused: [u8; 0],
18196}
18197pub type sk_PKCS7_SIGNER_INFO_free_func =
18198    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
18199pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
18200    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
18201>;
18202pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
18203    unsafe extern "C" fn(
18204        arg1: *const *const PKCS7_SIGNER_INFO,
18205        arg2: *const *const PKCS7_SIGNER_INFO,
18206    ) -> ::std::os::raw::c_int,
18207>;
18208pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
18209    unsafe extern "C" fn(
18210        arg1: *mut PKCS7_SIGNER_INFO,
18211        arg2: *mut ::std::os::raw::c_void,
18212    ) -> ::std::os::raw::c_int,
18213>;
18214extern "C" {
18215    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_dup"]
18216    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
18217}
18218extern "C" {
18219    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_signed_attribute"]
18220    pub fn PKCS7_get_signed_attribute(
18221        si: *const PKCS7_SIGNER_INFO,
18222        nid: ::std::os::raw::c_int,
18223    ) -> *mut ASN1_TYPE;
18224}
18225extern "C" {
18226    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_signer_info"]
18227    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
18228}
18229extern "C" {
18230    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_RECIP_INFO_set"]
18231    pub fn PKCS7_RECIP_INFO_set(
18232        p7i: *mut PKCS7_RECIP_INFO,
18233        x509: *mut X509,
18234    ) -> ::std::os::raw::c_int;
18235}
18236extern "C" {
18237    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_SIGNER_INFO_set"]
18238    pub fn PKCS7_SIGNER_INFO_set(
18239        p7i: *mut PKCS7_SIGNER_INFO,
18240        x509: *mut X509,
18241        pkey: *mut EVP_PKEY,
18242        dgst: *const EVP_MD,
18243    ) -> ::std::os::raw::c_int;
18244}
18245extern "C" {
18246    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_add_certificate"]
18247    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
18248}
18249extern "C" {
18250    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_add_crl"]
18251    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
18252}
18253extern "C" {
18254    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_add_recipient_info"]
18255    pub fn PKCS7_add_recipient_info(
18256        p7: *mut PKCS7,
18257        ri: *mut PKCS7_RECIP_INFO,
18258    ) -> ::std::os::raw::c_int;
18259}
18260extern "C" {
18261    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_add_signer"]
18262    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
18263}
18264extern "C" {
18265    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_content_new"]
18266    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18267}
18268extern "C" {
18269    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_set_content"]
18270    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
18271}
18272extern "C" {
18273    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_set_cipher"]
18274    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
18275}
18276extern "C" {
18277    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_set_type"]
18278    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18279}
18280extern "C" {
18281    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_RECIP_INFO_get0_alg"]
18282    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
18283}
18284extern "C" {
18285    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_SIGNER_INFO_get0_algs"]
18286    pub fn PKCS7_SIGNER_INFO_get0_algs(
18287        si: *mut PKCS7_SIGNER_INFO,
18288        pk: *mut *mut EVP_PKEY,
18289        pdig: *mut *mut X509_ALGOR,
18290        psig: *mut *mut X509_ALGOR,
18291    );
18292}
18293extern "C" {
18294    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_sign"]
18295    pub fn PKCS7_sign(
18296        sign_cert: *mut X509,
18297        pkey: *mut EVP_PKEY,
18298        certs: *mut stack_st_X509,
18299        data: *mut BIO,
18300        flags: ::std::os::raw::c_int,
18301    ) -> *mut PKCS7;
18302}
18303extern "C" {
18304    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_verify"]
18305    pub fn PKCS7_verify(
18306        p7: *mut PKCS7,
18307        certs: *mut stack_st_X509,
18308        store: *mut X509_STORE,
18309        indata: *mut BIO,
18310        outdata: *mut BIO,
18311        flags: ::std::os::raw::c_int,
18312    ) -> ::std::os::raw::c_int;
18313}
18314extern "C" {
18315    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_is_detached"]
18316    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18317}
18318extern "C" {
18319    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_set_detached"]
18320    pub fn PKCS7_set_detached(
18321        p7: *mut PKCS7,
18322        detach: ::std::os::raw::c_int,
18323    ) -> ::std::os::raw::c_int;
18324}
18325extern "C" {
18326    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_detached"]
18327    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
18328}
18329extern "C" {
18330    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_dataInit"]
18331    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
18332}
18333extern "C" {
18334    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_dataFinal"]
18335    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
18336}
18337extern "C" {
18338    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_set_digest"]
18339    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
18340}
18341extern "C" {
18342    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get_recipient_info"]
18343    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
18344}
18345extern "C" {
18346    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_add_recipient"]
18347    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
18348}
18349extern "C" {
18350    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_get0_signers"]
18351    pub fn PKCS7_get0_signers(
18352        p7: *mut PKCS7,
18353        certs: *mut stack_st_X509,
18354        flags: ::std::os::raw::c_int,
18355    ) -> *mut stack_st_X509;
18356}
18357extern "C" {
18358    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_encrypt"]
18359    pub fn PKCS7_encrypt(
18360        certs: *mut stack_st_X509,
18361        in_: *mut BIO,
18362        cipher: *const EVP_CIPHER,
18363        flags: ::std::os::raw::c_int,
18364    ) -> *mut PKCS7;
18365}
18366extern "C" {
18367    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_decrypt"]
18368    pub fn PKCS7_decrypt(
18369        p7: *mut PKCS7,
18370        pkey: *mut EVP_PKEY,
18371        cert: *mut X509,
18372        data: *mut BIO,
18373        flags: ::std::os::raw::c_int,
18374    ) -> ::std::os::raw::c_int;
18375}
18376extern "C" {
18377    #[link_name = "\u{1}aws_lc_0_33_0_SMIME_read_PKCS7"]
18378    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
18379}
18380extern "C" {
18381    #[link_name = "\u{1}aws_lc_0_33_0_SMIME_write_PKCS7"]
18382    pub fn SMIME_write_PKCS7(
18383        out: *mut BIO,
18384        p7: *mut PKCS7,
18385        data: *mut BIO,
18386        flags: ::std::os::raw::c_int,
18387    ) -> ::std::os::raw::c_int;
18388}
18389extern "C" {
18390    #[link_name = "\u{1}aws_lc_0_33_0_PKCS7_print_ctx"]
18391    pub fn PKCS7_print_ctx(
18392        bio: *mut BIO,
18393        pkcs7: *mut PKCS7,
18394        indent: ::std::os::raw::c_int,
18395        pctx: *const ASN1_PCTX,
18396    ) -> ::std::os::raw::c_int;
18397}
18398pub type sk_CRYPTO_BUFFER_free_func =
18399    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
18400pub type sk_CRYPTO_BUFFER_copy_func =
18401    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
18402pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
18403    unsafe extern "C" fn(
18404        arg1: *const *const CRYPTO_BUFFER,
18405        arg2: *const *const CRYPTO_BUFFER,
18406    ) -> ::std::os::raw::c_int,
18407>;
18408pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
18409    unsafe extern "C" fn(
18410        arg1: *mut CRYPTO_BUFFER,
18411        arg2: *mut ::std::os::raw::c_void,
18412    ) -> ::std::os::raw::c_int,
18413>;
18414extern "C" {
18415    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_POOL_new"]
18416    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
18417}
18418extern "C" {
18419    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_POOL_free"]
18420    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
18421}
18422extern "C" {
18423    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_new"]
18424    pub fn CRYPTO_BUFFER_new(
18425        data: *const u8,
18426        len: usize,
18427        pool: *mut CRYPTO_BUFFER_POOL,
18428    ) -> *mut CRYPTO_BUFFER;
18429}
18430extern "C" {
18431    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_alloc"]
18432    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
18433}
18434extern "C" {
18435    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_new_from_CBS"]
18436    pub fn CRYPTO_BUFFER_new_from_CBS(
18437        cbs: *const CBS,
18438        pool: *mut CRYPTO_BUFFER_POOL,
18439    ) -> *mut CRYPTO_BUFFER;
18440}
18441extern "C" {
18442    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
18443    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
18444        data: *const u8,
18445        len: usize,
18446        pool: *mut CRYPTO_BUFFER_POOL,
18447    ) -> *mut CRYPTO_BUFFER;
18448}
18449extern "C" {
18450    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_free"]
18451    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
18452}
18453extern "C" {
18454    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_up_ref"]
18455    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
18456}
18457extern "C" {
18458    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_data"]
18459    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
18460}
18461extern "C" {
18462    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_len"]
18463    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
18464}
18465extern "C" {
18466    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_BUFFER_init_CBS"]
18467    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
18468}
18469extern "C" {
18470    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_public_key"]
18471    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
18472}
18473extern "C" {
18474    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_private_key"]
18475    pub fn RSA_new_private_key(
18476        n: *const BIGNUM,
18477        e: *const BIGNUM,
18478        d: *const BIGNUM,
18479        p: *const BIGNUM,
18480        q: *const BIGNUM,
18481        dmp1: *const BIGNUM,
18482        dmq1: *const BIGNUM,
18483        iqmp: *const BIGNUM,
18484    ) -> *mut RSA;
18485}
18486extern "C" {
18487    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new"]
18488    pub fn RSA_new() -> *mut RSA;
18489}
18490extern "C" {
18491    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_method"]
18492    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
18493}
18494extern "C" {
18495    #[link_name = "\u{1}aws_lc_0_33_0_RSA_free"]
18496    pub fn RSA_free(rsa: *mut RSA);
18497}
18498extern "C" {
18499    #[link_name = "\u{1}aws_lc_0_33_0_RSA_up_ref"]
18500    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
18501}
18502extern "C" {
18503    #[link_name = "\u{1}aws_lc_0_33_0_RSA_bits"]
18504    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
18505}
18506extern "C" {
18507    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_n"]
18508    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
18509}
18510extern "C" {
18511    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_e"]
18512    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
18513}
18514extern "C" {
18515    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_d"]
18516    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
18517}
18518extern "C" {
18519    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_p"]
18520    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
18521}
18522extern "C" {
18523    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_q"]
18524    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
18525}
18526extern "C" {
18527    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_dmp1"]
18528    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
18529}
18530extern "C" {
18531    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_dmq1"]
18532    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
18533}
18534extern "C" {
18535    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_iqmp"]
18536    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
18537}
18538extern "C" {
18539    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_key"]
18540    pub fn RSA_get0_key(
18541        rsa: *const RSA,
18542        out_n: *mut *const BIGNUM,
18543        out_e: *mut *const BIGNUM,
18544        out_d: *mut *const BIGNUM,
18545    );
18546}
18547extern "C" {
18548    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_factors"]
18549    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
18550}
18551extern "C" {
18552    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_crt_params"]
18553    pub fn RSA_get0_crt_params(
18554        rsa: *const RSA,
18555        out_dmp1: *mut *const BIGNUM,
18556        out_dmq1: *mut *const BIGNUM,
18557        out_iqmp: *mut *const BIGNUM,
18558    );
18559}
18560extern "C" {
18561    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set0_key"]
18562    pub fn RSA_set0_key(
18563        rsa: *mut RSA,
18564        n: *mut BIGNUM,
18565        e: *mut BIGNUM,
18566        d: *mut BIGNUM,
18567    ) -> ::std::os::raw::c_int;
18568}
18569extern "C" {
18570    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set0_factors"]
18571    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
18572        -> ::std::os::raw::c_int;
18573}
18574extern "C" {
18575    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set0_crt_params"]
18576    pub fn RSA_set0_crt_params(
18577        rsa: *mut RSA,
18578        dmp1: *mut BIGNUM,
18579        dmq1: *mut BIGNUM,
18580        iqmp: *mut BIGNUM,
18581    ) -> ::std::os::raw::c_int;
18582}
18583extern "C" {
18584    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get_default_method"]
18585    pub fn RSA_get_default_method() -> *const RSA_METHOD;
18586}
18587extern "C" {
18588    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_new"]
18589    pub fn RSA_meth_new(
18590        name: *const ::std::os::raw::c_char,
18591        flags: ::std::os::raw::c_int,
18592    ) -> *mut RSA_METHOD;
18593}
18594extern "C" {
18595    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set_method"]
18596    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
18597}
18598extern "C" {
18599    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get_method"]
18600    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
18601}
18602extern "C" {
18603    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_free"]
18604    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
18605}
18606extern "C" {
18607    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_init"]
18608    pub fn RSA_meth_set_init(
18609        meth: *mut RSA_METHOD,
18610        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
18611    ) -> ::std::os::raw::c_int;
18612}
18613extern "C" {
18614    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_finish"]
18615    pub fn RSA_meth_set_finish(
18616        meth: *mut RSA_METHOD,
18617        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
18618    ) -> ::std::os::raw::c_int;
18619}
18620extern "C" {
18621    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_priv_dec"]
18622    pub fn RSA_meth_set_priv_dec(
18623        meth: *mut RSA_METHOD,
18624        priv_dec: ::std::option::Option<
18625            unsafe extern "C" fn(
18626                max_out: ::std::os::raw::c_int,
18627                from: *const u8,
18628                to: *mut u8,
18629                rsa: *mut RSA,
18630                padding: ::std::os::raw::c_int,
18631            ) -> ::std::os::raw::c_int,
18632        >,
18633    ) -> ::std::os::raw::c_int;
18634}
18635extern "C" {
18636    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_priv_enc"]
18637    pub fn RSA_meth_set_priv_enc(
18638        meth: *mut RSA_METHOD,
18639        priv_enc: ::std::option::Option<
18640            unsafe extern "C" fn(
18641                max_out: ::std::os::raw::c_int,
18642                from: *const u8,
18643                to: *mut u8,
18644                rsa: *mut RSA,
18645                padding: ::std::os::raw::c_int,
18646            ) -> ::std::os::raw::c_int,
18647        >,
18648    ) -> ::std::os::raw::c_int;
18649}
18650extern "C" {
18651    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_pub_dec"]
18652    pub fn RSA_meth_set_pub_dec(
18653        meth: *mut RSA_METHOD,
18654        pub_dec: ::std::option::Option<
18655            unsafe extern "C" fn(
18656                max_out: ::std::os::raw::c_int,
18657                from: *const u8,
18658                to: *mut u8,
18659                rsa: *mut RSA,
18660                padding: ::std::os::raw::c_int,
18661            ) -> ::std::os::raw::c_int,
18662        >,
18663    ) -> ::std::os::raw::c_int;
18664}
18665extern "C" {
18666    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_pub_enc"]
18667    pub fn RSA_meth_set_pub_enc(
18668        meth: *mut RSA_METHOD,
18669        pub_enc: ::std::option::Option<
18670            unsafe extern "C" fn(
18671                max_out: ::std::os::raw::c_int,
18672                from: *const u8,
18673                to: *mut u8,
18674                rsa: *mut RSA,
18675                padding: ::std::os::raw::c_int,
18676            ) -> ::std::os::raw::c_int,
18677        >,
18678    ) -> ::std::os::raw::c_int;
18679}
18680extern "C" {
18681    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set0_app_data"]
18682    pub fn RSA_meth_set0_app_data(
18683        meth: *mut RSA_METHOD,
18684        app_data: *mut ::std::os::raw::c_void,
18685    ) -> ::std::os::raw::c_int;
18686}
18687extern "C" {
18688    #[link_name = "\u{1}aws_lc_0_33_0_RSA_meth_set_sign"]
18689    pub fn RSA_meth_set_sign(
18690        meth: *mut RSA_METHOD,
18691        sign: ::std::option::Option<
18692            unsafe extern "C" fn(
18693                type_: ::std::os::raw::c_int,
18694                m: *const ::std::os::raw::c_uchar,
18695                m_length: ::std::os::raw::c_uint,
18696                sigret: *mut ::std::os::raw::c_uchar,
18697                siglen: *mut ::std::os::raw::c_uint,
18698                rsa: *const RSA,
18699            ) -> ::std::os::raw::c_int,
18700        >,
18701    ) -> ::std::os::raw::c_int;
18702}
18703extern "C" {
18704    #[link_name = "\u{1}aws_lc_0_33_0_RSA_generate_key_ex"]
18705    pub fn RSA_generate_key_ex(
18706        rsa: *mut RSA,
18707        bits: ::std::os::raw::c_int,
18708        e: *const BIGNUM,
18709        cb: *mut BN_GENCB,
18710    ) -> ::std::os::raw::c_int;
18711}
18712extern "C" {
18713    #[link_name = "\u{1}aws_lc_0_33_0_RSA_generate_key_fips"]
18714    pub fn RSA_generate_key_fips(
18715        rsa: *mut RSA,
18716        bits: ::std::os::raw::c_int,
18717        cb: *mut BN_GENCB,
18718    ) -> ::std::os::raw::c_int;
18719}
18720extern "C" {
18721    #[link_name = "\u{1}aws_lc_0_33_0_RSA_encrypt"]
18722    pub fn RSA_encrypt(
18723        rsa: *mut RSA,
18724        out_len: *mut usize,
18725        out: *mut u8,
18726        max_out: usize,
18727        in_: *const u8,
18728        in_len: usize,
18729        padding: ::std::os::raw::c_int,
18730    ) -> ::std::os::raw::c_int;
18731}
18732extern "C" {
18733    #[link_name = "\u{1}aws_lc_0_33_0_RSA_decrypt"]
18734    pub fn RSA_decrypt(
18735        rsa: *mut RSA,
18736        out_len: *mut usize,
18737        out: *mut u8,
18738        max_out: usize,
18739        in_: *const u8,
18740        in_len: usize,
18741        padding: ::std::os::raw::c_int,
18742    ) -> ::std::os::raw::c_int;
18743}
18744extern "C" {
18745    #[link_name = "\u{1}aws_lc_0_33_0_RSA_public_encrypt"]
18746    pub fn RSA_public_encrypt(
18747        flen: usize,
18748        from: *const u8,
18749        to: *mut u8,
18750        rsa: *mut RSA,
18751        padding: ::std::os::raw::c_int,
18752    ) -> ::std::os::raw::c_int;
18753}
18754extern "C" {
18755    #[link_name = "\u{1}aws_lc_0_33_0_RSA_private_decrypt"]
18756    pub fn RSA_private_decrypt(
18757        flen: usize,
18758        from: *const u8,
18759        to: *mut u8,
18760        rsa: *mut RSA,
18761        padding: ::std::os::raw::c_int,
18762    ) -> ::std::os::raw::c_int;
18763}
18764extern "C" {
18765    #[link_name = "\u{1}aws_lc_0_33_0_RSA_sign"]
18766    pub fn RSA_sign(
18767        hash_nid: ::std::os::raw::c_int,
18768        digest: *const u8,
18769        digest_len: usize,
18770        out: *mut u8,
18771        out_len: *mut ::std::os::raw::c_uint,
18772        rsa: *mut RSA,
18773    ) -> ::std::os::raw::c_int;
18774}
18775extern "C" {
18776    #[link_name = "\u{1}aws_lc_0_33_0_RSA_sign_pss_mgf1"]
18777    pub fn RSA_sign_pss_mgf1(
18778        rsa: *mut RSA,
18779        out_len: *mut usize,
18780        out: *mut u8,
18781        max_out: usize,
18782        digest: *const u8,
18783        digest_len: usize,
18784        md: *const EVP_MD,
18785        mgf1_md: *const EVP_MD,
18786        salt_len: ::std::os::raw::c_int,
18787    ) -> ::std::os::raw::c_int;
18788}
18789extern "C" {
18790    #[link_name = "\u{1}aws_lc_0_33_0_RSA_sign_raw"]
18791    pub fn RSA_sign_raw(
18792        rsa: *mut RSA,
18793        out_len: *mut usize,
18794        out: *mut u8,
18795        max_out: usize,
18796        in_: *const u8,
18797        in_len: usize,
18798        padding: ::std::os::raw::c_int,
18799    ) -> ::std::os::raw::c_int;
18800}
18801extern "C" {
18802    #[link_name = "\u{1}aws_lc_0_33_0_RSA_verify"]
18803    pub fn RSA_verify(
18804        hash_nid: ::std::os::raw::c_int,
18805        digest: *const u8,
18806        digest_len: usize,
18807        sig: *const u8,
18808        sig_len: usize,
18809        rsa: *mut RSA,
18810    ) -> ::std::os::raw::c_int;
18811}
18812extern "C" {
18813    #[link_name = "\u{1}aws_lc_0_33_0_RSA_verify_pss_mgf1"]
18814    pub fn RSA_verify_pss_mgf1(
18815        rsa: *mut RSA,
18816        digest: *const u8,
18817        digest_len: usize,
18818        md: *const EVP_MD,
18819        mgf1_md: *const EVP_MD,
18820        salt_len: ::std::os::raw::c_int,
18821        sig: *const u8,
18822        sig_len: usize,
18823    ) -> ::std::os::raw::c_int;
18824}
18825extern "C" {
18826    #[link_name = "\u{1}aws_lc_0_33_0_RSA_verify_raw"]
18827    pub fn RSA_verify_raw(
18828        rsa: *mut RSA,
18829        out_len: *mut usize,
18830        out: *mut u8,
18831        max_out: usize,
18832        in_: *const u8,
18833        in_len: usize,
18834        padding: ::std::os::raw::c_int,
18835    ) -> ::std::os::raw::c_int;
18836}
18837extern "C" {
18838    #[link_name = "\u{1}aws_lc_0_33_0_RSA_private_encrypt"]
18839    pub fn RSA_private_encrypt(
18840        flen: usize,
18841        from: *const u8,
18842        to: *mut u8,
18843        rsa: *mut RSA,
18844        padding: ::std::os::raw::c_int,
18845    ) -> ::std::os::raw::c_int;
18846}
18847extern "C" {
18848    #[link_name = "\u{1}aws_lc_0_33_0_RSA_public_decrypt"]
18849    pub fn RSA_public_decrypt(
18850        flen: usize,
18851        from: *const u8,
18852        to: *mut u8,
18853        rsa: *mut RSA,
18854        padding: ::std::os::raw::c_int,
18855    ) -> ::std::os::raw::c_int;
18856}
18857extern "C" {
18858    #[link_name = "\u{1}aws_lc_0_33_0_RSA_size"]
18859    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
18860}
18861extern "C" {
18862    #[link_name = "\u{1}aws_lc_0_33_0_RSA_is_opaque"]
18863    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
18864}
18865extern "C" {
18866    #[link_name = "\u{1}aws_lc_0_33_0_RSAPublicKey_dup"]
18867    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
18868}
18869extern "C" {
18870    #[link_name = "\u{1}aws_lc_0_33_0_RSAPrivateKey_dup"]
18871    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
18872}
18873extern "C" {
18874    #[link_name = "\u{1}aws_lc_0_33_0_RSA_check_key"]
18875    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
18876}
18877extern "C" {
18878    #[link_name = "\u{1}aws_lc_0_33_0_RSA_check_fips"]
18879    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
18880}
18881extern "C" {
18882    #[link_name = "\u{1}aws_lc_0_33_0_RSA_verify_PKCS1_PSS_mgf1"]
18883    pub fn RSA_verify_PKCS1_PSS_mgf1(
18884        rsa: *const RSA,
18885        mHash: *const u8,
18886        Hash: *const EVP_MD,
18887        mgf1Hash: *const EVP_MD,
18888        EM: *const u8,
18889        sLen: ::std::os::raw::c_int,
18890    ) -> ::std::os::raw::c_int;
18891}
18892extern "C" {
18893    #[link_name = "\u{1}aws_lc_0_33_0_RSA_padding_add_PKCS1_PSS_mgf1"]
18894    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
18895        rsa: *const RSA,
18896        EM: *mut u8,
18897        mHash: *const u8,
18898        Hash: *const EVP_MD,
18899        mgf1Hash: *const EVP_MD,
18900        sLen: ::std::os::raw::c_int,
18901    ) -> ::std::os::raw::c_int;
18902}
18903extern "C" {
18904    #[link_name = "\u{1}aws_lc_0_33_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
18905    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
18906        to: *mut u8,
18907        to_len: usize,
18908        from: *const u8,
18909        from_len: usize,
18910        param: *const u8,
18911        param_len: usize,
18912        md: *const EVP_MD,
18913        mgf1md: *const EVP_MD,
18914    ) -> ::std::os::raw::c_int;
18915}
18916extern "C" {
18917    #[link_name = "\u{1}aws_lc_0_33_0_PKCS1_MGF1"]
18918    pub fn PKCS1_MGF1(
18919        out: *mut u8,
18920        len: usize,
18921        seed: *const u8,
18922        seed_len: usize,
18923        md: *const EVP_MD,
18924    ) -> ::std::os::raw::c_int;
18925}
18926extern "C" {
18927    #[link_name = "\u{1}aws_lc_0_33_0_RSA_add_pkcs1_prefix"]
18928    pub fn RSA_add_pkcs1_prefix(
18929        out_msg: *mut *mut u8,
18930        out_msg_len: *mut usize,
18931        is_alloced: *mut ::std::os::raw::c_int,
18932        hash_nid: ::std::os::raw::c_int,
18933        digest: *const u8,
18934        digest_len: usize,
18935    ) -> ::std::os::raw::c_int;
18936}
18937extern "C" {
18938    #[link_name = "\u{1}aws_lc_0_33_0_RSA_parse_public_key"]
18939    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
18940}
18941extern "C" {
18942    #[link_name = "\u{1}aws_lc_0_33_0_RSA_public_key_from_bytes"]
18943    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18944}
18945extern "C" {
18946    #[link_name = "\u{1}aws_lc_0_33_0_RSA_marshal_public_key"]
18947    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18948}
18949extern "C" {
18950    #[link_name = "\u{1}aws_lc_0_33_0_RSA_public_key_to_bytes"]
18951    pub fn RSA_public_key_to_bytes(
18952        out_bytes: *mut *mut u8,
18953        out_len: *mut usize,
18954        rsa: *const RSA,
18955    ) -> ::std::os::raw::c_int;
18956}
18957extern "C" {
18958    #[link_name = "\u{1}aws_lc_0_33_0_RSA_parse_private_key"]
18959    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
18960}
18961extern "C" {
18962    #[link_name = "\u{1}aws_lc_0_33_0_RSA_private_key_from_bytes"]
18963    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18964}
18965extern "C" {
18966    #[link_name = "\u{1}aws_lc_0_33_0_RSA_marshal_private_key"]
18967    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18968}
18969extern "C" {
18970    #[link_name = "\u{1}aws_lc_0_33_0_RSA_private_key_to_bytes"]
18971    pub fn RSA_private_key_to_bytes(
18972        out_bytes: *mut *mut u8,
18973        out_len: *mut usize,
18974        rsa: *const RSA,
18975    ) -> ::std::os::raw::c_int;
18976}
18977extern "C" {
18978    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_private_key_no_crt"]
18979    pub fn RSA_new_private_key_no_crt(
18980        n: *const BIGNUM,
18981        e: *const BIGNUM,
18982        d: *const BIGNUM,
18983    ) -> *mut RSA;
18984}
18985extern "C" {
18986    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_private_key_no_e"]
18987    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
18988}
18989extern "C" {
18990    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_public_key_large_e"]
18991    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
18992}
18993extern "C" {
18994    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_private_key_large_e"]
18995    pub fn RSA_new_private_key_large_e(
18996        n: *const BIGNUM,
18997        e: *const BIGNUM,
18998        d: *const BIGNUM,
18999        p: *const BIGNUM,
19000        q: *const BIGNUM,
19001        dmp1: *const BIGNUM,
19002        dmq1: *const BIGNUM,
19003        iqmp: *const BIGNUM,
19004    ) -> *mut RSA;
19005}
19006extern "C" {
19007    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get_ex_new_index"]
19008    pub fn RSA_get_ex_new_index(
19009        argl: ::std::os::raw::c_long,
19010        argp: *mut ::std::os::raw::c_void,
19011        unused: *mut CRYPTO_EX_unused,
19012        dup_unused: CRYPTO_EX_dup,
19013        free_func: CRYPTO_EX_free,
19014    ) -> ::std::os::raw::c_int;
19015}
19016extern "C" {
19017    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set_ex_data"]
19018    pub fn RSA_set_ex_data(
19019        rsa: *mut RSA,
19020        idx: ::std::os::raw::c_int,
19021        arg: *mut ::std::os::raw::c_void,
19022    ) -> ::std::os::raw::c_int;
19023}
19024extern "C" {
19025    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get_ex_data"]
19026    pub fn RSA_get_ex_data(
19027        rsa: *const RSA,
19028        idx: ::std::os::raw::c_int,
19029    ) -> *mut ::std::os::raw::c_void;
19030}
19031extern "C" {
19032    #[link_name = "\u{1}aws_lc_0_33_0_RSA_flags"]
19033    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
19034}
19035extern "C" {
19036    #[link_name = "\u{1}aws_lc_0_33_0_RSA_set_flags"]
19037    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
19038}
19039extern "C" {
19040    #[link_name = "\u{1}aws_lc_0_33_0_RSA_test_flags"]
19041    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19042}
19043extern "C" {
19044    #[link_name = "\u{1}aws_lc_0_33_0_RSA_blinding_on"]
19045    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
19046}
19047extern "C" {
19048    #[link_name = "\u{1}aws_lc_0_33_0_RSA_blinding_off_temp_for_accp_compatibility"]
19049    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
19050}
19051extern "C" {
19052    #[link_name = "\u{1}aws_lc_0_33_0_RSA_pkey_ctx_ctrl"]
19053    pub fn RSA_pkey_ctx_ctrl(
19054        ctx: *mut EVP_PKEY_CTX,
19055        optype: ::std::os::raw::c_int,
19056        cmd: ::std::os::raw::c_int,
19057        p1: ::std::os::raw::c_int,
19058        p2: *mut ::std::os::raw::c_void,
19059    ) -> ::std::os::raw::c_int;
19060}
19061extern "C" {
19062    #[link_name = "\u{1}aws_lc_0_33_0_RSA_generate_key"]
19063    pub fn RSA_generate_key(
19064        bits: ::std::os::raw::c_int,
19065        e: u64,
19066        callback: *mut ::std::os::raw::c_void,
19067        cb_arg: *mut ::std::os::raw::c_void,
19068    ) -> *mut RSA;
19069}
19070extern "C" {
19071    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPublicKey"]
19072    pub fn d2i_RSAPublicKey(
19073        out: *mut *mut RSA,
19074        inp: *mut *const u8,
19075        len: ::std::os::raw::c_long,
19076    ) -> *mut RSA;
19077}
19078extern "C" {
19079    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPublicKey"]
19080    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19081}
19082extern "C" {
19083    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPrivateKey"]
19084    pub fn d2i_RSAPrivateKey(
19085        out: *mut *mut RSA,
19086        inp: *mut *const u8,
19087        len: ::std::os::raw::c_long,
19088    ) -> *mut RSA;
19089}
19090extern "C" {
19091    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPrivateKey"]
19092    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19093}
19094extern "C" {
19095    #[link_name = "\u{1}aws_lc_0_33_0_RSA_padding_add_PKCS1_PSS"]
19096    pub fn RSA_padding_add_PKCS1_PSS(
19097        rsa: *const RSA,
19098        EM: *mut u8,
19099        mHash: *const u8,
19100        Hash: *const EVP_MD,
19101        sLen: ::std::os::raw::c_int,
19102    ) -> ::std::os::raw::c_int;
19103}
19104extern "C" {
19105    #[link_name = "\u{1}aws_lc_0_33_0_RSA_verify_PKCS1_PSS"]
19106    pub fn RSA_verify_PKCS1_PSS(
19107        rsa: *const RSA,
19108        mHash: *const u8,
19109        Hash: *const EVP_MD,
19110        EM: *const u8,
19111        sLen: ::std::os::raw::c_int,
19112    ) -> ::std::os::raw::c_int;
19113}
19114extern "C" {
19115    #[link_name = "\u{1}aws_lc_0_33_0_RSA_padding_add_PKCS1_OAEP"]
19116    pub fn RSA_padding_add_PKCS1_OAEP(
19117        to: *mut u8,
19118        to_len: usize,
19119        from: *const u8,
19120        from_len: usize,
19121        param: *const u8,
19122        param_len: usize,
19123    ) -> ::std::os::raw::c_int;
19124}
19125extern "C" {
19126    #[link_name = "\u{1}aws_lc_0_33_0_RSA_print"]
19127    pub fn RSA_print(
19128        bio: *mut BIO,
19129        rsa: *const RSA,
19130        indent: ::std::os::raw::c_int,
19131    ) -> ::std::os::raw::c_int;
19132}
19133extern "C" {
19134    #[link_name = "\u{1}aws_lc_0_33_0_RSA_print_fp"]
19135    pub fn RSA_print_fp(
19136        fp: *mut FILE,
19137        rsa: *const RSA,
19138        indent: ::std::os::raw::c_int,
19139    ) -> ::std::os::raw::c_int;
19140}
19141extern "C" {
19142    #[link_name = "\u{1}aws_lc_0_33_0_RSA_get0_pss_params"]
19143    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
19144}
19145extern "C" {
19146    #[link_name = "\u{1}aws_lc_0_33_0_RSA_new_method_no_e"]
19147    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
19148}
19149pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
19150pub type sk_X509_copy_func =
19151    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
19152pub type sk_X509_cmp_func = ::std::option::Option<
19153    unsafe extern "C" fn(
19154        arg1: *const *const X509,
19155        arg2: *const *const X509,
19156    ) -> ::std::os::raw::c_int,
19157>;
19158pub type sk_X509_delete_if_func = ::std::option::Option<
19159    unsafe extern "C" fn(
19160        arg1: *mut X509,
19161        arg2: *mut ::std::os::raw::c_void,
19162    ) -> ::std::os::raw::c_int,
19163>;
19164extern "C" {
19165    #[link_name = "\u{1}aws_lc_0_33_0_X509_it"]
19166    pub static X509_it: ASN1_ITEM;
19167}
19168extern "C" {
19169    #[link_name = "\u{1}aws_lc_0_33_0_X509_up_ref"]
19170    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
19171}
19172extern "C" {
19173    #[link_name = "\u{1}aws_lc_0_33_0_X509_chain_up_ref"]
19174    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
19175}
19176extern "C" {
19177    #[link_name = "\u{1}aws_lc_0_33_0_X509_dup"]
19178    pub fn X509_dup(x509: *mut X509) -> *mut X509;
19179}
19180extern "C" {
19181    #[link_name = "\u{1}aws_lc_0_33_0_X509_free"]
19182    pub fn X509_free(x509: *mut X509);
19183}
19184extern "C" {
19185    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509"]
19186    pub fn d2i_X509(
19187        out: *mut *mut X509,
19188        inp: *mut *const u8,
19189        len: ::std::os::raw::c_long,
19190    ) -> *mut X509;
19191}
19192extern "C" {
19193    #[link_name = "\u{1}aws_lc_0_33_0_X509_parse_from_buffer"]
19194    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
19195}
19196extern "C" {
19197    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509"]
19198    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19199}
19200extern "C" {
19201    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_version"]
19202    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
19203}
19204extern "C" {
19205    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_serialNumber"]
19206    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
19207}
19208extern "C" {
19209    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_notBefore"]
19210    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
19211}
19212extern "C" {
19213    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_notAfter"]
19214    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
19215}
19216extern "C" {
19217    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_issuer_name"]
19218    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
19219}
19220extern "C" {
19221    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_subject_name"]
19222    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
19223}
19224extern "C" {
19225    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_X509_PUBKEY"]
19226    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
19227}
19228extern "C" {
19229    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_pubkey"]
19230    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19231}
19232extern "C" {
19233    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_pubkey"]
19234    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
19235}
19236extern "C" {
19237    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_pubkey_bitstr"]
19238    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
19239}
19240extern "C" {
19241    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_private_key"]
19242    pub fn X509_check_private_key(
19243        x509: *const X509,
19244        pkey: *const EVP_PKEY,
19245    ) -> ::std::os::raw::c_int;
19246}
19247extern "C" {
19248    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_uids"]
19249    pub fn X509_get0_uids(
19250        x509: *const X509,
19251        out_issuer_uid: *mut *const ASN1_BIT_STRING,
19252        out_subject_uid: *mut *const ASN1_BIT_STRING,
19253    );
19254}
19255extern "C" {
19256    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_extension_flags"]
19257    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
19258}
19259extern "C" {
19260    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_pathlen"]
19261    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
19262}
19263extern "C" {
19264    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_key_usage"]
19265    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
19266}
19267extern "C" {
19268    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_extended_key_usage"]
19269    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
19270}
19271extern "C" {
19272    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_subject_key_id"]
19273    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19274}
19275extern "C" {
19276    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_authority_key_id"]
19277    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
19278}
19279#[repr(C)]
19280#[derive(Debug, Copy, Clone)]
19281pub struct stack_st_GENERAL_NAME {
19282    _unused: [u8; 0],
19283}
19284pub type sk_GENERAL_NAME_free_func =
19285    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
19286pub type sk_GENERAL_NAME_copy_func =
19287    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
19288pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
19289    unsafe extern "C" fn(
19290        arg1: *const *const GENERAL_NAME,
19291        arg2: *const *const GENERAL_NAME,
19292    ) -> ::std::os::raw::c_int,
19293>;
19294pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
19295    unsafe extern "C" fn(
19296        arg1: *mut GENERAL_NAME,
19297        arg2: *mut ::std::os::raw::c_void,
19298    ) -> ::std::os::raw::c_int,
19299>;
19300pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
19301extern "C" {
19302    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_authority_issuer"]
19303    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
19304}
19305extern "C" {
19306    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_authority_serial"]
19307    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
19308}
19309#[repr(C)]
19310#[derive(Debug, Copy, Clone)]
19311pub struct stack_st_X509_EXTENSION {
19312    _unused: [u8; 0],
19313}
19314extern "C" {
19315    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_extensions"]
19316    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
19317}
19318extern "C" {
19319    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext_count"]
19320    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
19321}
19322extern "C" {
19323    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext_by_NID"]
19324    pub fn X509_get_ext_by_NID(
19325        x: *const X509,
19326        nid: ::std::os::raw::c_int,
19327        lastpos: ::std::os::raw::c_int,
19328    ) -> ::std::os::raw::c_int;
19329}
19330extern "C" {
19331    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext_by_OBJ"]
19332    pub fn X509_get_ext_by_OBJ(
19333        x: *const X509,
19334        obj: *const ASN1_OBJECT,
19335        lastpos: ::std::os::raw::c_int,
19336    ) -> ::std::os::raw::c_int;
19337}
19338extern "C" {
19339    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext_by_critical"]
19340    pub fn X509_get_ext_by_critical(
19341        x: *const X509,
19342        crit: ::std::os::raw::c_int,
19343        lastpos: ::std::os::raw::c_int,
19344    ) -> ::std::os::raw::c_int;
19345}
19346extern "C" {
19347    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext"]
19348    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19349}
19350extern "C" {
19351    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ext_d2i"]
19352    pub fn X509_get_ext_d2i(
19353        x509: *const X509,
19354        nid: ::std::os::raw::c_int,
19355        out_critical: *mut ::std::os::raw::c_int,
19356        out_idx: *mut ::std::os::raw::c_int,
19357    ) -> *mut ::std::os::raw::c_void;
19358}
19359extern "C" {
19360    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_tbs_sigalg"]
19361    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
19362}
19363extern "C" {
19364    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_signature_info"]
19365    pub fn X509_get_signature_info(
19366        x509: *mut X509,
19367        digest_nid: *mut ::std::os::raw::c_int,
19368        pubkey_nid: *mut ::std::os::raw::c_int,
19369        sec_bits: *mut ::std::os::raw::c_int,
19370        flags: *mut u32,
19371    ) -> ::std::os::raw::c_int;
19372}
19373extern "C" {
19374    #[link_name = "\u{1}aws_lc_0_33_0_X509_get0_signature"]
19375    pub fn X509_get0_signature(
19376        out_sig: *mut *const ASN1_BIT_STRING,
19377        out_alg: *mut *const X509_ALGOR,
19378        x509: *const X509,
19379    );
19380}
19381extern "C" {
19382    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_signature_nid"]
19383    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
19384}
19385extern "C" {
19386    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_tbs"]
19387    pub fn i2d_X509_tbs(
19388        x509: *mut X509,
19389        outp: *mut *mut ::std::os::raw::c_uchar,
19390    ) -> ::std::os::raw::c_int;
19391}
19392extern "C" {
19393    #[link_name = "\u{1}aws_lc_0_33_0_X509_verify"]
19394    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19395}
19396extern "C" {
19397    #[link_name = "\u{1}aws_lc_0_33_0_X509_get1_email"]
19398    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19399}
19400extern "C" {
19401    #[link_name = "\u{1}aws_lc_0_33_0_X509_get1_ocsp"]
19402    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
19403}
19404extern "C" {
19405    #[link_name = "\u{1}aws_lc_0_33_0_X509_email_free"]
19406    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
19407}
19408extern "C" {
19409    #[link_name = "\u{1}aws_lc_0_33_0_X509_cmp"]
19410    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
19411}
19412extern "C" {
19413    #[link_name = "\u{1}aws_lc_0_33_0_X509_new"]
19414    pub fn X509_new() -> *mut X509;
19415}
19416extern "C" {
19417    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_version"]
19418    pub fn X509_set_version(
19419        x509: *mut X509,
19420        version: ::std::os::raw::c_long,
19421    ) -> ::std::os::raw::c_int;
19422}
19423extern "C" {
19424    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_serialNumber"]
19425    pub fn X509_set_serialNumber(
19426        x509: *mut X509,
19427        serial: *const ASN1_INTEGER,
19428    ) -> ::std::os::raw::c_int;
19429}
19430extern "C" {
19431    #[link_name = "\u{1}aws_lc_0_33_0_X509_set1_notBefore"]
19432    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
19433}
19434extern "C" {
19435    #[link_name = "\u{1}aws_lc_0_33_0_X509_set1_notAfter"]
19436    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
19437}
19438extern "C" {
19439    #[link_name = "\u{1}aws_lc_0_33_0_X509_getm_notBefore"]
19440    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
19441}
19442extern "C" {
19443    #[link_name = "\u{1}aws_lc_0_33_0_X509_getm_notAfter"]
19444    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
19445}
19446extern "C" {
19447    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_issuer_name"]
19448    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
19449}
19450extern "C" {
19451    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_subject_name"]
19452    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
19453}
19454extern "C" {
19455    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_pubkey"]
19456    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19457}
19458extern "C" {
19459    #[link_name = "\u{1}aws_lc_0_33_0_X509_delete_ext"]
19460    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19461}
19462extern "C" {
19463    #[link_name = "\u{1}aws_lc_0_33_0_X509_add_ext"]
19464    pub fn X509_add_ext(
19465        x: *mut X509,
19466        ex: *const X509_EXTENSION,
19467        loc: ::std::os::raw::c_int,
19468    ) -> ::std::os::raw::c_int;
19469}
19470extern "C" {
19471    #[link_name = "\u{1}aws_lc_0_33_0_X509_add1_ext_i2d"]
19472    pub fn X509_add1_ext_i2d(
19473        x: *mut X509,
19474        nid: ::std::os::raw::c_int,
19475        value: *mut ::std::os::raw::c_void,
19476        crit: ::std::os::raw::c_int,
19477        flags: ::std::os::raw::c_ulong,
19478    ) -> ::std::os::raw::c_int;
19479}
19480extern "C" {
19481    #[link_name = "\u{1}aws_lc_0_33_0_X509_sign"]
19482    pub fn X509_sign(
19483        x509: *mut X509,
19484        pkey: *mut EVP_PKEY,
19485        md: *const EVP_MD,
19486    ) -> ::std::os::raw::c_int;
19487}
19488extern "C" {
19489    #[link_name = "\u{1}aws_lc_0_33_0_X509_sign_ctx"]
19490    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
19491}
19492extern "C" {
19493    #[link_name = "\u{1}aws_lc_0_33_0_i2d_re_X509_tbs"]
19494    pub fn i2d_re_X509_tbs(
19495        x509: *mut X509,
19496        outp: *mut *mut ::std::os::raw::c_uchar,
19497    ) -> ::std::os::raw::c_int;
19498}
19499extern "C" {
19500    #[link_name = "\u{1}aws_lc_0_33_0_X509_set1_signature_algo"]
19501    pub fn X509_set1_signature_algo(
19502        x509: *mut X509,
19503        algo: *const X509_ALGOR,
19504    ) -> ::std::os::raw::c_int;
19505}
19506extern "C" {
19507    #[link_name = "\u{1}aws_lc_0_33_0_X509_set1_signature_value"]
19508    pub fn X509_set1_signature_value(
19509        x509: *mut X509,
19510        sig: *const u8,
19511        sig_len: usize,
19512    ) -> ::std::os::raw::c_int;
19513}
19514extern "C" {
19515    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_AUX"]
19516    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19517}
19518extern "C" {
19519    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_AUX"]
19520    pub fn d2i_X509_AUX(
19521        x509: *mut *mut X509,
19522        inp: *mut *const u8,
19523        length: ::std::os::raw::c_long,
19524    ) -> *mut X509;
19525}
19526extern "C" {
19527    #[link_name = "\u{1}aws_lc_0_33_0_X509_alias_set1"]
19528    pub fn X509_alias_set1(
19529        x509: *mut X509,
19530        name: *const u8,
19531        len: ossl_ssize_t,
19532    ) -> ::std::os::raw::c_int;
19533}
19534extern "C" {
19535    #[link_name = "\u{1}aws_lc_0_33_0_X509_keyid_set1"]
19536    pub fn X509_keyid_set1(
19537        x509: *mut X509,
19538        id: *const u8,
19539        len: ossl_ssize_t,
19540    ) -> ::std::os::raw::c_int;
19541}
19542extern "C" {
19543    #[link_name = "\u{1}aws_lc_0_33_0_X509_alias_get0"]
19544    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
19545}
19546extern "C" {
19547    #[link_name = "\u{1}aws_lc_0_33_0_X509_keyid_get0"]
19548    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
19549}
19550extern "C" {
19551    #[link_name = "\u{1}aws_lc_0_33_0_X509_add1_trust_object"]
19552    pub fn X509_add1_trust_object(
19553        x509: *mut X509,
19554        obj: *const ASN1_OBJECT,
19555    ) -> ::std::os::raw::c_int;
19556}
19557extern "C" {
19558    #[link_name = "\u{1}aws_lc_0_33_0_X509_add1_reject_object"]
19559    pub fn X509_add1_reject_object(
19560        x509: *mut X509,
19561        obj: *const ASN1_OBJECT,
19562    ) -> ::std::os::raw::c_int;
19563}
19564extern "C" {
19565    #[link_name = "\u{1}aws_lc_0_33_0_X509_trust_clear"]
19566    pub fn X509_trust_clear(x509: *mut X509);
19567}
19568extern "C" {
19569    #[link_name = "\u{1}aws_lc_0_33_0_X509_reject_clear"]
19570    pub fn X509_reject_clear(x509: *mut X509);
19571}
19572pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
19573pub type sk_X509_CRL_copy_func =
19574    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
19575pub type sk_X509_CRL_cmp_func = ::std::option::Option<
19576    unsafe extern "C" fn(
19577        arg1: *const *const X509_CRL,
19578        arg2: *const *const X509_CRL,
19579    ) -> ::std::os::raw::c_int,
19580>;
19581pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
19582    unsafe extern "C" fn(
19583        arg1: *mut X509_CRL,
19584        arg2: *mut ::std::os::raw::c_void,
19585    ) -> ::std::os::raw::c_int,
19586>;
19587#[repr(C)]
19588#[derive(Debug, Copy, Clone)]
19589pub struct stack_st_X509_REVOKED {
19590    _unused: [u8; 0],
19591}
19592pub type sk_X509_REVOKED_free_func =
19593    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
19594pub type sk_X509_REVOKED_copy_func =
19595    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
19596pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
19597    unsafe extern "C" fn(
19598        arg1: *const *const X509_REVOKED,
19599        arg2: *const *const X509_REVOKED,
19600    ) -> ::std::os::raw::c_int,
19601>;
19602pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
19603    unsafe extern "C" fn(
19604        arg1: *mut X509_REVOKED,
19605        arg2: *mut ::std::os::raw::c_void,
19606    ) -> ::std::os::raw::c_int,
19607>;
19608extern "C" {
19609    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_it"]
19610    pub static X509_CRL_it: ASN1_ITEM;
19611}
19612extern "C" {
19613    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_up_ref"]
19614    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
19615}
19616extern "C" {
19617    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_dup"]
19618    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
19619}
19620extern "C" {
19621    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_free"]
19622    pub fn X509_CRL_free(crl: *mut X509_CRL);
19623}
19624extern "C" {
19625    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_CRL"]
19626    pub fn d2i_X509_CRL(
19627        out: *mut *mut X509_CRL,
19628        inp: *mut *const u8,
19629        len: ::std::os::raw::c_long,
19630    ) -> *mut X509_CRL;
19631}
19632extern "C" {
19633    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_CRL"]
19634    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19635}
19636extern "C" {
19637    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_match"]
19638    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
19639}
19640extern "C" {
19641    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_version"]
19642    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
19643}
19644extern "C" {
19645    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_lastUpdate"]
19646    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
19647}
19648extern "C" {
19649    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_nextUpdate"]
19650    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
19651}
19652extern "C" {
19653    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_issuer"]
19654    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
19655}
19656extern "C" {
19657    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_by_serial"]
19658    pub fn X509_CRL_get0_by_serial(
19659        crl: *mut X509_CRL,
19660        out: *mut *mut X509_REVOKED,
19661        serial: *const ASN1_INTEGER,
19662    ) -> ::std::os::raw::c_int;
19663}
19664extern "C" {
19665    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_by_cert"]
19666    pub fn X509_CRL_get0_by_cert(
19667        crl: *mut X509_CRL,
19668        out: *mut *mut X509_REVOKED,
19669        x509: *mut X509,
19670    ) -> ::std::os::raw::c_int;
19671}
19672extern "C" {
19673    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_REVOKED"]
19674    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
19675}
19676extern "C" {
19677    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_extensions"]
19678    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
19679}
19680extern "C" {
19681    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext_count"]
19682    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
19683}
19684extern "C" {
19685    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext_by_NID"]
19686    pub fn X509_CRL_get_ext_by_NID(
19687        x: *const X509_CRL,
19688        nid: ::std::os::raw::c_int,
19689        lastpos: ::std::os::raw::c_int,
19690    ) -> ::std::os::raw::c_int;
19691}
19692extern "C" {
19693    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext_by_OBJ"]
19694    pub fn X509_CRL_get_ext_by_OBJ(
19695        x: *const X509_CRL,
19696        obj: *const ASN1_OBJECT,
19697        lastpos: ::std::os::raw::c_int,
19698    ) -> ::std::os::raw::c_int;
19699}
19700extern "C" {
19701    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext_by_critical"]
19702    pub fn X509_CRL_get_ext_by_critical(
19703        x: *const X509_CRL,
19704        crit: ::std::os::raw::c_int,
19705        lastpos: ::std::os::raw::c_int,
19706    ) -> ::std::os::raw::c_int;
19707}
19708extern "C" {
19709    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext"]
19710    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
19711}
19712extern "C" {
19713    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_ext_d2i"]
19714    pub fn X509_CRL_get_ext_d2i(
19715        crl: *const X509_CRL,
19716        nid: ::std::os::raw::c_int,
19717        out_critical: *mut ::std::os::raw::c_int,
19718        out_idx: *mut ::std::os::raw::c_int,
19719    ) -> *mut ::std::os::raw::c_void;
19720}
19721extern "C" {
19722    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get0_signature"]
19723    pub fn X509_CRL_get0_signature(
19724        crl: *const X509_CRL,
19725        out_sig: *mut *const ASN1_BIT_STRING,
19726        out_alg: *mut *const X509_ALGOR,
19727    );
19728}
19729extern "C" {
19730    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_signature_nid"]
19731    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
19732}
19733extern "C" {
19734    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_CRL_tbs"]
19735    pub fn i2d_X509_CRL_tbs(
19736        crl: *mut X509_CRL,
19737        outp: *mut *mut ::std::os::raw::c_uchar,
19738    ) -> ::std::os::raw::c_int;
19739}
19740extern "C" {
19741    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_verify"]
19742    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19743}
19744extern "C" {
19745    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_new"]
19746    pub fn X509_CRL_new() -> *mut X509_CRL;
19747}
19748extern "C" {
19749    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set_version"]
19750    pub fn X509_CRL_set_version(
19751        crl: *mut X509_CRL,
19752        version: ::std::os::raw::c_long,
19753    ) -> ::std::os::raw::c_int;
19754}
19755extern "C" {
19756    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set_issuer_name"]
19757    pub fn X509_CRL_set_issuer_name(
19758        crl: *mut X509_CRL,
19759        name: *mut X509_NAME,
19760    ) -> ::std::os::raw::c_int;
19761}
19762extern "C" {
19763    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set1_lastUpdate"]
19764    pub fn X509_CRL_set1_lastUpdate(
19765        crl: *mut X509_CRL,
19766        tm: *const ASN1_TIME,
19767    ) -> ::std::os::raw::c_int;
19768}
19769extern "C" {
19770    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set1_nextUpdate"]
19771    pub fn X509_CRL_set1_nextUpdate(
19772        crl: *mut X509_CRL,
19773        tm: *const ASN1_TIME,
19774    ) -> ::std::os::raw::c_int;
19775}
19776extern "C" {
19777    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_add0_revoked"]
19778    pub fn X509_CRL_add0_revoked(
19779        crl: *mut X509_CRL,
19780        rev: *mut X509_REVOKED,
19781    ) -> ::std::os::raw::c_int;
19782}
19783extern "C" {
19784    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_sort"]
19785    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
19786}
19787extern "C" {
19788    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_delete_ext"]
19789    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
19790        -> *mut X509_EXTENSION;
19791}
19792extern "C" {
19793    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_add_ext"]
19794    pub fn X509_CRL_add_ext(
19795        x: *mut X509_CRL,
19796        ex: *const X509_EXTENSION,
19797        loc: ::std::os::raw::c_int,
19798    ) -> ::std::os::raw::c_int;
19799}
19800extern "C" {
19801    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_add1_ext_i2d"]
19802    pub fn X509_CRL_add1_ext_i2d(
19803        x: *mut X509_CRL,
19804        nid: ::std::os::raw::c_int,
19805        value: *mut ::std::os::raw::c_void,
19806        crit: ::std::os::raw::c_int,
19807        flags: ::std::os::raw::c_ulong,
19808    ) -> ::std::os::raw::c_int;
19809}
19810extern "C" {
19811    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_sign"]
19812    pub fn X509_CRL_sign(
19813        crl: *mut X509_CRL,
19814        pkey: *mut EVP_PKEY,
19815        md: *const EVP_MD,
19816    ) -> ::std::os::raw::c_int;
19817}
19818extern "C" {
19819    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_sign_ctx"]
19820    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
19821}
19822extern "C" {
19823    #[link_name = "\u{1}aws_lc_0_33_0_i2d_re_X509_CRL_tbs"]
19824    pub fn i2d_re_X509_CRL_tbs(
19825        crl: *mut X509_CRL,
19826        outp: *mut *mut ::std::os::raw::c_uchar,
19827    ) -> ::std::os::raw::c_int;
19828}
19829extern "C" {
19830    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set1_signature_algo"]
19831    pub fn X509_CRL_set1_signature_algo(
19832        crl: *mut X509_CRL,
19833        algo: *const X509_ALGOR,
19834    ) -> ::std::os::raw::c_int;
19835}
19836extern "C" {
19837    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_set1_signature_value"]
19838    pub fn X509_CRL_set1_signature_value(
19839        crl: *mut X509_CRL,
19840        sig: *const u8,
19841        sig_len: usize,
19842    ) -> ::std::os::raw::c_int;
19843}
19844extern "C" {
19845    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_http_nbio"]
19846    pub fn X509_CRL_http_nbio(
19847        rctx: *mut OCSP_REQ_CTX,
19848        pcrl: *mut *mut X509_CRL,
19849    ) -> ::std::os::raw::c_int;
19850}
19851extern "C" {
19852    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_it"]
19853    pub static X509_REVOKED_it: ASN1_ITEM;
19854}
19855extern "C" {
19856    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_new"]
19857    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
19858}
19859extern "C" {
19860    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_free"]
19861    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
19862}
19863extern "C" {
19864    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_REVOKED"]
19865    pub fn d2i_X509_REVOKED(
19866        out: *mut *mut X509_REVOKED,
19867        inp: *mut *const u8,
19868        len: ::std::os::raw::c_long,
19869    ) -> *mut X509_REVOKED;
19870}
19871extern "C" {
19872    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_REVOKED"]
19873    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19874}
19875extern "C" {
19876    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_dup"]
19877    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
19878}
19879extern "C" {
19880    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get0_serialNumber"]
19881    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
19882}
19883extern "C" {
19884    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_set_serialNumber"]
19885    pub fn X509_REVOKED_set_serialNumber(
19886        revoked: *mut X509_REVOKED,
19887        serial: *const ASN1_INTEGER,
19888    ) -> ::std::os::raw::c_int;
19889}
19890extern "C" {
19891    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get0_revocationDate"]
19892    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
19893}
19894extern "C" {
19895    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_set_revocationDate"]
19896    pub fn X509_REVOKED_set_revocationDate(
19897        revoked: *mut X509_REVOKED,
19898        tm: *const ASN1_TIME,
19899    ) -> ::std::os::raw::c_int;
19900}
19901extern "C" {
19902    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get0_extensions"]
19903    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
19904}
19905extern "C" {
19906    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext_count"]
19907    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
19908}
19909extern "C" {
19910    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext_by_NID"]
19911    pub fn X509_REVOKED_get_ext_by_NID(
19912        x: *const X509_REVOKED,
19913        nid: ::std::os::raw::c_int,
19914        lastpos: ::std::os::raw::c_int,
19915    ) -> ::std::os::raw::c_int;
19916}
19917extern "C" {
19918    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext_by_OBJ"]
19919    pub fn X509_REVOKED_get_ext_by_OBJ(
19920        x: *const X509_REVOKED,
19921        obj: *const ASN1_OBJECT,
19922        lastpos: ::std::os::raw::c_int,
19923    ) -> ::std::os::raw::c_int;
19924}
19925extern "C" {
19926    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext_by_critical"]
19927    pub fn X509_REVOKED_get_ext_by_critical(
19928        x: *const X509_REVOKED,
19929        crit: ::std::os::raw::c_int,
19930        lastpos: ::std::os::raw::c_int,
19931    ) -> ::std::os::raw::c_int;
19932}
19933extern "C" {
19934    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext"]
19935    pub fn X509_REVOKED_get_ext(
19936        x: *const X509_REVOKED,
19937        loc: ::std::os::raw::c_int,
19938    ) -> *mut X509_EXTENSION;
19939}
19940extern "C" {
19941    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_delete_ext"]
19942    pub fn X509_REVOKED_delete_ext(
19943        x: *mut X509_REVOKED,
19944        loc: ::std::os::raw::c_int,
19945    ) -> *mut X509_EXTENSION;
19946}
19947extern "C" {
19948    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_add_ext"]
19949    pub fn X509_REVOKED_add_ext(
19950        x: *mut X509_REVOKED,
19951        ex: *const X509_EXTENSION,
19952        loc: ::std::os::raw::c_int,
19953    ) -> ::std::os::raw::c_int;
19954}
19955extern "C" {
19956    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_get_ext_d2i"]
19957    pub fn X509_REVOKED_get_ext_d2i(
19958        revoked: *const X509_REVOKED,
19959        nid: ::std::os::raw::c_int,
19960        out_critical: *mut ::std::os::raw::c_int,
19961        out_idx: *mut ::std::os::raw::c_int,
19962    ) -> *mut ::std::os::raw::c_void;
19963}
19964extern "C" {
19965    #[link_name = "\u{1}aws_lc_0_33_0_X509_REVOKED_add1_ext_i2d"]
19966    pub fn X509_REVOKED_add1_ext_i2d(
19967        x: *mut X509_REVOKED,
19968        nid: ::std::os::raw::c_int,
19969        value: *mut ::std::os::raw::c_void,
19970        crit: ::std::os::raw::c_int,
19971        flags: ::std::os::raw::c_ulong,
19972    ) -> ::std::os::raw::c_int;
19973}
19974extern "C" {
19975    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_it"]
19976    pub static X509_REQ_it: ASN1_ITEM;
19977}
19978extern "C" {
19979    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_dup"]
19980    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
19981}
19982extern "C" {
19983    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_free"]
19984    pub fn X509_REQ_free(req: *mut X509_REQ);
19985}
19986extern "C" {
19987    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_REQ"]
19988    pub fn d2i_X509_REQ(
19989        out: *mut *mut X509_REQ,
19990        inp: *mut *const u8,
19991        len: ::std::os::raw::c_long,
19992    ) -> *mut X509_REQ;
19993}
19994extern "C" {
19995    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_REQ"]
19996    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19997}
19998extern "C" {
19999    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_version"]
20000    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
20001}
20002extern "C" {
20003    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_subject_name"]
20004    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
20005}
20006extern "C" {
20007    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get0_pubkey"]
20008    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20009}
20010extern "C" {
20011    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_pubkey"]
20012    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
20013}
20014extern "C" {
20015    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_check_private_key"]
20016    pub fn X509_REQ_check_private_key(
20017        req: *const X509_REQ,
20018        pkey: *const EVP_PKEY,
20019    ) -> ::std::os::raw::c_int;
20020}
20021extern "C" {
20022    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_attr_count"]
20023    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
20024}
20025extern "C" {
20026    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_attr"]
20027    pub fn X509_REQ_get_attr(
20028        req: *const X509_REQ,
20029        loc: ::std::os::raw::c_int,
20030    ) -> *mut X509_ATTRIBUTE;
20031}
20032extern "C" {
20033    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_attr_by_NID"]
20034    pub fn X509_REQ_get_attr_by_NID(
20035        req: *const X509_REQ,
20036        nid: ::std::os::raw::c_int,
20037        lastpos: ::std::os::raw::c_int,
20038    ) -> ::std::os::raw::c_int;
20039}
20040extern "C" {
20041    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_attr_by_OBJ"]
20042    pub fn X509_REQ_get_attr_by_OBJ(
20043        req: *const X509_REQ,
20044        obj: *const ASN1_OBJECT,
20045        lastpos: ::std::os::raw::c_int,
20046    ) -> ::std::os::raw::c_int;
20047}
20048extern "C" {
20049    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_extension_nid"]
20050    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20051}
20052extern "C" {
20053    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_extensions"]
20054    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
20055}
20056extern "C" {
20057    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get0_signature"]
20058    pub fn X509_REQ_get0_signature(
20059        req: *const X509_REQ,
20060        out_sig: *mut *const ASN1_BIT_STRING,
20061        out_alg: *mut *const X509_ALGOR,
20062    );
20063}
20064extern "C" {
20065    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get_signature_nid"]
20066    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
20067}
20068extern "C" {
20069    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_verify"]
20070    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20071}
20072extern "C" {
20073    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_get1_email"]
20074    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
20075}
20076extern "C" {
20077    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_new"]
20078    pub fn X509_REQ_new() -> *mut X509_REQ;
20079}
20080extern "C" {
20081    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_set_version"]
20082    pub fn X509_REQ_set_version(
20083        req: *mut X509_REQ,
20084        version: ::std::os::raw::c_long,
20085    ) -> ::std::os::raw::c_int;
20086}
20087extern "C" {
20088    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_set_subject_name"]
20089    pub fn X509_REQ_set_subject_name(
20090        req: *mut X509_REQ,
20091        name: *mut X509_NAME,
20092    ) -> ::std::os::raw::c_int;
20093}
20094extern "C" {
20095    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_set_pubkey"]
20096    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20097}
20098extern "C" {
20099    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_delete_attr"]
20100    pub fn X509_REQ_delete_attr(
20101        req: *mut X509_REQ,
20102        loc: ::std::os::raw::c_int,
20103    ) -> *mut X509_ATTRIBUTE;
20104}
20105extern "C" {
20106    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add1_attr"]
20107    pub fn X509_REQ_add1_attr(
20108        req: *mut X509_REQ,
20109        attr: *const X509_ATTRIBUTE,
20110    ) -> ::std::os::raw::c_int;
20111}
20112extern "C" {
20113    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add1_attr_by_OBJ"]
20114    pub fn X509_REQ_add1_attr_by_OBJ(
20115        req: *mut X509_REQ,
20116        obj: *const ASN1_OBJECT,
20117        attrtype: ::std::os::raw::c_int,
20118        data: *const ::std::os::raw::c_uchar,
20119        len: ::std::os::raw::c_int,
20120    ) -> ::std::os::raw::c_int;
20121}
20122extern "C" {
20123    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add1_attr_by_NID"]
20124    pub fn X509_REQ_add1_attr_by_NID(
20125        req: *mut X509_REQ,
20126        nid: ::std::os::raw::c_int,
20127        attrtype: ::std::os::raw::c_int,
20128        data: *const ::std::os::raw::c_uchar,
20129        len: ::std::os::raw::c_int,
20130    ) -> ::std::os::raw::c_int;
20131}
20132extern "C" {
20133    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add1_attr_by_txt"]
20134    pub fn X509_REQ_add1_attr_by_txt(
20135        req: *mut X509_REQ,
20136        attrname: *const ::std::os::raw::c_char,
20137        attrtype: ::std::os::raw::c_int,
20138        data: *const ::std::os::raw::c_uchar,
20139        len: ::std::os::raw::c_int,
20140    ) -> ::std::os::raw::c_int;
20141}
20142extern "C" {
20143    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add_extensions_nid"]
20144    pub fn X509_REQ_add_extensions_nid(
20145        req: *mut X509_REQ,
20146        exts: *const stack_st_X509_EXTENSION,
20147        nid: ::std::os::raw::c_int,
20148    ) -> ::std::os::raw::c_int;
20149}
20150extern "C" {
20151    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_add_extensions"]
20152    pub fn X509_REQ_add_extensions(
20153        req: *mut X509_REQ,
20154        exts: *const stack_st_X509_EXTENSION,
20155    ) -> ::std::os::raw::c_int;
20156}
20157extern "C" {
20158    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_sign"]
20159    pub fn X509_REQ_sign(
20160        req: *mut X509_REQ,
20161        pkey: *mut EVP_PKEY,
20162        md: *const EVP_MD,
20163    ) -> ::std::os::raw::c_int;
20164}
20165extern "C" {
20166    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_sign_ctx"]
20167    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20168}
20169extern "C" {
20170    #[link_name = "\u{1}aws_lc_0_33_0_i2d_re_X509_REQ_tbs"]
20171    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20172}
20173extern "C" {
20174    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_set1_signature_algo"]
20175    pub fn X509_REQ_set1_signature_algo(
20176        req: *mut X509_REQ,
20177        algo: *const X509_ALGOR,
20178    ) -> ::std::os::raw::c_int;
20179}
20180extern "C" {
20181    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_set1_signature_value"]
20182    pub fn X509_REQ_set1_signature_value(
20183        req: *mut X509_REQ,
20184        sig: *const u8,
20185        sig_len: usize,
20186    ) -> ::std::os::raw::c_int;
20187}
20188#[repr(C)]
20189#[derive(Debug, Copy, Clone)]
20190pub struct stack_st_X509_NAME_ENTRY {
20191    _unused: [u8; 0],
20192}
20193pub type sk_X509_NAME_ENTRY_free_func =
20194    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
20195pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
20196    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
20197>;
20198pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
20199    unsafe extern "C" fn(
20200        arg1: *const *const X509_NAME_ENTRY,
20201        arg2: *const *const X509_NAME_ENTRY,
20202    ) -> ::std::os::raw::c_int,
20203>;
20204pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
20205    unsafe extern "C" fn(
20206        arg1: *mut X509_NAME_ENTRY,
20207        arg2: *mut ::std::os::raw::c_void,
20208    ) -> ::std::os::raw::c_int,
20209>;
20210#[repr(C)]
20211#[derive(Debug, Copy, Clone)]
20212pub struct stack_st_X509_NAME {
20213    _unused: [u8; 0],
20214}
20215pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
20216pub type sk_X509_NAME_copy_func =
20217    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
20218pub type sk_X509_NAME_cmp_func = ::std::option::Option<
20219    unsafe extern "C" fn(
20220        arg1: *const *const X509_NAME,
20221        arg2: *const *const X509_NAME,
20222    ) -> ::std::os::raw::c_int,
20223>;
20224pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
20225    unsafe extern "C" fn(
20226        arg1: *mut X509_NAME,
20227        arg2: *mut ::std::os::raw::c_void,
20228    ) -> ::std::os::raw::c_int,
20229>;
20230extern "C" {
20231    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_it"]
20232    pub static X509_NAME_it: ASN1_ITEM;
20233}
20234extern "C" {
20235    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_new"]
20236    pub fn X509_NAME_new() -> *mut X509_NAME;
20237}
20238extern "C" {
20239    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_free"]
20240    pub fn X509_NAME_free(name: *mut X509_NAME);
20241}
20242extern "C" {
20243    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_NAME"]
20244    pub fn d2i_X509_NAME(
20245        out: *mut *mut X509_NAME,
20246        inp: *mut *const u8,
20247        len: ::std::os::raw::c_long,
20248    ) -> *mut X509_NAME;
20249}
20250extern "C" {
20251    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_NAME"]
20252    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20253}
20254extern "C" {
20255    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_dup"]
20256    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
20257}
20258extern "C" {
20259    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_cmp"]
20260    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
20261}
20262extern "C" {
20263    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get0_der"]
20264    pub fn X509_NAME_get0_der(
20265        name: *mut X509_NAME,
20266        out_der: *mut *const u8,
20267        out_der_len: *mut usize,
20268    ) -> ::std::os::raw::c_int;
20269}
20270extern "C" {
20271    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_set"]
20272    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20273}
20274extern "C" {
20275    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_entry_count"]
20276    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
20277}
20278extern "C" {
20279    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get_index_by_NID"]
20280    pub fn X509_NAME_get_index_by_NID(
20281        name: *const X509_NAME,
20282        nid: ::std::os::raw::c_int,
20283        lastpos: ::std::os::raw::c_int,
20284    ) -> ::std::os::raw::c_int;
20285}
20286extern "C" {
20287    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get_index_by_OBJ"]
20288    pub fn X509_NAME_get_index_by_OBJ(
20289        name: *const X509_NAME,
20290        obj: *const ASN1_OBJECT,
20291        lastpos: ::std::os::raw::c_int,
20292    ) -> ::std::os::raw::c_int;
20293}
20294extern "C" {
20295    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get_entry"]
20296    pub fn X509_NAME_get_entry(
20297        name: *const X509_NAME,
20298        loc: ::std::os::raw::c_int,
20299    ) -> *mut X509_NAME_ENTRY;
20300}
20301extern "C" {
20302    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_delete_entry"]
20303    pub fn X509_NAME_delete_entry(
20304        name: *mut X509_NAME,
20305        loc: ::std::os::raw::c_int,
20306    ) -> *mut X509_NAME_ENTRY;
20307}
20308extern "C" {
20309    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_add_entry"]
20310    pub fn X509_NAME_add_entry(
20311        name: *mut X509_NAME,
20312        entry: *const X509_NAME_ENTRY,
20313        loc: ::std::os::raw::c_int,
20314        set: ::std::os::raw::c_int,
20315    ) -> ::std::os::raw::c_int;
20316}
20317extern "C" {
20318    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_add_entry_by_OBJ"]
20319    pub fn X509_NAME_add_entry_by_OBJ(
20320        name: *mut X509_NAME,
20321        obj: *const ASN1_OBJECT,
20322        type_: ::std::os::raw::c_int,
20323        bytes: *const u8,
20324        len: ossl_ssize_t,
20325        loc: ::std::os::raw::c_int,
20326        set: ::std::os::raw::c_int,
20327    ) -> ::std::os::raw::c_int;
20328}
20329extern "C" {
20330    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_add_entry_by_NID"]
20331    pub fn X509_NAME_add_entry_by_NID(
20332        name: *mut X509_NAME,
20333        nid: ::std::os::raw::c_int,
20334        type_: ::std::os::raw::c_int,
20335        bytes: *const u8,
20336        len: ossl_ssize_t,
20337        loc: ::std::os::raw::c_int,
20338        set: ::std::os::raw::c_int,
20339    ) -> ::std::os::raw::c_int;
20340}
20341extern "C" {
20342    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_add_entry_by_txt"]
20343    pub fn X509_NAME_add_entry_by_txt(
20344        name: *mut X509_NAME,
20345        field: *const ::std::os::raw::c_char,
20346        type_: ::std::os::raw::c_int,
20347        bytes: *const u8,
20348        len: ossl_ssize_t,
20349        loc: ::std::os::raw::c_int,
20350        set: ::std::os::raw::c_int,
20351    ) -> ::std::os::raw::c_int;
20352}
20353extern "C" {
20354    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_it"]
20355    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
20356}
20357extern "C" {
20358    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_new"]
20359    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
20360}
20361extern "C" {
20362    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_free"]
20363    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
20364}
20365extern "C" {
20366    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_NAME_ENTRY"]
20367    pub fn d2i_X509_NAME_ENTRY(
20368        out: *mut *mut X509_NAME_ENTRY,
20369        inp: *mut *const u8,
20370        len: ::std::os::raw::c_long,
20371    ) -> *mut X509_NAME_ENTRY;
20372}
20373extern "C" {
20374    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_NAME_ENTRY"]
20375    pub fn i2d_X509_NAME_ENTRY(
20376        in_: *const X509_NAME_ENTRY,
20377        outp: *mut *mut u8,
20378    ) -> ::std::os::raw::c_int;
20379}
20380extern "C" {
20381    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_dup"]
20382    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
20383}
20384extern "C" {
20385    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_get_object"]
20386    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
20387}
20388extern "C" {
20389    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_set_object"]
20390    pub fn X509_NAME_ENTRY_set_object(
20391        entry: *mut X509_NAME_ENTRY,
20392        obj: *const ASN1_OBJECT,
20393    ) -> ::std::os::raw::c_int;
20394}
20395extern "C" {
20396    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_get_data"]
20397    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
20398}
20399extern "C" {
20400    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_set_data"]
20401    pub fn X509_NAME_ENTRY_set_data(
20402        entry: *mut X509_NAME_ENTRY,
20403        type_: ::std::os::raw::c_int,
20404        bytes: *const u8,
20405        len: ossl_ssize_t,
20406    ) -> ::std::os::raw::c_int;
20407}
20408extern "C" {
20409    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_set"]
20410    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
20411}
20412extern "C" {
20413    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_create_by_OBJ"]
20414    pub fn X509_NAME_ENTRY_create_by_OBJ(
20415        out: *mut *mut X509_NAME_ENTRY,
20416        obj: *const ASN1_OBJECT,
20417        type_: ::std::os::raw::c_int,
20418        bytes: *const u8,
20419        len: ossl_ssize_t,
20420    ) -> *mut X509_NAME_ENTRY;
20421}
20422extern "C" {
20423    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_create_by_NID"]
20424    pub fn X509_NAME_ENTRY_create_by_NID(
20425        out: *mut *mut X509_NAME_ENTRY,
20426        nid: ::std::os::raw::c_int,
20427        type_: ::std::os::raw::c_int,
20428        bytes: *const u8,
20429        len: ossl_ssize_t,
20430    ) -> *mut X509_NAME_ENTRY;
20431}
20432extern "C" {
20433    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_ENTRY_create_by_txt"]
20434    pub fn X509_NAME_ENTRY_create_by_txt(
20435        out: *mut *mut X509_NAME_ENTRY,
20436        field: *const ::std::os::raw::c_char,
20437        type_: ::std::os::raw::c_int,
20438        bytes: *const u8,
20439        len: ossl_ssize_t,
20440    ) -> *mut X509_NAME_ENTRY;
20441}
20442extern "C" {
20443    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_it"]
20444    pub static X509_PUBKEY_it: ASN1_ITEM;
20445}
20446extern "C" {
20447    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_new"]
20448    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
20449}
20450extern "C" {
20451    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_free"]
20452    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
20453}
20454extern "C" {
20455    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_PUBKEY"]
20456    pub fn d2i_X509_PUBKEY(
20457        out: *mut *mut X509_PUBKEY,
20458        inp: *mut *const u8,
20459        len: ::std::os::raw::c_long,
20460    ) -> *mut X509_PUBKEY;
20461}
20462extern "C" {
20463    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_PUBKEY"]
20464    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20465}
20466extern "C" {
20467    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_set"]
20468    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20469}
20470extern "C" {
20471    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_get0"]
20472    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
20473}
20474extern "C" {
20475    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_get"]
20476    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
20477}
20478extern "C" {
20479    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_set0_param"]
20480    pub fn X509_PUBKEY_set0_param(
20481        pub_: *mut X509_PUBKEY,
20482        obj: *mut ASN1_OBJECT,
20483        param_type: ::std::os::raw::c_int,
20484        param_value: *mut ::std::os::raw::c_void,
20485        key: *mut u8,
20486        key_len: ::std::os::raw::c_int,
20487    ) -> ::std::os::raw::c_int;
20488}
20489extern "C" {
20490    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_get0_param"]
20491    pub fn X509_PUBKEY_get0_param(
20492        out_obj: *mut *mut ASN1_OBJECT,
20493        out_key: *mut *const u8,
20494        out_key_len: *mut ::std::os::raw::c_int,
20495        out_alg: *mut *mut X509_ALGOR,
20496        pub_: *mut X509_PUBKEY,
20497    ) -> ::std::os::raw::c_int;
20498}
20499extern "C" {
20500    #[link_name = "\u{1}aws_lc_0_33_0_X509_PUBKEY_get0_public_key"]
20501    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
20502}
20503extern "C" {
20504    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_it"]
20505    pub static X509_EXTENSION_it: ASN1_ITEM;
20506}
20507extern "C" {
20508    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_new"]
20509    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
20510}
20511extern "C" {
20512    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_free"]
20513    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
20514}
20515extern "C" {
20516    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_EXTENSION"]
20517    pub fn d2i_X509_EXTENSION(
20518        out: *mut *mut X509_EXTENSION,
20519        inp: *mut *const u8,
20520        len: ::std::os::raw::c_long,
20521    ) -> *mut X509_EXTENSION;
20522}
20523extern "C" {
20524    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_EXTENSION"]
20525    pub fn i2d_X509_EXTENSION(
20526        ex: *const X509_EXTENSION,
20527        outp: *mut *mut u8,
20528    ) -> ::std::os::raw::c_int;
20529}
20530extern "C" {
20531    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_dup"]
20532    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
20533}
20534extern "C" {
20535    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_create_by_NID"]
20536    pub fn X509_EXTENSION_create_by_NID(
20537        ex: *mut *mut X509_EXTENSION,
20538        nid: ::std::os::raw::c_int,
20539        crit: ::std::os::raw::c_int,
20540        data: *const ASN1_OCTET_STRING,
20541    ) -> *mut X509_EXTENSION;
20542}
20543extern "C" {
20544    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_create_by_OBJ"]
20545    pub fn X509_EXTENSION_create_by_OBJ(
20546        ex: *mut *mut X509_EXTENSION,
20547        obj: *const ASN1_OBJECT,
20548        crit: ::std::os::raw::c_int,
20549        data: *const ASN1_OCTET_STRING,
20550    ) -> *mut X509_EXTENSION;
20551}
20552extern "C" {
20553    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_get_object"]
20554    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
20555}
20556extern "C" {
20557    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_get_data"]
20558    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
20559}
20560extern "C" {
20561    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_get_critical"]
20562    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
20563}
20564extern "C" {
20565    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_set_object"]
20566    pub fn X509_EXTENSION_set_object(
20567        ex: *mut X509_EXTENSION,
20568        obj: *const ASN1_OBJECT,
20569    ) -> ::std::os::raw::c_int;
20570}
20571extern "C" {
20572    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_set_critical"]
20573    pub fn X509_EXTENSION_set_critical(
20574        ex: *mut X509_EXTENSION,
20575        crit: ::std::os::raw::c_int,
20576    ) -> ::std::os::raw::c_int;
20577}
20578extern "C" {
20579    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSION_set_data"]
20580    pub fn X509_EXTENSION_set_data(
20581        ex: *mut X509_EXTENSION,
20582        data: *const ASN1_OCTET_STRING,
20583    ) -> ::std::os::raw::c_int;
20584}
20585pub type sk_X509_EXTENSION_free_func =
20586    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
20587pub type sk_X509_EXTENSION_copy_func =
20588    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
20589pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
20590    unsafe extern "C" fn(
20591        arg1: *const *const X509_EXTENSION,
20592        arg2: *const *const X509_EXTENSION,
20593    ) -> ::std::os::raw::c_int,
20594>;
20595pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
20596    unsafe extern "C" fn(
20597        arg1: *mut X509_EXTENSION,
20598        arg2: *mut ::std::os::raw::c_void,
20599    ) -> ::std::os::raw::c_int,
20600>;
20601pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
20602extern "C" {
20603    #[link_name = "\u{1}aws_lc_0_33_0_X509_EXTENSIONS_it"]
20604    pub static X509_EXTENSIONS_it: ASN1_ITEM;
20605}
20606extern "C" {
20607    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_EXTENSIONS"]
20608    pub fn d2i_X509_EXTENSIONS(
20609        out: *mut *mut X509_EXTENSIONS,
20610        inp: *mut *const u8,
20611        len: ::std::os::raw::c_long,
20612    ) -> *mut X509_EXTENSIONS;
20613}
20614extern "C" {
20615    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_EXTENSIONS"]
20616    pub fn i2d_X509_EXTENSIONS(
20617        alg: *const X509_EXTENSIONS,
20618        outp: *mut *mut u8,
20619    ) -> ::std::os::raw::c_int;
20620}
20621extern "C" {
20622    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_get_ext_count"]
20623    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
20624}
20625extern "C" {
20626    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_get_ext_by_NID"]
20627    pub fn X509v3_get_ext_by_NID(
20628        x: *const stack_st_X509_EXTENSION,
20629        nid: ::std::os::raw::c_int,
20630        lastpos: ::std::os::raw::c_int,
20631    ) -> ::std::os::raw::c_int;
20632}
20633extern "C" {
20634    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_get_ext_by_OBJ"]
20635    pub fn X509v3_get_ext_by_OBJ(
20636        x: *const stack_st_X509_EXTENSION,
20637        obj: *const ASN1_OBJECT,
20638        lastpos: ::std::os::raw::c_int,
20639    ) -> ::std::os::raw::c_int;
20640}
20641extern "C" {
20642    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_get_ext_by_critical"]
20643    pub fn X509v3_get_ext_by_critical(
20644        x: *const stack_st_X509_EXTENSION,
20645        crit: ::std::os::raw::c_int,
20646        lastpos: ::std::os::raw::c_int,
20647    ) -> ::std::os::raw::c_int;
20648}
20649extern "C" {
20650    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_get_ext"]
20651    pub fn X509v3_get_ext(
20652        x: *const stack_st_X509_EXTENSION,
20653        loc: ::std::os::raw::c_int,
20654    ) -> *mut X509_EXTENSION;
20655}
20656extern "C" {
20657    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_delete_ext"]
20658    pub fn X509v3_delete_ext(
20659        x: *mut stack_st_X509_EXTENSION,
20660        loc: ::std::os::raw::c_int,
20661    ) -> *mut X509_EXTENSION;
20662}
20663extern "C" {
20664    #[link_name = "\u{1}aws_lc_0_33_0_X509v3_add_ext"]
20665    pub fn X509v3_add_ext(
20666        x: *mut *mut stack_st_X509_EXTENSION,
20667        ex: *const X509_EXTENSION,
20668        loc: ::std::os::raw::c_int,
20669    ) -> *mut stack_st_X509_EXTENSION;
20670}
20671extern "C" {
20672    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_d2i"]
20673    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
20674}
20675extern "C" {
20676    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_get_d2i"]
20677    pub fn X509V3_get_d2i(
20678        extensions: *const stack_st_X509_EXTENSION,
20679        nid: ::std::os::raw::c_int,
20680        out_critical: *mut ::std::os::raw::c_int,
20681        out_idx: *mut ::std::os::raw::c_int,
20682    ) -> *mut ::std::os::raw::c_void;
20683}
20684extern "C" {
20685    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_free"]
20686    pub fn X509V3_EXT_free(
20687        nid: ::std::os::raw::c_int,
20688        ext_data: *mut ::std::os::raw::c_void,
20689    ) -> ::std::os::raw::c_int;
20690}
20691extern "C" {
20692    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_i2d"]
20693    pub fn X509V3_EXT_i2d(
20694        ext_nid: ::std::os::raw::c_int,
20695        crit: ::std::os::raw::c_int,
20696        ext_struc: *mut ::std::os::raw::c_void,
20697    ) -> *mut X509_EXTENSION;
20698}
20699extern "C" {
20700    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_add1_i2d"]
20701    pub fn X509V3_add1_i2d(
20702        x: *mut *mut stack_st_X509_EXTENSION,
20703        nid: ::std::os::raw::c_int,
20704        value: *mut ::std::os::raw::c_void,
20705        crit: ::std::os::raw::c_int,
20706        flags: ::std::os::raw::c_ulong,
20707    ) -> ::std::os::raw::c_int;
20708}
20709#[repr(C)]
20710#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20711pub struct otherName_st {
20712    pub type_id: *mut ASN1_OBJECT,
20713    pub value: *mut ASN1_TYPE,
20714}
20715#[test]
20716fn bindgen_test_layout_otherName_st() {
20717    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
20718    let ptr = UNINIT.as_ptr();
20719    assert_eq!(
20720        ::std::mem::size_of::<otherName_st>(),
20721        16usize,
20722        "Size of otherName_st"
20723    );
20724    assert_eq!(
20725        ::std::mem::align_of::<otherName_st>(),
20726        8usize,
20727        "Alignment of otherName_st"
20728    );
20729    assert_eq!(
20730        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
20731        0usize,
20732        "Offset of field: otherName_st::type_id"
20733    );
20734    assert_eq!(
20735        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
20736        8usize,
20737        "Offset of field: otherName_st::value"
20738    );
20739}
20740impl Default for otherName_st {
20741    fn default() -> Self {
20742        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20743        unsafe {
20744            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20745            s.assume_init()
20746        }
20747    }
20748}
20749pub type OTHERNAME = otherName_st;
20750#[repr(C)]
20751#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20752pub struct EDIPartyName_st {
20753    pub nameAssigner: *mut ASN1_STRING,
20754    pub partyName: *mut ASN1_STRING,
20755}
20756#[test]
20757fn bindgen_test_layout_EDIPartyName_st() {
20758    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
20759    let ptr = UNINIT.as_ptr();
20760    assert_eq!(
20761        ::std::mem::size_of::<EDIPartyName_st>(),
20762        16usize,
20763        "Size of EDIPartyName_st"
20764    );
20765    assert_eq!(
20766        ::std::mem::align_of::<EDIPartyName_st>(),
20767        8usize,
20768        "Alignment of EDIPartyName_st"
20769    );
20770    assert_eq!(
20771        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
20772        0usize,
20773        "Offset of field: EDIPartyName_st::nameAssigner"
20774    );
20775    assert_eq!(
20776        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
20777        8usize,
20778        "Offset of field: EDIPartyName_st::partyName"
20779    );
20780}
20781impl Default for EDIPartyName_st {
20782    fn default() -> Self {
20783        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20784        unsafe {
20785            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20786            s.assume_init()
20787        }
20788    }
20789}
20790pub type EDIPARTYNAME = EDIPartyName_st;
20791#[repr(C)]
20792#[derive(Copy, Clone)]
20793pub struct GENERAL_NAME_st {
20794    pub type_: ::std::os::raw::c_int,
20795    pub d: GENERAL_NAME_st__bindgen_ty_1,
20796}
20797#[repr(C)]
20798#[derive(Copy, Clone)]
20799pub union GENERAL_NAME_st__bindgen_ty_1 {
20800    pub ptr: *mut ::std::os::raw::c_char,
20801    pub otherName: *mut OTHERNAME,
20802    pub rfc822Name: *mut ASN1_IA5STRING,
20803    pub dNSName: *mut ASN1_IA5STRING,
20804    pub x400Address: *mut ASN1_STRING,
20805    pub directoryName: *mut X509_NAME,
20806    pub ediPartyName: *mut EDIPARTYNAME,
20807    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
20808    pub iPAddress: *mut ASN1_OCTET_STRING,
20809    pub registeredID: *mut ASN1_OBJECT,
20810    pub ip: *mut ASN1_OCTET_STRING,
20811    pub dirn: *mut X509_NAME,
20812    pub ia5: *mut ASN1_IA5STRING,
20813    pub rid: *mut ASN1_OBJECT,
20814}
20815#[test]
20816fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
20817    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
20818        ::std::mem::MaybeUninit::uninit();
20819    let ptr = UNINIT.as_ptr();
20820    assert_eq!(
20821        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
20822        8usize,
20823        "Size of GENERAL_NAME_st__bindgen_ty_1"
20824    );
20825    assert_eq!(
20826        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
20827        8usize,
20828        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
20829    );
20830    assert_eq!(
20831        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
20832        0usize,
20833        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
20834    );
20835    assert_eq!(
20836        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
20837        0usize,
20838        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
20839    );
20840    assert_eq!(
20841        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
20842        0usize,
20843        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
20844    );
20845    assert_eq!(
20846        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
20847        0usize,
20848        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
20849    );
20850    assert_eq!(
20851        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
20852        0usize,
20853        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
20854    );
20855    assert_eq!(
20856        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
20857        0usize,
20858        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
20859    );
20860    assert_eq!(
20861        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
20862        0usize,
20863        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
20864    );
20865    assert_eq!(
20866        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
20867        0usize,
20868        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
20869    );
20870    assert_eq!(
20871        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
20872        0usize,
20873        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
20874    );
20875    assert_eq!(
20876        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
20877        0usize,
20878        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
20879    );
20880    assert_eq!(
20881        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
20882        0usize,
20883        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
20884    );
20885    assert_eq!(
20886        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
20887        0usize,
20888        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
20889    );
20890    assert_eq!(
20891        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
20892        0usize,
20893        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
20894    );
20895    assert_eq!(
20896        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
20897        0usize,
20898        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
20899    );
20900}
20901impl Default for GENERAL_NAME_st__bindgen_ty_1 {
20902    fn default() -> Self {
20903        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20904        unsafe {
20905            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20906            s.assume_init()
20907        }
20908    }
20909}
20910#[test]
20911fn bindgen_test_layout_GENERAL_NAME_st() {
20912    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
20913    let ptr = UNINIT.as_ptr();
20914    assert_eq!(
20915        ::std::mem::size_of::<GENERAL_NAME_st>(),
20916        16usize,
20917        "Size of GENERAL_NAME_st"
20918    );
20919    assert_eq!(
20920        ::std::mem::align_of::<GENERAL_NAME_st>(),
20921        8usize,
20922        "Alignment of GENERAL_NAME_st"
20923    );
20924    assert_eq!(
20925        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
20926        0usize,
20927        "Offset of field: GENERAL_NAME_st::type_"
20928    );
20929    assert_eq!(
20930        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
20931        8usize,
20932        "Offset of field: GENERAL_NAME_st::d"
20933    );
20934}
20935impl Default for GENERAL_NAME_st {
20936    fn default() -> Self {
20937        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20938        unsafe {
20939            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20940            s.assume_init()
20941        }
20942    }
20943}
20944extern "C" {
20945    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_new"]
20946    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
20947}
20948extern "C" {
20949    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_free"]
20950    pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
20951}
20952extern "C" {
20953    #[link_name = "\u{1}aws_lc_0_33_0_d2i_GENERAL_NAME"]
20954    pub fn d2i_GENERAL_NAME(
20955        out: *mut *mut GENERAL_NAME,
20956        inp: *mut *const u8,
20957        len: ::std::os::raw::c_long,
20958    ) -> *mut GENERAL_NAME;
20959}
20960extern "C" {
20961    #[link_name = "\u{1}aws_lc_0_33_0_i2d_GENERAL_NAME"]
20962    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20963}
20964extern "C" {
20965    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_dup"]
20966    pub fn GENERAL_NAME_dup(gen_: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
20967}
20968extern "C" {
20969    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAMES_new"]
20970    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
20971}
20972extern "C" {
20973    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAMES_free"]
20974    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
20975}
20976extern "C" {
20977    #[link_name = "\u{1}aws_lc_0_33_0_d2i_GENERAL_NAMES"]
20978    pub fn d2i_GENERAL_NAMES(
20979        out: *mut *mut GENERAL_NAMES,
20980        inp: *mut *const u8,
20981        len: ::std::os::raw::c_long,
20982    ) -> *mut GENERAL_NAMES;
20983}
20984extern "C" {
20985    #[link_name = "\u{1}aws_lc_0_33_0_i2d_GENERAL_NAMES"]
20986    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20987}
20988extern "C" {
20989    #[link_name = "\u{1}aws_lc_0_33_0_OTHERNAME_new"]
20990    pub fn OTHERNAME_new() -> *mut OTHERNAME;
20991}
20992extern "C" {
20993    #[link_name = "\u{1}aws_lc_0_33_0_OTHERNAME_free"]
20994    pub fn OTHERNAME_free(name: *mut OTHERNAME);
20995}
20996extern "C" {
20997    #[link_name = "\u{1}aws_lc_0_33_0_EDIPARTYNAME_new"]
20998    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
20999}
21000extern "C" {
21001    #[link_name = "\u{1}aws_lc_0_33_0_EDIPARTYNAME_free"]
21002    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
21003}
21004extern "C" {
21005    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_set0_value"]
21006    pub fn GENERAL_NAME_set0_value(
21007        gen_: *mut GENERAL_NAME,
21008        type_: ::std::os::raw::c_int,
21009        value: *mut ::std::os::raw::c_void,
21010    );
21011}
21012extern "C" {
21013    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_get0_value"]
21014    pub fn GENERAL_NAME_get0_value(
21015        gen_: *const GENERAL_NAME,
21016        out_type: *mut ::std::os::raw::c_int,
21017    ) -> *mut ::std::os::raw::c_void;
21018}
21019extern "C" {
21020    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_set0_othername"]
21021    pub fn GENERAL_NAME_set0_othername(
21022        gen_: *mut GENERAL_NAME,
21023        oid: *mut ASN1_OBJECT,
21024        value: *mut ASN1_TYPE,
21025    ) -> ::std::os::raw::c_int;
21026}
21027extern "C" {
21028    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_get0_otherName"]
21029    pub fn GENERAL_NAME_get0_otherName(
21030        gen_: *const GENERAL_NAME,
21031        out_oid: *mut *mut ASN1_OBJECT,
21032        out_value: *mut *mut ASN1_TYPE,
21033    ) -> ::std::os::raw::c_int;
21034}
21035#[repr(C)]
21036#[derive(Debug, Copy, Clone)]
21037pub struct stack_st_X509_ALGOR {
21038    _unused: [u8; 0],
21039}
21040pub type sk_X509_ALGOR_free_func =
21041    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
21042pub type sk_X509_ALGOR_copy_func =
21043    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
21044pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
21045    unsafe extern "C" fn(
21046        arg1: *const *const X509_ALGOR,
21047        arg2: *const *const X509_ALGOR,
21048    ) -> ::std::os::raw::c_int,
21049>;
21050pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
21051    unsafe extern "C" fn(
21052        arg1: *mut X509_ALGOR,
21053        arg2: *mut ::std::os::raw::c_void,
21054    ) -> ::std::os::raw::c_int,
21055>;
21056extern "C" {
21057    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_it"]
21058    pub static X509_ALGOR_it: ASN1_ITEM;
21059}
21060extern "C" {
21061    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_new"]
21062    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
21063}
21064extern "C" {
21065    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_dup"]
21066    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
21067}
21068extern "C" {
21069    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_free"]
21070    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
21071}
21072extern "C" {
21073    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_ALGOR"]
21074    pub fn d2i_X509_ALGOR(
21075        out: *mut *mut X509_ALGOR,
21076        inp: *mut *const u8,
21077        len: ::std::os::raw::c_long,
21078    ) -> *mut X509_ALGOR;
21079}
21080extern "C" {
21081    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_ALGOR"]
21082    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21083}
21084extern "C" {
21085    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_set0"]
21086    pub fn X509_ALGOR_set0(
21087        alg: *mut X509_ALGOR,
21088        obj: *mut ASN1_OBJECT,
21089        param_type: ::std::os::raw::c_int,
21090        param_value: *mut ::std::os::raw::c_void,
21091    ) -> ::std::os::raw::c_int;
21092}
21093extern "C" {
21094    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_get0"]
21095    pub fn X509_ALGOR_get0(
21096        out_obj: *mut *const ASN1_OBJECT,
21097        out_param_type: *mut ::std::os::raw::c_int,
21098        out_param_value: *mut *const ::std::os::raw::c_void,
21099        alg: *const X509_ALGOR,
21100    );
21101}
21102extern "C" {
21103    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_set_md"]
21104    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
21105}
21106extern "C" {
21107    #[link_name = "\u{1}aws_lc_0_33_0_X509_ALGOR_cmp"]
21108    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
21109}
21110#[repr(C)]
21111#[derive(Debug, Copy, Clone)]
21112pub struct stack_st_X509_ATTRIBUTE {
21113    _unused: [u8; 0],
21114}
21115pub type sk_X509_ATTRIBUTE_free_func =
21116    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
21117pub type sk_X509_ATTRIBUTE_copy_func =
21118    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
21119pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
21120    unsafe extern "C" fn(
21121        arg1: *const *const X509_ATTRIBUTE,
21122        arg2: *const *const X509_ATTRIBUTE,
21123    ) -> ::std::os::raw::c_int,
21124>;
21125pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
21126    unsafe extern "C" fn(
21127        arg1: *mut X509_ATTRIBUTE,
21128        arg2: *mut ::std::os::raw::c_void,
21129    ) -> ::std::os::raw::c_int,
21130>;
21131extern "C" {
21132    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_it"]
21133    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
21134}
21135extern "C" {
21136    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_new"]
21137    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
21138}
21139extern "C" {
21140    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_dup"]
21141    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
21142}
21143extern "C" {
21144    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_free"]
21145    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
21146}
21147extern "C" {
21148    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_ATTRIBUTE"]
21149    pub fn d2i_X509_ATTRIBUTE(
21150        out: *mut *mut X509_ATTRIBUTE,
21151        inp: *mut *const u8,
21152        len: ::std::os::raw::c_long,
21153    ) -> *mut X509_ATTRIBUTE;
21154}
21155extern "C" {
21156    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_ATTRIBUTE"]
21157    pub fn i2d_X509_ATTRIBUTE(
21158        alg: *const X509_ATTRIBUTE,
21159        outp: *mut *mut u8,
21160    ) -> ::std::os::raw::c_int;
21161}
21162extern "C" {
21163    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_create"]
21164    pub fn X509_ATTRIBUTE_create(
21165        nid: ::std::os::raw::c_int,
21166        attrtype: ::std::os::raw::c_int,
21167        value: *mut ::std::os::raw::c_void,
21168    ) -> *mut X509_ATTRIBUTE;
21169}
21170extern "C" {
21171    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_create_by_NID"]
21172    pub fn X509_ATTRIBUTE_create_by_NID(
21173        attr: *mut *mut X509_ATTRIBUTE,
21174        nid: ::std::os::raw::c_int,
21175        attrtype: ::std::os::raw::c_int,
21176        data: *const ::std::os::raw::c_void,
21177        len: ::std::os::raw::c_int,
21178    ) -> *mut X509_ATTRIBUTE;
21179}
21180extern "C" {
21181    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_create_by_OBJ"]
21182    pub fn X509_ATTRIBUTE_create_by_OBJ(
21183        attr: *mut *mut X509_ATTRIBUTE,
21184        obj: *const ASN1_OBJECT,
21185        attrtype: ::std::os::raw::c_int,
21186        data: *const ::std::os::raw::c_void,
21187        len: ::std::os::raw::c_int,
21188    ) -> *mut X509_ATTRIBUTE;
21189}
21190extern "C" {
21191    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_create_by_txt"]
21192    pub fn X509_ATTRIBUTE_create_by_txt(
21193        attr: *mut *mut X509_ATTRIBUTE,
21194        attrname: *const ::std::os::raw::c_char,
21195        type_: ::std::os::raw::c_int,
21196        bytes: *const ::std::os::raw::c_uchar,
21197        len: ::std::os::raw::c_int,
21198    ) -> *mut X509_ATTRIBUTE;
21199}
21200extern "C" {
21201    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_set1_object"]
21202    pub fn X509_ATTRIBUTE_set1_object(
21203        attr: *mut X509_ATTRIBUTE,
21204        obj: *const ASN1_OBJECT,
21205    ) -> ::std::os::raw::c_int;
21206}
21207extern "C" {
21208    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_set1_data"]
21209    pub fn X509_ATTRIBUTE_set1_data(
21210        attr: *mut X509_ATTRIBUTE,
21211        attrtype: ::std::os::raw::c_int,
21212        data: *const ::std::os::raw::c_void,
21213        len: ::std::os::raw::c_int,
21214    ) -> ::std::os::raw::c_int;
21215}
21216extern "C" {
21217    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_get0_data"]
21218    pub fn X509_ATTRIBUTE_get0_data(
21219        attr: *mut X509_ATTRIBUTE,
21220        idx: ::std::os::raw::c_int,
21221        attrtype: ::std::os::raw::c_int,
21222        unused: *mut ::std::os::raw::c_void,
21223    ) -> *mut ::std::os::raw::c_void;
21224}
21225extern "C" {
21226    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_count"]
21227    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
21228}
21229extern "C" {
21230    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_get0_object"]
21231    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
21232}
21233extern "C" {
21234    #[link_name = "\u{1}aws_lc_0_33_0_X509_ATTRIBUTE_get0_type"]
21235    pub fn X509_ATTRIBUTE_get0_type(
21236        attr: *mut X509_ATTRIBUTE,
21237        idx: ::std::os::raw::c_int,
21238    ) -> *mut ASN1_TYPE;
21239}
21240extern "C" {
21241    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_new"]
21242    pub fn X509_STORE_new() -> *mut X509_STORE;
21243}
21244extern "C" {
21245    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_up_ref"]
21246    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21247}
21248extern "C" {
21249    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_free"]
21250    pub fn X509_STORE_free(store: *mut X509_STORE);
21251}
21252extern "C" {
21253    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_add_cert"]
21254    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
21255}
21256extern "C" {
21257    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_add_crl"]
21258    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21259}
21260extern "C" {
21261    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get0_param"]
21262    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
21263}
21264extern "C" {
21265    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set1_param"]
21266    pub fn X509_STORE_set1_param(
21267        store: *mut X509_STORE,
21268        param: *const X509_VERIFY_PARAM,
21269    ) -> ::std::os::raw::c_int;
21270}
21271extern "C" {
21272    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_flags"]
21273    pub fn X509_STORE_set_flags(
21274        store: *mut X509_STORE,
21275        flags: ::std::os::raw::c_ulong,
21276    ) -> ::std::os::raw::c_int;
21277}
21278extern "C" {
21279    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_depth"]
21280    pub fn X509_STORE_set_depth(
21281        store: *mut X509_STORE,
21282        depth: ::std::os::raw::c_int,
21283    ) -> ::std::os::raw::c_int;
21284}
21285extern "C" {
21286    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_purpose"]
21287    pub fn X509_STORE_set_purpose(
21288        store: *mut X509_STORE,
21289        purpose: ::std::os::raw::c_int,
21290    ) -> ::std::os::raw::c_int;
21291}
21292extern "C" {
21293    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_trust"]
21294    pub fn X509_STORE_set_trust(
21295        store: *mut X509_STORE,
21296        trust: ::std::os::raw::c_int,
21297    ) -> ::std::os::raw::c_int;
21298}
21299#[repr(C)]
21300#[derive(Debug, Copy, Clone)]
21301pub struct stack_st_X509_OBJECT {
21302    _unused: [u8; 0],
21303}
21304pub type sk_X509_OBJECT_free_func =
21305    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
21306pub type sk_X509_OBJECT_copy_func =
21307    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
21308pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
21309    unsafe extern "C" fn(
21310        arg1: *const *const X509_OBJECT,
21311        arg2: *const *const X509_OBJECT,
21312    ) -> ::std::os::raw::c_int,
21313>;
21314pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
21315    unsafe extern "C" fn(
21316        arg1: *mut X509_OBJECT,
21317        arg2: *mut ::std::os::raw::c_void,
21318    ) -> ::std::os::raw::c_int,
21319>;
21320extern "C" {
21321    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_new"]
21322    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
21323}
21324extern "C" {
21325    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_free"]
21326    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
21327}
21328extern "C" {
21329    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_get_type"]
21330    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
21331}
21332extern "C" {
21333    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_get0_X509"]
21334    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
21335}
21336pub type X509_STORE_CTX_lookup_crls_fn = ::std::option::Option<
21337    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, nm: *mut X509_NAME) -> *mut stack_st_X509_CRL,
21338>;
21339extern "C" {
21340    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get_lookup_crls"]
21341    pub fn X509_STORE_get_lookup_crls(ctx: *mut X509_STORE) -> X509_STORE_CTX_lookup_crls_fn;
21342}
21343extern "C" {
21344    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_lookup_crls"]
21345    pub fn X509_STORE_set_lookup_crls(
21346        ctx: *mut X509_STORE,
21347        lookup_crls: X509_STORE_CTX_lookup_crls_fn,
21348    );
21349}
21350extern "C" {
21351    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_new"]
21352    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
21353}
21354extern "C" {
21355    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_free"]
21356    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
21357}
21358extern "C" {
21359    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_init"]
21360    pub fn X509_STORE_CTX_init(
21361        ctx: *mut X509_STORE_CTX,
21362        store: *mut X509_STORE,
21363        x509: *mut X509,
21364        chain: *mut stack_st_X509,
21365    ) -> ::std::os::raw::c_int;
21366}
21367extern "C" {
21368    #[link_name = "\u{1}aws_lc_0_33_0_X509_verify_cert"]
21369    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21370}
21371extern "C" {
21372    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_chain"]
21373    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21374}
21375extern "C" {
21376    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get1_chain"]
21377    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21378}
21379extern "C" {
21380    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_cert"]
21381    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
21382}
21383extern "C" {
21384    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_error"]
21385    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21386}
21387extern "C" {
21388    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_error"]
21389    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
21390}
21391extern "C" {
21392    #[link_name = "\u{1}aws_lc_0_33_0_X509_verify_cert_error_string"]
21393    pub fn X509_verify_cert_error_string(
21394        err: ::std::os::raw::c_long,
21395    ) -> *const ::std::os::raw::c_char;
21396}
21397extern "C" {
21398    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_error_depth"]
21399    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
21400}
21401extern "C" {
21402    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_current_cert"]
21403    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21404}
21405extern "C" {
21406    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_current_issuer"]
21407    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
21408}
21409extern "C" {
21410    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_current_crl"]
21411    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
21412}
21413extern "C" {
21414    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_store"]
21415    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
21416}
21417extern "C" {
21418    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_cert"]
21419    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
21420}
21421extern "C" {
21422    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_untrusted"]
21423    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
21424}
21425extern "C" {
21426    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set0_trusted_stack"]
21427    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
21428}
21429extern "C" {
21430    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set0_crls"]
21431    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
21432}
21433extern "C" {
21434    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_default"]
21435    pub fn X509_STORE_CTX_set_default(
21436        ctx: *mut X509_STORE_CTX,
21437        name: *const ::std::os::raw::c_char,
21438    ) -> ::std::os::raw::c_int;
21439}
21440extern "C" {
21441    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_param"]
21442    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
21443}
21444extern "C" {
21445    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set0_param"]
21446    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
21447}
21448extern "C" {
21449    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_flags"]
21450    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
21451}
21452extern "C" {
21453    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_time"]
21454    pub fn X509_STORE_CTX_set_time(
21455        ctx: *mut X509_STORE_CTX,
21456        flags: ::std::os::raw::c_ulong,
21457        t: time_t,
21458    );
21459}
21460extern "C" {
21461    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_time_posix"]
21462    pub fn X509_STORE_CTX_set_time_posix(
21463        ctx: *mut X509_STORE_CTX,
21464        flags: ::std::os::raw::c_ulong,
21465        t: i64,
21466    );
21467}
21468extern "C" {
21469    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_depth"]
21470    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
21471}
21472extern "C" {
21473    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_purpose"]
21474    pub fn X509_STORE_CTX_set_purpose(
21475        ctx: *mut X509_STORE_CTX,
21476        purpose: ::std::os::raw::c_int,
21477    ) -> ::std::os::raw::c_int;
21478}
21479extern "C" {
21480    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_trust"]
21481    pub fn X509_STORE_CTX_set_trust(
21482        ctx: *mut X509_STORE_CTX,
21483        trust: ::std::os::raw::c_int,
21484    ) -> ::std::os::raw::c_int;
21485}
21486extern "C" {
21487    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_add_custom_crit_oid"]
21488    pub fn X509_STORE_CTX_add_custom_crit_oid(
21489        ctx: *mut X509_STORE_CTX,
21490        oid: *mut ASN1_OBJECT,
21491    ) -> ::std::os::raw::c_int;
21492}
21493pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
21494    unsafe extern "C" fn(
21495        ctx: *mut X509_STORE_CTX,
21496        x509: *mut X509,
21497        oids: *mut stack_st_ASN1_OBJECT,
21498    ) -> ::std::os::raw::c_int,
21499>;
21500extern "C" {
21501    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_verify_crit_oids"]
21502    pub fn X509_STORE_CTX_set_verify_crit_oids(
21503        ctx: *mut X509_STORE_CTX,
21504        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
21505    );
21506}
21507extern "C" {
21508    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_new"]
21509    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
21510}
21511extern "C" {
21512    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_free"]
21513    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
21514}
21515extern "C" {
21516    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_inherit"]
21517    pub fn X509_VERIFY_PARAM_inherit(
21518        to: *mut X509_VERIFY_PARAM,
21519        from: *const X509_VERIFY_PARAM,
21520    ) -> ::std::os::raw::c_int;
21521}
21522extern "C" {
21523    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1"]
21524    pub fn X509_VERIFY_PARAM_set1(
21525        to: *mut X509_VERIFY_PARAM,
21526        from: *const X509_VERIFY_PARAM,
21527    ) -> ::std::os::raw::c_int;
21528}
21529extern "C" {
21530    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_flags"]
21531    pub fn X509_VERIFY_PARAM_set_flags(
21532        param: *mut X509_VERIFY_PARAM,
21533        flags: ::std::os::raw::c_ulong,
21534    ) -> ::std::os::raw::c_int;
21535}
21536extern "C" {
21537    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_clear_flags"]
21538    pub fn X509_VERIFY_PARAM_clear_flags(
21539        param: *mut X509_VERIFY_PARAM,
21540        flags: ::std::os::raw::c_ulong,
21541    ) -> ::std::os::raw::c_int;
21542}
21543extern "C" {
21544    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_get_flags"]
21545    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
21546}
21547extern "C" {
21548    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_depth"]
21549    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
21550}
21551extern "C" {
21552    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_get_depth"]
21553    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
21554}
21555extern "C" {
21556    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_time"]
21557    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
21558}
21559extern "C" {
21560    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_time_posix"]
21561    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
21562}
21563extern "C" {
21564    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_add0_policy"]
21565    pub fn X509_VERIFY_PARAM_add0_policy(
21566        param: *mut X509_VERIFY_PARAM,
21567        policy: *mut ASN1_OBJECT,
21568    ) -> ::std::os::raw::c_int;
21569}
21570extern "C" {
21571    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1_policies"]
21572    pub fn X509_VERIFY_PARAM_set1_policies(
21573        param: *mut X509_VERIFY_PARAM,
21574        policies: *const stack_st_ASN1_OBJECT,
21575    ) -> ::std::os::raw::c_int;
21576}
21577extern "C" {
21578    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1_host"]
21579    pub fn X509_VERIFY_PARAM_set1_host(
21580        param: *mut X509_VERIFY_PARAM,
21581        name: *const ::std::os::raw::c_char,
21582        name_len: usize,
21583    ) -> ::std::os::raw::c_int;
21584}
21585extern "C" {
21586    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_add1_host"]
21587    pub fn X509_VERIFY_PARAM_add1_host(
21588        param: *mut X509_VERIFY_PARAM,
21589        name: *const ::std::os::raw::c_char,
21590        name_len: usize,
21591    ) -> ::std::os::raw::c_int;
21592}
21593extern "C" {
21594    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_hostflags"]
21595    pub fn X509_VERIFY_PARAM_set_hostflags(
21596        param: *mut X509_VERIFY_PARAM,
21597        flags: ::std::os::raw::c_uint,
21598    );
21599}
21600extern "C" {
21601    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_get_hostflags"]
21602    pub fn X509_VERIFY_PARAM_get_hostflags(
21603        param: *const X509_VERIFY_PARAM,
21604    ) -> ::std::os::raw::c_uint;
21605}
21606extern "C" {
21607    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1_email"]
21608    pub fn X509_VERIFY_PARAM_set1_email(
21609        param: *mut X509_VERIFY_PARAM,
21610        email: *const ::std::os::raw::c_char,
21611        email_len: usize,
21612    ) -> ::std::os::raw::c_int;
21613}
21614extern "C" {
21615    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1_ip"]
21616    pub fn X509_VERIFY_PARAM_set1_ip(
21617        param: *mut X509_VERIFY_PARAM,
21618        ip: *const u8,
21619        ip_len: usize,
21620    ) -> ::std::os::raw::c_int;
21621}
21622extern "C" {
21623    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set1_ip_asc"]
21624    pub fn X509_VERIFY_PARAM_set1_ip_asc(
21625        param: *mut X509_VERIFY_PARAM,
21626        ipasc: *const ::std::os::raw::c_char,
21627    ) -> ::std::os::raw::c_int;
21628}
21629extern "C" {
21630    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_purpose"]
21631    pub fn X509_VERIFY_PARAM_set_purpose(
21632        param: *mut X509_VERIFY_PARAM,
21633        purpose: ::std::os::raw::c_int,
21634    ) -> ::std::os::raw::c_int;
21635}
21636extern "C" {
21637    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_set_trust"]
21638    pub fn X509_VERIFY_PARAM_set_trust(
21639        param: *mut X509_VERIFY_PARAM,
21640        trust: ::std::os::raw::c_int,
21641    ) -> ::std::os::raw::c_int;
21642}
21643extern "C" {
21644    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_enable_ec_key_explicit_params"]
21645    pub fn X509_VERIFY_PARAM_enable_ec_key_explicit_params(
21646        param: *mut X509_VERIFY_PARAM,
21647    ) -> ::std::os::raw::c_int;
21648}
21649extern "C" {
21650    #[link_name = "\u{1}aws_lc_0_33_0_X509_VERIFY_PARAM_disable_ec_key_explicit_params"]
21651    pub fn X509_VERIFY_PARAM_disable_ec_key_explicit_params(
21652        param: *mut X509_VERIFY_PARAM,
21653    ) -> ::std::os::raw::c_int;
21654}
21655extern "C" {
21656    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_load_locations"]
21657    pub fn X509_STORE_load_locations(
21658        store: *mut X509_STORE,
21659        file: *const ::std::os::raw::c_char,
21660        dir: *const ::std::os::raw::c_char,
21661    ) -> ::std::os::raw::c_int;
21662}
21663extern "C" {
21664    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_add_lookup"]
21665    pub fn X509_STORE_add_lookup(
21666        store: *mut X509_STORE,
21667        method: *const X509_LOOKUP_METHOD,
21668    ) -> *mut X509_LOOKUP;
21669}
21670extern "C" {
21671    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_hash_dir"]
21672    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
21673}
21674extern "C" {
21675    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_file"]
21676    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
21677}
21678extern "C" {
21679    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_load_file"]
21680    pub fn X509_LOOKUP_load_file(
21681        lookup: *mut X509_LOOKUP,
21682        file: *const ::std::os::raw::c_char,
21683        type_: ::std::os::raw::c_int,
21684    ) -> ::std::os::raw::c_int;
21685}
21686extern "C" {
21687    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_add_dir"]
21688    pub fn X509_LOOKUP_add_dir(
21689        lookup: *mut X509_LOOKUP,
21690        path: *const ::std::os::raw::c_char,
21691        type_: ::std::os::raw::c_int,
21692    ) -> ::std::os::raw::c_int;
21693}
21694extern "C" {
21695    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_ctrl"]
21696    pub fn X509_LOOKUP_ctrl(
21697        lookup: *mut X509_LOOKUP,
21698        cmd: ::std::os::raw::c_int,
21699        argc: *const ::std::os::raw::c_char,
21700        argl: ::std::os::raw::c_long,
21701        ret: *mut *mut ::std::os::raw::c_char,
21702    ) -> ::std::os::raw::c_int;
21703}
21704extern "C" {
21705    #[link_name = "\u{1}aws_lc_0_33_0_X509_load_cert_file"]
21706    pub fn X509_load_cert_file(
21707        lookup: *mut X509_LOOKUP,
21708        file: *const ::std::os::raw::c_char,
21709        type_: ::std::os::raw::c_int,
21710    ) -> ::std::os::raw::c_int;
21711}
21712extern "C" {
21713    #[link_name = "\u{1}aws_lc_0_33_0_X509_load_crl_file"]
21714    pub fn X509_load_crl_file(
21715        lookup: *mut X509_LOOKUP,
21716        file: *const ::std::os::raw::c_char,
21717        type_: ::std::os::raw::c_int,
21718    ) -> ::std::os::raw::c_int;
21719}
21720extern "C" {
21721    #[link_name = "\u{1}aws_lc_0_33_0_X509_load_cert_crl_file"]
21722    pub fn X509_load_cert_crl_file(
21723        lookup: *mut X509_LOOKUP,
21724        file: *const ::std::os::raw::c_char,
21725        type_: ::std::os::raw::c_int,
21726    ) -> ::std::os::raw::c_int;
21727}
21728extern "C" {
21729    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_hash"]
21730    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
21731}
21732extern "C" {
21733    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_hash_old"]
21734    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
21735}
21736extern "C" {
21737    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_default_paths"]
21738    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
21739}
21740extern "C" {
21741    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_cert_area"]
21742    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
21743}
21744extern "C" {
21745    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_cert_dir"]
21746    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
21747}
21748extern "C" {
21749    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_cert_file"]
21750    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
21751}
21752extern "C" {
21753    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_private_dir"]
21754    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
21755}
21756extern "C" {
21757    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_cert_dir_env"]
21758    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
21759}
21760extern "C" {
21761    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_default_cert_file_env"]
21762    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
21763}
21764#[repr(C)]
21765#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21766pub struct Netscape_spki_st {
21767    pub spkac: *mut NETSCAPE_SPKAC,
21768    pub sig_algor: *mut X509_ALGOR,
21769    pub signature: *mut ASN1_BIT_STRING,
21770}
21771#[test]
21772fn bindgen_test_layout_Netscape_spki_st() {
21773    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
21774    let ptr = UNINIT.as_ptr();
21775    assert_eq!(
21776        ::std::mem::size_of::<Netscape_spki_st>(),
21777        24usize,
21778        "Size of Netscape_spki_st"
21779    );
21780    assert_eq!(
21781        ::std::mem::align_of::<Netscape_spki_st>(),
21782        8usize,
21783        "Alignment of Netscape_spki_st"
21784    );
21785    assert_eq!(
21786        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
21787        0usize,
21788        "Offset of field: Netscape_spki_st::spkac"
21789    );
21790    assert_eq!(
21791        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
21792        8usize,
21793        "Offset of field: Netscape_spki_st::sig_algor"
21794    );
21795    assert_eq!(
21796        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
21797        16usize,
21798        "Offset of field: Netscape_spki_st::signature"
21799    );
21800}
21801impl Default for Netscape_spki_st {
21802    fn default() -> Self {
21803        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21804        unsafe {
21805            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21806            s.assume_init()
21807        }
21808    }
21809}
21810extern "C" {
21811    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_it"]
21812    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
21813}
21814extern "C" {
21815    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_new"]
21816    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
21817}
21818extern "C" {
21819    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_free"]
21820    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
21821}
21822extern "C" {
21823    #[link_name = "\u{1}aws_lc_0_33_0_d2i_NETSCAPE_SPKI"]
21824    pub fn d2i_NETSCAPE_SPKI(
21825        out: *mut *mut NETSCAPE_SPKI,
21826        inp: *mut *const u8,
21827        len: ::std::os::raw::c_long,
21828    ) -> *mut NETSCAPE_SPKI;
21829}
21830extern "C" {
21831    #[link_name = "\u{1}aws_lc_0_33_0_i2d_NETSCAPE_SPKI"]
21832    pub fn i2d_NETSCAPE_SPKI(
21833        spki: *const NETSCAPE_SPKI,
21834        outp: *mut *mut u8,
21835    ) -> ::std::os::raw::c_int;
21836}
21837extern "C" {
21838    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_verify"]
21839    pub fn NETSCAPE_SPKI_verify(
21840        spki: *mut NETSCAPE_SPKI,
21841        pkey: *mut EVP_PKEY,
21842    ) -> ::std::os::raw::c_int;
21843}
21844extern "C" {
21845    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_b64_decode"]
21846    pub fn NETSCAPE_SPKI_b64_decode(
21847        str_: *const ::std::os::raw::c_char,
21848        len: ossl_ssize_t,
21849    ) -> *mut NETSCAPE_SPKI;
21850}
21851extern "C" {
21852    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_b64_encode"]
21853    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
21854}
21855extern "C" {
21856    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_get_pubkey"]
21857    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
21858}
21859extern "C" {
21860    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_set_pubkey"]
21861    pub fn NETSCAPE_SPKI_set_pubkey(
21862        spki: *mut NETSCAPE_SPKI,
21863        pkey: *mut EVP_PKEY,
21864    ) -> ::std::os::raw::c_int;
21865}
21866extern "C" {
21867    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_sign"]
21868    pub fn NETSCAPE_SPKI_sign(
21869        spki: *mut NETSCAPE_SPKI,
21870        pkey: *mut EVP_PKEY,
21871        md: *const EVP_MD,
21872    ) -> ::std::os::raw::c_int;
21873}
21874#[repr(C)]
21875#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21876pub struct Netscape_spkac_st {
21877    pub pubkey: *mut X509_PUBKEY,
21878    pub challenge: *mut ASN1_IA5STRING,
21879}
21880#[test]
21881fn bindgen_test_layout_Netscape_spkac_st() {
21882    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
21883    let ptr = UNINIT.as_ptr();
21884    assert_eq!(
21885        ::std::mem::size_of::<Netscape_spkac_st>(),
21886        16usize,
21887        "Size of Netscape_spkac_st"
21888    );
21889    assert_eq!(
21890        ::std::mem::align_of::<Netscape_spkac_st>(),
21891        8usize,
21892        "Alignment of Netscape_spkac_st"
21893    );
21894    assert_eq!(
21895        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
21896        0usize,
21897        "Offset of field: Netscape_spkac_st::pubkey"
21898    );
21899    assert_eq!(
21900        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
21901        8usize,
21902        "Offset of field: Netscape_spkac_st::challenge"
21903    );
21904}
21905impl Default for Netscape_spkac_st {
21906    fn default() -> Self {
21907        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21908        unsafe {
21909            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21910            s.assume_init()
21911        }
21912    }
21913}
21914extern "C" {
21915    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKAC_it"]
21916    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
21917}
21918extern "C" {
21919    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKAC_new"]
21920    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
21921}
21922extern "C" {
21923    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKAC_free"]
21924    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
21925}
21926extern "C" {
21927    #[link_name = "\u{1}aws_lc_0_33_0_d2i_NETSCAPE_SPKAC"]
21928    pub fn d2i_NETSCAPE_SPKAC(
21929        out: *mut *mut NETSCAPE_SPKAC,
21930        inp: *mut *const u8,
21931        len: ::std::os::raw::c_long,
21932    ) -> *mut NETSCAPE_SPKAC;
21933}
21934extern "C" {
21935    #[link_name = "\u{1}aws_lc_0_33_0_i2d_NETSCAPE_SPKAC"]
21936    pub fn i2d_NETSCAPE_SPKAC(
21937        spkac: *const NETSCAPE_SPKAC,
21938        outp: *mut *mut u8,
21939    ) -> ::std::os::raw::c_int;
21940}
21941extern "C" {
21942    #[link_name = "\u{1}aws_lc_0_33_0_NETSCAPE_SPKI_print"]
21943    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
21944}
21945#[repr(C)]
21946#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21947pub struct rsa_pss_params_st {
21948    pub hashAlgorithm: *mut X509_ALGOR,
21949    pub maskGenAlgorithm: *mut X509_ALGOR,
21950    pub saltLength: *mut ASN1_INTEGER,
21951    pub trailerField: *mut ASN1_INTEGER,
21952    pub maskHash: *mut X509_ALGOR,
21953}
21954#[test]
21955fn bindgen_test_layout_rsa_pss_params_st() {
21956    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
21957    let ptr = UNINIT.as_ptr();
21958    assert_eq!(
21959        ::std::mem::size_of::<rsa_pss_params_st>(),
21960        40usize,
21961        "Size of rsa_pss_params_st"
21962    );
21963    assert_eq!(
21964        ::std::mem::align_of::<rsa_pss_params_st>(),
21965        8usize,
21966        "Alignment of rsa_pss_params_st"
21967    );
21968    assert_eq!(
21969        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
21970        0usize,
21971        "Offset of field: rsa_pss_params_st::hashAlgorithm"
21972    );
21973    assert_eq!(
21974        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
21975        8usize,
21976        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
21977    );
21978    assert_eq!(
21979        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
21980        16usize,
21981        "Offset of field: rsa_pss_params_st::saltLength"
21982    );
21983    assert_eq!(
21984        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
21985        24usize,
21986        "Offset of field: rsa_pss_params_st::trailerField"
21987    );
21988    assert_eq!(
21989        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
21990        32usize,
21991        "Offset of field: rsa_pss_params_st::maskHash"
21992    );
21993}
21994impl Default for rsa_pss_params_st {
21995    fn default() -> Self {
21996        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21997        unsafe {
21998            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21999            s.assume_init()
22000        }
22001    }
22002}
22003extern "C" {
22004    #[link_name = "\u{1}aws_lc_0_33_0_RSA_PSS_PARAMS_it"]
22005    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
22006}
22007extern "C" {
22008    #[link_name = "\u{1}aws_lc_0_33_0_RSA_PSS_PARAMS_new"]
22009    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
22010}
22011extern "C" {
22012    #[link_name = "\u{1}aws_lc_0_33_0_RSA_PSS_PARAMS_free"]
22013    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
22014}
22015extern "C" {
22016    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSA_PSS_PARAMS"]
22017    pub fn d2i_RSA_PSS_PARAMS(
22018        out: *mut *mut RSA_PSS_PARAMS,
22019        inp: *mut *const u8,
22020        len: ::std::os::raw::c_long,
22021    ) -> *mut RSA_PSS_PARAMS;
22022}
22023extern "C" {
22024    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSA_PSS_PARAMS"]
22025    pub fn i2d_RSA_PSS_PARAMS(
22026        in_: *const RSA_PSS_PARAMS,
22027        outp: *mut *mut u8,
22028    ) -> ::std::os::raw::c_int;
22029}
22030extern "C" {
22031    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_PRIV_KEY_INFO_it"]
22032    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
22033}
22034extern "C" {
22035    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_PRIV_KEY_INFO_new"]
22036    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
22037}
22038extern "C" {
22039    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_PRIV_KEY_INFO_free"]
22040    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
22041}
22042extern "C" {
22043    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8_PRIV_KEY_INFO"]
22044    pub fn d2i_PKCS8_PRIV_KEY_INFO(
22045        out: *mut *mut PKCS8_PRIV_KEY_INFO,
22046        inp: *mut *const u8,
22047        len: ::std::os::raw::c_long,
22048    ) -> *mut PKCS8_PRIV_KEY_INFO;
22049}
22050extern "C" {
22051    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8_PRIV_KEY_INFO"]
22052    pub fn i2d_PKCS8_PRIV_KEY_INFO(
22053        key: *const PKCS8_PRIV_KEY_INFO,
22054        outp: *mut *mut u8,
22055    ) -> ::std::os::raw::c_int;
22056}
22057extern "C" {
22058    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKCS82PKEY"]
22059    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
22060}
22061extern "C" {
22062    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY2PKCS8"]
22063    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
22064}
22065extern "C" {
22066    #[link_name = "\u{1}aws_lc_0_33_0_X509_SIG_it"]
22067    pub static X509_SIG_it: ASN1_ITEM;
22068}
22069extern "C" {
22070    #[link_name = "\u{1}aws_lc_0_33_0_X509_SIG_new"]
22071    pub fn X509_SIG_new() -> *mut X509_SIG;
22072}
22073extern "C" {
22074    #[link_name = "\u{1}aws_lc_0_33_0_X509_SIG_free"]
22075    pub fn X509_SIG_free(key: *mut X509_SIG);
22076}
22077extern "C" {
22078    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_SIG"]
22079    pub fn d2i_X509_SIG(
22080        out: *mut *mut X509_SIG,
22081        inp: *mut *const u8,
22082        len: ::std::os::raw::c_long,
22083    ) -> *mut X509_SIG;
22084}
22085extern "C" {
22086    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_SIG"]
22087    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22088}
22089extern "C" {
22090    #[link_name = "\u{1}aws_lc_0_33_0_X509_SIG_get0"]
22091    pub fn X509_SIG_get0(
22092        sig: *const X509_SIG,
22093        out_alg: *mut *const X509_ALGOR,
22094        out_digest: *mut *const ASN1_OCTET_STRING,
22095    );
22096}
22097extern "C" {
22098    #[link_name = "\u{1}aws_lc_0_33_0_X509_SIG_getm"]
22099    pub fn X509_SIG_getm(
22100        sig: *mut X509_SIG,
22101        out_alg: *mut *mut X509_ALGOR,
22102        out_digest: *mut *mut ASN1_OCTET_STRING,
22103    );
22104}
22105extern "C" {
22106    #[link_name = "\u{1}aws_lc_0_33_0_X509_print_ex"]
22107    pub fn X509_print_ex(
22108        bp: *mut BIO,
22109        x: *mut X509,
22110        nmflag: ::std::os::raw::c_ulong,
22111        cflag: ::std::os::raw::c_ulong,
22112    ) -> ::std::os::raw::c_int;
22113}
22114extern "C" {
22115    #[link_name = "\u{1}aws_lc_0_33_0_X509_print_ex_fp"]
22116    pub fn X509_print_ex_fp(
22117        fp: *mut FILE,
22118        x: *mut X509,
22119        nmflag: ::std::os::raw::c_ulong,
22120        cflag: ::std::os::raw::c_ulong,
22121    ) -> ::std::os::raw::c_int;
22122}
22123extern "C" {
22124    #[link_name = "\u{1}aws_lc_0_33_0_X509_print"]
22125    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
22126}
22127extern "C" {
22128    #[link_name = "\u{1}aws_lc_0_33_0_X509_print_fp"]
22129    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
22130}
22131extern "C" {
22132    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_print"]
22133    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22134}
22135extern "C" {
22136    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_print_fp"]
22137    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
22138}
22139extern "C" {
22140    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_print_ex"]
22141    pub fn X509_REQ_print_ex(
22142        bp: *mut BIO,
22143        x: *mut X509_REQ,
22144        nmflag: ::std::os::raw::c_ulong,
22145        cflag: ::std::os::raw::c_ulong,
22146    ) -> ::std::os::raw::c_int;
22147}
22148extern "C" {
22149    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_print"]
22150    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22151}
22152extern "C" {
22153    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_print_fp"]
22154    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22155}
22156extern "C" {
22157    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_print_ex"]
22158    pub fn X509_NAME_print_ex(
22159        out: *mut BIO,
22160        nm: *const X509_NAME,
22161        indent: ::std::os::raw::c_int,
22162        flags: ::std::os::raw::c_ulong,
22163    ) -> ::std::os::raw::c_int;
22164}
22165extern "C" {
22166    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_print"]
22167    pub fn X509_NAME_print(
22168        bp: *mut BIO,
22169        name: *const X509_NAME,
22170        obase: ::std::os::raw::c_int,
22171    ) -> ::std::os::raw::c_int;
22172}
22173extern "C" {
22174    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_oneline"]
22175    pub fn X509_NAME_oneline(
22176        name: *const X509_NAME,
22177        buf: *mut ::std::os::raw::c_char,
22178        size: ::std::os::raw::c_int,
22179    ) -> *mut ::std::os::raw::c_char;
22180}
22181extern "C" {
22182    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_print_ex_fp"]
22183    pub fn X509_NAME_print_ex_fp(
22184        fp: *mut FILE,
22185        nm: *const X509_NAME,
22186        indent: ::std::os::raw::c_int,
22187        flags: ::std::os::raw::c_ulong,
22188    ) -> ::std::os::raw::c_int;
22189}
22190extern "C" {
22191    #[link_name = "\u{1}aws_lc_0_33_0_X509_signature_dump"]
22192    pub fn X509_signature_dump(
22193        bio: *mut BIO,
22194        sig: *const ASN1_STRING,
22195        indent: ::std::os::raw::c_int,
22196    ) -> ::std::os::raw::c_int;
22197}
22198extern "C" {
22199    #[link_name = "\u{1}aws_lc_0_33_0_X509_signature_print"]
22200    pub fn X509_signature_print(
22201        bio: *mut BIO,
22202        alg: *const X509_ALGOR,
22203        sig: *const ASN1_STRING,
22204    ) -> ::std::os::raw::c_int;
22205}
22206extern "C" {
22207    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_print"]
22208    pub fn X509V3_EXT_print(
22209        out: *mut BIO,
22210        ext: *const X509_EXTENSION,
22211        flag: ::std::os::raw::c_ulong,
22212        indent: ::std::os::raw::c_int,
22213    ) -> ::std::os::raw::c_int;
22214}
22215extern "C" {
22216    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_print_fp"]
22217    pub fn X509V3_EXT_print_fp(
22218        out: *mut FILE,
22219        ext: *const X509_EXTENSION,
22220        flag: ::std::os::raw::c_int,
22221        indent: ::std::os::raw::c_int,
22222    ) -> ::std::os::raw::c_int;
22223}
22224extern "C" {
22225    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_extensions_print"]
22226    pub fn X509V3_extensions_print(
22227        out: *mut BIO,
22228        title: *const ::std::os::raw::c_char,
22229        exts: *const stack_st_X509_EXTENSION,
22230        flag: ::std::os::raw::c_ulong,
22231        indent: ::std::os::raw::c_int,
22232    ) -> ::std::os::raw::c_int;
22233}
22234extern "C" {
22235    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_NAME_print"]
22236    pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::std::os::raw::c_int;
22237}
22238extern "C" {
22239    #[link_name = "\u{1}aws_lc_0_33_0_X509_pubkey_digest"]
22240    pub fn X509_pubkey_digest(
22241        x509: *const X509,
22242        md: *const EVP_MD,
22243        out: *mut u8,
22244        out_len: *mut ::std::os::raw::c_uint,
22245    ) -> ::std::os::raw::c_int;
22246}
22247extern "C" {
22248    #[link_name = "\u{1}aws_lc_0_33_0_X509_digest"]
22249    pub fn X509_digest(
22250        x509: *const X509,
22251        md: *const EVP_MD,
22252        out: *mut u8,
22253        out_len: *mut ::std::os::raw::c_uint,
22254    ) -> ::std::os::raw::c_int;
22255}
22256extern "C" {
22257    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_digest"]
22258    pub fn X509_CRL_digest(
22259        crl: *const X509_CRL,
22260        md: *const EVP_MD,
22261        out: *mut u8,
22262        out_len: *mut ::std::os::raw::c_uint,
22263    ) -> ::std::os::raw::c_int;
22264}
22265extern "C" {
22266    #[link_name = "\u{1}aws_lc_0_33_0_X509_REQ_digest"]
22267    pub fn X509_REQ_digest(
22268        req: *const X509_REQ,
22269        md: *const EVP_MD,
22270        out: *mut u8,
22271        out_len: *mut ::std::os::raw::c_uint,
22272    ) -> ::std::os::raw::c_int;
22273}
22274extern "C" {
22275    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_digest"]
22276    pub fn X509_NAME_digest(
22277        name: *const X509_NAME,
22278        md: *const EVP_MD,
22279        out: *mut u8,
22280        out_len: *mut ::std::os::raw::c_uint,
22281    ) -> ::std::os::raw::c_int;
22282}
22283extern "C" {
22284    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_bio"]
22285    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
22286}
22287extern "C" {
22288    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_CRL_bio"]
22289    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22290}
22291extern "C" {
22292    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_REQ_bio"]
22293    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22294}
22295extern "C" {
22296    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPrivateKey_bio"]
22297    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22298}
22299extern "C" {
22300    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPublicKey_bio"]
22301    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22302}
22303extern "C" {
22304    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSA_PUBKEY_bio"]
22305    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
22306}
22307extern "C" {
22308    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSA_PUBKEY_bio"]
22309    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22310}
22311extern "C" {
22312    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSAPrivateKey_bio"]
22313    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
22314}
22315extern "C" {
22316    #[link_name = "\u{1}aws_lc_0_33_0_d2i_EC_PUBKEY_bio"]
22317    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22318}
22319extern "C" {
22320    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECPrivateKey_bio"]
22321    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22322}
22323extern "C" {
22324    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8_bio"]
22325    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22326}
22327extern "C" {
22328    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
22329    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
22330        bp: *mut BIO,
22331        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22332    ) -> *mut PKCS8_PRIV_KEY_INFO;
22333}
22334extern "C" {
22335    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PUBKEY_bio"]
22336    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22337}
22338extern "C" {
22339    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DHparams_bio"]
22340    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
22341}
22342extern "C" {
22343    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PrivateKey_bio"]
22344    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22345}
22346extern "C" {
22347    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_bio"]
22348    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
22349}
22350extern "C" {
22351    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_CRL_bio"]
22352    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22353}
22354extern "C" {
22355    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_REQ_bio"]
22356    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22357}
22358extern "C" {
22359    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPrivateKey_bio"]
22360    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22361}
22362extern "C" {
22363    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPublicKey_bio"]
22364    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22365}
22366extern "C" {
22367    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSA_PUBKEY_bio"]
22368    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
22369}
22370extern "C" {
22371    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSA_PUBKEY_bio"]
22372    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22373}
22374extern "C" {
22375    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSAPrivateKey_bio"]
22376    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
22377}
22378extern "C" {
22379    #[link_name = "\u{1}aws_lc_0_33_0_i2d_EC_PUBKEY_bio"]
22380    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22381}
22382extern "C" {
22383    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECPrivateKey_bio"]
22384    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22385}
22386extern "C" {
22387    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8_bio"]
22388    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22389}
22390extern "C" {
22391    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
22392    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
22393        bp: *mut BIO,
22394        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22395    ) -> ::std::os::raw::c_int;
22396}
22397extern "C" {
22398    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PrivateKey_bio"]
22399    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22400}
22401extern "C" {
22402    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PUBKEY_bio"]
22403    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22404}
22405extern "C" {
22406    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DHparams_bio"]
22407    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
22408}
22409extern "C" {
22410    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKeyInfo_bio"]
22411    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22412}
22413extern "C" {
22414    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_fp"]
22415    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
22416}
22417extern "C" {
22418    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_CRL_fp"]
22419    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
22420}
22421extern "C" {
22422    #[link_name = "\u{1}aws_lc_0_33_0_d2i_X509_REQ_fp"]
22423    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
22424}
22425extern "C" {
22426    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPrivateKey_fp"]
22427    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22428}
22429extern "C" {
22430    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSAPublicKey_fp"]
22431    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22432}
22433extern "C" {
22434    #[link_name = "\u{1}aws_lc_0_33_0_d2i_RSA_PUBKEY_fp"]
22435    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
22436}
22437extern "C" {
22438    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSA_PUBKEY_fp"]
22439    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
22440}
22441extern "C" {
22442    #[link_name = "\u{1}aws_lc_0_33_0_d2i_DSAPrivateKey_fp"]
22443    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
22444}
22445extern "C" {
22446    #[link_name = "\u{1}aws_lc_0_33_0_d2i_EC_PUBKEY_fp"]
22447    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22448}
22449extern "C" {
22450    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ECPrivateKey_fp"]
22451    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
22452}
22453extern "C" {
22454    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8_fp"]
22455    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
22456}
22457extern "C" {
22458    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
22459    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
22460        fp: *mut FILE,
22461        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
22462    ) -> *mut PKCS8_PRIV_KEY_INFO;
22463}
22464extern "C" {
22465    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PrivateKey_fp"]
22466    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22467}
22468extern "C" {
22469    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PUBKEY_fp"]
22470    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
22471}
22472extern "C" {
22473    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_fp"]
22474    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
22475}
22476extern "C" {
22477    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_CRL_fp"]
22478    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22479}
22480extern "C" {
22481    #[link_name = "\u{1}aws_lc_0_33_0_i2d_X509_REQ_fp"]
22482    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
22483}
22484extern "C" {
22485    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPrivateKey_fp"]
22486    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22487}
22488extern "C" {
22489    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSAPublicKey_fp"]
22490    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22491}
22492extern "C" {
22493    #[link_name = "\u{1}aws_lc_0_33_0_i2d_RSA_PUBKEY_fp"]
22494    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
22495}
22496extern "C" {
22497    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSA_PUBKEY_fp"]
22498    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
22499}
22500extern "C" {
22501    #[link_name = "\u{1}aws_lc_0_33_0_i2d_DSAPrivateKey_fp"]
22502    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
22503}
22504extern "C" {
22505    #[link_name = "\u{1}aws_lc_0_33_0_i2d_EC_PUBKEY_fp"]
22506    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22507}
22508extern "C" {
22509    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ECPrivateKey_fp"]
22510    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
22511}
22512extern "C" {
22513    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8_fp"]
22514    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
22515}
22516extern "C" {
22517    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
22518    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
22519        fp: *mut FILE,
22520        p8inf: *mut PKCS8_PRIV_KEY_INFO,
22521    ) -> ::std::os::raw::c_int;
22522}
22523extern "C" {
22524    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKeyInfo_fp"]
22525    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22526}
22527extern "C" {
22528    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PrivateKey_fp"]
22529    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22530}
22531extern "C" {
22532    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PUBKEY_fp"]
22533    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
22534}
22535extern "C" {
22536    #[link_name = "\u{1}aws_lc_0_33_0_X509_find_by_issuer_and_serial"]
22537    pub fn X509_find_by_issuer_and_serial(
22538        sk: *const stack_st_X509,
22539        name: *mut X509_NAME,
22540        serial: *const ASN1_INTEGER,
22541    ) -> *mut X509;
22542}
22543extern "C" {
22544    #[link_name = "\u{1}aws_lc_0_33_0_X509_find_by_subject"]
22545    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
22546}
22547extern "C" {
22548    #[link_name = "\u{1}aws_lc_0_33_0_X509_cmp_time"]
22549    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
22550}
22551extern "C" {
22552    #[link_name = "\u{1}aws_lc_0_33_0_X509_cmp_time_posix"]
22553    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
22554}
22555extern "C" {
22556    #[link_name = "\u{1}aws_lc_0_33_0_X509_cmp_current_time"]
22557    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
22558}
22559extern "C" {
22560    #[link_name = "\u{1}aws_lc_0_33_0_X509_time_adj"]
22561    pub fn X509_time_adj(
22562        s: *mut ASN1_TIME,
22563        offset_sec: ::std::os::raw::c_long,
22564        t: *const time_t,
22565    ) -> *mut ASN1_TIME;
22566}
22567extern "C" {
22568    #[link_name = "\u{1}aws_lc_0_33_0_X509_time_adj_ex"]
22569    pub fn X509_time_adj_ex(
22570        s: *mut ASN1_TIME,
22571        offset_day: ::std::os::raw::c_int,
22572        offset_sec: ::std::os::raw::c_long,
22573        t: *const time_t,
22574    ) -> *mut ASN1_TIME;
22575}
22576extern "C" {
22577    #[link_name = "\u{1}aws_lc_0_33_0_X509_gmtime_adj"]
22578    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
22579        -> *mut ASN1_TIME;
22580}
22581extern "C" {
22582    #[link_name = "\u{1}aws_lc_0_33_0_X509_issuer_name_cmp"]
22583    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
22584}
22585extern "C" {
22586    #[link_name = "\u{1}aws_lc_0_33_0_X509_subject_name_cmp"]
22587    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
22588}
22589extern "C" {
22590    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_cmp"]
22591    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
22592}
22593extern "C" {
22594    #[link_name = "\u{1}aws_lc_0_33_0_X509_issuer_name_hash"]
22595    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
22596}
22597extern "C" {
22598    #[link_name = "\u{1}aws_lc_0_33_0_X509_subject_name_hash"]
22599    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
22600}
22601extern "C" {
22602    #[link_name = "\u{1}aws_lc_0_33_0_X509_issuer_name_hash_old"]
22603    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
22604}
22605extern "C" {
22606    #[link_name = "\u{1}aws_lc_0_33_0_X509_subject_name_hash_old"]
22607    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
22608}
22609extern "C" {
22610    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ex_new_index"]
22611    pub fn X509_get_ex_new_index(
22612        argl: ::std::os::raw::c_long,
22613        argp: *mut ::std::os::raw::c_void,
22614        unused: *mut CRYPTO_EX_unused,
22615        dup_unused: CRYPTO_EX_dup,
22616        free_func: CRYPTO_EX_free,
22617    ) -> ::std::os::raw::c_int;
22618}
22619extern "C" {
22620    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_ex_data"]
22621    pub fn X509_set_ex_data(
22622        r: *mut X509,
22623        idx: ::std::os::raw::c_int,
22624        arg: *mut ::std::os::raw::c_void,
22625    ) -> ::std::os::raw::c_int;
22626}
22627extern "C" {
22628    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_ex_data"]
22629    pub fn X509_get_ex_data(
22630        r: *mut X509,
22631        idx: ::std::os::raw::c_int,
22632    ) -> *mut ::std::os::raw::c_void;
22633}
22634extern "C" {
22635    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_ex_new_index"]
22636    pub fn X509_STORE_CTX_get_ex_new_index(
22637        argl: ::std::os::raw::c_long,
22638        argp: *mut ::std::os::raw::c_void,
22639        unused: *mut CRYPTO_EX_unused,
22640        dup_unused: CRYPTO_EX_dup,
22641        free_func: CRYPTO_EX_free,
22642    ) -> ::std::os::raw::c_int;
22643}
22644extern "C" {
22645    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_ex_data"]
22646    pub fn X509_STORE_CTX_set_ex_data(
22647        ctx: *mut X509_STORE_CTX,
22648        idx: ::std::os::raw::c_int,
22649        data: *mut ::std::os::raw::c_void,
22650    ) -> ::std::os::raw::c_int;
22651}
22652extern "C" {
22653    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_ex_data"]
22654    pub fn X509_STORE_CTX_get_ex_data(
22655        ctx: *mut X509_STORE_CTX,
22656        idx: ::std::os::raw::c_int,
22657    ) -> *mut ::std::os::raw::c_void;
22658}
22659extern "C" {
22660    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get_ex_new_index"]
22661    pub fn X509_STORE_get_ex_new_index(
22662        argl: ::std::os::raw::c_long,
22663        argp: *mut ::std::os::raw::c_void,
22664        unused: *mut CRYPTO_EX_unused,
22665        dup_unused: CRYPTO_EX_dup,
22666        free_func: CRYPTO_EX_free,
22667    ) -> ::std::os::raw::c_int;
22668}
22669extern "C" {
22670    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_ex_data"]
22671    pub fn X509_STORE_set_ex_data(
22672        ctx: *mut X509_STORE,
22673        idx: ::std::os::raw::c_int,
22674        data: *mut ::std::os::raw::c_void,
22675    ) -> ::std::os::raw::c_int;
22676}
22677extern "C" {
22678    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get_ex_data"]
22679    pub fn X509_STORE_get_ex_data(
22680        ctx: *mut X509_STORE,
22681        idx: ::std::os::raw::c_int,
22682    ) -> *mut ::std::os::raw::c_void;
22683}
22684extern "C" {
22685    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_digest"]
22686    pub fn ASN1_digest(
22687        i2d: i2d_of_void,
22688        type_: *const EVP_MD,
22689        data: *mut ::std::os::raw::c_char,
22690        md: *mut ::std::os::raw::c_uchar,
22691        len: *mut ::std::os::raw::c_uint,
22692    ) -> ::std::os::raw::c_int;
22693}
22694extern "C" {
22695    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_digest"]
22696    pub fn ASN1_item_digest(
22697        it: *const ASN1_ITEM,
22698        type_: *const EVP_MD,
22699        data: *mut ::std::os::raw::c_void,
22700        md: *mut ::std::os::raw::c_uchar,
22701        len: *mut ::std::os::raw::c_uint,
22702    ) -> ::std::os::raw::c_int;
22703}
22704extern "C" {
22705    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_verify"]
22706    pub fn ASN1_item_verify(
22707        it: *const ASN1_ITEM,
22708        algor1: *const X509_ALGOR,
22709        signature: *const ASN1_BIT_STRING,
22710        data: *mut ::std::os::raw::c_void,
22711        pkey: *mut EVP_PKEY,
22712    ) -> ::std::os::raw::c_int;
22713}
22714extern "C" {
22715    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_sign"]
22716    pub fn ASN1_item_sign(
22717        it: *const ASN1_ITEM,
22718        algor1: *mut X509_ALGOR,
22719        algor2: *mut X509_ALGOR,
22720        signature: *mut ASN1_BIT_STRING,
22721        data: *mut ::std::os::raw::c_void,
22722        pkey: *mut EVP_PKEY,
22723        type_: *const EVP_MD,
22724    ) -> ::std::os::raw::c_int;
22725}
22726extern "C" {
22727    #[link_name = "\u{1}aws_lc_0_33_0_ASN1_item_sign_ctx"]
22728    pub fn ASN1_item_sign_ctx(
22729        it: *const ASN1_ITEM,
22730        algor1: *mut X509_ALGOR,
22731        algor2: *mut X509_ALGOR,
22732        signature: *mut ASN1_BIT_STRING,
22733        asn: *mut ::std::os::raw::c_void,
22734        ctx: *mut EVP_MD_CTX,
22735    ) -> ::std::os::raw::c_int;
22736}
22737extern "C" {
22738    #[link_name = "\u{1}aws_lc_0_33_0_X509_supported_extension"]
22739    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
22740}
22741extern "C" {
22742    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_ca"]
22743    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
22744}
22745extern "C" {
22746    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_issued"]
22747    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
22748}
22749extern "C" {
22750    #[link_name = "\u{1}aws_lc_0_33_0_NAME_CONSTRAINTS_check"]
22751    pub fn NAME_CONSTRAINTS_check(
22752        x509: *mut X509,
22753        nc: *mut NAME_CONSTRAINTS,
22754    ) -> ::std::os::raw::c_int;
22755}
22756extern "C" {
22757    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_host"]
22758    pub fn X509_check_host(
22759        x509: *const X509,
22760        chk: *const ::std::os::raw::c_char,
22761        chklen: usize,
22762        flags: ::std::os::raw::c_uint,
22763        out_peername: *mut *mut ::std::os::raw::c_char,
22764    ) -> ::std::os::raw::c_int;
22765}
22766extern "C" {
22767    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_email"]
22768    pub fn X509_check_email(
22769        x509: *const X509,
22770        chk: *const ::std::os::raw::c_char,
22771        chklen: usize,
22772        flags: ::std::os::raw::c_uint,
22773    ) -> ::std::os::raw::c_int;
22774}
22775extern "C" {
22776    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_ip"]
22777    pub fn X509_check_ip(
22778        x509: *const X509,
22779        chk: *const u8,
22780        chklen: usize,
22781        flags: ::std::os::raw::c_uint,
22782    ) -> ::std::os::raw::c_int;
22783}
22784extern "C" {
22785    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_ip_asc"]
22786    pub fn X509_check_ip_asc(
22787        x509: *const X509,
22788        ipasc: *const ::std::os::raw::c_char,
22789        flags: ::std::os::raw::c_uint,
22790    ) -> ::std::os::raw::c_int;
22791}
22792extern "C" {
22793    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get1_issuer"]
22794    pub fn X509_STORE_CTX_get1_issuer(
22795        out_issuer: *mut *mut X509,
22796        ctx: *mut X509_STORE_CTX,
22797        x509: *mut X509,
22798    ) -> ::std::os::raw::c_int;
22799}
22800extern "C" {
22801    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_purpose"]
22802    pub fn X509_check_purpose(
22803        x509: *mut X509,
22804        purpose: ::std::os::raw::c_int,
22805        ca: ::std::os::raw::c_int,
22806    ) -> ::std::os::raw::c_int;
22807}
22808extern "C" {
22809    #[link_name = "\u{1}aws_lc_0_33_0_X509_check_trust"]
22810    pub fn X509_check_trust(
22811        x509: *mut X509,
22812        id: ::std::os::raw::c_int,
22813        flags: ::std::os::raw::c_int,
22814    ) -> ::std::os::raw::c_int;
22815}
22816#[repr(C)]
22817#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22818pub struct private_key_st {
22819    pub dec_pkey: *mut EVP_PKEY,
22820}
22821#[test]
22822fn bindgen_test_layout_private_key_st() {
22823    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
22824    let ptr = UNINIT.as_ptr();
22825    assert_eq!(
22826        ::std::mem::size_of::<private_key_st>(),
22827        8usize,
22828        "Size of private_key_st"
22829    );
22830    assert_eq!(
22831        ::std::mem::align_of::<private_key_st>(),
22832        8usize,
22833        "Alignment of private_key_st"
22834    );
22835    assert_eq!(
22836        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
22837        0usize,
22838        "Offset of field: private_key_st::dec_pkey"
22839    );
22840}
22841impl Default for private_key_st {
22842    fn default() -> Self {
22843        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22844        unsafe {
22845            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22846            s.assume_init()
22847        }
22848    }
22849}
22850#[repr(C)]
22851#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22852pub struct X509_info_st {
22853    pub x509: *mut X509,
22854    pub crl: *mut X509_CRL,
22855    pub x_pkey: *mut X509_PKEY,
22856    pub enc_cipher: EVP_CIPHER_INFO,
22857    pub enc_len: ::std::os::raw::c_int,
22858    pub enc_data: *mut ::std::os::raw::c_char,
22859}
22860#[test]
22861fn bindgen_test_layout_X509_info_st() {
22862    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
22863    let ptr = UNINIT.as_ptr();
22864    assert_eq!(
22865        ::std::mem::size_of::<X509_info_st>(),
22866        64usize,
22867        "Size of X509_info_st"
22868    );
22869    assert_eq!(
22870        ::std::mem::align_of::<X509_info_st>(),
22871        8usize,
22872        "Alignment of X509_info_st"
22873    );
22874    assert_eq!(
22875        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
22876        0usize,
22877        "Offset of field: X509_info_st::x509"
22878    );
22879    assert_eq!(
22880        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
22881        8usize,
22882        "Offset of field: X509_info_st::crl"
22883    );
22884    assert_eq!(
22885        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
22886        16usize,
22887        "Offset of field: X509_info_st::x_pkey"
22888    );
22889    assert_eq!(
22890        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
22891        24usize,
22892        "Offset of field: X509_info_st::enc_cipher"
22893    );
22894    assert_eq!(
22895        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
22896        48usize,
22897        "Offset of field: X509_info_st::enc_len"
22898    );
22899    assert_eq!(
22900        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
22901        56usize,
22902        "Offset of field: X509_info_st::enc_data"
22903    );
22904}
22905impl Default for X509_info_st {
22906    fn default() -> Self {
22907        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22908        unsafe {
22909            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22910            s.assume_init()
22911        }
22912    }
22913}
22914#[repr(C)]
22915#[derive(Debug, Copy, Clone)]
22916pub struct stack_st_X509_INFO {
22917    _unused: [u8; 0],
22918}
22919pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
22920pub type sk_X509_INFO_copy_func =
22921    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
22922pub type sk_X509_INFO_cmp_func = ::std::option::Option<
22923    unsafe extern "C" fn(
22924        arg1: *const *const X509_INFO,
22925        arg2: *const *const X509_INFO,
22926    ) -> ::std::os::raw::c_int,
22927>;
22928pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
22929    unsafe extern "C" fn(
22930        arg1: *mut X509_INFO,
22931        arg2: *mut ::std::os::raw::c_void,
22932    ) -> ::std::os::raw::c_int,
22933>;
22934extern "C" {
22935    #[link_name = "\u{1}aws_lc_0_33_0_X509_INFO_free"]
22936    pub fn X509_INFO_free(info: *mut X509_INFO);
22937}
22938pub type X509V3_EXT_NEW =
22939    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
22940pub type X509V3_EXT_FREE =
22941    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
22942pub type X509V3_EXT_D2I = ::std::option::Option<
22943    unsafe extern "C" fn(
22944        ext: *mut ::std::os::raw::c_void,
22945        inp: *mut *const u8,
22946        len: ::std::os::raw::c_long,
22947    ) -> *mut ::std::os::raw::c_void,
22948>;
22949pub type X509V3_EXT_I2D = ::std::option::Option<
22950    unsafe extern "C" fn(
22951        ext: *mut ::std::os::raw::c_void,
22952        outp: *mut *mut u8,
22953    ) -> ::std::os::raw::c_int,
22954>;
22955pub type X509V3_EXT_I2V = ::std::option::Option<
22956    unsafe extern "C" fn(
22957        method: *const X509V3_EXT_METHOD,
22958        ext: *mut ::std::os::raw::c_void,
22959        extlist: *mut stack_st_CONF_VALUE,
22960    ) -> *mut stack_st_CONF_VALUE,
22961>;
22962pub type X509V3_EXT_V2I = ::std::option::Option<
22963    unsafe extern "C" fn(
22964        method: *const X509V3_EXT_METHOD,
22965        ctx: *const X509V3_CTX,
22966        values: *const stack_st_CONF_VALUE,
22967    ) -> *mut ::std::os::raw::c_void,
22968>;
22969pub type X509V3_EXT_I2S = ::std::option::Option<
22970    unsafe extern "C" fn(
22971        method: *const X509V3_EXT_METHOD,
22972        ext: *mut ::std::os::raw::c_void,
22973    ) -> *mut ::std::os::raw::c_char,
22974>;
22975pub type X509V3_EXT_S2I = ::std::option::Option<
22976    unsafe extern "C" fn(
22977        method: *const X509V3_EXT_METHOD,
22978        ctx: *const X509V3_CTX,
22979        str_: *const ::std::os::raw::c_char,
22980    ) -> *mut ::std::os::raw::c_void,
22981>;
22982pub type X509V3_EXT_I2R = ::std::option::Option<
22983    unsafe extern "C" fn(
22984        method: *const X509V3_EXT_METHOD,
22985        ext: *mut ::std::os::raw::c_void,
22986        out: *mut BIO,
22987        indent: ::std::os::raw::c_int,
22988    ) -> ::std::os::raw::c_int,
22989>;
22990pub type X509V3_EXT_R2I = ::std::option::Option<
22991    unsafe extern "C" fn(
22992        method: *const X509V3_EXT_METHOD,
22993        ctx: *const X509V3_CTX,
22994        str_: *const ::std::os::raw::c_char,
22995    ) -> *mut ::std::os::raw::c_void,
22996>;
22997#[repr(C)]
22998#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22999pub struct v3_ext_method {
23000    pub ext_nid: ::std::os::raw::c_int,
23001    pub ext_flags: ::std::os::raw::c_int,
23002    pub it: *const ASN1_ITEM_st,
23003    pub ext_new: X509V3_EXT_NEW,
23004    pub ext_free: X509V3_EXT_FREE,
23005    pub d2i: X509V3_EXT_D2I,
23006    pub i2d: X509V3_EXT_I2D,
23007    pub i2s: X509V3_EXT_I2S,
23008    pub s2i: X509V3_EXT_S2I,
23009    pub i2v: X509V3_EXT_I2V,
23010    pub v2i: X509V3_EXT_V2I,
23011    pub i2r: X509V3_EXT_I2R,
23012    pub r2i: X509V3_EXT_R2I,
23013    pub usr_data: *mut ::std::os::raw::c_void,
23014}
23015#[test]
23016fn bindgen_test_layout_v3_ext_method() {
23017    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
23018    let ptr = UNINIT.as_ptr();
23019    assert_eq!(
23020        ::std::mem::size_of::<v3_ext_method>(),
23021        104usize,
23022        "Size of v3_ext_method"
23023    );
23024    assert_eq!(
23025        ::std::mem::align_of::<v3_ext_method>(),
23026        8usize,
23027        "Alignment of v3_ext_method"
23028    );
23029    assert_eq!(
23030        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
23031        0usize,
23032        "Offset of field: v3_ext_method::ext_nid"
23033    );
23034    assert_eq!(
23035        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
23036        4usize,
23037        "Offset of field: v3_ext_method::ext_flags"
23038    );
23039    assert_eq!(
23040        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
23041        8usize,
23042        "Offset of field: v3_ext_method::it"
23043    );
23044    assert_eq!(
23045        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
23046        16usize,
23047        "Offset of field: v3_ext_method::ext_new"
23048    );
23049    assert_eq!(
23050        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
23051        24usize,
23052        "Offset of field: v3_ext_method::ext_free"
23053    );
23054    assert_eq!(
23055        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
23056        32usize,
23057        "Offset of field: v3_ext_method::d2i"
23058    );
23059    assert_eq!(
23060        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
23061        40usize,
23062        "Offset of field: v3_ext_method::i2d"
23063    );
23064    assert_eq!(
23065        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
23066        48usize,
23067        "Offset of field: v3_ext_method::i2s"
23068    );
23069    assert_eq!(
23070        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
23071        56usize,
23072        "Offset of field: v3_ext_method::s2i"
23073    );
23074    assert_eq!(
23075        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
23076        64usize,
23077        "Offset of field: v3_ext_method::i2v"
23078    );
23079    assert_eq!(
23080        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
23081        72usize,
23082        "Offset of field: v3_ext_method::v2i"
23083    );
23084    assert_eq!(
23085        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
23086        80usize,
23087        "Offset of field: v3_ext_method::i2r"
23088    );
23089    assert_eq!(
23090        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
23091        88usize,
23092        "Offset of field: v3_ext_method::r2i"
23093    );
23094    assert_eq!(
23095        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23096        96usize,
23097        "Offset of field: v3_ext_method::usr_data"
23098    );
23099}
23100impl Default for v3_ext_method {
23101    fn default() -> Self {
23102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23103        unsafe {
23104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23105            s.assume_init()
23106        }
23107    }
23108}
23109extern "C" {
23110    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_get"]
23111    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
23112}
23113extern "C" {
23114    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_get_nid"]
23115    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
23116}
23117extern "C" {
23118    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_add"]
23119    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
23120}
23121extern "C" {
23122    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_add_alias"]
23123    pub fn X509V3_EXT_add_alias(
23124        nid_to: ::std::os::raw::c_int,
23125        nid_from: ::std::os::raw::c_int,
23126    ) -> ::std::os::raw::c_int;
23127}
23128#[repr(C)]
23129#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23130pub struct v3_ext_ctx {
23131    pub flags: ::std::os::raw::c_int,
23132    pub issuer_cert: *const X509,
23133    pub subject_cert: *const X509,
23134    pub subject_req: *const X509_REQ,
23135    pub crl: *const X509_CRL,
23136    pub db: *const CONF,
23137}
23138#[test]
23139fn bindgen_test_layout_v3_ext_ctx() {
23140    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
23141    let ptr = UNINIT.as_ptr();
23142    assert_eq!(
23143        ::std::mem::size_of::<v3_ext_ctx>(),
23144        48usize,
23145        "Size of v3_ext_ctx"
23146    );
23147    assert_eq!(
23148        ::std::mem::align_of::<v3_ext_ctx>(),
23149        8usize,
23150        "Alignment of v3_ext_ctx"
23151    );
23152    assert_eq!(
23153        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23154        0usize,
23155        "Offset of field: v3_ext_ctx::flags"
23156    );
23157    assert_eq!(
23158        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
23159        8usize,
23160        "Offset of field: v3_ext_ctx::issuer_cert"
23161    );
23162    assert_eq!(
23163        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
23164        16usize,
23165        "Offset of field: v3_ext_ctx::subject_cert"
23166    );
23167    assert_eq!(
23168        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
23169        24usize,
23170        "Offset of field: v3_ext_ctx::subject_req"
23171    );
23172    assert_eq!(
23173        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
23174        32usize,
23175        "Offset of field: v3_ext_ctx::crl"
23176    );
23177    assert_eq!(
23178        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
23179        40usize,
23180        "Offset of field: v3_ext_ctx::db"
23181    );
23182}
23183impl Default for v3_ext_ctx {
23184    fn default() -> Self {
23185        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23186        unsafe {
23187            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23188            s.assume_init()
23189        }
23190    }
23191}
23192extern "C" {
23193    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_set_ctx"]
23194    pub fn X509V3_set_ctx(
23195        ctx: *mut X509V3_CTX,
23196        issuer: *const X509,
23197        subject: *const X509,
23198        req: *const X509_REQ,
23199        crl: *const X509_CRL,
23200        flags: ::std::os::raw::c_int,
23201    );
23202}
23203extern "C" {
23204    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_set_nconf"]
23205    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
23206}
23207extern "C" {
23208    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_nconf"]
23209    pub fn X509V3_EXT_nconf(
23210        conf: *const CONF,
23211        ctx: *const X509V3_CTX,
23212        name: *const ::std::os::raw::c_char,
23213        value: *const ::std::os::raw::c_char,
23214    ) -> *mut X509_EXTENSION;
23215}
23216extern "C" {
23217    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_nconf_nid"]
23218    pub fn X509V3_EXT_nconf_nid(
23219        conf: *const CONF,
23220        ctx: *const X509V3_CTX,
23221        ext_nid: ::std::os::raw::c_int,
23222        value: *const ::std::os::raw::c_char,
23223    ) -> *mut X509_EXTENSION;
23224}
23225extern "C" {
23226    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_conf_nid"]
23227    pub fn X509V3_EXT_conf_nid(
23228        conf: *mut lhash_st_CONF_VALUE,
23229        ctx: *const X509V3_CTX,
23230        ext_nid: ::std::os::raw::c_int,
23231        value: *const ::std::os::raw::c_char,
23232    ) -> *mut X509_EXTENSION;
23233}
23234extern "C" {
23235    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_add_nconf_sk"]
23236    pub fn X509V3_EXT_add_nconf_sk(
23237        conf: *const CONF,
23238        ctx: *const X509V3_CTX,
23239        section: *const ::std::os::raw::c_char,
23240        sk: *mut *mut stack_st_X509_EXTENSION,
23241    ) -> ::std::os::raw::c_int;
23242}
23243extern "C" {
23244    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_add_nconf"]
23245    pub fn X509V3_EXT_add_nconf(
23246        conf: *const CONF,
23247        ctx: *const X509V3_CTX,
23248        section: *const ::std::os::raw::c_char,
23249        cert: *mut X509,
23250    ) -> ::std::os::raw::c_int;
23251}
23252extern "C" {
23253    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_REQ_add_nconf"]
23254    pub fn X509V3_EXT_REQ_add_nconf(
23255        conf: *const CONF,
23256        ctx: *const X509V3_CTX,
23257        section: *const ::std::os::raw::c_char,
23258        req: *mut X509_REQ,
23259    ) -> ::std::os::raw::c_int;
23260}
23261extern "C" {
23262    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_CRL_add_nconf"]
23263    pub fn X509V3_EXT_CRL_add_nconf(
23264        conf: *const CONF,
23265        ctx: *const X509V3_CTX,
23266        section: *const ::std::os::raw::c_char,
23267        crl: *mut X509_CRL,
23268    ) -> ::std::os::raw::c_int;
23269}
23270extern "C" {
23271    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_EXT_conf"]
23272    pub fn X509V3_EXT_conf(
23273        conf: *mut lhash_st_CONF_VALUE,
23274        ctx: *mut X509V3_CTX,
23275        name: *const ::std::os::raw::c_char,
23276        value: *const ::std::os::raw::c_char,
23277    ) -> *mut X509_EXTENSION;
23278}
23279extern "C" {
23280    #[link_name = "\u{1}aws_lc_0_33_0_i2s_ASN1_OCTET_STRING"]
23281    pub fn i2s_ASN1_OCTET_STRING(
23282        method: *const X509V3_EXT_METHOD,
23283        oct: *const ASN1_OCTET_STRING,
23284    ) -> *mut ::std::os::raw::c_char;
23285}
23286extern "C" {
23287    #[link_name = "\u{1}aws_lc_0_33_0_s2i_ASN1_OCTET_STRING"]
23288    pub fn s2i_ASN1_OCTET_STRING(
23289        method: *const X509V3_EXT_METHOD,
23290        ctx: *const X509V3_CTX,
23291        str_: *const ::std::os::raw::c_char,
23292    ) -> *mut ASN1_OCTET_STRING;
23293}
23294extern "C" {
23295    #[link_name = "\u{1}aws_lc_0_33_0_i2s_ASN1_INTEGER"]
23296    pub fn i2s_ASN1_INTEGER(
23297        method: *const X509V3_EXT_METHOD,
23298        aint: *const ASN1_INTEGER,
23299    ) -> *mut ::std::os::raw::c_char;
23300}
23301extern "C" {
23302    #[link_name = "\u{1}aws_lc_0_33_0_s2i_ASN1_INTEGER"]
23303    pub fn s2i_ASN1_INTEGER(
23304        method: *const X509V3_EXT_METHOD,
23305        value: *const ::std::os::raw::c_char,
23306    ) -> *mut ASN1_INTEGER;
23307}
23308extern "C" {
23309    #[link_name = "\u{1}aws_lc_0_33_0_i2s_ASN1_ENUMERATED"]
23310    pub fn i2s_ASN1_ENUMERATED(
23311        method: *const X509V3_EXT_METHOD,
23312        aint: *const ASN1_ENUMERATED,
23313    ) -> *mut ::std::os::raw::c_char;
23314}
23315extern "C" {
23316    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_conf_free"]
23317    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
23318}
23319extern "C" {
23320    #[link_name = "\u{1}aws_lc_0_33_0_i2v_GENERAL_NAME"]
23321    pub fn i2v_GENERAL_NAME(
23322        method: *const X509V3_EXT_METHOD,
23323        gen_: *const GENERAL_NAME,
23324        ret: *mut stack_st_CONF_VALUE,
23325    ) -> *mut stack_st_CONF_VALUE;
23326}
23327extern "C" {
23328    #[link_name = "\u{1}aws_lc_0_33_0_i2v_GENERAL_NAMES"]
23329    pub fn i2v_GENERAL_NAMES(
23330        method: *const X509V3_EXT_METHOD,
23331        gen_: *const GENERAL_NAMES,
23332        extlist: *mut stack_st_CONF_VALUE,
23333    ) -> *mut stack_st_CONF_VALUE;
23334}
23335extern "C" {
23336    #[link_name = "\u{1}aws_lc_0_33_0_a2i_IPADDRESS"]
23337    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23338}
23339extern "C" {
23340    #[link_name = "\u{1}aws_lc_0_33_0_a2i_IPADDRESS_NC"]
23341    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
23342}
23343extern "C" {
23344    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_notBefore"]
23345    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
23346}
23347extern "C" {
23348    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_notAfter"]
23349    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
23350}
23351extern "C" {
23352    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_notBefore"]
23353    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23354}
23355extern "C" {
23356    #[link_name = "\u{1}aws_lc_0_33_0_X509_set_notAfter"]
23357    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
23358}
23359extern "C" {
23360    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_lastUpdate"]
23361    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23362}
23363extern "C" {
23364    #[link_name = "\u{1}aws_lc_0_33_0_X509_CRL_get_nextUpdate"]
23365    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
23366}
23367extern "C" {
23368    #[link_name = "\u{1}aws_lc_0_33_0_X509_get_serialNumber"]
23369    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
23370}
23371extern "C" {
23372    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get_text_by_OBJ"]
23373    pub fn X509_NAME_get_text_by_OBJ(
23374        name: *const X509_NAME,
23375        obj: *const ASN1_OBJECT,
23376        buf: *mut ::std::os::raw::c_char,
23377        len: ::std::os::raw::c_int,
23378    ) -> ::std::os::raw::c_int;
23379}
23380extern "C" {
23381    #[link_name = "\u{1}aws_lc_0_33_0_X509_NAME_get_text_by_NID"]
23382    pub fn X509_NAME_get_text_by_NID(
23383        name: *const X509_NAME,
23384        nid: ::std::os::raw::c_int,
23385        buf: *mut ::std::os::raw::c_char,
23386        len: ::std::os::raw::c_int,
23387    ) -> ::std::os::raw::c_int;
23388}
23389extern "C" {
23390    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get0_parent_ctx"]
23391    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
23392}
23393extern "C" {
23394    #[link_name = "\u{1}aws_lc_0_33_0_X509_LOOKUP_free"]
23395    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
23396}
23397extern "C" {
23398    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_cleanup"]
23399    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
23400}
23401extern "C" {
23402    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_add_standard_extensions"]
23403    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
23404}
23405extern "C" {
23406    #[link_name = "\u{1}aws_lc_0_33_0_X509V3_parse_list"]
23407    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
23408}
23409extern "C" {
23410    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_chain"]
23411    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
23412}
23413extern "C" {
23414    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_trusted_stack"]
23415    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23416}
23417pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
23418    unsafe extern "C" fn(
23419        arg1: ::std::os::raw::c_int,
23420        arg2: *mut X509_STORE_CTX,
23421    ) -> ::std::os::raw::c_int,
23422>;
23423extern "C" {
23424    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_verify_cb"]
23425    pub fn X509_STORE_CTX_set_verify_cb(
23426        ctx: *mut X509_STORE_CTX,
23427        verify_cb: ::std::option::Option<
23428            unsafe extern "C" fn(
23429                ok: ::std::os::raw::c_int,
23430                ctx: *mut X509_STORE_CTX,
23431            ) -> ::std::os::raw::c_int,
23432        >,
23433    );
23434}
23435extern "C" {
23436    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get_verify_cb"]
23437    pub fn X509_STORE_get_verify_cb(ctx: *mut X509_STORE) -> X509_STORE_CTX_verify_cb;
23438}
23439extern "C" {
23440    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_verify_cb"]
23441    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
23442}
23443pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
23444    unsafe extern "C" fn(
23445        ctx: *mut X509_STORE_CTX,
23446        crl: *mut *mut X509_CRL,
23447        x: *mut X509,
23448    ) -> ::std::os::raw::c_int,
23449>;
23450pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
23451    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
23452>;
23453extern "C" {
23454    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_get_crl"]
23455    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
23456}
23457extern "C" {
23458    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_set_check_crl"]
23459    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
23460}
23461extern "C" {
23462    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set_chain"]
23463    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23464}
23465extern "C" {
23466    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_set0_untrusted"]
23467    pub fn X509_STORE_CTX_set0_untrusted(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
23468}
23469#[repr(C)]
23470#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23471pub struct x509_purpose_st {
23472    pub purpose: ::std::os::raw::c_int,
23473    pub trust: ::std::os::raw::c_int,
23474    pub flags: ::std::os::raw::c_int,
23475    pub check_purpose: ::std::option::Option<
23476        unsafe extern "C" fn(
23477            arg1: *const x509_purpose_st,
23478            arg2: *const X509,
23479            arg3: ::std::os::raw::c_int,
23480        ) -> ::std::os::raw::c_int,
23481    >,
23482    pub name: *mut ::std::os::raw::c_char,
23483    pub sname: *mut ::std::os::raw::c_char,
23484    pub usr_data: *mut ::std::os::raw::c_void,
23485}
23486#[test]
23487fn bindgen_test_layout_x509_purpose_st() {
23488    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
23489    let ptr = UNINIT.as_ptr();
23490    assert_eq!(
23491        ::std::mem::size_of::<x509_purpose_st>(),
23492        48usize,
23493        "Size of x509_purpose_st"
23494    );
23495    assert_eq!(
23496        ::std::mem::align_of::<x509_purpose_st>(),
23497        8usize,
23498        "Alignment of x509_purpose_st"
23499    );
23500    assert_eq!(
23501        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
23502        0usize,
23503        "Offset of field: x509_purpose_st::purpose"
23504    );
23505    assert_eq!(
23506        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
23507        4usize,
23508        "Offset of field: x509_purpose_st::trust"
23509    );
23510    assert_eq!(
23511        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23512        8usize,
23513        "Offset of field: x509_purpose_st::flags"
23514    );
23515    assert_eq!(
23516        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
23517        16usize,
23518        "Offset of field: x509_purpose_st::check_purpose"
23519    );
23520    assert_eq!(
23521        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23522        24usize,
23523        "Offset of field: x509_purpose_st::name"
23524    );
23525    assert_eq!(
23526        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
23527        32usize,
23528        "Offset of field: x509_purpose_st::sname"
23529    );
23530    assert_eq!(
23531        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23532        40usize,
23533        "Offset of field: x509_purpose_st::usr_data"
23534    );
23535}
23536impl Default for x509_purpose_st {
23537    fn default() -> Self {
23538        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23539        unsafe {
23540            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23541            s.assume_init()
23542        }
23543    }
23544}
23545pub type X509_PURPOSE = x509_purpose_st;
23546#[repr(C)]
23547#[derive(Debug, Copy, Clone)]
23548pub struct stack_st_X509_PURPOSE {
23549    _unused: [u8; 0],
23550}
23551pub type sk_X509_PURPOSE_free_func =
23552    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
23553pub type sk_X509_PURPOSE_copy_func =
23554    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
23555pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
23556    unsafe extern "C" fn(
23557        arg1: *const *const X509_PURPOSE,
23558        arg2: *const *const X509_PURPOSE,
23559    ) -> ::std::os::raw::c_int,
23560>;
23561pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
23562    unsafe extern "C" fn(
23563        arg1: *mut X509_PURPOSE,
23564        arg2: *mut ::std::os::raw::c_void,
23565    ) -> ::std::os::raw::c_int,
23566>;
23567extern "C" {
23568    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_get0_objects"]
23569    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
23570}
23571extern "C" {
23572    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get_by_sname"]
23573    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
23574        -> ::std::os::raw::c_int;
23575}
23576extern "C" {
23577    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get0"]
23578    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
23579}
23580extern "C" {
23581    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get_id"]
23582    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
23583}
23584#[repr(C)]
23585#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23586pub struct X509_algor_st {
23587    pub algorithm: *mut ASN1_OBJECT,
23588    pub parameter: *mut ASN1_TYPE,
23589}
23590#[test]
23591fn bindgen_test_layout_X509_algor_st() {
23592    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
23593    let ptr = UNINIT.as_ptr();
23594    assert_eq!(
23595        ::std::mem::size_of::<X509_algor_st>(),
23596        16usize,
23597        "Size of X509_algor_st"
23598    );
23599    assert_eq!(
23600        ::std::mem::align_of::<X509_algor_st>(),
23601        8usize,
23602        "Alignment of X509_algor_st"
23603    );
23604    assert_eq!(
23605        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
23606        0usize,
23607        "Offset of field: X509_algor_st::algorithm"
23608    );
23609    assert_eq!(
23610        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
23611        8usize,
23612        "Offset of field: X509_algor_st::parameter"
23613    );
23614}
23615impl Default for X509_algor_st {
23616    fn default() -> Self {
23617        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23618        unsafe {
23619            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23620            s.assume_init()
23621        }
23622    }
23623}
23624#[repr(C)]
23625#[derive(Debug, Copy, Clone)]
23626pub struct stack_st_DIST_POINT {
23627    _unused: [u8; 0],
23628}
23629#[repr(C)]
23630#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23631pub struct x509_trust_st {
23632    pub trust: ::std::os::raw::c_int,
23633    pub flags: ::std::os::raw::c_int,
23634    pub check_trust: ::std::option::Option<
23635        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
23636    >,
23637    pub name: *mut ::std::os::raw::c_char,
23638    pub arg1: ::std::os::raw::c_int,
23639    pub arg2: *mut ::std::os::raw::c_void,
23640}
23641#[test]
23642fn bindgen_test_layout_x509_trust_st() {
23643    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
23644    let ptr = UNINIT.as_ptr();
23645    assert_eq!(
23646        ::std::mem::size_of::<x509_trust_st>(),
23647        40usize,
23648        "Size of x509_trust_st"
23649    );
23650    assert_eq!(
23651        ::std::mem::align_of::<x509_trust_st>(),
23652        8usize,
23653        "Alignment of x509_trust_st"
23654    );
23655    assert_eq!(
23656        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
23657        0usize,
23658        "Offset of field: x509_trust_st::trust"
23659    );
23660    assert_eq!(
23661        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23662        4usize,
23663        "Offset of field: x509_trust_st::flags"
23664    );
23665    assert_eq!(
23666        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
23667        8usize,
23668        "Offset of field: x509_trust_st::check_trust"
23669    );
23670    assert_eq!(
23671        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23672        16usize,
23673        "Offset of field: x509_trust_st::name"
23674    );
23675    assert_eq!(
23676        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
23677        24usize,
23678        "Offset of field: x509_trust_st::arg1"
23679    );
23680    assert_eq!(
23681        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
23682        32usize,
23683        "Offset of field: x509_trust_st::arg2"
23684    );
23685}
23686impl Default for x509_trust_st {
23687    fn default() -> Self {
23688        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23689        unsafe {
23690            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23691            s.assume_init()
23692        }
23693    }
23694}
23695#[repr(C)]
23696#[derive(Debug, Copy, Clone)]
23697pub struct stack_st_X509_TRUST {
23698    _unused: [u8; 0],
23699}
23700pub type sk_X509_TRUST_free_func =
23701    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
23702pub type sk_X509_TRUST_copy_func =
23703    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
23704pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
23705    unsafe extern "C" fn(
23706        arg1: *const *const X509_TRUST,
23707        arg2: *const *const X509_TRUST,
23708    ) -> ::std::os::raw::c_int,
23709>;
23710pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
23711    unsafe extern "C" fn(
23712        arg1: *mut X509_TRUST,
23713        arg2: *mut ::std::os::raw::c_void,
23714    ) -> ::std::os::raw::c_int,
23715>;
23716extern "C" {
23717    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_set"]
23718    pub fn X509_TRUST_set(
23719        t: *mut ::std::os::raw::c_int,
23720        trust: ::std::os::raw::c_int,
23721    ) -> ::std::os::raw::c_int;
23722}
23723extern "C" {
23724    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get_count"]
23725    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
23726}
23727extern "C" {
23728    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get0"]
23729    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
23730}
23731extern "C" {
23732    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get_by_id"]
23733    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
23734}
23735extern "C" {
23736    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get_flags"]
23737    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
23738}
23739extern "C" {
23740    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get0_name"]
23741    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
23742}
23743extern "C" {
23744    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_get_trust"]
23745    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
23746}
23747extern "C" {
23748    #[link_name = "\u{1}aws_lc_0_33_0_X509_TRUST_cleanup"]
23749    pub fn X509_TRUST_cleanup();
23750}
23751extern "C" {
23752    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_get0_X509_CRL"]
23753    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
23754}
23755extern "C" {
23756    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_set1_X509"]
23757    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
23758}
23759extern "C" {
23760    #[link_name = "\u{1}aws_lc_0_33_0_X509_OBJECT_set1_X509_CRL"]
23761    pub fn X509_OBJECT_set1_X509_CRL(
23762        a: *mut X509_OBJECT,
23763        obj: *mut X509_CRL,
23764    ) -> ::std::os::raw::c_int;
23765}
23766extern "C" {
23767    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_lock"]
23768    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
23769}
23770extern "C" {
23771    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_unlock"]
23772    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
23773}
23774extern "C" {
23775    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get1_certs"]
23776    pub fn X509_STORE_CTX_get1_certs(
23777        st: *mut X509_STORE_CTX,
23778        nm: *mut X509_NAME,
23779    ) -> *mut stack_st_X509;
23780}
23781extern "C" {
23782    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get1_crls"]
23783    pub fn X509_STORE_CTX_get1_crls(
23784        st: *mut X509_STORE_CTX,
23785        nm: *mut X509_NAME,
23786    ) -> *mut stack_st_X509_CRL;
23787}
23788extern "C" {
23789    #[link_name = "\u{1}aws_lc_0_33_0_X509_STORE_CTX_get_by_subject"]
23790    pub fn X509_STORE_CTX_get_by_subject(
23791        vs: *mut X509_STORE_CTX,
23792        type_: ::std::os::raw::c_int,
23793        name: *mut X509_NAME,
23794        ret: *mut X509_OBJECT,
23795    ) -> ::std::os::raw::c_int;
23796}
23797#[repr(C)]
23798#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23799pub struct BASIC_CONSTRAINTS_st {
23800    pub ca: ASN1_BOOLEAN,
23801    pub pathlen: *mut ASN1_INTEGER,
23802}
23803#[test]
23804fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
23805    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
23806    let ptr = UNINIT.as_ptr();
23807    assert_eq!(
23808        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
23809        16usize,
23810        "Size of BASIC_CONSTRAINTS_st"
23811    );
23812    assert_eq!(
23813        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
23814        8usize,
23815        "Alignment of BASIC_CONSTRAINTS_st"
23816    );
23817    assert_eq!(
23818        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
23819        0usize,
23820        "Offset of field: BASIC_CONSTRAINTS_st::ca"
23821    );
23822    assert_eq!(
23823        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
23824        8usize,
23825        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
23826    );
23827}
23828impl Default for BASIC_CONSTRAINTS_st {
23829    fn default() -> Self {
23830        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23831        unsafe {
23832            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23833            s.assume_init()
23834        }
23835    }
23836}
23837#[repr(C)]
23838#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23839pub struct ACCESS_DESCRIPTION_st {
23840    pub method: *mut ASN1_OBJECT,
23841    pub location: *mut GENERAL_NAME,
23842}
23843#[test]
23844fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
23845    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
23846        ::std::mem::MaybeUninit::uninit();
23847    let ptr = UNINIT.as_ptr();
23848    assert_eq!(
23849        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
23850        16usize,
23851        "Size of ACCESS_DESCRIPTION_st"
23852    );
23853    assert_eq!(
23854        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
23855        8usize,
23856        "Alignment of ACCESS_DESCRIPTION_st"
23857    );
23858    assert_eq!(
23859        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
23860        0usize,
23861        "Offset of field: ACCESS_DESCRIPTION_st::method"
23862    );
23863    assert_eq!(
23864        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
23865        8usize,
23866        "Offset of field: ACCESS_DESCRIPTION_st::location"
23867    );
23868}
23869impl Default for ACCESS_DESCRIPTION_st {
23870    fn default() -> Self {
23871        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23872        unsafe {
23873            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23874            s.assume_init()
23875        }
23876    }
23877}
23878pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
23879#[repr(C)]
23880#[derive(Debug, Copy, Clone)]
23881pub struct stack_st_ACCESS_DESCRIPTION {
23882    _unused: [u8; 0],
23883}
23884pub type sk_ACCESS_DESCRIPTION_free_func =
23885    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
23886pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
23887    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
23888>;
23889pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
23890    unsafe extern "C" fn(
23891        arg1: *const *const ACCESS_DESCRIPTION,
23892        arg2: *const *const ACCESS_DESCRIPTION,
23893    ) -> ::std::os::raw::c_int,
23894>;
23895pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
23896    unsafe extern "C" fn(
23897        arg1: *mut ACCESS_DESCRIPTION,
23898        arg2: *mut ::std::os::raw::c_void,
23899    ) -> ::std::os::raw::c_int,
23900>;
23901pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
23902pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
23903#[repr(C)]
23904#[derive(Copy, Clone)]
23905pub struct DIST_POINT_NAME_st {
23906    pub type_: ::std::os::raw::c_int,
23907    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
23908    pub dpname: *mut X509_NAME,
23909}
23910#[repr(C)]
23911#[derive(Copy, Clone)]
23912pub union DIST_POINT_NAME_st__bindgen_ty_1 {
23913    pub fullname: *mut GENERAL_NAMES,
23914    pub relativename: *mut stack_st_X509_NAME_ENTRY,
23915}
23916#[test]
23917fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
23918    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
23919        ::std::mem::MaybeUninit::uninit();
23920    let ptr = UNINIT.as_ptr();
23921    assert_eq!(
23922        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
23923        8usize,
23924        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
23925    );
23926    assert_eq!(
23927        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
23928        8usize,
23929        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
23930    );
23931    assert_eq!(
23932        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
23933        0usize,
23934        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
23935    );
23936    assert_eq!(
23937        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
23938        0usize,
23939        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
23940    );
23941}
23942impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
23943    fn default() -> Self {
23944        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23945        unsafe {
23946            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23947            s.assume_init()
23948        }
23949    }
23950}
23951#[test]
23952fn bindgen_test_layout_DIST_POINT_NAME_st() {
23953    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
23954    let ptr = UNINIT.as_ptr();
23955    assert_eq!(
23956        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
23957        24usize,
23958        "Size of DIST_POINT_NAME_st"
23959    );
23960    assert_eq!(
23961        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
23962        8usize,
23963        "Alignment of DIST_POINT_NAME_st"
23964    );
23965    assert_eq!(
23966        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
23967        0usize,
23968        "Offset of field: DIST_POINT_NAME_st::type_"
23969    );
23970    assert_eq!(
23971        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23972        8usize,
23973        "Offset of field: DIST_POINT_NAME_st::name"
23974    );
23975    assert_eq!(
23976        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
23977        16usize,
23978        "Offset of field: DIST_POINT_NAME_st::dpname"
23979    );
23980}
23981impl Default for DIST_POINT_NAME_st {
23982    fn default() -> Self {
23983        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23984        unsafe {
23985            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23986            s.assume_init()
23987        }
23988    }
23989}
23990pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
23991#[repr(C)]
23992#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23993pub struct DIST_POINT_st {
23994    pub distpoint: *mut DIST_POINT_NAME,
23995    pub reasons: *mut ASN1_BIT_STRING,
23996    pub CRLissuer: *mut GENERAL_NAMES,
23997}
23998#[test]
23999fn bindgen_test_layout_DIST_POINT_st() {
24000    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
24001    let ptr = UNINIT.as_ptr();
24002    assert_eq!(
24003        ::std::mem::size_of::<DIST_POINT_st>(),
24004        24usize,
24005        "Size of DIST_POINT_st"
24006    );
24007    assert_eq!(
24008        ::std::mem::align_of::<DIST_POINT_st>(),
24009        8usize,
24010        "Alignment of DIST_POINT_st"
24011    );
24012    assert_eq!(
24013        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24014        0usize,
24015        "Offset of field: DIST_POINT_st::distpoint"
24016    );
24017    assert_eq!(
24018        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
24019        8usize,
24020        "Offset of field: DIST_POINT_st::reasons"
24021    );
24022    assert_eq!(
24023        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
24024        16usize,
24025        "Offset of field: DIST_POINT_st::CRLissuer"
24026    );
24027}
24028impl Default for DIST_POINT_st {
24029    fn default() -> Self {
24030        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24031        unsafe {
24032            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24033            s.assume_init()
24034        }
24035    }
24036}
24037pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
24038pub type sk_DIST_POINT_free_func =
24039    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
24040pub type sk_DIST_POINT_copy_func =
24041    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
24042pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
24043    unsafe extern "C" fn(
24044        arg1: *const *const DIST_POINT,
24045        arg2: *const *const DIST_POINT,
24046    ) -> ::std::os::raw::c_int,
24047>;
24048pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
24049    unsafe extern "C" fn(
24050        arg1: *mut DIST_POINT,
24051        arg2: *mut ::std::os::raw::c_void,
24052    ) -> ::std::os::raw::c_int,
24053>;
24054#[repr(C)]
24055#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24056pub struct AUTHORITY_KEYID_st {
24057    pub keyid: *mut ASN1_OCTET_STRING,
24058    pub issuer: *mut GENERAL_NAMES,
24059    pub serial: *mut ASN1_INTEGER,
24060}
24061#[test]
24062fn bindgen_test_layout_AUTHORITY_KEYID_st() {
24063    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
24064    let ptr = UNINIT.as_ptr();
24065    assert_eq!(
24066        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
24067        24usize,
24068        "Size of AUTHORITY_KEYID_st"
24069    );
24070    assert_eq!(
24071        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
24072        8usize,
24073        "Alignment of AUTHORITY_KEYID_st"
24074    );
24075    assert_eq!(
24076        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
24077        0usize,
24078        "Offset of field: AUTHORITY_KEYID_st::keyid"
24079    );
24080    assert_eq!(
24081        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
24082        8usize,
24083        "Offset of field: AUTHORITY_KEYID_st::issuer"
24084    );
24085    assert_eq!(
24086        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
24087        16usize,
24088        "Offset of field: AUTHORITY_KEYID_st::serial"
24089    );
24090}
24091impl Default for AUTHORITY_KEYID_st {
24092    fn default() -> Self {
24093        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24094        unsafe {
24095            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24096            s.assume_init()
24097        }
24098    }
24099}
24100#[repr(C)]
24101#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24102pub struct NOTICEREF_st {
24103    pub organization: *mut ASN1_STRING,
24104    pub noticenos: *mut stack_st_ASN1_INTEGER,
24105}
24106#[test]
24107fn bindgen_test_layout_NOTICEREF_st() {
24108    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
24109    let ptr = UNINIT.as_ptr();
24110    assert_eq!(
24111        ::std::mem::size_of::<NOTICEREF_st>(),
24112        16usize,
24113        "Size of NOTICEREF_st"
24114    );
24115    assert_eq!(
24116        ::std::mem::align_of::<NOTICEREF_st>(),
24117        8usize,
24118        "Alignment of NOTICEREF_st"
24119    );
24120    assert_eq!(
24121        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
24122        0usize,
24123        "Offset of field: NOTICEREF_st::organization"
24124    );
24125    assert_eq!(
24126        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
24127        8usize,
24128        "Offset of field: NOTICEREF_st::noticenos"
24129    );
24130}
24131impl Default for NOTICEREF_st {
24132    fn default() -> Self {
24133        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24134        unsafe {
24135            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24136            s.assume_init()
24137        }
24138    }
24139}
24140pub type NOTICEREF = NOTICEREF_st;
24141#[repr(C)]
24142#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24143pub struct USERNOTICE_st {
24144    pub noticeref: *mut NOTICEREF,
24145    pub exptext: *mut ASN1_STRING,
24146}
24147#[test]
24148fn bindgen_test_layout_USERNOTICE_st() {
24149    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
24150    let ptr = UNINIT.as_ptr();
24151    assert_eq!(
24152        ::std::mem::size_of::<USERNOTICE_st>(),
24153        16usize,
24154        "Size of USERNOTICE_st"
24155    );
24156    assert_eq!(
24157        ::std::mem::align_of::<USERNOTICE_st>(),
24158        8usize,
24159        "Alignment of USERNOTICE_st"
24160    );
24161    assert_eq!(
24162        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
24163        0usize,
24164        "Offset of field: USERNOTICE_st::noticeref"
24165    );
24166    assert_eq!(
24167        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
24168        8usize,
24169        "Offset of field: USERNOTICE_st::exptext"
24170    );
24171}
24172impl Default for USERNOTICE_st {
24173    fn default() -> Self {
24174        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24175        unsafe {
24176            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24177            s.assume_init()
24178        }
24179    }
24180}
24181pub type USERNOTICE = USERNOTICE_st;
24182#[repr(C)]
24183#[derive(Copy, Clone)]
24184pub struct POLICYQUALINFO_st {
24185    pub pqualid: *mut ASN1_OBJECT,
24186    pub d: POLICYQUALINFO_st__bindgen_ty_1,
24187}
24188#[repr(C)]
24189#[derive(Copy, Clone)]
24190pub union POLICYQUALINFO_st__bindgen_ty_1 {
24191    pub cpsuri: *mut ASN1_IA5STRING,
24192    pub usernotice: *mut USERNOTICE,
24193    pub other: *mut ASN1_TYPE,
24194}
24195#[test]
24196fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
24197    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
24198        ::std::mem::MaybeUninit::uninit();
24199    let ptr = UNINIT.as_ptr();
24200    assert_eq!(
24201        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24202        8usize,
24203        "Size of POLICYQUALINFO_st__bindgen_ty_1"
24204    );
24205    assert_eq!(
24206        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
24207        8usize,
24208        "Alignment of POLICYQUALINFO_st__bindgen_ty_1"
24209    );
24210    assert_eq!(
24211        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
24212        0usize,
24213        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::cpsuri"
24214    );
24215    assert_eq!(
24216        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
24217        0usize,
24218        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::usernotice"
24219    );
24220    assert_eq!(
24221        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
24222        0usize,
24223        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::other"
24224    );
24225}
24226impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
24227    fn default() -> Self {
24228        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24229        unsafe {
24230            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24231            s.assume_init()
24232        }
24233    }
24234}
24235#[test]
24236fn bindgen_test_layout_POLICYQUALINFO_st() {
24237    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
24238    let ptr = UNINIT.as_ptr();
24239    assert_eq!(
24240        ::std::mem::size_of::<POLICYQUALINFO_st>(),
24241        16usize,
24242        "Size of POLICYQUALINFO_st"
24243    );
24244    assert_eq!(
24245        ::std::mem::align_of::<POLICYQUALINFO_st>(),
24246        8usize,
24247        "Alignment of POLICYQUALINFO_st"
24248    );
24249    assert_eq!(
24250        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
24251        0usize,
24252        "Offset of field: POLICYQUALINFO_st::pqualid"
24253    );
24254    assert_eq!(
24255        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
24256        8usize,
24257        "Offset of field: POLICYQUALINFO_st::d"
24258    );
24259}
24260impl Default for POLICYQUALINFO_st {
24261    fn default() -> Self {
24262        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24263        unsafe {
24264            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24265            s.assume_init()
24266        }
24267    }
24268}
24269pub type POLICYQUALINFO = POLICYQUALINFO_st;
24270#[repr(C)]
24271#[derive(Debug, Copy, Clone)]
24272pub struct stack_st_POLICYQUALINFO {
24273    _unused: [u8; 0],
24274}
24275pub type sk_POLICYQUALINFO_free_func =
24276    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
24277pub type sk_POLICYQUALINFO_copy_func =
24278    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
24279pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
24280    unsafe extern "C" fn(
24281        arg1: *const *const POLICYQUALINFO,
24282        arg2: *const *const POLICYQUALINFO,
24283    ) -> ::std::os::raw::c_int,
24284>;
24285pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
24286    unsafe extern "C" fn(
24287        arg1: *mut POLICYQUALINFO,
24288        arg2: *mut ::std::os::raw::c_void,
24289    ) -> ::std::os::raw::c_int,
24290>;
24291#[repr(C)]
24292#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24293pub struct POLICYINFO_st {
24294    pub policyid: *mut ASN1_OBJECT,
24295    pub qualifiers: *mut stack_st_POLICYQUALINFO,
24296}
24297#[test]
24298fn bindgen_test_layout_POLICYINFO_st() {
24299    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
24300    let ptr = UNINIT.as_ptr();
24301    assert_eq!(
24302        ::std::mem::size_of::<POLICYINFO_st>(),
24303        16usize,
24304        "Size of POLICYINFO_st"
24305    );
24306    assert_eq!(
24307        ::std::mem::align_of::<POLICYINFO_st>(),
24308        8usize,
24309        "Alignment of POLICYINFO_st"
24310    );
24311    assert_eq!(
24312        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
24313        0usize,
24314        "Offset of field: POLICYINFO_st::policyid"
24315    );
24316    assert_eq!(
24317        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
24318        8usize,
24319        "Offset of field: POLICYINFO_st::qualifiers"
24320    );
24321}
24322impl Default for POLICYINFO_st {
24323    fn default() -> Self {
24324        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24325        unsafe {
24326            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24327            s.assume_init()
24328        }
24329    }
24330}
24331pub type POLICYINFO = POLICYINFO_st;
24332#[repr(C)]
24333#[derive(Debug, Copy, Clone)]
24334pub struct stack_st_POLICYINFO {
24335    _unused: [u8; 0],
24336}
24337pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
24338pub type sk_POLICYINFO_free_func =
24339    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
24340pub type sk_POLICYINFO_copy_func =
24341    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
24342pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
24343    unsafe extern "C" fn(
24344        arg1: *const *const POLICYINFO,
24345        arg2: *const *const POLICYINFO,
24346    ) -> ::std::os::raw::c_int,
24347>;
24348pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
24349    unsafe extern "C" fn(
24350        arg1: *mut POLICYINFO,
24351        arg2: *mut ::std::os::raw::c_void,
24352    ) -> ::std::os::raw::c_int,
24353>;
24354#[repr(C)]
24355#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24356pub struct POLICY_MAPPING_st {
24357    pub issuerDomainPolicy: *mut ASN1_OBJECT,
24358    pub subjectDomainPolicy: *mut ASN1_OBJECT,
24359}
24360#[test]
24361fn bindgen_test_layout_POLICY_MAPPING_st() {
24362    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
24363    let ptr = UNINIT.as_ptr();
24364    assert_eq!(
24365        ::std::mem::size_of::<POLICY_MAPPING_st>(),
24366        16usize,
24367        "Size of POLICY_MAPPING_st"
24368    );
24369    assert_eq!(
24370        ::std::mem::align_of::<POLICY_MAPPING_st>(),
24371        8usize,
24372        "Alignment of POLICY_MAPPING_st"
24373    );
24374    assert_eq!(
24375        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
24376        0usize,
24377        "Offset of field: POLICY_MAPPING_st::issuerDomainPolicy"
24378    );
24379    assert_eq!(
24380        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
24381        8usize,
24382        "Offset of field: POLICY_MAPPING_st::subjectDomainPolicy"
24383    );
24384}
24385impl Default for POLICY_MAPPING_st {
24386    fn default() -> Self {
24387        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24388        unsafe {
24389            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24390            s.assume_init()
24391        }
24392    }
24393}
24394pub type POLICY_MAPPING = POLICY_MAPPING_st;
24395#[repr(C)]
24396#[derive(Debug, Copy, Clone)]
24397pub struct stack_st_POLICY_MAPPING {
24398    _unused: [u8; 0],
24399}
24400pub type sk_POLICY_MAPPING_free_func =
24401    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
24402pub type sk_POLICY_MAPPING_copy_func =
24403    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
24404pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
24405    unsafe extern "C" fn(
24406        arg1: *const *const POLICY_MAPPING,
24407        arg2: *const *const POLICY_MAPPING,
24408    ) -> ::std::os::raw::c_int,
24409>;
24410pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
24411    unsafe extern "C" fn(
24412        arg1: *mut POLICY_MAPPING,
24413        arg2: *mut ::std::os::raw::c_void,
24414    ) -> ::std::os::raw::c_int,
24415>;
24416pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
24417#[repr(C)]
24418#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24419pub struct GENERAL_SUBTREE_st {
24420    pub base: *mut GENERAL_NAME,
24421    pub minimum: *mut ASN1_INTEGER,
24422    pub maximum: *mut ASN1_INTEGER,
24423}
24424#[test]
24425fn bindgen_test_layout_GENERAL_SUBTREE_st() {
24426    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
24427    let ptr = UNINIT.as_ptr();
24428    assert_eq!(
24429        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
24430        24usize,
24431        "Size of GENERAL_SUBTREE_st"
24432    );
24433    assert_eq!(
24434        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
24435        8usize,
24436        "Alignment of GENERAL_SUBTREE_st"
24437    );
24438    assert_eq!(
24439        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
24440        0usize,
24441        "Offset of field: GENERAL_SUBTREE_st::base"
24442    );
24443    assert_eq!(
24444        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
24445        8usize,
24446        "Offset of field: GENERAL_SUBTREE_st::minimum"
24447    );
24448    assert_eq!(
24449        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
24450        16usize,
24451        "Offset of field: GENERAL_SUBTREE_st::maximum"
24452    );
24453}
24454impl Default for GENERAL_SUBTREE_st {
24455    fn default() -> Self {
24456        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24457        unsafe {
24458            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24459            s.assume_init()
24460        }
24461    }
24462}
24463pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
24464#[repr(C)]
24465#[derive(Debug, Copy, Clone)]
24466pub struct stack_st_GENERAL_SUBTREE {
24467    _unused: [u8; 0],
24468}
24469pub type sk_GENERAL_SUBTREE_free_func =
24470    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
24471pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
24472    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
24473>;
24474pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
24475    unsafe extern "C" fn(
24476        arg1: *const *const GENERAL_SUBTREE,
24477        arg2: *const *const GENERAL_SUBTREE,
24478    ) -> ::std::os::raw::c_int,
24479>;
24480pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
24481    unsafe extern "C" fn(
24482        arg1: *mut GENERAL_SUBTREE,
24483        arg2: *mut ::std::os::raw::c_void,
24484    ) -> ::std::os::raw::c_int,
24485>;
24486#[repr(C)]
24487#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24488pub struct NAME_CONSTRAINTS_st {
24489    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
24490    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
24491}
24492#[test]
24493fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
24494    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
24495    let ptr = UNINIT.as_ptr();
24496    assert_eq!(
24497        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
24498        16usize,
24499        "Size of NAME_CONSTRAINTS_st"
24500    );
24501    assert_eq!(
24502        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
24503        8usize,
24504        "Alignment of NAME_CONSTRAINTS_st"
24505    );
24506    assert_eq!(
24507        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
24508        0usize,
24509        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
24510    );
24511    assert_eq!(
24512        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
24513        8usize,
24514        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
24515    );
24516}
24517impl Default for NAME_CONSTRAINTS_st {
24518    fn default() -> Self {
24519        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24520        unsafe {
24521            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24522            s.assume_init()
24523        }
24524    }
24525}
24526#[repr(C)]
24527#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24528pub struct POLICY_CONSTRAINTS_st {
24529    pub requireExplicitPolicy: *mut ASN1_INTEGER,
24530    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
24531}
24532#[test]
24533fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
24534    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
24535        ::std::mem::MaybeUninit::uninit();
24536    let ptr = UNINIT.as_ptr();
24537    assert_eq!(
24538        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
24539        16usize,
24540        "Size of POLICY_CONSTRAINTS_st"
24541    );
24542    assert_eq!(
24543        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
24544        8usize,
24545        "Alignment of POLICY_CONSTRAINTS_st"
24546    );
24547    assert_eq!(
24548        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
24549        0usize,
24550        "Offset of field: POLICY_CONSTRAINTS_st::requireExplicitPolicy"
24551    );
24552    assert_eq!(
24553        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
24554        8usize,
24555        "Offset of field: POLICY_CONSTRAINTS_st::inhibitPolicyMapping"
24556    );
24557}
24558impl Default for POLICY_CONSTRAINTS_st {
24559    fn default() -> Self {
24560        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24561        unsafe {
24562            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24563            s.assume_init()
24564        }
24565    }
24566}
24567pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
24568#[repr(C)]
24569#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24570pub struct ISSUING_DIST_POINT_st {
24571    pub distpoint: *mut DIST_POINT_NAME,
24572    pub onlyuser: ASN1_BOOLEAN,
24573    pub onlyCA: ASN1_BOOLEAN,
24574    pub onlysomereasons: *mut ASN1_BIT_STRING,
24575    pub indirectCRL: ASN1_BOOLEAN,
24576    pub onlyattr: ASN1_BOOLEAN,
24577}
24578#[test]
24579fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
24580    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
24581        ::std::mem::MaybeUninit::uninit();
24582    let ptr = UNINIT.as_ptr();
24583    assert_eq!(
24584        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
24585        32usize,
24586        "Size of ISSUING_DIST_POINT_st"
24587    );
24588    assert_eq!(
24589        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
24590        8usize,
24591        "Alignment of ISSUING_DIST_POINT_st"
24592    );
24593    assert_eq!(
24594        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
24595        0usize,
24596        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
24597    );
24598    assert_eq!(
24599        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
24600        8usize,
24601        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
24602    );
24603    assert_eq!(
24604        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
24605        12usize,
24606        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
24607    );
24608    assert_eq!(
24609        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
24610        16usize,
24611        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
24612    );
24613    assert_eq!(
24614        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
24615        24usize,
24616        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
24617    );
24618    assert_eq!(
24619        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
24620        28usize,
24621        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
24622    );
24623}
24624impl Default for ISSUING_DIST_POINT_st {
24625    fn default() -> Self {
24626        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24627        unsafe {
24628            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24629            s.assume_init()
24630        }
24631    }
24632}
24633extern "C" {
24634    #[link_name = "\u{1}aws_lc_0_33_0_BASIC_CONSTRAINTS_it"]
24635    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
24636}
24637extern "C" {
24638    #[link_name = "\u{1}aws_lc_0_33_0_BASIC_CONSTRAINTS_new"]
24639    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
24640}
24641extern "C" {
24642    #[link_name = "\u{1}aws_lc_0_33_0_BASIC_CONSTRAINTS_free"]
24643    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
24644}
24645extern "C" {
24646    #[link_name = "\u{1}aws_lc_0_33_0_d2i_BASIC_CONSTRAINTS"]
24647    pub fn d2i_BASIC_CONSTRAINTS(
24648        out: *mut *mut BASIC_CONSTRAINTS,
24649        inp: *mut *const u8,
24650        len: ::std::os::raw::c_long,
24651    ) -> *mut BASIC_CONSTRAINTS;
24652}
24653extern "C" {
24654    #[link_name = "\u{1}aws_lc_0_33_0_i2d_BASIC_CONSTRAINTS"]
24655    pub fn i2d_BASIC_CONSTRAINTS(
24656        bcons: *const BASIC_CONSTRAINTS,
24657        outp: *mut *mut u8,
24658    ) -> ::std::os::raw::c_int;
24659}
24660extern "C" {
24661    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_KEYID_it"]
24662    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
24663}
24664extern "C" {
24665    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_KEYID_new"]
24666    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
24667}
24668extern "C" {
24669    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_KEYID_free"]
24670    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
24671}
24672extern "C" {
24673    #[link_name = "\u{1}aws_lc_0_33_0_d2i_AUTHORITY_KEYID"]
24674    pub fn d2i_AUTHORITY_KEYID(
24675        out: *mut *mut AUTHORITY_KEYID,
24676        inp: *mut *const u8,
24677        len: ::std::os::raw::c_long,
24678    ) -> *mut AUTHORITY_KEYID;
24679}
24680extern "C" {
24681    #[link_name = "\u{1}aws_lc_0_33_0_i2d_AUTHORITY_KEYID"]
24682    pub fn i2d_AUTHORITY_KEYID(
24683        akid: *mut AUTHORITY_KEYID,
24684        outp: *mut *mut u8,
24685    ) -> ::std::os::raw::c_int;
24686}
24687extern "C" {
24688    #[link_name = "\u{1}aws_lc_0_33_0_EXTENDED_KEY_USAGE_it"]
24689    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
24690}
24691extern "C" {
24692    #[link_name = "\u{1}aws_lc_0_33_0_EXTENDED_KEY_USAGE_new"]
24693    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
24694}
24695extern "C" {
24696    #[link_name = "\u{1}aws_lc_0_33_0_EXTENDED_KEY_USAGE_free"]
24697    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
24698}
24699extern "C" {
24700    #[link_name = "\u{1}aws_lc_0_33_0_d2i_EXTENDED_KEY_USAGE"]
24701    pub fn d2i_EXTENDED_KEY_USAGE(
24702        out: *mut *mut EXTENDED_KEY_USAGE,
24703        inp: *mut *const u8,
24704        len: ::std::os::raw::c_long,
24705    ) -> *mut EXTENDED_KEY_USAGE;
24706}
24707extern "C" {
24708    #[link_name = "\u{1}aws_lc_0_33_0_i2d_EXTENDED_KEY_USAGE"]
24709    pub fn i2d_EXTENDED_KEY_USAGE(
24710        eku: *const EXTENDED_KEY_USAGE,
24711        outp: *mut *mut u8,
24712    ) -> ::std::os::raw::c_int;
24713}
24714extern "C" {
24715    #[link_name = "\u{1}aws_lc_0_33_0_CERTIFICATEPOLICIES_it"]
24716    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
24717}
24718extern "C" {
24719    #[link_name = "\u{1}aws_lc_0_33_0_CERTIFICATEPOLICIES_new"]
24720    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
24721}
24722extern "C" {
24723    #[link_name = "\u{1}aws_lc_0_33_0_CERTIFICATEPOLICIES_free"]
24724    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
24725}
24726extern "C" {
24727    #[link_name = "\u{1}aws_lc_0_33_0_d2i_CERTIFICATEPOLICIES"]
24728    pub fn d2i_CERTIFICATEPOLICIES(
24729        out: *mut *mut CERTIFICATEPOLICIES,
24730        inp: *mut *const u8,
24731        len: ::std::os::raw::c_long,
24732    ) -> *mut CERTIFICATEPOLICIES;
24733}
24734extern "C" {
24735    #[link_name = "\u{1}aws_lc_0_33_0_i2d_CERTIFICATEPOLICIES"]
24736    pub fn i2d_CERTIFICATEPOLICIES(
24737        policies: *const CERTIFICATEPOLICIES,
24738        outp: *mut *mut u8,
24739    ) -> ::std::os::raw::c_int;
24740}
24741extern "C" {
24742    #[link_name = "\u{1}aws_lc_0_33_0_POLICYINFO_new"]
24743    pub fn POLICYINFO_new() -> *mut POLICYINFO;
24744}
24745extern "C" {
24746    #[link_name = "\u{1}aws_lc_0_33_0_POLICYINFO_free"]
24747    pub fn POLICYINFO_free(info: *mut POLICYINFO);
24748}
24749extern "C" {
24750    #[link_name = "\u{1}aws_lc_0_33_0_POLICYQUALINFO_new"]
24751    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
24752}
24753extern "C" {
24754    #[link_name = "\u{1}aws_lc_0_33_0_POLICYQUALINFO_free"]
24755    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
24756}
24757extern "C" {
24758    #[link_name = "\u{1}aws_lc_0_33_0_USERNOTICE_new"]
24759    pub fn USERNOTICE_new() -> *mut USERNOTICE;
24760}
24761extern "C" {
24762    #[link_name = "\u{1}aws_lc_0_33_0_USERNOTICE_free"]
24763    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
24764}
24765extern "C" {
24766    #[link_name = "\u{1}aws_lc_0_33_0_NOTICEREF_new"]
24767    pub fn NOTICEREF_new() -> *mut NOTICEREF;
24768}
24769extern "C" {
24770    #[link_name = "\u{1}aws_lc_0_33_0_NOTICEREF_free"]
24771    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
24772}
24773extern "C" {
24774    #[link_name = "\u{1}aws_lc_0_33_0_CRL_DIST_POINTS_it"]
24775    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
24776}
24777extern "C" {
24778    #[link_name = "\u{1}aws_lc_0_33_0_CRL_DIST_POINTS_new"]
24779    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
24780}
24781extern "C" {
24782    #[link_name = "\u{1}aws_lc_0_33_0_CRL_DIST_POINTS_free"]
24783    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
24784}
24785extern "C" {
24786    #[link_name = "\u{1}aws_lc_0_33_0_d2i_CRL_DIST_POINTS"]
24787    pub fn d2i_CRL_DIST_POINTS(
24788        out: *mut *mut CRL_DIST_POINTS,
24789        inp: *mut *const u8,
24790        len: ::std::os::raw::c_long,
24791    ) -> *mut CRL_DIST_POINTS;
24792}
24793extern "C" {
24794    #[link_name = "\u{1}aws_lc_0_33_0_i2d_CRL_DIST_POINTS"]
24795    pub fn i2d_CRL_DIST_POINTS(
24796        crldp: *mut CRL_DIST_POINTS,
24797        outp: *mut *mut u8,
24798    ) -> ::std::os::raw::c_int;
24799}
24800extern "C" {
24801    #[link_name = "\u{1}aws_lc_0_33_0_DIST_POINT_new"]
24802    pub fn DIST_POINT_new() -> *mut DIST_POINT;
24803}
24804extern "C" {
24805    #[link_name = "\u{1}aws_lc_0_33_0_DIST_POINT_free"]
24806    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
24807}
24808extern "C" {
24809    #[link_name = "\u{1}aws_lc_0_33_0_DIST_POINT_NAME_new"]
24810    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
24811}
24812extern "C" {
24813    #[link_name = "\u{1}aws_lc_0_33_0_DIST_POINT_NAME_free"]
24814    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
24815}
24816extern "C" {
24817    #[link_name = "\u{1}aws_lc_0_33_0_ISSUING_DIST_POINT_it"]
24818    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
24819}
24820extern "C" {
24821    #[link_name = "\u{1}aws_lc_0_33_0_ISSUING_DIST_POINT_new"]
24822    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
24823}
24824extern "C" {
24825    #[link_name = "\u{1}aws_lc_0_33_0_ISSUING_DIST_POINT_free"]
24826    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
24827}
24828extern "C" {
24829    #[link_name = "\u{1}aws_lc_0_33_0_d2i_ISSUING_DIST_POINT"]
24830    pub fn d2i_ISSUING_DIST_POINT(
24831        out: *mut *mut ISSUING_DIST_POINT,
24832        inp: *mut *const u8,
24833        len: ::std::os::raw::c_long,
24834    ) -> *mut ISSUING_DIST_POINT;
24835}
24836extern "C" {
24837    #[link_name = "\u{1}aws_lc_0_33_0_i2d_ISSUING_DIST_POINT"]
24838    pub fn i2d_ISSUING_DIST_POINT(
24839        idp: *mut ISSUING_DIST_POINT,
24840        outp: *mut *mut u8,
24841    ) -> ::std::os::raw::c_int;
24842}
24843extern "C" {
24844    #[link_name = "\u{1}aws_lc_0_33_0_ACCESS_DESCRIPTION_new"]
24845    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
24846}
24847extern "C" {
24848    #[link_name = "\u{1}aws_lc_0_33_0_ACCESS_DESCRIPTION_free"]
24849    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
24850}
24851extern "C" {
24852    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_INFO_ACCESS_it"]
24853    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
24854}
24855extern "C" {
24856    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_INFO_ACCESS_new"]
24857    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
24858}
24859extern "C" {
24860    #[link_name = "\u{1}aws_lc_0_33_0_AUTHORITY_INFO_ACCESS_free"]
24861    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
24862}
24863extern "C" {
24864    #[link_name = "\u{1}aws_lc_0_33_0_d2i_AUTHORITY_INFO_ACCESS"]
24865    pub fn d2i_AUTHORITY_INFO_ACCESS(
24866        out: *mut *mut AUTHORITY_INFO_ACCESS,
24867        inp: *mut *const u8,
24868        len: ::std::os::raw::c_long,
24869    ) -> *mut AUTHORITY_INFO_ACCESS;
24870}
24871extern "C" {
24872    #[link_name = "\u{1}aws_lc_0_33_0_i2d_AUTHORITY_INFO_ACCESS"]
24873    pub fn i2d_AUTHORITY_INFO_ACCESS(
24874        aia: *mut AUTHORITY_INFO_ACCESS,
24875        outp: *mut *mut u8,
24876    ) -> ::std::os::raw::c_int;
24877}
24878extern "C" {
24879    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_MAPPING_new"]
24880    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
24881}
24882extern "C" {
24883    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_MAPPING_free"]
24884    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
24885}
24886extern "C" {
24887    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_MAPPINGS_it"]
24888    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
24889}
24890extern "C" {
24891    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_SUBTREE_new"]
24892    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
24893}
24894extern "C" {
24895    #[link_name = "\u{1}aws_lc_0_33_0_GENERAL_SUBTREE_free"]
24896    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
24897}
24898extern "C" {
24899    #[link_name = "\u{1}aws_lc_0_33_0_NAME_CONSTRAINTS_it"]
24900    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
24901}
24902extern "C" {
24903    #[link_name = "\u{1}aws_lc_0_33_0_NAME_CONSTRAINTS_new"]
24904    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
24905}
24906extern "C" {
24907    #[link_name = "\u{1}aws_lc_0_33_0_NAME_CONSTRAINTS_free"]
24908    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
24909}
24910extern "C" {
24911    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_CONSTRAINTS_new"]
24912    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
24913}
24914extern "C" {
24915    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_CONSTRAINTS_free"]
24916    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
24917}
24918extern "C" {
24919    #[link_name = "\u{1}aws_lc_0_33_0_POLICY_CONSTRAINTS_it"]
24920    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
24921}
24922extern "C" {
24923    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_set"]
24924    pub fn X509_PURPOSE_set(
24925        p: *mut ::std::os::raw::c_int,
24926        purpose: ::std::os::raw::c_int,
24927    ) -> ::std::os::raw::c_int;
24928}
24929extern "C" {
24930    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get_count"]
24931    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
24932}
24933extern "C" {
24934    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get_by_id"]
24935    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24936}
24937extern "C" {
24938    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get0_name"]
24939    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24940}
24941extern "C" {
24942    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get0_sname"]
24943    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24944}
24945extern "C" {
24946    #[link_name = "\u{1}aws_lc_0_33_0_X509_PURPOSE_get_trust"]
24947    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24948}
24949#[repr(C)]
24950#[derive(Debug, Copy, Clone)]
24951pub struct ocsp_cert_id_st {
24952    _unused: [u8; 0],
24953}
24954pub type OCSP_CERTID = ocsp_cert_id_st;
24955#[repr(C)]
24956#[derive(Debug, Copy, Clone)]
24957pub struct ocsp_one_request_st {
24958    _unused: [u8; 0],
24959}
24960pub type OCSP_ONEREQ = ocsp_one_request_st;
24961#[repr(C)]
24962#[derive(Debug, Copy, Clone)]
24963pub struct ocsp_req_info_st {
24964    _unused: [u8; 0],
24965}
24966pub type OCSP_REQINFO = ocsp_req_info_st;
24967#[repr(C)]
24968#[derive(Debug, Copy, Clone)]
24969pub struct ocsp_signature_st {
24970    _unused: [u8; 0],
24971}
24972pub type OCSP_SIGNATURE = ocsp_signature_st;
24973#[repr(C)]
24974#[derive(Debug, Copy, Clone)]
24975pub struct ocsp_request_st {
24976    _unused: [u8; 0],
24977}
24978pub type OCSP_REQUEST = ocsp_request_st;
24979#[repr(C)]
24980#[derive(Debug, Copy, Clone)]
24981pub struct ocsp_resp_bytes_st {
24982    _unused: [u8; 0],
24983}
24984pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
24985#[repr(C)]
24986#[derive(Debug, Copy, Clone)]
24987pub struct ocsp_revoked_info_st {
24988    _unused: [u8; 0],
24989}
24990pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
24991#[repr(C)]
24992#[derive(Debug, Copy, Clone)]
24993pub struct ocsp_cert_status_st {
24994    _unused: [u8; 0],
24995}
24996pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
24997#[repr(C)]
24998#[derive(Debug, Copy, Clone)]
24999pub struct ocsp_single_response_st {
25000    _unused: [u8; 0],
25001}
25002pub type OCSP_SINGLERESP = ocsp_single_response_st;
25003#[repr(C)]
25004#[derive(Debug, Copy, Clone)]
25005pub struct ocsp_response_data_st {
25006    _unused: [u8; 0],
25007}
25008pub type OCSP_RESPDATA = ocsp_response_data_st;
25009#[repr(C)]
25010#[derive(Debug, Copy, Clone)]
25011pub struct ocsp_response_st {
25012    _unused: [u8; 0],
25013}
25014pub type OCSP_RESPONSE = ocsp_response_st;
25015#[repr(C)]
25016#[derive(Debug, Copy, Clone)]
25017pub struct ocsp_responder_id_st {
25018    _unused: [u8; 0],
25019}
25020pub type OCSP_RESPID = ocsp_responder_id_st;
25021#[repr(C)]
25022#[derive(Debug, Copy, Clone)]
25023pub struct ocsp_basic_response_st {
25024    _unused: [u8; 0],
25025}
25026pub type OCSP_BASICRESP = ocsp_basic_response_st;
25027#[repr(C)]
25028#[derive(Debug, Copy, Clone)]
25029pub struct stack_st_OCSP_CERTID {
25030    _unused: [u8; 0],
25031}
25032pub type sk_OCSP_CERTID_free_func =
25033    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
25034pub type sk_OCSP_CERTID_copy_func =
25035    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
25036pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
25037    unsafe extern "C" fn(
25038        arg1: *const *const OCSP_CERTID,
25039        arg2: *const *const OCSP_CERTID,
25040    ) -> ::std::os::raw::c_int,
25041>;
25042pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
25043    unsafe extern "C" fn(
25044        arg1: *mut OCSP_CERTID,
25045        arg2: *mut ::std::os::raw::c_void,
25046    ) -> ::std::os::raw::c_int,
25047>;
25048#[repr(C)]
25049#[derive(Debug, Copy, Clone)]
25050pub struct stack_st_OCSP_ONEREQ {
25051    _unused: [u8; 0],
25052}
25053pub type sk_OCSP_ONEREQ_free_func =
25054    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
25055pub type sk_OCSP_ONEREQ_copy_func =
25056    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
25057pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
25058    unsafe extern "C" fn(
25059        arg1: *const *const OCSP_ONEREQ,
25060        arg2: *const *const OCSP_ONEREQ,
25061    ) -> ::std::os::raw::c_int,
25062>;
25063pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
25064    unsafe extern "C" fn(
25065        arg1: *mut OCSP_ONEREQ,
25066        arg2: *mut ::std::os::raw::c_void,
25067    ) -> ::std::os::raw::c_int,
25068>;
25069#[repr(C)]
25070#[derive(Debug, Copy, Clone)]
25071pub struct stack_st_OCSP_RESPID {
25072    _unused: [u8; 0],
25073}
25074pub type sk_OCSP_RESPID_free_func =
25075    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
25076pub type sk_OCSP_RESPID_copy_func =
25077    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
25078pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
25079    unsafe extern "C" fn(
25080        arg1: *const *const OCSP_RESPID,
25081        arg2: *const *const OCSP_RESPID,
25082    ) -> ::std::os::raw::c_int,
25083>;
25084pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
25085    unsafe extern "C" fn(
25086        arg1: *mut OCSP_RESPID,
25087        arg2: *mut ::std::os::raw::c_void,
25088    ) -> ::std::os::raw::c_int,
25089>;
25090#[repr(C)]
25091#[derive(Debug, Copy, Clone)]
25092pub struct stack_st_OCSP_SINGLERESP {
25093    _unused: [u8; 0],
25094}
25095pub type sk_OCSP_SINGLERESP_free_func =
25096    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
25097pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
25098    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
25099>;
25100pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
25101    unsafe extern "C" fn(
25102        arg1: *const *const OCSP_SINGLERESP,
25103        arg2: *const *const OCSP_SINGLERESP,
25104    ) -> ::std::os::raw::c_int,
25105>;
25106pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
25107    unsafe extern "C" fn(
25108        arg1: *mut OCSP_SINGLERESP,
25109        arg2: *mut ::std::os::raw::c_void,
25110    ) -> ::std::os::raw::c_int,
25111>;
25112extern "C" {
25113    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_new"]
25114    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
25115}
25116extern "C" {
25117    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_free"]
25118    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
25119}
25120extern "C" {
25121    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_BASICRESP"]
25122    pub fn d2i_OCSP_BASICRESP(
25123        a: *mut *mut OCSP_BASICRESP,
25124        in_: *mut *const ::std::os::raw::c_uchar,
25125        len: ::std::os::raw::c_long,
25126    ) -> *mut OCSP_BASICRESP;
25127}
25128extern "C" {
25129    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_BASICRESP"]
25130    pub fn i2d_OCSP_BASICRESP(
25131        a: *mut OCSP_BASICRESP,
25132        out: *mut *mut ::std::os::raw::c_uchar,
25133    ) -> ::std::os::raw::c_int;
25134}
25135extern "C" {
25136    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_it"]
25137    pub static OCSP_BASICRESP_it: ASN1_ITEM;
25138}
25139extern "C" {
25140    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_RESPONSE_new"]
25141    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
25142}
25143extern "C" {
25144    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_RESPONSE_free"]
25145    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
25146}
25147extern "C" {
25148    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_RESPONSE"]
25149    pub fn d2i_OCSP_RESPONSE(
25150        a: *mut *mut OCSP_RESPONSE,
25151        in_: *mut *const ::std::os::raw::c_uchar,
25152        len: ::std::os::raw::c_long,
25153    ) -> *mut OCSP_RESPONSE;
25154}
25155extern "C" {
25156    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_RESPONSE"]
25157    pub fn i2d_OCSP_RESPONSE(
25158        a: *mut OCSP_RESPONSE,
25159        out: *mut *mut ::std::os::raw::c_uchar,
25160    ) -> ::std::os::raw::c_int;
25161}
25162extern "C" {
25163    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_RESPONSE_it"]
25164    pub static OCSP_RESPONSE_it: ASN1_ITEM;
25165}
25166extern "C" {
25167    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_CERTID_new"]
25168    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
25169}
25170extern "C" {
25171    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_CERTID_free"]
25172    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
25173}
25174extern "C" {
25175    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_CERTID"]
25176    pub fn d2i_OCSP_CERTID(
25177        a: *mut *mut OCSP_CERTID,
25178        in_: *mut *const ::std::os::raw::c_uchar,
25179        len: ::std::os::raw::c_long,
25180    ) -> *mut OCSP_CERTID;
25181}
25182extern "C" {
25183    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_CERTID"]
25184    pub fn i2d_OCSP_CERTID(
25185        a: *mut OCSP_CERTID,
25186        out: *mut *mut ::std::os::raw::c_uchar,
25187    ) -> ::std::os::raw::c_int;
25188}
25189extern "C" {
25190    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_CERTID_it"]
25191    pub static OCSP_CERTID_it: ASN1_ITEM;
25192}
25193extern "C" {
25194    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQUEST_new"]
25195    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
25196}
25197extern "C" {
25198    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQUEST_free"]
25199    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
25200}
25201extern "C" {
25202    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_REQUEST"]
25203    pub fn d2i_OCSP_REQUEST(
25204        a: *mut *mut OCSP_REQUEST,
25205        in_: *mut *const ::std::os::raw::c_uchar,
25206        len: ::std::os::raw::c_long,
25207    ) -> *mut OCSP_REQUEST;
25208}
25209extern "C" {
25210    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_REQUEST"]
25211    pub fn i2d_OCSP_REQUEST(
25212        a: *mut OCSP_REQUEST,
25213        out: *mut *mut ::std::os::raw::c_uchar,
25214    ) -> ::std::os::raw::c_int;
25215}
25216extern "C" {
25217    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQUEST_it"]
25218    pub static OCSP_REQUEST_it: ASN1_ITEM;
25219}
25220extern "C" {
25221    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_new"]
25222    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
25223}
25224extern "C" {
25225    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_free"]
25226    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
25227}
25228extern "C" {
25229    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_SINGLERESP"]
25230    pub fn d2i_OCSP_SINGLERESP(
25231        a: *mut *mut OCSP_SINGLERESP,
25232        in_: *mut *const ::std::os::raw::c_uchar,
25233        len: ::std::os::raw::c_long,
25234    ) -> *mut OCSP_SINGLERESP;
25235}
25236extern "C" {
25237    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_SINGLERESP"]
25238    pub fn i2d_OCSP_SINGLERESP(
25239        a: *mut OCSP_SINGLERESP,
25240        out: *mut *mut ::std::os::raw::c_uchar,
25241    ) -> ::std::os::raw::c_int;
25242}
25243extern "C" {
25244    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_it"]
25245    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
25246}
25247extern "C" {
25248    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_ONEREQ_new"]
25249    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
25250}
25251extern "C" {
25252    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_ONEREQ_free"]
25253    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
25254}
25255extern "C" {
25256    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_ONEREQ"]
25257    pub fn d2i_OCSP_ONEREQ(
25258        a: *mut *mut OCSP_ONEREQ,
25259        in_: *mut *const ::std::os::raw::c_uchar,
25260        len: ::std::os::raw::c_long,
25261    ) -> *mut OCSP_ONEREQ;
25262}
25263extern "C" {
25264    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_ONEREQ"]
25265    pub fn i2d_OCSP_ONEREQ(
25266        a: *mut OCSP_ONEREQ,
25267        out: *mut *mut ::std::os::raw::c_uchar,
25268    ) -> ::std::os::raw::c_int;
25269}
25270extern "C" {
25271    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_ONEREQ_it"]
25272    pub static OCSP_ONEREQ_it: ASN1_ITEM;
25273}
25274extern "C" {
25275    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_REQUEST_bio"]
25276    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
25277}
25278extern "C" {
25279    #[link_name = "\u{1}aws_lc_0_33_0_d2i_OCSP_RESPONSE_bio"]
25280    pub fn d2i_OCSP_RESPONSE_bio(
25281        bp: *mut BIO,
25282        presp: *mut *mut OCSP_RESPONSE,
25283    ) -> *mut OCSP_RESPONSE;
25284}
25285extern "C" {
25286    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_RESPONSE_bio"]
25287    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25288}
25289extern "C" {
25290    #[link_name = "\u{1}aws_lc_0_33_0_i2d_OCSP_REQUEST_bio"]
25291    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25292}
25293extern "C" {
25294    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_CERTID_dup"]
25295    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
25296}
25297extern "C" {
25298    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_sendreq_bio"]
25299    pub fn OCSP_sendreq_bio(
25300        b: *mut BIO,
25301        path: *const ::std::os::raw::c_char,
25302        req: *mut OCSP_REQUEST,
25303    ) -> *mut OCSP_RESPONSE;
25304}
25305extern "C" {
25306    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_sendreq_new"]
25307    pub fn OCSP_sendreq_new(
25308        io: *mut BIO,
25309        path: *const ::std::os::raw::c_char,
25310        req: *mut OCSP_REQUEST,
25311        maxline: ::std::os::raw::c_int,
25312    ) -> *mut OCSP_REQ_CTX;
25313}
25314extern "C" {
25315    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_sendreq_nbio"]
25316    pub fn OCSP_sendreq_nbio(
25317        presp: *mut *mut OCSP_RESPONSE,
25318        rctx: *mut OCSP_REQ_CTX,
25319    ) -> ::std::os::raw::c_int;
25320}
25321extern "C" {
25322    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_new"]
25323    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
25324}
25325extern "C" {
25326    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_free"]
25327    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
25328}
25329extern "C" {
25330    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_set_max_response_length"]
25331    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
25332}
25333extern "C" {
25334    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_http"]
25335    pub fn OCSP_REQ_CTX_http(
25336        rctx: *mut OCSP_REQ_CTX,
25337        op: *const ::std::os::raw::c_char,
25338        path: *const ::std::os::raw::c_char,
25339    ) -> ::std::os::raw::c_int;
25340}
25341extern "C" {
25342    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_set1_req"]
25343    pub fn OCSP_REQ_CTX_set1_req(
25344        rctx: *mut OCSP_REQ_CTX,
25345        req: *mut OCSP_REQUEST,
25346    ) -> ::std::os::raw::c_int;
25347}
25348extern "C" {
25349    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_add1_header"]
25350    pub fn OCSP_REQ_CTX_add1_header(
25351        rctx: *mut OCSP_REQ_CTX,
25352        name: *const ::std::os::raw::c_char,
25353        value: *const ::std::os::raw::c_char,
25354    ) -> ::std::os::raw::c_int;
25355}
25356extern "C" {
25357    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQ_CTX_i2d"]
25358    pub fn OCSP_REQ_CTX_i2d(
25359        rctx: *mut OCSP_REQ_CTX,
25360        it: *const ASN1_ITEM,
25361        val: *mut ASN1_VALUE,
25362    ) -> ::std::os::raw::c_int;
25363}
25364extern "C" {
25365    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_add0_id"]
25366    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
25367}
25368extern "C" {
25369    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_onereq_get0_id"]
25370    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
25371}
25372extern "C" {
25373    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_add1_nonce"]
25374    pub fn OCSP_request_add1_nonce(
25375        req: *mut OCSP_REQUEST,
25376        val: *mut ::std::os::raw::c_uchar,
25377        len: ::std::os::raw::c_int,
25378    ) -> ::std::os::raw::c_int;
25379}
25380extern "C" {
25381    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_basic_add1_nonce"]
25382    pub fn OCSP_basic_add1_nonce(
25383        resp: *mut OCSP_BASICRESP,
25384        val: *mut ::std::os::raw::c_uchar,
25385        len: ::std::os::raw::c_int,
25386    ) -> ::std::os::raw::c_int;
25387}
25388extern "C" {
25389    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_check_nonce"]
25390    pub fn OCSP_check_nonce(
25391        req: *mut OCSP_REQUEST,
25392        bs: *mut OCSP_BASICRESP,
25393    ) -> ::std::os::raw::c_int;
25394}
25395extern "C" {
25396    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_copy_nonce"]
25397    pub fn OCSP_copy_nonce(
25398        resp: *mut OCSP_BASICRESP,
25399        req: *mut OCSP_REQUEST,
25400    ) -> ::std::os::raw::c_int;
25401}
25402extern "C" {
25403    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_set1_name"]
25404    pub fn OCSP_request_set1_name(
25405        req: *mut OCSP_REQUEST,
25406        nm: *mut X509_NAME,
25407    ) -> ::std::os::raw::c_int;
25408}
25409extern "C" {
25410    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_add1_cert"]
25411    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
25412        -> ::std::os::raw::c_int;
25413}
25414extern "C" {
25415    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_is_signed"]
25416    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25417}
25418extern "C" {
25419    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_onereq_count"]
25420    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
25421}
25422extern "C" {
25423    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_onereq_get0"]
25424    pub fn OCSP_request_onereq_get0(
25425        req: *mut OCSP_REQUEST,
25426        i: ::std::os::raw::c_int,
25427    ) -> *mut OCSP_ONEREQ;
25428}
25429extern "C" {
25430    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_sign"]
25431    pub fn OCSP_request_sign(
25432        req: *mut OCSP_REQUEST,
25433        signer: *mut X509,
25434        key: *mut EVP_PKEY,
25435        dgst: *const EVP_MD,
25436        certs: *mut stack_st_X509,
25437        flags: ::std::os::raw::c_ulong,
25438    ) -> ::std::os::raw::c_int;
25439}
25440extern "C" {
25441    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_response_status"]
25442    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
25443}
25444extern "C" {
25445    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_response_get1_basic"]
25446    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
25447}
25448extern "C" {
25449    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_resp_count"]
25450    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
25451}
25452extern "C" {
25453    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_resp_get0"]
25454    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
25455}
25456extern "C" {
25457    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_single_get0_status"]
25458    pub fn OCSP_single_get0_status(
25459        single: *mut OCSP_SINGLERESP,
25460        reason: *mut ::std::os::raw::c_int,
25461        revtime: *mut *mut ASN1_GENERALIZEDTIME,
25462        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
25463        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
25464    ) -> ::std::os::raw::c_int;
25465}
25466extern "C" {
25467    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_resp_find"]
25468    pub fn OCSP_resp_find(
25469        bs: *mut OCSP_BASICRESP,
25470        id: *mut OCSP_CERTID,
25471        last: ::std::os::raw::c_int,
25472    ) -> ::std::os::raw::c_int;
25473}
25474extern "C" {
25475    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_resp_find_status"]
25476    pub fn OCSP_resp_find_status(
25477        bs: *mut OCSP_BASICRESP,
25478        id: *mut OCSP_CERTID,
25479        status: *mut ::std::os::raw::c_int,
25480        reason: *mut ::std::os::raw::c_int,
25481        revtime: *mut *mut ASN1_GENERALIZEDTIME,
25482        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
25483        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
25484    ) -> ::std::os::raw::c_int;
25485}
25486extern "C" {
25487    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_check_validity"]
25488    pub fn OCSP_check_validity(
25489        thisUpdate: *mut ASN1_GENERALIZEDTIME,
25490        nextUpdate: *mut ASN1_GENERALIZEDTIME,
25491        drift_num_seconds: ::std::os::raw::c_long,
25492        max_age_seconds: ::std::os::raw::c_long,
25493    ) -> ::std::os::raw::c_int;
25494}
25495extern "C" {
25496    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_basic_verify"]
25497    pub fn OCSP_basic_verify(
25498        bs: *mut OCSP_BASICRESP,
25499        certs: *mut stack_st_X509,
25500        st: *mut X509_STORE,
25501        flags: ::std::os::raw::c_ulong,
25502    ) -> ::std::os::raw::c_int;
25503}
25504extern "C" {
25505    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_request_verify"]
25506    pub fn OCSP_request_verify(
25507        req: *mut OCSP_REQUEST,
25508        certs: *mut stack_st_X509,
25509        st: *mut X509_STORE,
25510        flags: ::std::os::raw::c_ulong,
25511    ) -> ::std::os::raw::c_int;
25512}
25513extern "C" {
25514    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_cert_id_new"]
25515    pub fn OCSP_cert_id_new(
25516        dgst: *const EVP_MD,
25517        issuerName: *const X509_NAME,
25518        issuerKey: *const ASN1_BIT_STRING,
25519        serialNumber: *const ASN1_INTEGER,
25520    ) -> *mut OCSP_CERTID;
25521}
25522extern "C" {
25523    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_cert_to_id"]
25524    pub fn OCSP_cert_to_id(
25525        dgst: *const EVP_MD,
25526        subject: *const X509,
25527        issuer: *const X509,
25528    ) -> *mut OCSP_CERTID;
25529}
25530extern "C" {
25531    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_parse_url"]
25532    pub fn OCSP_parse_url(
25533        url: *const ::std::os::raw::c_char,
25534        phost: *mut *mut ::std::os::raw::c_char,
25535        pport: *mut *mut ::std::os::raw::c_char,
25536        ppath: *mut *mut ::std::os::raw::c_char,
25537        pssl: *mut ::std::os::raw::c_int,
25538    ) -> ::std::os::raw::c_int;
25539}
25540extern "C" {
25541    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_id_issuer_cmp"]
25542    pub fn OCSP_id_issuer_cmp(
25543        a: *const OCSP_CERTID,
25544        b: *const OCSP_CERTID,
25545    ) -> ::std::os::raw::c_int;
25546}
25547extern "C" {
25548    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_id_cmp"]
25549    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
25550}
25551extern "C" {
25552    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_id_get0_info"]
25553    pub fn OCSP_id_get0_info(
25554        nameHash: *mut *mut ASN1_OCTET_STRING,
25555        algor: *mut *mut ASN1_OBJECT,
25556        keyHash: *mut *mut ASN1_OCTET_STRING,
25557        serial: *mut *mut ASN1_INTEGER,
25558        cid: *mut OCSP_CERTID,
25559    ) -> ::std::os::raw::c_int;
25560}
25561extern "C" {
25562    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_basic_add1_cert"]
25563    pub fn OCSP_basic_add1_cert(
25564        resp: *mut OCSP_BASICRESP,
25565        cert: *mut X509,
25566    ) -> ::std::os::raw::c_int;
25567}
25568extern "C" {
25569    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_basic_add1_status"]
25570    pub fn OCSP_basic_add1_status(
25571        resp: *mut OCSP_BASICRESP,
25572        cid: *mut OCSP_CERTID,
25573        status: ::std::os::raw::c_int,
25574        revoked_reason: ::std::os::raw::c_int,
25575        revoked_time: *mut ASN1_TIME,
25576        this_update: *mut ASN1_TIME,
25577        next_update: *mut ASN1_TIME,
25578    ) -> *mut OCSP_SINGLERESP;
25579}
25580extern "C" {
25581    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_basic_sign"]
25582    pub fn OCSP_basic_sign(
25583        resp: *mut OCSP_BASICRESP,
25584        signer: *mut X509,
25585        key: *mut EVP_PKEY,
25586        dgst: *const EVP_MD,
25587        certs: *mut stack_st_X509,
25588        flags: ::std::os::raw::c_ulong,
25589    ) -> ::std::os::raw::c_int;
25590}
25591extern "C" {
25592    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_response_create"]
25593    pub fn OCSP_response_create(
25594        status: ::std::os::raw::c_int,
25595        bs: *mut OCSP_BASICRESP,
25596    ) -> *mut OCSP_RESPONSE;
25597}
25598extern "C" {
25599    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_get0_id"]
25600    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
25601}
25602extern "C" {
25603    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_response_status_str"]
25604    pub fn OCSP_response_status_str(
25605        status_code: ::std::os::raw::c_long,
25606    ) -> *const ::std::os::raw::c_char;
25607}
25608extern "C" {
25609    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_cert_status_str"]
25610    pub fn OCSP_cert_status_str(
25611        status_code: ::std::os::raw::c_long,
25612    ) -> *const ::std::os::raw::c_char;
25613}
25614extern "C" {
25615    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_crl_reason_str"]
25616    pub fn OCSP_crl_reason_str(
25617        status_code: ::std::os::raw::c_long,
25618    ) -> *const ::std::os::raw::c_char;
25619}
25620extern "C" {
25621    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_REQUEST_print"]
25622    pub fn OCSP_REQUEST_print(
25623        bp: *mut BIO,
25624        req: *mut OCSP_REQUEST,
25625        flags: ::std::os::raw::c_ulong,
25626    ) -> ::std::os::raw::c_int;
25627}
25628extern "C" {
25629    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_RESPONSE_print"]
25630    pub fn OCSP_RESPONSE_print(
25631        bp: *mut BIO,
25632        resp: *mut OCSP_RESPONSE,
25633        flags: ::std::os::raw::c_ulong,
25634    ) -> ::std::os::raw::c_int;
25635}
25636extern "C" {
25637    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_get_ext_by_NID"]
25638    pub fn OCSP_BASICRESP_get_ext_by_NID(
25639        bs: *mut OCSP_BASICRESP,
25640        nid: ::std::os::raw::c_int,
25641        lastpos: ::std::os::raw::c_int,
25642    ) -> ::std::os::raw::c_int;
25643}
25644extern "C" {
25645    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_get_ext"]
25646    pub fn OCSP_BASICRESP_get_ext(
25647        bs: *mut OCSP_BASICRESP,
25648        loc: ::std::os::raw::c_int,
25649    ) -> *mut X509_EXTENSION;
25650}
25651extern "C" {
25652    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_BASICRESP_delete_ext"]
25653    pub fn OCSP_BASICRESP_delete_ext(
25654        x: *mut OCSP_BASICRESP,
25655        loc: ::std::os::raw::c_int,
25656    ) -> *mut X509_EXTENSION;
25657}
25658extern "C" {
25659    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_add_ext"]
25660    pub fn OCSP_SINGLERESP_add_ext(
25661        sresp: *mut OCSP_SINGLERESP,
25662        ex: *mut X509_EXTENSION,
25663        loc: ::std::os::raw::c_int,
25664    ) -> ::std::os::raw::c_int;
25665}
25666extern "C" {
25667    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_get_ext_count"]
25668    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
25669}
25670extern "C" {
25671    #[link_name = "\u{1}aws_lc_0_33_0_OCSP_SINGLERESP_get_ext"]
25672    pub fn OCSP_SINGLERESP_get_ext(
25673        sresp: *mut OCSP_SINGLERESP,
25674        loc: ::std::os::raw::c_int,
25675    ) -> *mut X509_EXTENSION;
25676}
25677pub type pem_password_cb = ::std::option::Option<
25678    unsafe extern "C" fn(
25679        buf: *mut ::std::os::raw::c_char,
25680        size: ::std::os::raw::c_int,
25681        rwflag: ::std::os::raw::c_int,
25682        userdata: *mut ::std::os::raw::c_void,
25683    ) -> ::std::os::raw::c_int,
25684>;
25685extern "C" {
25686    #[link_name = "\u{1}aws_lc_0_33_0_PEM_get_EVP_CIPHER_INFO"]
25687    pub fn PEM_get_EVP_CIPHER_INFO(
25688        header: *mut ::std::os::raw::c_char,
25689        cipher: *mut EVP_CIPHER_INFO,
25690    ) -> ::std::os::raw::c_int;
25691}
25692extern "C" {
25693    #[link_name = "\u{1}aws_lc_0_33_0_PEM_do_header"]
25694    pub fn PEM_do_header(
25695        cipher: *mut EVP_CIPHER_INFO,
25696        data: *mut ::std::os::raw::c_uchar,
25697        len: *mut ::std::os::raw::c_long,
25698        callback: pem_password_cb,
25699        u: *mut ::std::os::raw::c_void,
25700    ) -> ::std::os::raw::c_int;
25701}
25702extern "C" {
25703    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio"]
25704    pub fn PEM_read_bio(
25705        bp: *mut BIO,
25706        name: *mut *mut ::std::os::raw::c_char,
25707        header: *mut *mut ::std::os::raw::c_char,
25708        data: *mut *mut ::std::os::raw::c_uchar,
25709        len: *mut ::std::os::raw::c_long,
25710    ) -> ::std::os::raw::c_int;
25711}
25712extern "C" {
25713    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio"]
25714    pub fn PEM_write_bio(
25715        bp: *mut BIO,
25716        name: *const ::std::os::raw::c_char,
25717        hdr: *const ::std::os::raw::c_char,
25718        data: *const ::std::os::raw::c_uchar,
25719        len: ::std::os::raw::c_long,
25720    ) -> ::std::os::raw::c_int;
25721}
25722extern "C" {
25723    #[link_name = "\u{1}aws_lc_0_33_0_PEM_bytes_read_bio"]
25724    pub fn PEM_bytes_read_bio(
25725        pdata: *mut *mut ::std::os::raw::c_uchar,
25726        plen: *mut ::std::os::raw::c_long,
25727        pnm: *mut *mut ::std::os::raw::c_char,
25728        name: *const ::std::os::raw::c_char,
25729        bp: *mut BIO,
25730        cb: pem_password_cb,
25731        u: *mut ::std::os::raw::c_void,
25732    ) -> ::std::os::raw::c_int;
25733}
25734extern "C" {
25735    #[link_name = "\u{1}aws_lc_0_33_0_PEM_ASN1_read_bio"]
25736    pub fn PEM_ASN1_read_bio(
25737        d2i: d2i_of_void,
25738        name: *const ::std::os::raw::c_char,
25739        bp: *mut BIO,
25740        x: *mut *mut ::std::os::raw::c_void,
25741        cb: pem_password_cb,
25742        u: *mut ::std::os::raw::c_void,
25743    ) -> *mut ::std::os::raw::c_void;
25744}
25745extern "C" {
25746    #[link_name = "\u{1}aws_lc_0_33_0_PEM_ASN1_write_bio"]
25747    pub fn PEM_ASN1_write_bio(
25748        i2d: i2d_of_void,
25749        name: *const ::std::os::raw::c_char,
25750        bp: *mut BIO,
25751        x: *mut ::std::os::raw::c_void,
25752        enc: *const EVP_CIPHER,
25753        pass: *const ::std::os::raw::c_uchar,
25754        pass_len: ::std::os::raw::c_int,
25755        cb: pem_password_cb,
25756        u: *mut ::std::os::raw::c_void,
25757    ) -> ::std::os::raw::c_int;
25758}
25759extern "C" {
25760    #[link_name = "\u{1}aws_lc_0_33_0_PEM_X509_INFO_read_bio"]
25761    pub fn PEM_X509_INFO_read_bio(
25762        bp: *mut BIO,
25763        sk: *mut stack_st_X509_INFO,
25764        cb: pem_password_cb,
25765        u: *mut ::std::os::raw::c_void,
25766    ) -> *mut stack_st_X509_INFO;
25767}
25768extern "C" {
25769    #[link_name = "\u{1}aws_lc_0_33_0_PEM_X509_INFO_write_bio"]
25770    pub fn PEM_X509_INFO_write_bio(
25771        bp: *mut BIO,
25772        xi: *mut X509_INFO,
25773        enc: *mut EVP_CIPHER,
25774        kstr: *mut ::std::os::raw::c_uchar,
25775        klen: ::std::os::raw::c_int,
25776        cd: pem_password_cb,
25777        u: *mut ::std::os::raw::c_void,
25778    ) -> ::std::os::raw::c_int;
25779}
25780extern "C" {
25781    #[link_name = "\u{1}aws_lc_0_33_0_PEM_X509_INFO_read"]
25782    pub fn PEM_X509_INFO_read(
25783        fp: *mut FILE,
25784        sk: *mut stack_st_X509_INFO,
25785        cb: pem_password_cb,
25786        u: *mut ::std::os::raw::c_void,
25787    ) -> *mut stack_st_X509_INFO;
25788}
25789extern "C" {
25790    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read"]
25791    pub fn PEM_read(
25792        fp: *mut FILE,
25793        name: *mut *mut ::std::os::raw::c_char,
25794        header: *mut *mut ::std::os::raw::c_char,
25795        data: *mut *mut ::std::os::raw::c_uchar,
25796        len: *mut ::std::os::raw::c_long,
25797    ) -> ::std::os::raw::c_int;
25798}
25799extern "C" {
25800    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write"]
25801    pub fn PEM_write(
25802        fp: *mut FILE,
25803        name: *const ::std::os::raw::c_char,
25804        hdr: *const ::std::os::raw::c_char,
25805        data: *const ::std::os::raw::c_uchar,
25806        len: ::std::os::raw::c_long,
25807    ) -> ::std::os::raw::c_int;
25808}
25809extern "C" {
25810    #[link_name = "\u{1}aws_lc_0_33_0_PEM_ASN1_read"]
25811    pub fn PEM_ASN1_read(
25812        d2i: d2i_of_void,
25813        name: *const ::std::os::raw::c_char,
25814        fp: *mut FILE,
25815        x: *mut *mut ::std::os::raw::c_void,
25816        cb: pem_password_cb,
25817        u: *mut ::std::os::raw::c_void,
25818    ) -> *mut ::std::os::raw::c_void;
25819}
25820extern "C" {
25821    #[link_name = "\u{1}aws_lc_0_33_0_PEM_ASN1_write"]
25822    pub fn PEM_ASN1_write(
25823        i2d: i2d_of_void,
25824        name: *const ::std::os::raw::c_char,
25825        fp: *mut FILE,
25826        x: *mut ::std::os::raw::c_void,
25827        enc: *const EVP_CIPHER,
25828        pass: *const ::std::os::raw::c_uchar,
25829        pass_len: ::std::os::raw::c_int,
25830        callback: pem_password_cb,
25831        u: *mut ::std::os::raw::c_void,
25832    ) -> ::std::os::raw::c_int;
25833}
25834extern "C" {
25835    #[link_name = "\u{1}aws_lc_0_33_0_PEM_def_callback"]
25836    pub fn PEM_def_callback(
25837        buf: *mut ::std::os::raw::c_char,
25838        size: ::std::os::raw::c_int,
25839        rwflag: ::std::os::raw::c_int,
25840        userdata: *mut ::std::os::raw::c_void,
25841    ) -> ::std::os::raw::c_int;
25842}
25843extern "C" {
25844    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_X509"]
25845    pub fn PEM_read_bio_X509(
25846        bp: *mut BIO,
25847        x: *mut *mut X509,
25848        cb: pem_password_cb,
25849        u: *mut ::std::os::raw::c_void,
25850    ) -> *mut X509;
25851}
25852extern "C" {
25853    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_X509"]
25854    pub fn PEM_read_X509(
25855        fp: *mut FILE,
25856        x: *mut *mut X509,
25857        cb: pem_password_cb,
25858        u: *mut ::std::os::raw::c_void,
25859    ) -> *mut X509;
25860}
25861extern "C" {
25862    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_X509"]
25863    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25864}
25865extern "C" {
25866    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_X509"]
25867    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25868}
25869extern "C" {
25870    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_X509_AUX"]
25871    pub fn PEM_read_bio_X509_AUX(
25872        bp: *mut BIO,
25873        x: *mut *mut X509,
25874        cb: pem_password_cb,
25875        u: *mut ::std::os::raw::c_void,
25876    ) -> *mut X509;
25877}
25878extern "C" {
25879    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_X509_AUX"]
25880    pub fn PEM_read_X509_AUX(
25881        fp: *mut FILE,
25882        x: *mut *mut X509,
25883        cb: pem_password_cb,
25884        u: *mut ::std::os::raw::c_void,
25885    ) -> *mut X509;
25886}
25887extern "C" {
25888    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_X509_AUX"]
25889    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25890}
25891extern "C" {
25892    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_X509_AUX"]
25893    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25894}
25895extern "C" {
25896    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_X509_REQ"]
25897    pub fn PEM_read_bio_X509_REQ(
25898        bp: *mut BIO,
25899        x: *mut *mut X509_REQ,
25900        cb: pem_password_cb,
25901        u: *mut ::std::os::raw::c_void,
25902    ) -> *mut X509_REQ;
25903}
25904extern "C" {
25905    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_X509_REQ"]
25906    pub fn PEM_read_X509_REQ(
25907        fp: *mut FILE,
25908        x: *mut *mut X509_REQ,
25909        cb: pem_password_cb,
25910        u: *mut ::std::os::raw::c_void,
25911    ) -> *mut X509_REQ;
25912}
25913extern "C" {
25914    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_X509_REQ"]
25915    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25916}
25917extern "C" {
25918    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_X509_REQ"]
25919    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25920}
25921extern "C" {
25922    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_X509_REQ_NEW"]
25923    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25924}
25925extern "C" {
25926    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_X509_REQ_NEW"]
25927    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25928}
25929extern "C" {
25930    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_X509_CRL"]
25931    pub fn PEM_read_bio_X509_CRL(
25932        bp: *mut BIO,
25933        x: *mut *mut X509_CRL,
25934        cb: pem_password_cb,
25935        u: *mut ::std::os::raw::c_void,
25936    ) -> *mut X509_CRL;
25937}
25938extern "C" {
25939    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_X509_CRL"]
25940    pub fn PEM_read_X509_CRL(
25941        fp: *mut FILE,
25942        x: *mut *mut X509_CRL,
25943        cb: pem_password_cb,
25944        u: *mut ::std::os::raw::c_void,
25945    ) -> *mut X509_CRL;
25946}
25947extern "C" {
25948    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_X509_CRL"]
25949    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25950}
25951extern "C" {
25952    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_X509_CRL"]
25953    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25954}
25955extern "C" {
25956    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_PKCS7"]
25957    pub fn PEM_read_bio_PKCS7(
25958        bp: *mut BIO,
25959        x: *mut *mut PKCS7,
25960        cb: pem_password_cb,
25961        u: *mut ::std::os::raw::c_void,
25962    ) -> *mut PKCS7;
25963}
25964extern "C" {
25965    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_PKCS7"]
25966    pub fn PEM_read_PKCS7(
25967        fp: *mut FILE,
25968        x: *mut *mut PKCS7,
25969        cb: pem_password_cb,
25970        u: *mut ::std::os::raw::c_void,
25971    ) -> *mut PKCS7;
25972}
25973extern "C" {
25974    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PKCS7"]
25975    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
25976}
25977extern "C" {
25978    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PKCS7"]
25979    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
25980}
25981extern "C" {
25982    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_PKCS8"]
25983    pub fn PEM_read_bio_PKCS8(
25984        bp: *mut BIO,
25985        x: *mut *mut X509_SIG,
25986        cb: pem_password_cb,
25987        u: *mut ::std::os::raw::c_void,
25988    ) -> *mut X509_SIG;
25989}
25990extern "C" {
25991    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_PKCS8"]
25992    pub fn PEM_read_PKCS8(
25993        fp: *mut FILE,
25994        x: *mut *mut X509_SIG,
25995        cb: pem_password_cb,
25996        u: *mut ::std::os::raw::c_void,
25997    ) -> *mut X509_SIG;
25998}
25999extern "C" {
26000    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PKCS8"]
26001    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26002}
26003extern "C" {
26004    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PKCS8"]
26005    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
26006}
26007extern "C" {
26008    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
26009    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
26010        bp: *mut BIO,
26011        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26012        cb: pem_password_cb,
26013        u: *mut ::std::os::raw::c_void,
26014    ) -> *mut PKCS8_PRIV_KEY_INFO;
26015}
26016extern "C" {
26017    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
26018    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
26019        fp: *mut FILE,
26020        x: *mut *mut PKCS8_PRIV_KEY_INFO,
26021        cb: pem_password_cb,
26022        u: *mut ::std::os::raw::c_void,
26023    ) -> *mut PKCS8_PRIV_KEY_INFO;
26024}
26025extern "C" {
26026    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
26027    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
26028        bp: *mut BIO,
26029        x: *mut PKCS8_PRIV_KEY_INFO,
26030    ) -> ::std::os::raw::c_int;
26031}
26032extern "C" {
26033    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
26034    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
26035        fp: *mut FILE,
26036        x: *mut PKCS8_PRIV_KEY_INFO,
26037    ) -> ::std::os::raw::c_int;
26038}
26039extern "C" {
26040    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_RSAPrivateKey"]
26041    pub fn PEM_read_bio_RSAPrivateKey(
26042        bp: *mut BIO,
26043        x: *mut *mut RSA,
26044        cb: pem_password_cb,
26045        u: *mut ::std::os::raw::c_void,
26046    ) -> *mut RSA;
26047}
26048extern "C" {
26049    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_RSAPrivateKey"]
26050    pub fn PEM_read_RSAPrivateKey(
26051        fp: *mut FILE,
26052        x: *mut *mut RSA,
26053        cb: pem_password_cb,
26054        u: *mut ::std::os::raw::c_void,
26055    ) -> *mut RSA;
26056}
26057extern "C" {
26058    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_RSAPrivateKey"]
26059    pub fn PEM_write_bio_RSAPrivateKey(
26060        bp: *mut BIO,
26061        x: *mut RSA,
26062        enc: *const EVP_CIPHER,
26063        pass: *const ::std::os::raw::c_uchar,
26064        pass_len: ::std::os::raw::c_int,
26065        cb: pem_password_cb,
26066        u: *mut ::std::os::raw::c_void,
26067    ) -> ::std::os::raw::c_int;
26068}
26069extern "C" {
26070    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_RSAPrivateKey"]
26071    pub fn PEM_write_RSAPrivateKey(
26072        fp: *mut FILE,
26073        x: *mut RSA,
26074        enc: *const EVP_CIPHER,
26075        pass: *const ::std::os::raw::c_uchar,
26076        pass_len: ::std::os::raw::c_int,
26077        cb: pem_password_cb,
26078        u: *mut ::std::os::raw::c_void,
26079    ) -> ::std::os::raw::c_int;
26080}
26081extern "C" {
26082    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_RSAPublicKey"]
26083    pub fn PEM_read_bio_RSAPublicKey(
26084        bp: *mut BIO,
26085        x: *mut *mut RSA,
26086        cb: pem_password_cb,
26087        u: *mut ::std::os::raw::c_void,
26088    ) -> *mut RSA;
26089}
26090extern "C" {
26091    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_RSAPublicKey"]
26092    pub fn PEM_read_RSAPublicKey(
26093        fp: *mut FILE,
26094        x: *mut *mut RSA,
26095        cb: pem_password_cb,
26096        u: *mut ::std::os::raw::c_void,
26097    ) -> *mut RSA;
26098}
26099extern "C" {
26100    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_RSAPublicKey"]
26101    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
26102}
26103extern "C" {
26104    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_RSAPublicKey"]
26105    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
26106}
26107extern "C" {
26108    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_RSA_PUBKEY"]
26109    pub fn PEM_read_bio_RSA_PUBKEY(
26110        bp: *mut BIO,
26111        x: *mut *mut RSA,
26112        cb: pem_password_cb,
26113        u: *mut ::std::os::raw::c_void,
26114    ) -> *mut RSA;
26115}
26116extern "C" {
26117    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_RSA_PUBKEY"]
26118    pub fn PEM_read_RSA_PUBKEY(
26119        fp: *mut FILE,
26120        x: *mut *mut RSA,
26121        cb: pem_password_cb,
26122        u: *mut ::std::os::raw::c_void,
26123    ) -> *mut RSA;
26124}
26125extern "C" {
26126    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_RSA_PUBKEY"]
26127    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
26128}
26129extern "C" {
26130    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_RSA_PUBKEY"]
26131    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
26132}
26133extern "C" {
26134    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_DSAPrivateKey"]
26135    pub fn PEM_read_bio_DSAPrivateKey(
26136        bp: *mut BIO,
26137        x: *mut *mut DSA,
26138        cb: pem_password_cb,
26139        u: *mut ::std::os::raw::c_void,
26140    ) -> *mut DSA;
26141}
26142extern "C" {
26143    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_DSAPrivateKey"]
26144    pub fn PEM_read_DSAPrivateKey(
26145        fp: *mut FILE,
26146        x: *mut *mut DSA,
26147        cb: pem_password_cb,
26148        u: *mut ::std::os::raw::c_void,
26149    ) -> *mut DSA;
26150}
26151extern "C" {
26152    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_DSAPrivateKey"]
26153    pub fn PEM_write_bio_DSAPrivateKey(
26154        bp: *mut BIO,
26155        x: *mut DSA,
26156        enc: *const EVP_CIPHER,
26157        pass: *const ::std::os::raw::c_uchar,
26158        pass_len: ::std::os::raw::c_int,
26159        cb: pem_password_cb,
26160        u: *mut ::std::os::raw::c_void,
26161    ) -> ::std::os::raw::c_int;
26162}
26163extern "C" {
26164    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_DSAPrivateKey"]
26165    pub fn PEM_write_DSAPrivateKey(
26166        fp: *mut FILE,
26167        x: *mut DSA,
26168        enc: *const EVP_CIPHER,
26169        pass: *const ::std::os::raw::c_uchar,
26170        pass_len: ::std::os::raw::c_int,
26171        cb: pem_password_cb,
26172        u: *mut ::std::os::raw::c_void,
26173    ) -> ::std::os::raw::c_int;
26174}
26175extern "C" {
26176    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_DSA_PUBKEY"]
26177    pub fn PEM_read_bio_DSA_PUBKEY(
26178        bp: *mut BIO,
26179        x: *mut *mut DSA,
26180        cb: pem_password_cb,
26181        u: *mut ::std::os::raw::c_void,
26182    ) -> *mut DSA;
26183}
26184extern "C" {
26185    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_DSA_PUBKEY"]
26186    pub fn PEM_read_DSA_PUBKEY(
26187        fp: *mut FILE,
26188        x: *mut *mut DSA,
26189        cb: pem_password_cb,
26190        u: *mut ::std::os::raw::c_void,
26191    ) -> *mut DSA;
26192}
26193extern "C" {
26194    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_DSA_PUBKEY"]
26195    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
26196}
26197extern "C" {
26198    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_DSA_PUBKEY"]
26199    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
26200}
26201extern "C" {
26202    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_DSAparams"]
26203    pub fn PEM_read_bio_DSAparams(
26204        bp: *mut BIO,
26205        x: *mut *mut DSA,
26206        cb: pem_password_cb,
26207        u: *mut ::std::os::raw::c_void,
26208    ) -> *mut DSA;
26209}
26210extern "C" {
26211    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_DSAparams"]
26212    pub fn PEM_read_DSAparams(
26213        fp: *mut FILE,
26214        x: *mut *mut DSA,
26215        cb: pem_password_cb,
26216        u: *mut ::std::os::raw::c_void,
26217    ) -> *mut DSA;
26218}
26219extern "C" {
26220    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_DSAparams"]
26221    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
26222}
26223extern "C" {
26224    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_DSAparams"]
26225    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
26226}
26227extern "C" {
26228    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_ECPrivateKey"]
26229    pub fn PEM_read_bio_ECPrivateKey(
26230        bp: *mut BIO,
26231        x: *mut *mut EC_KEY,
26232        cb: pem_password_cb,
26233        u: *mut ::std::os::raw::c_void,
26234    ) -> *mut EC_KEY;
26235}
26236extern "C" {
26237    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_ECPrivateKey"]
26238    pub fn PEM_read_ECPrivateKey(
26239        fp: *mut FILE,
26240        x: *mut *mut EC_KEY,
26241        cb: pem_password_cb,
26242        u: *mut ::std::os::raw::c_void,
26243    ) -> *mut EC_KEY;
26244}
26245extern "C" {
26246    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_ECPrivateKey"]
26247    pub fn PEM_write_bio_ECPrivateKey(
26248        bp: *mut BIO,
26249        x: *mut EC_KEY,
26250        enc: *const EVP_CIPHER,
26251        pass: *const ::std::os::raw::c_uchar,
26252        pass_len: ::std::os::raw::c_int,
26253        cb: pem_password_cb,
26254        u: *mut ::std::os::raw::c_void,
26255    ) -> ::std::os::raw::c_int;
26256}
26257extern "C" {
26258    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_ECPrivateKey"]
26259    pub fn PEM_write_ECPrivateKey(
26260        fp: *mut FILE,
26261        x: *mut EC_KEY,
26262        enc: *const EVP_CIPHER,
26263        pass: *const ::std::os::raw::c_uchar,
26264        pass_len: ::std::os::raw::c_int,
26265        cb: pem_password_cb,
26266        u: *mut ::std::os::raw::c_void,
26267    ) -> ::std::os::raw::c_int;
26268}
26269extern "C" {
26270    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_EC_PUBKEY"]
26271    pub fn PEM_read_bio_EC_PUBKEY(
26272        bp: *mut BIO,
26273        x: *mut *mut EC_KEY,
26274        cb: pem_password_cb,
26275        u: *mut ::std::os::raw::c_void,
26276    ) -> *mut EC_KEY;
26277}
26278extern "C" {
26279    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_EC_PUBKEY"]
26280    pub fn PEM_read_EC_PUBKEY(
26281        fp: *mut FILE,
26282        x: *mut *mut EC_KEY,
26283        cb: pem_password_cb,
26284        u: *mut ::std::os::raw::c_void,
26285    ) -> *mut EC_KEY;
26286}
26287extern "C" {
26288    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_EC_PUBKEY"]
26289    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26290}
26291extern "C" {
26292    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_EC_PUBKEY"]
26293    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
26294}
26295extern "C" {
26296    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_DHparams"]
26297    pub fn PEM_read_bio_DHparams(
26298        bp: *mut BIO,
26299        x: *mut *mut DH,
26300        cb: pem_password_cb,
26301        u: *mut ::std::os::raw::c_void,
26302    ) -> *mut DH;
26303}
26304extern "C" {
26305    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_DHparams"]
26306    pub fn PEM_read_DHparams(
26307        fp: *mut FILE,
26308        x: *mut *mut DH,
26309        cb: pem_password_cb,
26310        u: *mut ::std::os::raw::c_void,
26311    ) -> *mut DH;
26312}
26313extern "C" {
26314    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_DHparams"]
26315    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
26316}
26317extern "C" {
26318    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_DHparams"]
26319    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
26320}
26321extern "C" {
26322    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_PrivateKey"]
26323    pub fn PEM_read_bio_PrivateKey(
26324        bp: *mut BIO,
26325        x: *mut *mut EVP_PKEY,
26326        cb: pem_password_cb,
26327        u: *mut ::std::os::raw::c_void,
26328    ) -> *mut EVP_PKEY;
26329}
26330extern "C" {
26331    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_PrivateKey"]
26332    pub fn PEM_read_PrivateKey(
26333        fp: *mut FILE,
26334        x: *mut *mut EVP_PKEY,
26335        cb: pem_password_cb,
26336        u: *mut ::std::os::raw::c_void,
26337    ) -> *mut EVP_PKEY;
26338}
26339extern "C" {
26340    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PrivateKey"]
26341    pub fn PEM_write_bio_PrivateKey(
26342        bp: *mut BIO,
26343        x: *mut EVP_PKEY,
26344        enc: *const EVP_CIPHER,
26345        pass: *const ::std::os::raw::c_uchar,
26346        pass_len: ::std::os::raw::c_int,
26347        cb: pem_password_cb,
26348        u: *mut ::std::os::raw::c_void,
26349    ) -> ::std::os::raw::c_int;
26350}
26351extern "C" {
26352    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PrivateKey"]
26353    pub fn PEM_write_PrivateKey(
26354        fp: *mut FILE,
26355        x: *mut EVP_PKEY,
26356        enc: *const EVP_CIPHER,
26357        pass: *const ::std::os::raw::c_uchar,
26358        pass_len: ::std::os::raw::c_int,
26359        cb: pem_password_cb,
26360        u: *mut ::std::os::raw::c_void,
26361    ) -> ::std::os::raw::c_int;
26362}
26363extern "C" {
26364    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_PUBKEY"]
26365    pub fn PEM_read_bio_PUBKEY(
26366        bp: *mut BIO,
26367        x: *mut *mut EVP_PKEY,
26368        cb: pem_password_cb,
26369        u: *mut ::std::os::raw::c_void,
26370    ) -> *mut EVP_PKEY;
26371}
26372extern "C" {
26373    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_PUBKEY"]
26374    pub fn PEM_read_PUBKEY(
26375        fp: *mut FILE,
26376        x: *mut *mut EVP_PKEY,
26377        cb: pem_password_cb,
26378        u: *mut ::std::os::raw::c_void,
26379    ) -> *mut EVP_PKEY;
26380}
26381extern "C" {
26382    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PUBKEY"]
26383    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26384}
26385extern "C" {
26386    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PUBKEY"]
26387    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26388}
26389extern "C" {
26390    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PKCS8PrivateKey_nid"]
26391    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
26392        bp: *mut BIO,
26393        x: *const EVP_PKEY,
26394        nid: ::std::os::raw::c_int,
26395        pass: *const ::std::os::raw::c_char,
26396        pass_len: ::std::os::raw::c_int,
26397        cb: pem_password_cb,
26398        u: *mut ::std::os::raw::c_void,
26399    ) -> ::std::os::raw::c_int;
26400}
26401extern "C" {
26402    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PKCS8PrivateKey"]
26403    pub fn PEM_write_bio_PKCS8PrivateKey(
26404        bp: *mut BIO,
26405        x: *const EVP_PKEY,
26406        enc: *const EVP_CIPHER,
26407        pass: *const ::std::os::raw::c_char,
26408        pass_len: ::std::os::raw::c_int,
26409        cb: pem_password_cb,
26410        u: *mut ::std::os::raw::c_void,
26411    ) -> ::std::os::raw::c_int;
26412}
26413extern "C" {
26414    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKey_bio"]
26415    pub fn i2d_PKCS8PrivateKey_bio(
26416        bp: *mut BIO,
26417        x: *const EVP_PKEY,
26418        enc: *const EVP_CIPHER,
26419        pass: *const ::std::os::raw::c_char,
26420        pass_len: ::std::os::raw::c_int,
26421        cb: pem_password_cb,
26422        u: *mut ::std::os::raw::c_void,
26423    ) -> ::std::os::raw::c_int;
26424}
26425extern "C" {
26426    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKey_nid_bio"]
26427    pub fn i2d_PKCS8PrivateKey_nid_bio(
26428        bp: *mut BIO,
26429        x: *const EVP_PKEY,
26430        nid: ::std::os::raw::c_int,
26431        pass: *const ::std::os::raw::c_char,
26432        pass_len: ::std::os::raw::c_int,
26433        cb: pem_password_cb,
26434        u: *mut ::std::os::raw::c_void,
26435    ) -> ::std::os::raw::c_int;
26436}
26437extern "C" {
26438    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8PrivateKey_bio"]
26439    pub fn d2i_PKCS8PrivateKey_bio(
26440        bp: *mut BIO,
26441        x: *mut *mut EVP_PKEY,
26442        cb: pem_password_cb,
26443        u: *mut ::std::os::raw::c_void,
26444    ) -> *mut EVP_PKEY;
26445}
26446extern "C" {
26447    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKey_fp"]
26448    pub fn i2d_PKCS8PrivateKey_fp(
26449        fp: *mut FILE,
26450        x: *const EVP_PKEY,
26451        enc: *const EVP_CIPHER,
26452        pass: *const ::std::os::raw::c_char,
26453        pass_len: ::std::os::raw::c_int,
26454        cb: pem_password_cb,
26455        u: *mut ::std::os::raw::c_void,
26456    ) -> ::std::os::raw::c_int;
26457}
26458extern "C" {
26459    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS8PrivateKey_nid_fp"]
26460    pub fn i2d_PKCS8PrivateKey_nid_fp(
26461        fp: *mut FILE,
26462        x: *const EVP_PKEY,
26463        nid: ::std::os::raw::c_int,
26464        pass: *const ::std::os::raw::c_char,
26465        pass_len: ::std::os::raw::c_int,
26466        cb: pem_password_cb,
26467        u: *mut ::std::os::raw::c_void,
26468    ) -> ::std::os::raw::c_int;
26469}
26470extern "C" {
26471    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PKCS8PrivateKey_nid"]
26472    pub fn PEM_write_PKCS8PrivateKey_nid(
26473        fp: *mut FILE,
26474        x: *const EVP_PKEY,
26475        nid: ::std::os::raw::c_int,
26476        pass: *const ::std::os::raw::c_char,
26477        pass_len: ::std::os::raw::c_int,
26478        cb: pem_password_cb,
26479        u: *mut ::std::os::raw::c_void,
26480    ) -> ::std::os::raw::c_int;
26481}
26482extern "C" {
26483    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS8PrivateKey_fp"]
26484    pub fn d2i_PKCS8PrivateKey_fp(
26485        fp: *mut FILE,
26486        x: *mut *mut EVP_PKEY,
26487        cb: pem_password_cb,
26488        u: *mut ::std::os::raw::c_void,
26489    ) -> *mut EVP_PKEY;
26490}
26491extern "C" {
26492    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_PKCS8PrivateKey"]
26493    pub fn PEM_write_PKCS8PrivateKey(
26494        fp: *mut FILE,
26495        x: *const EVP_PKEY,
26496        enc: *const EVP_CIPHER,
26497        pass: *const ::std::os::raw::c_char,
26498        pass_len: ::std::os::raw::c_int,
26499        cd: pem_password_cb,
26500        u: *mut ::std::os::raw::c_void,
26501    ) -> ::std::os::raw::c_int;
26502}
26503extern "C" {
26504    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_Parameters"]
26505    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
26506}
26507extern "C" {
26508    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_Parameters"]
26509    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
26510}
26511extern "C" {
26512    #[link_name = "\u{1}aws_lc_0_33_0_PEM_read_bio_ECPKParameters"]
26513    pub fn PEM_read_bio_ECPKParameters(
26514        bio: *mut BIO,
26515        out_group: *mut *mut EC_GROUP,
26516        cb: pem_password_cb,
26517        u: *mut ::std::os::raw::c_void,
26518    ) -> *mut EC_GROUP;
26519}
26520extern "C" {
26521    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_ECPKParameters"]
26522    pub fn PEM_write_bio_ECPKParameters(
26523        out: *mut BIO,
26524        group: *const EC_GROUP,
26525    ) -> ::std::os::raw::c_int;
26526}
26527extern "C" {
26528    #[link_name = "\u{1}aws_lc_0_33_0_PEM_write_bio_PrivateKey_traditional"]
26529    pub fn PEM_write_bio_PrivateKey_traditional(
26530        bp: *mut BIO,
26531        x: *mut EVP_PKEY,
26532        enc: *const EVP_CIPHER,
26533        kstr: *mut ::std::os::raw::c_uchar,
26534        klen: ::std::os::raw::c_int,
26535        cb: pem_password_cb,
26536        u: *mut ::std::os::raw::c_void,
26537    ) -> ::std::os::raw::c_int;
26538}
26539extern "C" {
26540    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_encrypt"]
26541    pub fn PKCS8_encrypt(
26542        pbe_nid: ::std::os::raw::c_int,
26543        cipher: *const EVP_CIPHER,
26544        pass: *const ::std::os::raw::c_char,
26545        pass_len: ::std::os::raw::c_int,
26546        salt: *const u8,
26547        salt_len: usize,
26548        iterations: ::std::os::raw::c_int,
26549        p8inf: *mut PKCS8_PRIV_KEY_INFO,
26550    ) -> *mut X509_SIG;
26551}
26552extern "C" {
26553    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_marshal_encrypted_private_key"]
26554    pub fn PKCS8_marshal_encrypted_private_key(
26555        out: *mut CBB,
26556        pbe_nid: ::std::os::raw::c_int,
26557        cipher: *const EVP_CIPHER,
26558        pass: *const ::std::os::raw::c_char,
26559        pass_len: usize,
26560        salt: *const u8,
26561        salt_len: usize,
26562        iterations: ::std::os::raw::c_int,
26563        pkey: *const EVP_PKEY,
26564    ) -> ::std::os::raw::c_int;
26565}
26566extern "C" {
26567    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_decrypt"]
26568    pub fn PKCS8_decrypt(
26569        pkcs8: *mut X509_SIG,
26570        pass: *const ::std::os::raw::c_char,
26571        pass_len: ::std::os::raw::c_int,
26572    ) -> *mut PKCS8_PRIV_KEY_INFO;
26573}
26574extern "C" {
26575    #[link_name = "\u{1}aws_lc_0_33_0_PKCS8_parse_encrypted_private_key"]
26576    pub fn PKCS8_parse_encrypted_private_key(
26577        cbs: *mut CBS,
26578        pass: *const ::std::os::raw::c_char,
26579        pass_len: usize,
26580    ) -> *mut EVP_PKEY;
26581}
26582extern "C" {
26583    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_get_key_and_certs"]
26584    pub fn PKCS12_get_key_and_certs(
26585        out_key: *mut *mut EVP_PKEY,
26586        out_certs: *mut stack_st_X509,
26587        in_: *mut CBS,
26588        password: *const ::std::os::raw::c_char,
26589    ) -> ::std::os::raw::c_int;
26590}
26591extern "C" {
26592    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_PBE_add"]
26593    pub fn PKCS12_PBE_add();
26594}
26595extern "C" {
26596    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS12"]
26597    pub fn d2i_PKCS12(
26598        out_p12: *mut *mut PKCS12,
26599        ber_bytes: *mut *const u8,
26600        ber_len: usize,
26601    ) -> *mut PKCS12;
26602}
26603extern "C" {
26604    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS12_bio"]
26605    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
26606}
26607extern "C" {
26608    #[link_name = "\u{1}aws_lc_0_33_0_d2i_PKCS12_fp"]
26609    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
26610}
26611extern "C" {
26612    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS12"]
26613    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
26614}
26615extern "C" {
26616    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS12_bio"]
26617    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
26618}
26619extern "C" {
26620    #[link_name = "\u{1}aws_lc_0_33_0_i2d_PKCS12_fp"]
26621    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
26622}
26623extern "C" {
26624    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_parse"]
26625    pub fn PKCS12_parse(
26626        p12: *const PKCS12,
26627        password: *const ::std::os::raw::c_char,
26628        out_pkey: *mut *mut EVP_PKEY,
26629        out_cert: *mut *mut X509,
26630        out_ca_certs: *mut *mut stack_st_X509,
26631    ) -> ::std::os::raw::c_int;
26632}
26633extern "C" {
26634    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_set_mac"]
26635    pub fn PKCS12_set_mac(
26636        p12: *mut PKCS12,
26637        password: *const ::std::os::raw::c_char,
26638        password_len: ::std::os::raw::c_int,
26639        salt: *mut ::std::os::raw::c_uchar,
26640        salt_len: ::std::os::raw::c_int,
26641        mac_iterations: ::std::os::raw::c_int,
26642        md: *const EVP_MD,
26643    ) -> ::std::os::raw::c_int;
26644}
26645extern "C" {
26646    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_verify_mac"]
26647    pub fn PKCS12_verify_mac(
26648        p12: *const PKCS12,
26649        password: *const ::std::os::raw::c_char,
26650        password_len: ::std::os::raw::c_int,
26651    ) -> ::std::os::raw::c_int;
26652}
26653extern "C" {
26654    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_create"]
26655    pub fn PKCS12_create(
26656        password: *const ::std::os::raw::c_char,
26657        name: *const ::std::os::raw::c_char,
26658        pkey: *const EVP_PKEY,
26659        cert: *mut X509,
26660        chain: *const stack_st_X509,
26661        key_nid: ::std::os::raw::c_int,
26662        cert_nid: ::std::os::raw::c_int,
26663        iterations: ::std::os::raw::c_int,
26664        mac_iterations: ::std::os::raw::c_int,
26665        key_type: ::std::os::raw::c_int,
26666    ) -> *mut PKCS12;
26667}
26668extern "C" {
26669    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_new"]
26670    pub fn PKCS12_new() -> *mut PKCS12;
26671}
26672extern "C" {
26673    #[link_name = "\u{1}aws_lc_0_33_0_PKCS12_free"]
26674    pub fn PKCS12_free(p12: *mut PKCS12);
26675}
26676pub type poly1305_state = [u8; 512usize];
26677extern "C" {
26678    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_poly1305_init"]
26679    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
26680}
26681extern "C" {
26682    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_poly1305_update"]
26683    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
26684}
26685extern "C" {
26686    #[link_name = "\u{1}aws_lc_0_33_0_CRYPTO_poly1305_finish"]
26687    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
26688}
26689extern "C" {
26690    #[link_name = "\u{1}aws_lc_0_33_0_RAND_bytes"]
26691    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26692}
26693extern "C" {
26694    #[link_name = "\u{1}aws_lc_0_33_0_RAND_priv_bytes"]
26695    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26696}
26697extern "C" {
26698    #[link_name = "\u{1}aws_lc_0_33_0_RAND_bytes_with_user_prediction_resistance"]
26699    pub fn RAND_bytes_with_user_prediction_resistance(
26700        out: *mut u8,
26701        out_len: usize,
26702        user_pred_resistance: *const u8,
26703    ) -> ::std::os::raw::c_int;
26704}
26705extern "C" {
26706    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
26707}
26708extern "C" {
26709    #[link_name = "\u{1}aws_lc_0_33_0_RAND_pseudo_bytes"]
26710    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
26711}
26712extern "C" {
26713    #[link_name = "\u{1}aws_lc_0_33_0_RAND_seed"]
26714    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
26715}
26716extern "C" {
26717    #[link_name = "\u{1}aws_lc_0_33_0_RAND_load_file"]
26718    pub fn RAND_load_file(
26719        path: *const ::std::os::raw::c_char,
26720        num: ::std::os::raw::c_long,
26721    ) -> ::std::os::raw::c_int;
26722}
26723extern "C" {
26724    #[link_name = "\u{1}aws_lc_0_33_0_RAND_write_file"]
26725    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
26726}
26727extern "C" {
26728    #[link_name = "\u{1}aws_lc_0_33_0_RAND_file_name"]
26729    pub fn RAND_file_name(
26730        buf: *mut ::std::os::raw::c_char,
26731        num: usize,
26732    ) -> *const ::std::os::raw::c_char;
26733}
26734extern "C" {
26735    #[link_name = "\u{1}aws_lc_0_33_0_RAND_add"]
26736    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
26737}
26738extern "C" {
26739    #[link_name = "\u{1}aws_lc_0_33_0_RAND_egd"]
26740    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
26741}
26742extern "C" {
26743    #[link_name = "\u{1}aws_lc_0_33_0_RAND_egd_bytes"]
26744    pub fn RAND_egd_bytes(
26745        arg1: *const ::std::os::raw::c_char,
26746        bytes: ::std::os::raw::c_int,
26747    ) -> ::std::os::raw::c_int;
26748}
26749extern "C" {
26750    #[link_name = "\u{1}aws_lc_0_33_0_RAND_poll"]
26751    pub fn RAND_poll() -> ::std::os::raw::c_int;
26752}
26753extern "C" {
26754    #[link_name = "\u{1}aws_lc_0_33_0_RAND_status"]
26755    pub fn RAND_status() -> ::std::os::raw::c_int;
26756}
26757extern "C" {
26758    #[link_name = "\u{1}aws_lc_0_33_0_RAND_cleanup"]
26759    pub fn RAND_cleanup();
26760}
26761#[repr(C)]
26762#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
26763pub struct rand_meth_st {
26764    pub seed: ::std::option::Option<
26765        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
26766    >,
26767    pub bytes: ::std::option::Option<
26768        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
26769    >,
26770    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
26771    pub add: ::std::option::Option<
26772        unsafe extern "C" fn(
26773            buf: *const ::std::os::raw::c_void,
26774            num: ::std::os::raw::c_int,
26775            entropy: f64,
26776        ),
26777    >,
26778    pub pseudorand: ::std::option::Option<
26779        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
26780    >,
26781    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
26782}
26783#[test]
26784fn bindgen_test_layout_rand_meth_st() {
26785    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
26786    let ptr = UNINIT.as_ptr();
26787    assert_eq!(
26788        ::std::mem::size_of::<rand_meth_st>(),
26789        48usize,
26790        "Size of rand_meth_st"
26791    );
26792    assert_eq!(
26793        ::std::mem::align_of::<rand_meth_st>(),
26794        8usize,
26795        "Alignment of rand_meth_st"
26796    );
26797    assert_eq!(
26798        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
26799        0usize,
26800        "Offset of field: rand_meth_st::seed"
26801    );
26802    assert_eq!(
26803        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
26804        8usize,
26805        "Offset of field: rand_meth_st::bytes"
26806    );
26807    assert_eq!(
26808        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
26809        16usize,
26810        "Offset of field: rand_meth_st::cleanup"
26811    );
26812    assert_eq!(
26813        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
26814        24usize,
26815        "Offset of field: rand_meth_st::add"
26816    );
26817    assert_eq!(
26818        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
26819        32usize,
26820        "Offset of field: rand_meth_st::pseudorand"
26821    );
26822    assert_eq!(
26823        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
26824        40usize,
26825        "Offset of field: rand_meth_st::status"
26826    );
26827}
26828extern "C" {
26829    #[link_name = "\u{1}aws_lc_0_33_0_RAND_SSLeay"]
26830    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
26831}
26832extern "C" {
26833    #[link_name = "\u{1}aws_lc_0_33_0_RAND_OpenSSL"]
26834    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
26835}
26836extern "C" {
26837    #[link_name = "\u{1}aws_lc_0_33_0_RAND_get_rand_method"]
26838    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
26839}
26840extern "C" {
26841    #[link_name = "\u{1}aws_lc_0_33_0_RAND_set_rand_method"]
26842    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
26843}
26844extern "C" {
26845    #[link_name = "\u{1}aws_lc_0_33_0_RAND_keep_random_devices_open"]
26846    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
26847}
26848#[repr(C)]
26849#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26850pub struct rc4_key_st {
26851    pub x: u32,
26852    pub y: u32,
26853    pub data: [u32; 256usize],
26854}
26855#[test]
26856fn bindgen_test_layout_rc4_key_st() {
26857    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
26858    let ptr = UNINIT.as_ptr();
26859    assert_eq!(
26860        ::std::mem::size_of::<rc4_key_st>(),
26861        1032usize,
26862        "Size of rc4_key_st"
26863    );
26864    assert_eq!(
26865        ::std::mem::align_of::<rc4_key_st>(),
26866        4usize,
26867        "Alignment of rc4_key_st"
26868    );
26869    assert_eq!(
26870        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
26871        0usize,
26872        "Offset of field: rc4_key_st::x"
26873    );
26874    assert_eq!(
26875        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
26876        4usize,
26877        "Offset of field: rc4_key_st::y"
26878    );
26879    assert_eq!(
26880        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26881        8usize,
26882        "Offset of field: rc4_key_st::data"
26883    );
26884}
26885impl Default for rc4_key_st {
26886    fn default() -> Self {
26887        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26888        unsafe {
26889            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26890            s.assume_init()
26891        }
26892    }
26893}
26894extern "C" {
26895    #[link_name = "\u{1}aws_lc_0_33_0_RC4_set_key"]
26896    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
26897}
26898extern "C" {
26899    #[link_name = "\u{1}aws_lc_0_33_0_RC4"]
26900    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
26901}
26902extern "C" {
26903    #[link_name = "\u{1}aws_lc_0_33_0_RC4_options"]
26904    pub fn RC4_options() -> *const ::std::os::raw::c_char;
26905}
26906#[repr(C)]
26907#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26908pub struct RIPEMD160state_st {
26909    pub h: [u32; 5usize],
26910    pub Nl: u32,
26911    pub Nh: u32,
26912    pub data: [u8; 64usize],
26913    pub num: ::std::os::raw::c_uint,
26914}
26915#[test]
26916fn bindgen_test_layout_RIPEMD160state_st() {
26917    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
26918    let ptr = UNINIT.as_ptr();
26919    assert_eq!(
26920        ::std::mem::size_of::<RIPEMD160state_st>(),
26921        96usize,
26922        "Size of RIPEMD160state_st"
26923    );
26924    assert_eq!(
26925        ::std::mem::align_of::<RIPEMD160state_st>(),
26926        4usize,
26927        "Alignment of RIPEMD160state_st"
26928    );
26929    assert_eq!(
26930        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
26931        0usize,
26932        "Offset of field: RIPEMD160state_st::h"
26933    );
26934    assert_eq!(
26935        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
26936        20usize,
26937        "Offset of field: RIPEMD160state_st::Nl"
26938    );
26939    assert_eq!(
26940        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
26941        24usize,
26942        "Offset of field: RIPEMD160state_st::Nh"
26943    );
26944    assert_eq!(
26945        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26946        28usize,
26947        "Offset of field: RIPEMD160state_st::data"
26948    );
26949    assert_eq!(
26950        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
26951        92usize,
26952        "Offset of field: RIPEMD160state_st::num"
26953    );
26954}
26955impl Default for RIPEMD160state_st {
26956    fn default() -> Self {
26957        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26958        unsafe {
26959            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26960            s.assume_init()
26961        }
26962    }
26963}
26964extern "C" {
26965    #[link_name = "\u{1}aws_lc_0_33_0_RIPEMD160_Init"]
26966    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
26967}
26968extern "C" {
26969    #[link_name = "\u{1}aws_lc_0_33_0_RIPEMD160_Update"]
26970    pub fn RIPEMD160_Update(
26971        ctx: *mut RIPEMD160_CTX,
26972        data: *const ::std::os::raw::c_void,
26973        len: usize,
26974    ) -> ::std::os::raw::c_int;
26975}
26976extern "C" {
26977    #[link_name = "\u{1}aws_lc_0_33_0_RIPEMD160_Final"]
26978    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
26979}
26980extern "C" {
26981    #[link_name = "\u{1}aws_lc_0_33_0_RIPEMD160"]
26982    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
26983}
26984extern "C" {
26985    #[link_name = "\u{1}aws_lc_0_33_0_SIPHASH_24"]
26986    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
26987}
26988extern "C" {
26989    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_experiment_v1"]
26990    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
26991}
26992extern "C" {
26993    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_experiment_v2_voprf"]
26994    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
26995}
26996extern "C" {
26997    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_experiment_v2_pmb"]
26998    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
26999}
27000extern "C" {
27001    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_pst_v1_voprf"]
27002    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
27003}
27004extern "C" {
27005    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_pst_v1_pmb"]
27006    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
27007}
27008#[repr(C)]
27009#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27010pub struct trust_token_st {
27011    pub data: *mut u8,
27012    pub len: usize,
27013}
27014#[test]
27015fn bindgen_test_layout_trust_token_st() {
27016    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
27017    let ptr = UNINIT.as_ptr();
27018    assert_eq!(
27019        ::std::mem::size_of::<trust_token_st>(),
27020        16usize,
27021        "Size of trust_token_st"
27022    );
27023    assert_eq!(
27024        ::std::mem::align_of::<trust_token_st>(),
27025        8usize,
27026        "Alignment of trust_token_st"
27027    );
27028    assert_eq!(
27029        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
27030        0usize,
27031        "Offset of field: trust_token_st::data"
27032    );
27033    assert_eq!(
27034        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
27035        8usize,
27036        "Offset of field: trust_token_st::len"
27037    );
27038}
27039impl Default for trust_token_st {
27040    fn default() -> Self {
27041        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27042        unsafe {
27043            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27044            s.assume_init()
27045        }
27046    }
27047}
27048#[repr(C)]
27049#[derive(Debug, Copy, Clone)]
27050pub struct stack_st_TRUST_TOKEN {
27051    _unused: [u8; 0],
27052}
27053pub type sk_TRUST_TOKEN_free_func =
27054    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
27055pub type sk_TRUST_TOKEN_copy_func =
27056    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
27057pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
27058    unsafe extern "C" fn(
27059        arg1: *const *const TRUST_TOKEN,
27060        arg2: *const *const TRUST_TOKEN,
27061    ) -> ::std::os::raw::c_int,
27062>;
27063pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
27064    unsafe extern "C" fn(
27065        arg1: *mut TRUST_TOKEN,
27066        arg2: *mut ::std::os::raw::c_void,
27067    ) -> ::std::os::raw::c_int,
27068>;
27069extern "C" {
27070    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_new"]
27071    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
27072}
27073extern "C" {
27074    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_free"]
27075    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
27076}
27077extern "C" {
27078    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_generate_key"]
27079    pub fn TRUST_TOKEN_generate_key(
27080        method: *const TRUST_TOKEN_METHOD,
27081        out_priv_key: *mut u8,
27082        out_priv_key_len: *mut usize,
27083        max_priv_key_len: usize,
27084        out_pub_key: *mut u8,
27085        out_pub_key_len: *mut usize,
27086        max_pub_key_len: usize,
27087        id: u32,
27088    ) -> ::std::os::raw::c_int;
27089}
27090extern "C" {
27091    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_derive_key_from_secret"]
27092    pub fn TRUST_TOKEN_derive_key_from_secret(
27093        method: *const TRUST_TOKEN_METHOD,
27094        out_priv_key: *mut u8,
27095        out_priv_key_len: *mut usize,
27096        max_priv_key_len: usize,
27097        out_pub_key: *mut u8,
27098        out_pub_key_len: *mut usize,
27099        max_pub_key_len: usize,
27100        id: u32,
27101        secret: *const u8,
27102        secret_len: usize,
27103    ) -> ::std::os::raw::c_int;
27104}
27105extern "C" {
27106    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_new"]
27107    pub fn TRUST_TOKEN_CLIENT_new(
27108        method: *const TRUST_TOKEN_METHOD,
27109        max_batchsize: usize,
27110    ) -> *mut TRUST_TOKEN_CLIENT;
27111}
27112extern "C" {
27113    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_free"]
27114    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
27115}
27116extern "C" {
27117    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_add_key"]
27118    pub fn TRUST_TOKEN_CLIENT_add_key(
27119        ctx: *mut TRUST_TOKEN_CLIENT,
27120        out_key_index: *mut usize,
27121        key: *const u8,
27122        key_len: usize,
27123    ) -> ::std::os::raw::c_int;
27124}
27125extern "C" {
27126    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_set_srr_key"]
27127    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
27128        ctx: *mut TRUST_TOKEN_CLIENT,
27129        key: *mut EVP_PKEY,
27130    ) -> ::std::os::raw::c_int;
27131}
27132extern "C" {
27133    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_begin_issuance"]
27134    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
27135        ctx: *mut TRUST_TOKEN_CLIENT,
27136        out: *mut *mut u8,
27137        out_len: *mut usize,
27138        count: usize,
27139    ) -> ::std::os::raw::c_int;
27140}
27141extern "C" {
27142    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
27143    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
27144        ctx: *mut TRUST_TOKEN_CLIENT,
27145        out: *mut *mut u8,
27146        out_len: *mut usize,
27147        count: usize,
27148        msg: *const u8,
27149        msg_len: usize,
27150    ) -> ::std::os::raw::c_int;
27151}
27152extern "C" {
27153    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_finish_issuance"]
27154    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
27155        ctx: *mut TRUST_TOKEN_CLIENT,
27156        out_key_index: *mut usize,
27157        response: *const u8,
27158        response_len: usize,
27159    ) -> *mut stack_st_TRUST_TOKEN;
27160}
27161extern "C" {
27162    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_begin_redemption"]
27163    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
27164        ctx: *mut TRUST_TOKEN_CLIENT,
27165        out: *mut *mut u8,
27166        out_len: *mut usize,
27167        token: *const TRUST_TOKEN,
27168        data: *const u8,
27169        data_len: usize,
27170        time: u64,
27171    ) -> ::std::os::raw::c_int;
27172}
27173extern "C" {
27174    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_CLIENT_finish_redemption"]
27175    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
27176        ctx: *mut TRUST_TOKEN_CLIENT,
27177        out_rr: *mut *mut u8,
27178        out_rr_len: *mut usize,
27179        out_sig: *mut *mut u8,
27180        out_sig_len: *mut usize,
27181        response: *const u8,
27182        response_len: usize,
27183    ) -> ::std::os::raw::c_int;
27184}
27185extern "C" {
27186    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_new"]
27187    pub fn TRUST_TOKEN_ISSUER_new(
27188        method: *const TRUST_TOKEN_METHOD,
27189        max_batchsize: usize,
27190    ) -> *mut TRUST_TOKEN_ISSUER;
27191}
27192extern "C" {
27193    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_free"]
27194    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
27195}
27196extern "C" {
27197    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_add_key"]
27198    pub fn TRUST_TOKEN_ISSUER_add_key(
27199        ctx: *mut TRUST_TOKEN_ISSUER,
27200        key: *const u8,
27201        key_len: usize,
27202    ) -> ::std::os::raw::c_int;
27203}
27204extern "C" {
27205    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_set_srr_key"]
27206    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
27207        ctx: *mut TRUST_TOKEN_ISSUER,
27208        key: *mut EVP_PKEY,
27209    ) -> ::std::os::raw::c_int;
27210}
27211extern "C" {
27212    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
27213    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
27214        ctx: *mut TRUST_TOKEN_ISSUER,
27215        key: *const u8,
27216        len: usize,
27217    ) -> ::std::os::raw::c_int;
27218}
27219extern "C" {
27220    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_issue"]
27221    pub fn TRUST_TOKEN_ISSUER_issue(
27222        ctx: *const TRUST_TOKEN_ISSUER,
27223        out: *mut *mut u8,
27224        out_len: *mut usize,
27225        out_tokens_issued: *mut usize,
27226        request: *const u8,
27227        request_len: usize,
27228        public_metadata: u32,
27229        private_metadata: u8,
27230        max_issuance: usize,
27231    ) -> ::std::os::raw::c_int;
27232}
27233extern "C" {
27234    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_redeem"]
27235    pub fn TRUST_TOKEN_ISSUER_redeem(
27236        ctx: *const TRUST_TOKEN_ISSUER,
27237        out_public: *mut u32,
27238        out_private: *mut u8,
27239        out_token: *mut *mut TRUST_TOKEN,
27240        out_client_data: *mut *mut u8,
27241        out_client_data_len: *mut usize,
27242        request: *const u8,
27243        request_len: usize,
27244    ) -> ::std::os::raw::c_int;
27245}
27246extern "C" {
27247    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
27248    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
27249        ctx: *const TRUST_TOKEN_ISSUER,
27250        out_public: *mut u32,
27251        out_private: *mut u8,
27252        out_token: *mut *mut TRUST_TOKEN,
27253        out_client_data: *mut *mut u8,
27254        out_client_data_len: *mut usize,
27255        request: *const u8,
27256        request_len: usize,
27257        msg: *const u8,
27258        msg_len: usize,
27259    ) -> ::std::os::raw::c_int;
27260}
27261extern "C" {
27262    #[link_name = "\u{1}aws_lc_0_33_0_TRUST_TOKEN_decode_private_metadata"]
27263    pub fn TRUST_TOKEN_decode_private_metadata(
27264        method: *const TRUST_TOKEN_METHOD,
27265        out_value: *mut u8,
27266        key: *const u8,
27267        key_len: usize,
27268        nonce: *const u8,
27269        nonce_len: usize,
27270        encrypted_bit: u8,
27271    ) -> ::std::os::raw::c_int;
27272}
27273extern "C" {
27274    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_keygen_deterministic"]
27275    pub fn EVP_PKEY_keygen_deterministic(
27276        ctx: *mut EVP_PKEY_CTX,
27277        out_pkey: *mut *mut EVP_PKEY,
27278        seed: *const u8,
27279        seed_len: *mut usize,
27280    ) -> ::std::os::raw::c_int;
27281}
27282extern "C" {
27283    #[link_name = "\u{1}aws_lc_0_33_0_EVP_PKEY_encapsulate_deterministic"]
27284    pub fn EVP_PKEY_encapsulate_deterministic(
27285        ctx: *mut EVP_PKEY_CTX,
27286        ciphertext: *mut u8,
27287        ciphertext_len: *mut usize,
27288        shared_secret: *mut u8,
27289        shared_secret_len: *mut usize,
27290        seed: *const u8,
27291        seed_len: *mut usize,
27292    ) -> ::std::os::raw::c_int;
27293}
27294extern "C" {
27295    #[link_name = "\u{1}aws_lc_0_33_0_ERR_GET_LIB_RUST"]
27296    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27297}
27298extern "C" {
27299    #[link_name = "\u{1}aws_lc_0_33_0_ERR_GET_REASON_RUST"]
27300    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27301}
27302extern "C" {
27303    #[link_name = "\u{1}aws_lc_0_33_0_ERR_GET_FUNC_RUST"]
27304    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
27305}
27306pub type __builtin_va_list = [__va_list_tag; 1usize];
27307#[repr(C)]
27308#[derive(Debug, Copy, Clone, PartialEq, Eq)]
27309pub struct __va_list_tag {
27310    pub gp_offset: ::std::os::raw::c_uint,
27311    pub fp_offset: ::std::os::raw::c_uint,
27312    pub overflow_arg_area: *mut ::std::os::raw::c_void,
27313    pub reg_save_area: *mut ::std::os::raw::c_void,
27314}
27315#[test]
27316fn bindgen_test_layout___va_list_tag() {
27317    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
27318    let ptr = UNINIT.as_ptr();
27319    assert_eq!(
27320        ::std::mem::size_of::<__va_list_tag>(),
27321        24usize,
27322        "Size of __va_list_tag"
27323    );
27324    assert_eq!(
27325        ::std::mem::align_of::<__va_list_tag>(),
27326        8usize,
27327        "Alignment of __va_list_tag"
27328    );
27329    assert_eq!(
27330        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
27331        0usize,
27332        "Offset of field: __va_list_tag::gp_offset"
27333    );
27334    assert_eq!(
27335        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
27336        4usize,
27337        "Offset of field: __va_list_tag::fp_offset"
27338    );
27339    assert_eq!(
27340        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
27341        8usize,
27342        "Offset of field: __va_list_tag::overflow_arg_area"
27343    );
27344    assert_eq!(
27345        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
27346        16usize,
27347        "Offset of field: __va_list_tag::reg_save_area"
27348    );
27349}
27350impl Default for __va_list_tag {
27351    fn default() -> Self {
27352        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
27353        unsafe {
27354            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
27355            s.assume_init()
27356        }
27357    }
27358}
27359#[repr(C)]
27360#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
27361pub struct CRYPTO_dynlock_value {
27362    pub _address: u8,
27363}