Skip to main content

aws_lc_fips_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::doc_markdown,
14    clippy::missing_safety_doc,
15    clippy::must_use_candidate,
16    clippy::not_unsafe_ptr_arg_deref,
17    clippy::ptr_as_ptr,
18    clippy::ptr_offset_with_cast,
19    clippy::pub_underscore_fields,
20    clippy::semicolon_if_nothing_returned,
21    clippy::too_many_lines,
22    clippy::unreadable_literal,
23    clippy::used_underscore_binding,
24    clippy::useless_transmute,
25    dead_code,
26    improper_ctypes,
27    non_camel_case_types,
28    non_snake_case,
29    non_upper_case_globals,
30    unpredictable_function_pointer_comparisons,
31    unused_imports
32)]
33
34
35#[repr(C)]
36#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
37pub struct __BindgenBitfieldUnit<Storage> {
38    storage: Storage,
39}
40impl<Storage> __BindgenBitfieldUnit<Storage> {
41    #[inline]
42    pub const fn new(storage: Storage) -> Self {
43        Self { storage }
44    }
45}
46impl<Storage> __BindgenBitfieldUnit<Storage>
47where
48    Storage: AsRef<[u8]> + AsMut<[u8]>,
49{
50    #[inline]
51    fn extract_bit(byte: u8, index: usize) -> bool {
52        let bit_index = if cfg!(target_endian = "big") {
53            7 - (index % 8)
54        } else {
55            index % 8
56        };
57        let mask = 1 << bit_index;
58        byte & mask == mask
59    }
60    #[inline]
61    pub fn get_bit(&self, index: usize) -> bool {
62        debug_assert!(index / 8 < self.storage.as_ref().len());
63        let byte_index = index / 8;
64        let byte = self.storage.as_ref()[byte_index];
65        Self::extract_bit(byte, index)
66    }
67    #[inline]
68    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
69        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
70        let byte_index = index / 8;
71        let byte = unsafe {
72            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
73        };
74        Self::extract_bit(byte, index)
75    }
76    #[inline]
77    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
78        let bit_index = if cfg!(target_endian = "big") {
79            7 - (index % 8)
80        } else {
81            index % 8
82        };
83        let mask = 1 << bit_index;
84        if val {
85            byte | mask
86        } else {
87            byte & !mask
88        }
89    }
90    #[inline]
91    pub fn set_bit(&mut self, index: usize, val: bool) {
92        debug_assert!(index / 8 < self.storage.as_ref().len());
93        let byte_index = index / 8;
94        let byte = &mut self.storage.as_mut()[byte_index];
95        *byte = Self::change_bit(*byte, index, val);
96    }
97    #[inline]
98    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
99        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
100        let byte_index = index / 8;
101        let byte = unsafe {
102            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
103        };
104        unsafe { *byte = Self::change_bit(*byte, index, val) };
105    }
106    #[inline]
107    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
108        debug_assert!(bit_width <= 64);
109        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111        let mut val = 0;
112        for i in 0..(bit_width as usize) {
113            if self.get_bit(i + bit_offset) {
114                let index = if cfg!(target_endian = "big") {
115                    bit_width as usize - 1 - i
116                } else {
117                    i
118                };
119                val |= 1 << index;
120            }
121        }
122        val
123    }
124    #[inline]
125    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
126        debug_assert!(bit_width <= 64);
127        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
128        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
129        let mut val = 0;
130        for i in 0..(bit_width as usize) {
131            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
132                let index = if cfg!(target_endian = "big") {
133                    bit_width as usize - 1 - i
134                } else {
135                    i
136                };
137                val |= 1 << index;
138            }
139        }
140        val
141    }
142    #[inline]
143    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
144        debug_assert!(bit_width <= 64);
145        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
146        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
147        for i in 0..(bit_width as usize) {
148            let mask = 1 << i;
149            let val_bit_is_set = val & mask == mask;
150            let index = if cfg!(target_endian = "big") {
151                bit_width as usize - 1 - i
152            } else {
153                i
154            };
155            self.set_bit(index + bit_offset, val_bit_is_set);
156        }
157    }
158    #[inline]
159    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
160        debug_assert!(bit_width <= 64);
161        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
162        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
163        for i in 0..(bit_width as usize) {
164            let mask = 1 << i;
165            let val_bit_is_set = val & mask == mask;
166            let index = if cfg!(target_endian = "big") {
167                bit_width as usize - 1 - i
168            } else {
169                i
170            };
171            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
172        }
173    }
174}
175pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
176pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
177pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
178pub const AWSLC_API_VERSION: i32 = 30;
179pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 6] = b"3.3.0\0";
180pub const AES_ENCRYPT: i32 = 1;
181pub const AES_DECRYPT: i32 = 0;
182pub const AES_MAXNR: i32 = 14;
183pub const AES_BLOCK_SIZE: i32 = 16;
184pub const SHA_CBLOCK: i32 = 64;
185pub const SHA_DIGEST_LENGTH: i32 = 20;
186pub const SHA224_CBLOCK: i32 = 64;
187pub const SHA224_DIGEST_LENGTH: i32 = 28;
188pub const SHA256_CBLOCK: i32 = 64;
189pub const SHA256_DIGEST_LENGTH: i32 = 32;
190pub const SHA384_CBLOCK: i32 = 128;
191pub const SHA384_DIGEST_LENGTH: i32 = 48;
192pub const SHA512_CBLOCK: i32 = 128;
193pub const SHA512_DIGEST_LENGTH: i32 = 64;
194pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
195pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
196pub const CRYPTO_LOCK: i32 = 1;
197pub const CRYPTO_UNLOCK: i32 = 2;
198pub const CRYPTO_READ: i32 = 4;
199pub const CRYPTO_WRITE: i32 = 8;
200pub const OPENSSL_VERSION_TEXT: &[u8; 41] = b"OpenSSL 1.1.1 (compatible; AWS-LC 3.3.0)\0";
201pub const OPENSSL_VERSION: i32 = 0;
202pub const OPENSSL_CFLAGS: i32 = 1;
203pub const OPENSSL_BUILT_ON: i32 = 2;
204pub const OPENSSL_PLATFORM: i32 = 3;
205pub const OPENSSL_DIR: i32 = 4;
206pub const SSLEAY_VERSION: i32 = 0;
207pub const SSLEAY_CFLAGS: i32 = 1;
208pub const SSLEAY_BUILT_ON: i32 = 2;
209pub const SSLEAY_PLATFORM: i32 = 3;
210pub const SSLEAY_DIR: i32 = 4;
211pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
212pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
213pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
214pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
215pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
216pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
217pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
218pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
219pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: 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_QUERY_MTU: i32 = 40;
325pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
326pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
327pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
328pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
329pub const BIO_CTRL_RESET: i32 = 1;
330pub const BIO_CTRL_EOF: i32 = 2;
331pub const BIO_CTRL_INFO: i32 = 3;
332pub const BIO_CTRL_GET_CLOSE: i32 = 8;
333pub const BIO_CTRL_SET_CLOSE: i32 = 9;
334pub const BIO_CTRL_PENDING: i32 = 10;
335pub const BIO_CTRL_FLUSH: i32 = 11;
336pub const BIO_CTRL_WPENDING: i32 = 13;
337pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
338pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
339pub const BIO_CTRL_SET: i32 = 4;
340pub const BIO_CTRL_GET: i32 = 5;
341pub const BIO_CTRL_PUSH: i32 = 6;
342pub const BIO_CTRL_POP: i32 = 7;
343pub const BIO_CTRL_DUP: i32 = 12;
344pub const BIO_CTRL_SET_FILENAME: i32 = 30;
345pub const BIO_FLAGS_READ: i32 = 1;
346pub const BIO_FLAGS_WRITE: i32 = 2;
347pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
348pub const BIO_FLAGS_RWS: i32 = 7;
349pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
350pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
351pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
352pub const BIO_TYPE_NONE: i32 = 0;
353pub const BIO_TYPE_MEM: i32 = 1025;
354pub const BIO_TYPE_FILE: i32 = 1026;
355pub const BIO_TYPE_FD: i32 = 1284;
356pub const BIO_TYPE_SOCKET: i32 = 1285;
357pub const BIO_TYPE_NULL: i32 = 1030;
358pub const BIO_TYPE_SSL: i32 = 519;
359pub const BIO_TYPE_MD: i32 = 520;
360pub const BIO_TYPE_BUFFER: i32 = 521;
361pub const BIO_TYPE_CIPHER: i32 = 522;
362pub const BIO_TYPE_BASE64: i32 = 523;
363pub const BIO_TYPE_CONNECT: i32 = 1292;
364pub const BIO_TYPE_ACCEPT: i32 = 1293;
365pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
366pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
367pub const BIO_TYPE_NBIO_TEST: i32 = 528;
368pub const BIO_TYPE_NULL_FILTER: i32 = 529;
369pub const BIO_TYPE_BER: i32 = 530;
370pub const BIO_TYPE_BIO: i32 = 1043;
371pub const BIO_TYPE_LINEBUFFER: i32 = 532;
372pub const BIO_TYPE_DGRAM: i32 = 1301;
373pub const BIO_TYPE_ASN1: i32 = 534;
374pub const BIO_TYPE_COMP: i32 = 535;
375pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
376pub const BIO_TYPE_FILTER: i32 = 512;
377pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
378pub const BIO_TYPE_START: i32 = 128;
379pub const BIO_C_SET_CONNECT: i32 = 100;
380pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
381pub const BIO_C_SET_NBIO: i32 = 102;
382pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
383pub const BIO_C_SET_FD: i32 = 104;
384pub const BIO_C_GET_FD: i32 = 105;
385pub const BIO_C_SET_FILE_PTR: i32 = 106;
386pub const BIO_C_GET_FILE_PTR: i32 = 107;
387pub const BIO_C_SET_FILENAME: i32 = 108;
388pub const BIO_C_SET_SSL: i32 = 109;
389pub const BIO_C_SET_MD: i32 = 111;
390pub const BIO_C_GET_MD: i32 = 112;
391pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
392pub const BIO_C_SET_BUF_MEM: i32 = 114;
393pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
394pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
395pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
396pub const BIO_C_SET_ACCEPT: i32 = 118;
397pub const BIO_C_SSL_MODE: i32 = 119;
398pub const BIO_C_GET_MD_CTX: i32 = 120;
399pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
400pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
401pub const BIO_C_GET_ACCEPT: i32 = 124;
402pub const BIO_C_FILE_SEEK: i32 = 128;
403pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
404pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
405pub const BIO_C_SET_BIND_MODE: i32 = 131;
406pub const BIO_C_GET_BIND_MODE: i32 = 132;
407pub const BIO_C_FILE_TELL: i32 = 133;
408pub const BIO_C_GET_SOCKS: i32 = 134;
409pub const BIO_C_SET_SOCKS: i32 = 135;
410pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
411pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
412pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
413pub const BIO_C_GET_READ_REQUEST: i32 = 141;
414pub const BIO_C_SHUTDOWN_WR: i32 = 142;
415pub const BIO_C_NREAD0: i32 = 143;
416pub const BIO_C_NREAD: i32 = 144;
417pub const BIO_C_NWRITE0: i32 = 145;
418pub const BIO_C_NWRITE: i32 = 146;
419pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
420pub const BIO_C_SET_MD_CTX: i32 = 148;
421pub const BIO_C_SET_PREFIX: i32 = 149;
422pub const BIO_C_GET_PREFIX: i32 = 150;
423pub const BIO_C_SET_SUFFIX: i32 = 151;
424pub const BIO_C_GET_SUFFIX: i32 = 152;
425pub const BIO_C_SET_EX_ARG: i32 = 153;
426pub const BIO_C_GET_EX_ARG: i32 = 154;
427pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
428pub const BIO_R_BROKEN_PIPE: i32 = 101;
429pub const BIO_R_CONNECT_ERROR: i32 = 102;
430pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
431pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
432pub const BIO_R_IN_USE: i32 = 105;
433pub const BIO_R_KEEPALIVE: i32 = 106;
434pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
435pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
436pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
437pub const BIO_R_NO_SUCH_FILE: i32 = 110;
438pub const BIO_R_NULL_PARAMETER: i32 = 111;
439pub const BIO_R_SYS_LIB: i32 = 112;
440pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
441pub const BIO_R_UNINITIALIZED: i32 = 114;
442pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
443pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
444pub const BN_BITS2: i32 = 64;
445pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
446pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
447pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
448pub const BN_RAND_TOP_ANY: i32 = -1;
449pub const BN_RAND_TOP_ONE: i32 = 0;
450pub const BN_RAND_TOP_TWO: i32 = 1;
451pub const BN_RAND_BOTTOM_ANY: i32 = 0;
452pub const BN_RAND_BOTTOM_ODD: i32 = 1;
453pub const BN_GENCB_GENERATED: i32 = 0;
454pub const BN_GENCB_PRIME_TEST: i32 = 1;
455pub const BN_prime_checks_for_validation: i32 = 64;
456pub const BN_prime_checks_for_generation: i32 = 0;
457pub const BN_prime_checks: i32 = 64;
458pub const BN_FLG_MALLOCED: i32 = 1;
459pub const BN_FLG_STATIC_DATA: i32 = 2;
460pub const BN_R_ARG2_LT_ARG3: i32 = 100;
461pub const BN_R_BAD_RECIPROCAL: i32 = 101;
462pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
463pub const BN_R_BITS_TOO_SMALL: i32 = 103;
464pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
465pub const BN_R_DIV_BY_ZERO: i32 = 105;
466pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
467pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
468pub const BN_R_INVALID_RANGE: i32 = 108;
469pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
470pub const BN_R_NOT_A_SQUARE: i32 = 110;
471pub const BN_R_NOT_INITIALIZED: i32 = 111;
472pub const BN_R_NO_INVERSE: i32 = 112;
473pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
474pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
475pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
476pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
477pub const BN_R_BAD_ENCODING: i32 = 117;
478pub const BN_R_ENCODE_ERROR: i32 = 118;
479pub const BN_R_INVALID_INPUT: i32 = 119;
480pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
481pub const V_ASN1_UNIVERSAL: i32 = 0;
482pub const V_ASN1_APPLICATION: i32 = 64;
483pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
484pub const V_ASN1_PRIVATE: i32 = 192;
485pub const V_ASN1_CONSTRUCTED: i32 = 32;
486pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
487pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
488pub const V_ASN1_UNDEF: i32 = -1;
489pub const V_ASN1_OTHER: i32 = -3;
490pub const V_ASN1_ANY: i32 = -4;
491pub const V_ASN1_EOC: i32 = 0;
492pub const V_ASN1_BOOLEAN: i32 = 1;
493pub const V_ASN1_INTEGER: i32 = 2;
494pub const V_ASN1_BIT_STRING: i32 = 3;
495pub const V_ASN1_OCTET_STRING: i32 = 4;
496pub const V_ASN1_NULL: i32 = 5;
497pub const V_ASN1_OBJECT: i32 = 6;
498pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
499pub const V_ASN1_EXTERNAL: i32 = 8;
500pub const V_ASN1_REAL: i32 = 9;
501pub const V_ASN1_ENUMERATED: i32 = 10;
502pub const V_ASN1_UTF8STRING: i32 = 12;
503pub const V_ASN1_SEQUENCE: i32 = 16;
504pub const V_ASN1_SET: i32 = 17;
505pub const V_ASN1_NUMERICSTRING: i32 = 18;
506pub const V_ASN1_PRINTABLESTRING: i32 = 19;
507pub const V_ASN1_T61STRING: i32 = 20;
508pub const V_ASN1_TELETEXSTRING: i32 = 20;
509pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
510pub const V_ASN1_IA5STRING: i32 = 22;
511pub const V_ASN1_UTCTIME: i32 = 23;
512pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
513pub const V_ASN1_GRAPHICSTRING: i32 = 25;
514pub const V_ASN1_ISO64STRING: i32 = 26;
515pub const V_ASN1_VISIBLESTRING: i32 = 26;
516pub const V_ASN1_GENERALSTRING: i32 = 27;
517pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
518pub const V_ASN1_BMPSTRING: i32 = 30;
519pub const V_ASN1_NEG: i32 = 256;
520pub const V_ASN1_NEG_INTEGER: i32 = 258;
521pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
522pub const B_ASN1_NUMERICSTRING: i32 = 1;
523pub const B_ASN1_PRINTABLESTRING: i32 = 2;
524pub const B_ASN1_T61STRING: i32 = 4;
525pub const B_ASN1_TELETEXSTRING: i32 = 4;
526pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
527pub const B_ASN1_IA5STRING: i32 = 16;
528pub const B_ASN1_GRAPHICSTRING: i32 = 32;
529pub const B_ASN1_ISO64STRING: i32 = 64;
530pub const B_ASN1_VISIBLESTRING: i32 = 64;
531pub const B_ASN1_GENERALSTRING: i32 = 128;
532pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
533pub const B_ASN1_OCTET_STRING: i32 = 512;
534pub const B_ASN1_BIT_STRING: i32 = 1024;
535pub const B_ASN1_BMPSTRING: i32 = 2048;
536pub const B_ASN1_UNKNOWN: i32 = 4096;
537pub const B_ASN1_UTF8STRING: i32 = 8192;
538pub const B_ASN1_UTCTIME: i32 = 16384;
539pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
540pub const B_ASN1_SEQUENCE: i32 = 65536;
541pub const ASN1_BOOLEAN_FALSE: i32 = 0;
542pub const ASN1_BOOLEAN_TRUE: i32 = 255;
543pub const ASN1_BOOLEAN_NONE: i32 = -1;
544pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
545pub const MBSTRING_FLAG: i32 = 4096;
546pub const MBSTRING_UTF8: i32 = 4096;
547pub const MBSTRING_ASC: i32 = 4097;
548pub const MBSTRING_BMP: i32 = 4098;
549pub const MBSTRING_UNIV: i32 = 4100;
550pub const DIRSTRING_TYPE: i32 = 10246;
551pub const PKCS9STRING_TYPE: i32 = 10262;
552pub const STABLE_NO_MASK: i32 = 2;
553pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
554pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
555pub const B_ASN1_TIME: i32 = 49152;
556pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
557pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
558pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
559pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
560pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
561pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
562pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
563pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
564pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
565pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
566pub const ASN1_STRFLGS_RFC2253: i32 = 791;
567pub const B_ASN1_PRINTABLE: i32 = 81175;
568pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
569pub const ASN1_R_AUX_ERROR: i32 = 101;
570pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
571pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
572pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
573pub const ASN1_R_BN_LIB: i32 = 105;
574pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
575pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
576pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
577pub const ASN1_R_DECODE_ERROR: i32 = 109;
578pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
579pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
580pub const ASN1_R_ENCODE_ERROR: i32 = 112;
581pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
582pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
583pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
584pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
585pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
586pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
587pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
588pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
589pub const ASN1_R_FIELD_MISSING: i32 = 121;
590pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
591pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
592pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
593pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
594pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
595pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
596pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
597pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
598pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
599pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
600pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
601pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
602pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
603pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
604pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
605pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
606pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
607pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
608pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
609pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
610pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
611pub const ASN1_R_INVALID_DIGIT: i32 = 143;
612pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
613pub const ASN1_R_INVALID_NUMBER: i32 = 145;
614pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
615pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
616pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
617pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
618pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
619pub const ASN1_R_LIST_ERROR: i32 = 151;
620pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
621pub const ASN1_R_MISSING_EOC: i32 = 153;
622pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
623pub const ASN1_R_MISSING_VALUE: i32 = 155;
624pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
625pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
626pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
627pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
628pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
629pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
630pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
631pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
632pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
633pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
634pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
635pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
636pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
637pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
638pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
639pub const ASN1_R_SHORT_LINE: i32 = 171;
640pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
641pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
642pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
643pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
644pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
645pub const ASN1_R_TOO_LONG: i32 = 177;
646pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
647pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
648pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
649pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
650pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
651pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
652pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
653pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
654pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
655pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
656pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
657pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
658pub const ASN1_R_WRONG_TAG: i32 = 190;
659pub const ASN1_R_WRONG_TYPE: i32 = 191;
660pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
661pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
662pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
663pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
664pub const ASN1_R_INVALID_INTEGER: i32 = 196;
665pub const ASN1_TFLG_OPTIONAL: i32 = 1;
666pub const ASN1_TFLG_SET_OF: i32 = 2;
667pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
668pub const ASN1_TFLG_SK_MASK: i32 = 6;
669pub const ASN1_TFLG_IMPTAG: i32 = 8;
670pub const ASN1_TFLG_EXPTAG: i32 = 16;
671pub const ASN1_TFLG_TAG_MASK: i32 = 24;
672pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
673pub const ASN1_TFLG_APPLICATION: i32 = 64;
674pub const ASN1_TFLG_CONTEXT: i32 = 128;
675pub const ASN1_TFLG_PRIVATE: i32 = 192;
676pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
677pub const ASN1_TFLG_ADB_MASK: i32 = 768;
678pub const ASN1_TFLG_ADB_OID: i32 = 256;
679pub const ASN1_TFLG_COMBINE: i32 = 1024;
680pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
681pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
682pub const ASN1_ITYPE_CHOICE: i32 = 2;
683pub const ASN1_ITYPE_EXTERN: i32 = 4;
684pub const ASN1_ITYPE_MSTRING: i32 = 5;
685pub const ASN1_AFLG_REFCOUNT: i32 = 1;
686pub const ASN1_AFLG_ENCODING: i32 = 2;
687pub const ASN1_OP_NEW_PRE: i32 = 0;
688pub const ASN1_OP_NEW_POST: i32 = 1;
689pub const ASN1_OP_FREE_PRE: i32 = 2;
690pub const ASN1_OP_FREE_POST: i32 = 3;
691pub const ASN1_OP_D2I_PRE: i32 = 4;
692pub const ASN1_OP_D2I_POST: i32 = 5;
693pub const ASN1_OP_PRINT_PRE: i32 = 8;
694pub const ASN1_OP_PRINT_POST: i32 = 9;
695pub const ASN1_OP_STREAM_PRE: i32 = 10;
696pub const ASN1_OP_STREAM_POST: i32 = 11;
697pub const ASN1_OP_DETACHED_PRE: i32 = 12;
698pub const ASN1_OP_DETACHED_POST: i32 = 13;
699pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
700pub const BLAKE2B_CBLOCK: i32 = 128;
701pub const BF_ENCRYPT: i32 = 1;
702pub const BF_DECRYPT: i32 = 0;
703pub const BF_ROUNDS: i32 = 16;
704pub const BF_BLOCK: i32 = 8;
705pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
706pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
707pub const CBS_ASN1_UNIVERSAL: i32 = 0;
708pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
709pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
710pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
711pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
712pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
713pub const CBS_ASN1_BOOLEAN: i32 = 1;
714pub const CBS_ASN1_INTEGER: i32 = 2;
715pub const CBS_ASN1_BITSTRING: i32 = 3;
716pub const CBS_ASN1_OCTETSTRING: i32 = 4;
717pub const CBS_ASN1_NULL: i32 = 5;
718pub const CBS_ASN1_OBJECT: i32 = 6;
719pub const CBS_ASN1_ENUMERATED: i32 = 10;
720pub const CBS_ASN1_UTF8STRING: i32 = 12;
721pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
722pub const CBS_ASN1_SET: i32 = 536870929;
723pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
724pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
725pub const CBS_ASN1_T61STRING: i32 = 20;
726pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
727pub const CBS_ASN1_IA5STRING: i32 = 22;
728pub const CBS_ASN1_UTCTIME: i32 = 23;
729pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
730pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
731pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
732pub const CBS_ASN1_GENERALSTRING: i32 = 27;
733pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
734pub const CBS_ASN1_BMPSTRING: i32 = 30;
735pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
736pub const EVP_CIPH_ECB_MODE: i32 = 1;
737pub const EVP_CIPH_CBC_MODE: i32 = 2;
738pub const EVP_CIPH_CFB_MODE: i32 = 3;
739pub const EVP_CIPH_OFB_MODE: i32 = 4;
740pub const EVP_CIPH_CTR_MODE: i32 = 5;
741pub const EVP_CIPH_GCM_MODE: i32 = 6;
742pub const EVP_CIPH_XTS_MODE: i32 = 7;
743pub const EVP_CIPH_CCM_MODE: i32 = 8;
744pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
745pub const EVP_CIPH_OCB_MODE: i32 = 9;
746pub const EVP_CIPH_WRAP_MODE: i32 = 10;
747pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
748pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
749pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
750pub const EVP_CIPH_CTRL_INIT: i32 = 512;
751pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
752pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
753pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
754pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
755pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
756pub const EVP_CIPH_NO_PADDING: i32 = 2048;
757pub const EVP_CTRL_INIT: i32 = 0;
758pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
759pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
760pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
761pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
762pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
763pub const EVP_CTRL_RAND_KEY: i32 = 6;
764pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
765pub const EVP_CTRL_COPY: i32 = 8;
766pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
767pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
768pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
769pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
770pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
771pub const EVP_CTRL_CCM_SET_L: i32 = 20;
772pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
773pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
774pub const EVP_CTRL_GET_IVLEN: i32 = 25;
775pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
776pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
777pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
778pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
779pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
780pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
781pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
782pub const EVP_MAX_KEY_LENGTH: i32 = 64;
783pub const EVP_MAX_IV_LENGTH: i32 = 16;
784pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
785pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
786pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
787pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
788pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
789pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
790pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
791pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
792pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
793pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
794pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
795pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
796pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
797pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
798pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
799pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
800pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
801pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
802pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
803pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
804pub const CIPHER_R_TOO_LARGE: i32 = 117;
805pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
806pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
807pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
808pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
809pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
810pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
811pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
812pub const CIPHER_R_INVALID_NONCE: i32 = 125;
813pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
814pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
815pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
816pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
817pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
818pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
819pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
820pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
821pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
822pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
823pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
824pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
825pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
826pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
827pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
828pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
829pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
830pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
831pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
832pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
833pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
834pub const X25519_SHARED_KEY_LEN: i32 = 32;
835pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
836pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
837pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
838pub const ED25519_SIGNATURE_LEN: i32 = 64;
839pub const ED25519_SEED_LEN: i32 = 32;
840pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
841pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
842pub const DES_ENCRYPT: i32 = 1;
843pub const DES_DECRYPT: i32 = 0;
844pub const DES_CBC_MODE: i32 = 0;
845pub const DES_PCBC_MODE: i32 = 1;
846pub const DH_GENERATOR_2: i32 = 2;
847pub const DH_GENERATOR_5: i32 = 5;
848pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
849pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
850pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
851pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
852pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
853pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
854pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
855pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
856pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
857pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
858pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
859pub const DH_FLAG_CACHE_MONT_P: i32 = 0;
860pub const DH_R_BAD_GENERATOR: i32 = 100;
861pub const DH_R_INVALID_PUBKEY: i32 = 101;
862pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
863pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
864pub const DH_R_DECODE_ERROR: i32 = 104;
865pub const DH_R_ENCODE_ERROR: i32 = 105;
866pub const DH_R_INVALID_NID: i32 = 106;
867pub const DH_R_INVALID_PARAMETERS: i32 = 107;
868pub const DH_F_DH_BUILTIN_GENPARAMS: i32 = 0;
869pub const EVP_MAX_MD_SIZE: i32 = 64;
870pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
871pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 128;
872pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
873pub const EVP_MD_FLAG_XOF: i32 = 4;
874pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
875pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
876pub const DIGEST_R_DECODE_ERROR: i32 = 101;
877pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
878pub const DSA_R_BAD_Q_VALUE: i32 = 100;
879pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
880pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
881pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
882pub const DSA_R_BAD_VERSION: i32 = 104;
883pub const DSA_R_DECODE_ERROR: i32 = 105;
884pub const DSA_R_ENCODE_ERROR: i32 = 106;
885pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
886pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
887pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
888pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
889pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
890pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
891pub const EC_PKEY_NO_PUBKEY: i32 = 2;
892pub const ECDSA_FLAG_OPAQUE: i32 = 1;
893pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
894pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
895pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
896pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
897pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
898pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
899pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
900pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
901pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
902pub const EC_R_INVALID_ENCODING: i32 = 109;
903pub const EC_R_INVALID_FIELD: i32 = 110;
904pub const EC_R_INVALID_FORM: i32 = 111;
905pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
906pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
907pub const EC_R_MISSING_PARAMETERS: i32 = 114;
908pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
909pub const EC_R_NON_NAMED_CURVE: i32 = 116;
910pub const EC_R_NOT_INITIALIZED: i32 = 117;
911pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
912pub const EC_R_POINT_AT_INFINITY: i32 = 119;
913pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
914pub const EC_R_SLOT_FULL: i32 = 121;
915pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
916pub const EC_R_UNKNOWN_GROUP: i32 = 123;
917pub const EC_R_UNKNOWN_ORDER: i32 = 124;
918pub const EC_R_WRONG_ORDER: i32 = 125;
919pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
920pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
921pub const EC_R_DECODE_ERROR: i32 = 128;
922pub const EC_R_ENCODE_ERROR: i32 = 129;
923pub const EC_R_GROUP_MISMATCH: i32 = 130;
924pub const EC_R_INVALID_COFACTOR: i32 = 131;
925pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
926pub const EC_R_INVALID_SCALAR: i32 = 133;
927pub const ECDH_R_KDF_FAILED: i32 = 100;
928pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
929pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
930pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
931pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
932pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
933pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
934pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
935pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
936pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
937pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
938pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
939pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
940pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
941pub const EVP_R_DECODE_ERROR: i32 = 102;
942pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
943pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
944pub const EVP_R_ENCODE_ERROR: i32 = 105;
945pub const EVP_R_EXPECTING_AN_EC_KEY_KEY: i32 = 106;
946pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
947pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
948pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
949pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
950pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
951pub const EVP_R_INVALID_KEYBITS: i32 = 112;
952pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
953pub const EVP_R_INVALID_OPERATION: i32 = 114;
954pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
955pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
956pub const EVP_R_KEYS_NOT_SET: i32 = 117;
957pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
958pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
959pub const EVP_R_NO_KEY_SET: i32 = 120;
960pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
961pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
962pub const EVP_R_NO_OPERATION_SET: i32 = 123;
963pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
964pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
965pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
966pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
967pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
968pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
969pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
970pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
971pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
972pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
973pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
974pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
975pub const EVP_R_EMPTY_PSK: i32 = 136;
976pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
977pub const EVP_R_BAD_DECRYPT: i32 = 138;
978pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 139;
979pub const EVP_R_INVALID_PSS_MD: i32 = 500;
980pub const EVP_R_INVALID_PSS_SALT_LEN: i32 = 501;
981pub const EVP_R_INVALID_PSS_TRAILER_FIELD: i32 = 502;
982pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
983pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
984pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
985pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
986pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
987pub const SN_undef: &[u8; 6] = b"UNDEF\0";
988pub const LN_undef: &[u8; 10] = b"undefined\0";
989pub const NID_undef: i32 = 0;
990pub const OBJ_undef: i32 = 0;
991pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
992pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
993pub const NID_rsadsi: i32 = 1;
994pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
995pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
996pub const NID_pkcs: i32 = 2;
997pub const SN_md2: &[u8; 4] = b"MD2\0";
998pub const LN_md2: &[u8; 4] = b"md2\0";
999pub const NID_md2: i32 = 3;
1000pub const SN_md5: &[u8; 4] = b"MD5\0";
1001pub const LN_md5: &[u8; 4] = b"md5\0";
1002pub const NID_md5: i32 = 4;
1003pub const SN_rc4: &[u8; 4] = b"RC4\0";
1004pub const LN_rc4: &[u8; 4] = b"rc4\0";
1005pub const NID_rc4: i32 = 5;
1006pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
1007pub const NID_rsaEncryption: i32 = 6;
1008pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
1009pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
1010pub const NID_md2WithRSAEncryption: i32 = 7;
1011pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
1012pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
1013pub const NID_md5WithRSAEncryption: i32 = 8;
1014pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
1015pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
1016pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
1017pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
1018pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
1019pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
1020pub const SN_X500: &[u8; 5] = b"X500\0";
1021pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
1022pub const NID_X500: i32 = 11;
1023pub const SN_X509: &[u8; 5] = b"X509\0";
1024pub const NID_X509: i32 = 12;
1025pub const SN_commonName: &[u8; 3] = b"CN\0";
1026pub const LN_commonName: &[u8; 11] = b"commonName\0";
1027pub const NID_commonName: i32 = 13;
1028pub const SN_countryName: &[u8; 2] = b"C\0";
1029pub const LN_countryName: &[u8; 12] = b"countryName\0";
1030pub const NID_countryName: i32 = 14;
1031pub const SN_localityName: &[u8; 2] = b"L\0";
1032pub const LN_localityName: &[u8; 13] = b"localityName\0";
1033pub const NID_localityName: i32 = 15;
1034pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
1035pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
1036pub const NID_stateOrProvinceName: i32 = 16;
1037pub const SN_organizationName: &[u8; 2] = b"O\0";
1038pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
1039pub const NID_organizationName: i32 = 17;
1040pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
1041pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
1042pub const NID_organizationalUnitName: i32 = 18;
1043pub const SN_rsa: &[u8; 4] = b"RSA\0";
1044pub const LN_rsa: &[u8; 4] = b"rsa\0";
1045pub const NID_rsa: i32 = 19;
1046pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
1047pub const NID_pkcs7: i32 = 20;
1048pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
1049pub const NID_pkcs7_data: i32 = 21;
1050pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
1051pub const NID_pkcs7_signed: i32 = 22;
1052pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1053pub const NID_pkcs7_enveloped: i32 = 23;
1054pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1055pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1056pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1057pub const NID_pkcs7_digest: i32 = 25;
1058pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1059pub const NID_pkcs7_encrypted: i32 = 26;
1060pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1061pub const NID_pkcs3: i32 = 27;
1062pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1063pub const NID_dhKeyAgreement: i32 = 28;
1064pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1065pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1066pub const NID_des_ecb: i32 = 29;
1067pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1068pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1069pub const NID_des_cfb64: i32 = 30;
1070pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1071pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1072pub const NID_des_cbc: i32 = 31;
1073pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1074pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1075pub const NID_des_ede_ecb: i32 = 32;
1076pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1077pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1078pub const NID_des_ede3_ecb: i32 = 33;
1079pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1080pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1081pub const NID_idea_cbc: i32 = 34;
1082pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1083pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1084pub const NID_idea_cfb64: i32 = 35;
1085pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1086pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1087pub const NID_idea_ecb: i32 = 36;
1088pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1089pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1090pub const NID_rc2_cbc: i32 = 37;
1091pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1092pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1093pub const NID_rc2_ecb: i32 = 38;
1094pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1095pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1096pub const NID_rc2_cfb64: i32 = 39;
1097pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1098pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1099pub const NID_rc2_ofb64: i32 = 40;
1100pub const SN_sha: &[u8; 4] = b"SHA\0";
1101pub const LN_sha: &[u8; 4] = b"sha\0";
1102pub const NID_sha: i32 = 41;
1103pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1104pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1105pub const NID_shaWithRSAEncryption: i32 = 42;
1106pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1107pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1108pub const NID_des_ede_cbc: i32 = 43;
1109pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1110pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1111pub const NID_des_ede3_cbc: i32 = 44;
1112pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1113pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1114pub const NID_des_ofb64: i32 = 45;
1115pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1116pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1117pub const NID_idea_ofb64: i32 = 46;
1118pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1119pub const NID_pkcs9: i32 = 47;
1120pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1121pub const NID_pkcs9_emailAddress: i32 = 48;
1122pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1123pub const NID_pkcs9_unstructuredName: i32 = 49;
1124pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1125pub const NID_pkcs9_contentType: i32 = 50;
1126pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1127pub const NID_pkcs9_messageDigest: i32 = 51;
1128pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1129pub const NID_pkcs9_signingTime: i32 = 52;
1130pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1131pub const NID_pkcs9_countersignature: i32 = 53;
1132pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1133pub const NID_pkcs9_challengePassword: i32 = 54;
1134pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1135pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1136pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1137pub const NID_pkcs9_extCertAttributes: i32 = 56;
1138pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1139pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1140pub const NID_netscape: i32 = 57;
1141pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1142pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1143pub const NID_netscape_cert_extension: i32 = 58;
1144pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1145pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1146pub const NID_netscape_data_type: i32 = 59;
1147pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1148pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1149pub const NID_des_ede_cfb64: i32 = 60;
1150pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1151pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1152pub const NID_des_ede3_cfb64: i32 = 61;
1153pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1154pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1155pub const NID_des_ede_ofb64: i32 = 62;
1156pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1157pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1158pub const NID_des_ede3_ofb64: i32 = 63;
1159pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1160pub const LN_sha1: &[u8; 5] = b"sha1\0";
1161pub const NID_sha1: i32 = 64;
1162pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1163pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1164pub const NID_sha1WithRSAEncryption: i32 = 65;
1165pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1166pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1167pub const NID_dsaWithSHA: i32 = 66;
1168pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1169pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1170pub const NID_dsa_2: i32 = 67;
1171pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1172pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1173pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1174pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1175pub const NID_id_pbkdf2: i32 = 69;
1176pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1177pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1178pub const NID_dsaWithSHA1_2: i32 = 70;
1179pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1180pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1181pub const NID_netscape_cert_type: i32 = 71;
1182pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1183pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1184pub const NID_netscape_base_url: i32 = 72;
1185pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1186pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1187pub const NID_netscape_revocation_url: i32 = 73;
1188pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1189pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1190pub const NID_netscape_ca_revocation_url: i32 = 74;
1191pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1192pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1193pub const NID_netscape_renewal_url: i32 = 75;
1194pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1195pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1196pub const NID_netscape_ca_policy_url: i32 = 76;
1197pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1198pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1199pub const NID_netscape_ssl_server_name: i32 = 77;
1200pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1201pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1202pub const NID_netscape_comment: i32 = 78;
1203pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1204pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1205pub const NID_netscape_cert_sequence: i32 = 79;
1206pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1207pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1208pub const NID_desx_cbc: i32 = 80;
1209pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1210pub const NID_id_ce: i32 = 81;
1211pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1212pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1213pub const NID_subject_key_identifier: i32 = 82;
1214pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1215pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1216pub const NID_key_usage: i32 = 83;
1217pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1218pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1219pub const NID_private_key_usage_period: i32 = 84;
1220pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1221pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1222pub const NID_subject_alt_name: i32 = 85;
1223pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1224pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1225pub const NID_issuer_alt_name: i32 = 86;
1226pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1227pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1228pub const NID_basic_constraints: i32 = 87;
1229pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1230pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1231pub const NID_crl_number: i32 = 88;
1232pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1233pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1234pub const NID_certificate_policies: i32 = 89;
1235pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1236pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1237pub const NID_authority_key_identifier: i32 = 90;
1238pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1239pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1240pub const NID_bf_cbc: i32 = 91;
1241pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1242pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1243pub const NID_bf_ecb: i32 = 92;
1244pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1245pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1246pub const NID_bf_cfb64: i32 = 93;
1247pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1248pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1249pub const NID_bf_ofb64: i32 = 94;
1250pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1251pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1252pub const NID_mdc2: i32 = 95;
1253pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1254pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1255pub const NID_mdc2WithRSA: i32 = 96;
1256pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1257pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1258pub const NID_rc4_40: i32 = 97;
1259pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1260pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1261pub const NID_rc2_40_cbc: i32 = 98;
1262pub const SN_givenName: &[u8; 3] = b"GN\0";
1263pub const LN_givenName: &[u8; 10] = b"givenName\0";
1264pub const NID_givenName: i32 = 99;
1265pub const SN_surname: &[u8; 3] = b"SN\0";
1266pub const LN_surname: &[u8; 8] = b"surname\0";
1267pub const NID_surname: i32 = 100;
1268pub const SN_initials: &[u8; 9] = b"initials\0";
1269pub const LN_initials: &[u8; 9] = b"initials\0";
1270pub const NID_initials: i32 = 101;
1271pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1272pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1273pub const NID_crl_distribution_points: i32 = 103;
1274pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1275pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1276pub const NID_md5WithRSA: i32 = 104;
1277pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1278pub const NID_serialNumber: i32 = 105;
1279pub const SN_title: &[u8; 6] = b"title\0";
1280pub const LN_title: &[u8; 6] = b"title\0";
1281pub const NID_title: i32 = 106;
1282pub const LN_description: &[u8; 12] = b"description\0";
1283pub const NID_description: i32 = 107;
1284pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1285pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1286pub const NID_cast5_cbc: i32 = 108;
1287pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1288pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1289pub const NID_cast5_ecb: i32 = 109;
1290pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1291pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1292pub const NID_cast5_cfb64: i32 = 110;
1293pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1294pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1295pub const NID_cast5_ofb64: i32 = 111;
1296pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1297pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1298pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1299pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1300pub const NID_dsaWithSHA1: i32 = 113;
1301pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1302pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1303pub const NID_md5_sha1: i32 = 114;
1304pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1305pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1306pub const NID_sha1WithRSA: i32 = 115;
1307pub const SN_dsa: &[u8; 4] = b"DSA\0";
1308pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1309pub const NID_dsa: i32 = 116;
1310pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1311pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1312pub const NID_ripemd160: i32 = 117;
1313pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1314pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1315pub const NID_ripemd160WithRSA: i32 = 119;
1316pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1317pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1318pub const NID_rc5_cbc: i32 = 120;
1319pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1320pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1321pub const NID_rc5_ecb: i32 = 121;
1322pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1323pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1324pub const NID_rc5_cfb64: i32 = 122;
1325pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1326pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1327pub const NID_rc5_ofb64: i32 = 123;
1328pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1329pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1330pub const NID_zlib_compression: i32 = 125;
1331pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1332pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1333pub const NID_ext_key_usage: i32 = 126;
1334pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1335pub const NID_id_pkix: i32 = 127;
1336pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1337pub const NID_id_kp: i32 = 128;
1338pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1339pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1340pub const NID_server_auth: i32 = 129;
1341pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1342pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1343pub const NID_client_auth: i32 = 130;
1344pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1345pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1346pub const NID_code_sign: i32 = 131;
1347pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1348pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1349pub const NID_email_protect: i32 = 132;
1350pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1351pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1352pub const NID_time_stamp: i32 = 133;
1353pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1354pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1355pub const NID_ms_code_ind: i32 = 134;
1356pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1357pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1358pub const NID_ms_code_com: i32 = 135;
1359pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1360pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1361pub const NID_ms_ctl_sign: i32 = 136;
1362pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1363pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1364pub const NID_ms_sgc: i32 = 137;
1365pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1366pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1367pub const NID_ms_efs: i32 = 138;
1368pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1369pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1370pub const NID_ns_sgc: i32 = 139;
1371pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1372pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1373pub const NID_delta_crl: i32 = 140;
1374pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1375pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1376pub const NID_crl_reason: i32 = 141;
1377pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1378pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1379pub const NID_invalidity_date: i32 = 142;
1380pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1381pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1382pub const NID_sxnet: i32 = 143;
1383pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1384pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1385pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1386pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1387pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1388pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1389pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1390pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1391pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1392pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1393pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1394pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1395pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1396pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1397pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1398pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1399pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1400pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1401pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1402pub const NID_keyBag: i32 = 150;
1403pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1404pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1405pub const LN_certBag: &[u8; 8] = b"certBag\0";
1406pub const NID_certBag: i32 = 152;
1407pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1408pub const NID_crlBag: i32 = 153;
1409pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1410pub const NID_secretBag: i32 = 154;
1411pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1412pub const NID_safeContentsBag: i32 = 155;
1413pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1414pub const NID_friendlyName: i32 = 156;
1415pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1416pub const NID_localKeyID: i32 = 157;
1417pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1418pub const NID_x509Certificate: i32 = 158;
1419pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1420pub const NID_sdsiCertificate: i32 = 159;
1421pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1422pub const NID_x509Crl: i32 = 160;
1423pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1424pub const NID_pbes2: i32 = 161;
1425pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1426pub const NID_pbmac1: i32 = 162;
1427pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1428pub const NID_hmacWithSHA1: i32 = 163;
1429pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1430pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1431pub const NID_id_qt_cps: i32 = 164;
1432pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1433pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1434pub const NID_id_qt_unotice: i32 = 165;
1435pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1436pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1437pub const NID_rc2_64_cbc: i32 = 166;
1438pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1439pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1440pub const NID_SMIMECapabilities: i32 = 167;
1441pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1442pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1443pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1444pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1445pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1446pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1447pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1448pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1449pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1450pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1451pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1452pub const NID_ms_ext_req: i32 = 171;
1453pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1454pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1455pub const NID_ext_req: i32 = 172;
1456pub const SN_name: &[u8; 5] = b"name\0";
1457pub const LN_name: &[u8; 5] = b"name\0";
1458pub const NID_name: i32 = 173;
1459pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1460pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1461pub const NID_dnQualifier: i32 = 174;
1462pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1463pub const NID_id_pe: i32 = 175;
1464pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1465pub const NID_id_ad: i32 = 176;
1466pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1467pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1468pub const NID_info_access: i32 = 177;
1469pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1470pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1471pub const NID_ad_OCSP: i32 = 178;
1472pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1473pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1474pub const NID_ad_ca_issuers: i32 = 179;
1475pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1476pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1477pub const NID_OCSP_sign: i32 = 180;
1478pub const SN_iso: &[u8; 4] = b"ISO\0";
1479pub const LN_iso: &[u8; 4] = b"iso\0";
1480pub const NID_iso: i32 = 181;
1481pub const OBJ_iso: i32 = 1;
1482pub const SN_member_body: &[u8; 12] = b"member-body\0";
1483pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1484pub const NID_member_body: i32 = 182;
1485pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1486pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1487pub const NID_ISO_US: i32 = 183;
1488pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1489pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1490pub const NID_X9_57: i32 = 184;
1491pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1492pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1493pub const NID_X9cm: i32 = 185;
1494pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1495pub const NID_pkcs1: i32 = 186;
1496pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1497pub const NID_pkcs5: i32 = 187;
1498pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1499pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1500pub const NID_SMIME: i32 = 188;
1501pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1502pub const NID_id_smime_mod: i32 = 189;
1503pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1504pub const NID_id_smime_ct: i32 = 190;
1505pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1506pub const NID_id_smime_aa: i32 = 191;
1507pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1508pub const NID_id_smime_alg: i32 = 192;
1509pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1510pub const NID_id_smime_cd: i32 = 193;
1511pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1512pub const NID_id_smime_spq: i32 = 194;
1513pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1514pub const NID_id_smime_cti: i32 = 195;
1515pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1516pub const NID_id_smime_mod_cms: i32 = 196;
1517pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1518pub const NID_id_smime_mod_ess: i32 = 197;
1519pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1520pub const NID_id_smime_mod_oid: i32 = 198;
1521pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1522pub const NID_id_smime_mod_msg_v3: i32 = 199;
1523pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1524pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1525pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1526pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1527pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1528pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1529pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1530pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1531pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1532pub const NID_id_smime_ct_receipt: i32 = 204;
1533pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1534pub const NID_id_smime_ct_authData: i32 = 205;
1535pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1536pub const NID_id_smime_ct_publishCert: i32 = 206;
1537pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1538pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1539pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1540pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1541pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1542pub const NID_id_smime_ct_contentInfo: i32 = 209;
1543pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1544pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1545pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1546pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1547pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1548pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1549pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1550pub const NID_id_smime_aa_securityLabel: i32 = 213;
1551pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1552pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1553pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1554pub const NID_id_smime_aa_contentHint: i32 = 215;
1555pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1556pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1557pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1558pub const NID_id_smime_aa_encapContentType: i32 = 217;
1559pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1560pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1561pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1562pub const NID_id_smime_aa_macValue: i32 = 219;
1563pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1564pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1565pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1566pub const NID_id_smime_aa_contentReference: i32 = 221;
1567pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1568pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1569pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1570pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1571pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1572pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1573pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1574pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1575pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1576pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1577pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1578pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1579pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1580pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1581pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1582pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1583pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1584pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1585pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1586pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1587pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1588pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1589pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1590pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1591pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1592pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1593pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1594pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1595pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1596pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1597pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1598pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1599pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1600pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1601pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1602pub const NID_id_smime_aa_signatureType: i32 = 239;
1603pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1604pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1605pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1606pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1607pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1608pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1609pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1610pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1611pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1612pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1613pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1614pub const NID_id_smime_alg_ESDH: i32 = 245;
1615pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1616pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1617pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1618pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1619pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1620pub const NID_id_smime_cd_ldap: i32 = 248;
1621pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1622pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1623pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1624pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1625pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1626pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1627pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1628pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1629pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1630pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1631pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1632pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1633pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1634pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1635pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1636pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1637pub const SN_md4: &[u8; 4] = b"MD4\0";
1638pub const LN_md4: &[u8; 4] = b"md4\0";
1639pub const NID_md4: i32 = 257;
1640pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1641pub const NID_id_pkix_mod: i32 = 258;
1642pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1643pub const NID_id_qt: i32 = 259;
1644pub const SN_id_it: &[u8; 6] = b"id-it\0";
1645pub const NID_id_it: i32 = 260;
1646pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1647pub const NID_id_pkip: i32 = 261;
1648pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1649pub const NID_id_alg: i32 = 262;
1650pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1651pub const NID_id_cmc: i32 = 263;
1652pub const SN_id_on: &[u8; 6] = b"id-on\0";
1653pub const NID_id_on: i32 = 264;
1654pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1655pub const NID_id_pda: i32 = 265;
1656pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1657pub const NID_id_aca: i32 = 266;
1658pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1659pub const NID_id_qcs: i32 = 267;
1660pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1661pub const NID_id_cct: i32 = 268;
1662pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1663pub const NID_id_pkix1_explicit_88: i32 = 269;
1664pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1665pub const NID_id_pkix1_implicit_88: i32 = 270;
1666pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1667pub const NID_id_pkix1_explicit_93: i32 = 271;
1668pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1669pub const NID_id_pkix1_implicit_93: i32 = 272;
1670pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1671pub const NID_id_mod_crmf: i32 = 273;
1672pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1673pub const NID_id_mod_cmc: i32 = 274;
1674pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1675pub const NID_id_mod_kea_profile_88: i32 = 275;
1676pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1677pub const NID_id_mod_kea_profile_93: i32 = 276;
1678pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1679pub const NID_id_mod_cmp: i32 = 277;
1680pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1681pub const NID_id_mod_qualified_cert_88: i32 = 278;
1682pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1683pub const NID_id_mod_qualified_cert_93: i32 = 279;
1684pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1685pub const NID_id_mod_attribute_cert: i32 = 280;
1686pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1687pub const NID_id_mod_timestamp_protocol: i32 = 281;
1688pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1689pub const NID_id_mod_ocsp: i32 = 282;
1690pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1691pub const NID_id_mod_dvcs: i32 = 283;
1692pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1693pub const NID_id_mod_cmp2000: i32 = 284;
1694pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1695pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1696pub const NID_biometricInfo: i32 = 285;
1697pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1698pub const NID_qcStatements: i32 = 286;
1699pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1700pub const NID_ac_auditEntity: i32 = 287;
1701pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1702pub const NID_ac_targeting: i32 = 288;
1703pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1704pub const NID_aaControls: i32 = 289;
1705pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1706pub const NID_sbgp_ipAddrBlock: i32 = 290;
1707pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1708pub const NID_sbgp_autonomousSysNum: i32 = 291;
1709pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1710pub const NID_sbgp_routerIdentifier: i32 = 292;
1711pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1712pub const NID_textNotice: i32 = 293;
1713pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1714pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1715pub const NID_ipsecEndSystem: i32 = 294;
1716pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1717pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1718pub const NID_ipsecTunnel: i32 = 295;
1719pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1720pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1721pub const NID_ipsecUser: i32 = 296;
1722pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1723pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1724pub const NID_dvcs: i32 = 297;
1725pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1726pub const NID_id_it_caProtEncCert: i32 = 298;
1727pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1728pub const NID_id_it_signKeyPairTypes: i32 = 299;
1729pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1730pub const NID_id_it_encKeyPairTypes: i32 = 300;
1731pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1732pub const NID_id_it_preferredSymmAlg: i32 = 301;
1733pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1734pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1735pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1736pub const NID_id_it_currentCRL: i32 = 303;
1737pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1738pub const NID_id_it_unsupportedOIDs: i32 = 304;
1739pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1740pub const NID_id_it_subscriptionRequest: i32 = 305;
1741pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1742pub const NID_id_it_subscriptionResponse: i32 = 306;
1743pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1744pub const NID_id_it_keyPairParamReq: i32 = 307;
1745pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1746pub const NID_id_it_keyPairParamRep: i32 = 308;
1747pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1748pub const NID_id_it_revPassphrase: i32 = 309;
1749pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1750pub const NID_id_it_implicitConfirm: i32 = 310;
1751pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1752pub const NID_id_it_confirmWaitTime: i32 = 311;
1753pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1754pub const NID_id_it_origPKIMessage: i32 = 312;
1755pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1756pub const NID_id_regCtrl: i32 = 313;
1757pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1758pub const NID_id_regInfo: i32 = 314;
1759pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1760pub const NID_id_regCtrl_regToken: i32 = 315;
1761pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1762pub const NID_id_regCtrl_authenticator: i32 = 316;
1763pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1764pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1765pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1766pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1767pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1768pub const NID_id_regCtrl_oldCertID: i32 = 319;
1769pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1770pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1771pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1772pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1773pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1774pub const NID_id_regInfo_certReq: i32 = 322;
1775pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1776pub const NID_id_alg_des40: i32 = 323;
1777pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1778pub const NID_id_alg_noSignature: i32 = 324;
1779pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1780pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1781pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1782pub const NID_id_alg_dh_pop: i32 = 326;
1783pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1784pub const NID_id_cmc_statusInfo: i32 = 327;
1785pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1786pub const NID_id_cmc_identification: i32 = 328;
1787pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1788pub const NID_id_cmc_identityProof: i32 = 329;
1789pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1790pub const NID_id_cmc_dataReturn: i32 = 330;
1791pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1792pub const NID_id_cmc_transactionId: i32 = 331;
1793pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1794pub const NID_id_cmc_senderNonce: i32 = 332;
1795pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1796pub const NID_id_cmc_recipientNonce: i32 = 333;
1797pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1798pub const NID_id_cmc_addExtensions: i32 = 334;
1799pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1800pub const NID_id_cmc_encryptedPOP: i32 = 335;
1801pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1802pub const NID_id_cmc_decryptedPOP: i32 = 336;
1803pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1804pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1805pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1806pub const NID_id_cmc_getCert: i32 = 338;
1807pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1808pub const NID_id_cmc_getCRL: i32 = 339;
1809pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1810pub const NID_id_cmc_revokeRequest: i32 = 340;
1811pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1812pub const NID_id_cmc_regInfo: i32 = 341;
1813pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1814pub const NID_id_cmc_responseInfo: i32 = 342;
1815pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1816pub const NID_id_cmc_queryPending: i32 = 343;
1817pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1818pub const NID_id_cmc_popLinkRandom: i32 = 344;
1819pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1820pub const NID_id_cmc_popLinkWitness: i32 = 345;
1821pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1822pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1823pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1824pub const NID_id_on_personalData: i32 = 347;
1825pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1826pub const NID_id_pda_dateOfBirth: i32 = 348;
1827pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1828pub const NID_id_pda_placeOfBirth: i32 = 349;
1829pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1830pub const NID_id_pda_gender: i32 = 351;
1831pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1832pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1833pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1834pub const NID_id_pda_countryOfResidence: i32 = 353;
1835pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1836pub const NID_id_aca_authenticationInfo: i32 = 354;
1837pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1838pub const NID_id_aca_accessIdentity: i32 = 355;
1839pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1840pub const NID_id_aca_chargingIdentity: i32 = 356;
1841pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1842pub const NID_id_aca_group: i32 = 357;
1843pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1844pub const NID_id_aca_role: i32 = 358;
1845pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1846pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1847pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1848pub const NID_id_cct_crs: i32 = 360;
1849pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1850pub const NID_id_cct_PKIData: i32 = 361;
1851pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1852pub const NID_id_cct_PKIResponse: i32 = 362;
1853pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1854pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1855pub const NID_ad_timeStamping: i32 = 363;
1856pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1857pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1858pub const NID_ad_dvcs: i32 = 364;
1859pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1860pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1861pub const NID_id_pkix_OCSP_basic: i32 = 365;
1862pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1863pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1864pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1865pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1866pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1867pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1868pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1869pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1870pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1871pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1872pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1873pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1874pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1875pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1876pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1877pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1878pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1879pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1880pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1881pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1882pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1883pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1884pub const NID_id_pkix_OCSP_valid: i32 = 373;
1885pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1886pub const NID_id_pkix_OCSP_path: i32 = 374;
1887pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1888pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1889pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1890pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1891pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1892pub const NID_algorithm: i32 = 376;
1893pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1894pub const NID_rsaSignature: i32 = 377;
1895pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1896pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1897pub const NID_X500algorithms: i32 = 378;
1898pub const SN_org: &[u8; 4] = b"ORG\0";
1899pub const LN_org: &[u8; 4] = b"org\0";
1900pub const NID_org: i32 = 379;
1901pub const SN_dod: &[u8; 4] = b"DOD\0";
1902pub const LN_dod: &[u8; 4] = b"dod\0";
1903pub const NID_dod: i32 = 380;
1904pub const SN_iana: &[u8; 5] = b"IANA\0";
1905pub const LN_iana: &[u8; 5] = b"iana\0";
1906pub const NID_iana: i32 = 381;
1907pub const SN_Directory: &[u8; 10] = b"directory\0";
1908pub const LN_Directory: &[u8; 10] = b"Directory\0";
1909pub const NID_Directory: i32 = 382;
1910pub const SN_Management: &[u8; 5] = b"mgmt\0";
1911pub const LN_Management: &[u8; 11] = b"Management\0";
1912pub const NID_Management: i32 = 383;
1913pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1914pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1915pub const NID_Experimental: i32 = 384;
1916pub const SN_Private: &[u8; 8] = b"private\0";
1917pub const LN_Private: &[u8; 8] = b"Private\0";
1918pub const NID_Private: i32 = 385;
1919pub const SN_Security: &[u8; 9] = b"security\0";
1920pub const LN_Security: &[u8; 9] = b"Security\0";
1921pub const NID_Security: i32 = 386;
1922pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1923pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1924pub const NID_SNMPv2: i32 = 387;
1925pub const LN_Mail: &[u8; 5] = b"Mail\0";
1926pub const NID_Mail: i32 = 388;
1927pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1928pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1929pub const NID_Enterprises: i32 = 389;
1930pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1931pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1932pub const NID_dcObject: i32 = 390;
1933pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1934pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1935pub const NID_domainComponent: i32 = 391;
1936pub const SN_Domain: &[u8; 7] = b"domain\0";
1937pub const LN_Domain: &[u8; 7] = b"Domain\0";
1938pub const NID_Domain: i32 = 392;
1939pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1940pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1941pub const NID_selected_attribute_types: i32 = 394;
1942pub const SN_clearance: &[u8; 10] = b"clearance\0";
1943pub const NID_clearance: i32 = 395;
1944pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1945pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1946pub const NID_md4WithRSAEncryption: i32 = 396;
1947pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1948pub const NID_ac_proxying: i32 = 397;
1949pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1950pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1951pub const NID_sinfo_access: i32 = 398;
1952pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1953pub const NID_id_aca_encAttrs: i32 = 399;
1954pub const SN_role: &[u8; 5] = b"role\0";
1955pub const LN_role: &[u8; 5] = b"role\0";
1956pub const NID_role: i32 = 400;
1957pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1958pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1959pub const NID_policy_constraints: i32 = 401;
1960pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1961pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1962pub const NID_target_information: i32 = 402;
1963pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1964pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1965pub const NID_no_rev_avail: i32 = 403;
1966pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1967pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1968pub const NID_ansi_X9_62: i32 = 405;
1969pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1970pub const NID_X9_62_prime_field: i32 = 406;
1971pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1972pub const NID_X9_62_characteristic_two_field: i32 = 407;
1973pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1974pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1975pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1976pub const NID_X9_62_prime192v1: i32 = 409;
1977pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1978pub const NID_X9_62_prime192v2: i32 = 410;
1979pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1980pub const NID_X9_62_prime192v3: i32 = 411;
1981pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1982pub const NID_X9_62_prime239v1: i32 = 412;
1983pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1984pub const NID_X9_62_prime239v2: i32 = 413;
1985pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1986pub const NID_X9_62_prime239v3: i32 = 414;
1987pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1988pub const NID_X9_62_prime256v1: i32 = 415;
1989pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1990pub const NID_ecdsa_with_SHA1: i32 = 416;
1991pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1992pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1993pub const NID_ms_csp_name: i32 = 417;
1994pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1995pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1996pub const NID_aes_128_ecb: i32 = 418;
1997pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1998pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1999pub const NID_aes_128_cbc: i32 = 419;
2000pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
2001pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
2002pub const NID_aes_128_ofb128: i32 = 420;
2003pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
2004pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
2005pub const NID_aes_128_cfb128: i32 = 421;
2006pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
2007pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
2008pub const NID_aes_192_ecb: i32 = 422;
2009pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
2010pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
2011pub const NID_aes_192_cbc: i32 = 423;
2012pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
2013pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
2014pub const NID_aes_192_ofb128: i32 = 424;
2015pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
2016pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
2017pub const NID_aes_192_cfb128: i32 = 425;
2018pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
2019pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
2020pub const NID_aes_256_ecb: i32 = 426;
2021pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
2022pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
2023pub const NID_aes_256_cbc: i32 = 427;
2024pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
2025pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
2026pub const NID_aes_256_ofb128: i32 = 428;
2027pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
2028pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
2029pub const NID_aes_256_cfb128: i32 = 429;
2030pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
2031pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
2032pub const NID_hold_instruction_code: i32 = 430;
2033pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
2034pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
2035pub const NID_hold_instruction_none: i32 = 431;
2036pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
2037pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
2038pub const NID_hold_instruction_call_issuer: i32 = 432;
2039pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
2040pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
2041pub const NID_hold_instruction_reject: i32 = 433;
2042pub const SN_data: &[u8; 5] = b"data\0";
2043pub const NID_data: i32 = 434;
2044pub const SN_pss: &[u8; 4] = b"pss\0";
2045pub const NID_pss: i32 = 435;
2046pub const SN_ucl: &[u8; 4] = b"ucl\0";
2047pub const NID_ucl: i32 = 436;
2048pub const SN_pilot: &[u8; 6] = b"pilot\0";
2049pub const NID_pilot: i32 = 437;
2050pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
2051pub const NID_pilotAttributeType: i32 = 438;
2052pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2053pub const NID_pilotAttributeSyntax: i32 = 439;
2054pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2055pub const NID_pilotObjectClass: i32 = 440;
2056pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2057pub const NID_pilotGroups: i32 = 441;
2058pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2059pub const NID_iA5StringSyntax: i32 = 442;
2060pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2061pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2062pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2063pub const NID_pilotObject: i32 = 444;
2064pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2065pub const NID_pilotPerson: i32 = 445;
2066pub const SN_account: &[u8; 8] = b"account\0";
2067pub const NID_account: i32 = 446;
2068pub const SN_document: &[u8; 9] = b"document\0";
2069pub const NID_document: i32 = 447;
2070pub const SN_room: &[u8; 5] = b"room\0";
2071pub const NID_room: i32 = 448;
2072pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2073pub const NID_documentSeries: i32 = 449;
2074pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2075pub const NID_rFC822localPart: i32 = 450;
2076pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2077pub const NID_dNSDomain: i32 = 451;
2078pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2079pub const NID_domainRelatedObject: i32 = 452;
2080pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2081pub const NID_friendlyCountry: i32 = 453;
2082pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2083pub const NID_simpleSecurityObject: i32 = 454;
2084pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2085pub const NID_pilotOrganization: i32 = 455;
2086pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2087pub const NID_pilotDSA: i32 = 456;
2088pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2089pub const NID_qualityLabelledData: i32 = 457;
2090pub const SN_userId: &[u8; 4] = b"UID\0";
2091pub const LN_userId: &[u8; 7] = b"userId\0";
2092pub const NID_userId: i32 = 458;
2093pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2094pub const NID_textEncodedORAddress: i32 = 459;
2095pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2096pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2097pub const NID_rfc822Mailbox: i32 = 460;
2098pub const SN_info: &[u8; 5] = b"info\0";
2099pub const NID_info: i32 = 461;
2100pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2101pub const NID_favouriteDrink: i32 = 462;
2102pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2103pub const NID_roomNumber: i32 = 463;
2104pub const SN_photo: &[u8; 6] = b"photo\0";
2105pub const NID_photo: i32 = 464;
2106pub const LN_userClass: &[u8; 10] = b"userClass\0";
2107pub const NID_userClass: i32 = 465;
2108pub const SN_host: &[u8; 5] = b"host\0";
2109pub const NID_host: i32 = 466;
2110pub const SN_manager: &[u8; 8] = b"manager\0";
2111pub const NID_manager: i32 = 467;
2112pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2113pub const NID_documentIdentifier: i32 = 468;
2114pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2115pub const NID_documentTitle: i32 = 469;
2116pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2117pub const NID_documentVersion: i32 = 470;
2118pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2119pub const NID_documentAuthor: i32 = 471;
2120pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2121pub const NID_documentLocation: i32 = 472;
2122pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2123pub const NID_homeTelephoneNumber: i32 = 473;
2124pub const SN_secretary: &[u8; 10] = b"secretary\0";
2125pub const NID_secretary: i32 = 474;
2126pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2127pub const NID_otherMailbox: i32 = 475;
2128pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2129pub const NID_lastModifiedTime: i32 = 476;
2130pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2131pub const NID_lastModifiedBy: i32 = 477;
2132pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2133pub const NID_aRecord: i32 = 478;
2134pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2135pub const NID_pilotAttributeType27: i32 = 479;
2136pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2137pub const NID_mXRecord: i32 = 480;
2138pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2139pub const NID_nSRecord: i32 = 481;
2140pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2141pub const NID_sOARecord: i32 = 482;
2142pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2143pub const NID_cNAMERecord: i32 = 483;
2144pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2145pub const NID_associatedDomain: i32 = 484;
2146pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2147pub const NID_associatedName: i32 = 485;
2148pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2149pub const NID_homePostalAddress: i32 = 486;
2150pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2151pub const NID_personalTitle: i32 = 487;
2152pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2153pub const NID_mobileTelephoneNumber: i32 = 488;
2154pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2155pub const NID_pagerTelephoneNumber: i32 = 489;
2156pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2157pub const NID_friendlyCountryName: i32 = 490;
2158pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2159pub const NID_organizationalStatus: i32 = 491;
2160pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2161pub const NID_janetMailbox: i32 = 492;
2162pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2163pub const NID_mailPreferenceOption: i32 = 493;
2164pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2165pub const NID_buildingName: i32 = 494;
2166pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2167pub const NID_dSAQuality: i32 = 495;
2168pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2169pub const NID_singleLevelQuality: i32 = 496;
2170pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2171pub const NID_subtreeMinimumQuality: i32 = 497;
2172pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2173pub const NID_subtreeMaximumQuality: i32 = 498;
2174pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2175pub const NID_personalSignature: i32 = 499;
2176pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2177pub const NID_dITRedirect: i32 = 500;
2178pub const SN_audio: &[u8; 6] = b"audio\0";
2179pub const NID_audio: i32 = 501;
2180pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2181pub const NID_documentPublisher: i32 = 502;
2182pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2183pub const NID_x500UniqueIdentifier: i32 = 503;
2184pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2185pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2186pub const NID_mime_mhs: i32 = 504;
2187pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2188pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2189pub const NID_mime_mhs_headings: i32 = 505;
2190pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2191pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2192pub const NID_mime_mhs_bodies: i32 = 506;
2193pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2194pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2195pub const NID_id_hex_partial_message: i32 = 507;
2196pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2197pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2198pub const NID_id_hex_multipart_message: i32 = 508;
2199pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2200pub const NID_generationQualifier: i32 = 509;
2201pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2202pub const NID_pseudonym: i32 = 510;
2203pub const SN_id_set: &[u8; 7] = b"id-set\0";
2204pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2205pub const NID_id_set: i32 = 512;
2206pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2207pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2208pub const NID_set_ctype: i32 = 513;
2209pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2210pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2211pub const NID_set_msgExt: i32 = 514;
2212pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2213pub const NID_set_attr: i32 = 515;
2214pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2215pub const NID_set_policy: i32 = 516;
2216pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2217pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2218pub const NID_set_certExt: i32 = 517;
2219pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2220pub const NID_set_brand: i32 = 518;
2221pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2222pub const NID_setct_PANData: i32 = 519;
2223pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2224pub const NID_setct_PANToken: i32 = 520;
2225pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2226pub const NID_setct_PANOnly: i32 = 521;
2227pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2228pub const NID_setct_OIData: i32 = 522;
2229pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2230pub const NID_setct_PI: i32 = 523;
2231pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2232pub const NID_setct_PIData: i32 = 524;
2233pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2234pub const NID_setct_PIDataUnsigned: i32 = 525;
2235pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2236pub const NID_setct_HODInput: i32 = 526;
2237pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2238pub const NID_setct_AuthResBaggage: i32 = 527;
2239pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2240pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2241pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2242pub const NID_setct_AuthRevResBaggage: i32 = 529;
2243pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2244pub const NID_setct_CapTokenSeq: i32 = 530;
2245pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2246pub const NID_setct_PInitResData: i32 = 531;
2247pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2248pub const NID_setct_PI_TBS: i32 = 532;
2249pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2250pub const NID_setct_PResData: i32 = 533;
2251pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2252pub const NID_setct_AuthReqTBS: i32 = 534;
2253pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2254pub const NID_setct_AuthResTBS: i32 = 535;
2255pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2256pub const NID_setct_AuthResTBSX: i32 = 536;
2257pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2258pub const NID_setct_AuthTokenTBS: i32 = 537;
2259pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2260pub const NID_setct_CapTokenData: i32 = 538;
2261pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2262pub const NID_setct_CapTokenTBS: i32 = 539;
2263pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2264pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2265pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2266pub const NID_setct_AuthRevReqTBS: i32 = 541;
2267pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2268pub const NID_setct_AuthRevResData: i32 = 542;
2269pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2270pub const NID_setct_AuthRevResTBS: i32 = 543;
2271pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2272pub const NID_setct_CapReqTBS: i32 = 544;
2273pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2274pub const NID_setct_CapReqTBSX: i32 = 545;
2275pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2276pub const NID_setct_CapResData: i32 = 546;
2277pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2278pub const NID_setct_CapRevReqTBS: i32 = 547;
2279pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2280pub const NID_setct_CapRevReqTBSX: i32 = 548;
2281pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2282pub const NID_setct_CapRevResData: i32 = 549;
2283pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2284pub const NID_setct_CredReqTBS: i32 = 550;
2285pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2286pub const NID_setct_CredReqTBSX: i32 = 551;
2287pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2288pub const NID_setct_CredResData: i32 = 552;
2289pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2290pub const NID_setct_CredRevReqTBS: i32 = 553;
2291pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2292pub const NID_setct_CredRevReqTBSX: i32 = 554;
2293pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2294pub const NID_setct_CredRevResData: i32 = 555;
2295pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2296pub const NID_setct_PCertReqData: i32 = 556;
2297pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2298pub const NID_setct_PCertResTBS: i32 = 557;
2299pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2300pub const NID_setct_BatchAdminReqData: i32 = 558;
2301pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2302pub const NID_setct_BatchAdminResData: i32 = 559;
2303pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2304pub const NID_setct_CardCInitResTBS: i32 = 560;
2305pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2306pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2307pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2308pub const NID_setct_RegFormResTBS: i32 = 562;
2309pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2310pub const NID_setct_CertReqData: i32 = 563;
2311pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2312pub const NID_setct_CertReqTBS: i32 = 564;
2313pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2314pub const NID_setct_CertResData: i32 = 565;
2315pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2316pub const NID_setct_CertInqReqTBS: i32 = 566;
2317pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2318pub const NID_setct_ErrorTBS: i32 = 567;
2319pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2320pub const NID_setct_PIDualSignedTBE: i32 = 568;
2321pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2322pub const NID_setct_PIUnsignedTBE: i32 = 569;
2323pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2324pub const NID_setct_AuthReqTBE: i32 = 570;
2325pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2326pub const NID_setct_AuthResTBE: i32 = 571;
2327pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2328pub const NID_setct_AuthResTBEX: i32 = 572;
2329pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2330pub const NID_setct_AuthTokenTBE: i32 = 573;
2331pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2332pub const NID_setct_CapTokenTBE: i32 = 574;
2333pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2334pub const NID_setct_CapTokenTBEX: i32 = 575;
2335pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2336pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2337pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2338pub const NID_setct_AuthRevReqTBE: i32 = 577;
2339pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2340pub const NID_setct_AuthRevResTBE: i32 = 578;
2341pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2342pub const NID_setct_AuthRevResTBEB: i32 = 579;
2343pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2344pub const NID_setct_CapReqTBE: i32 = 580;
2345pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2346pub const NID_setct_CapReqTBEX: i32 = 581;
2347pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2348pub const NID_setct_CapResTBE: i32 = 582;
2349pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2350pub const NID_setct_CapRevReqTBE: i32 = 583;
2351pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2352pub const NID_setct_CapRevReqTBEX: i32 = 584;
2353pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2354pub const NID_setct_CapRevResTBE: i32 = 585;
2355pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2356pub const NID_setct_CredReqTBE: i32 = 586;
2357pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2358pub const NID_setct_CredReqTBEX: i32 = 587;
2359pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2360pub const NID_setct_CredResTBE: i32 = 588;
2361pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2362pub const NID_setct_CredRevReqTBE: i32 = 589;
2363pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2364pub const NID_setct_CredRevReqTBEX: i32 = 590;
2365pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2366pub const NID_setct_CredRevResTBE: i32 = 591;
2367pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2368pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2369pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2370pub const NID_setct_BatchAdminResTBE: i32 = 593;
2371pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2372pub const NID_setct_RegFormReqTBE: i32 = 594;
2373pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2374pub const NID_setct_CertReqTBE: i32 = 595;
2375pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2376pub const NID_setct_CertReqTBEX: i32 = 596;
2377pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2378pub const NID_setct_CertResTBE: i32 = 597;
2379pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2380pub const NID_setct_CRLNotificationTBS: i32 = 598;
2381pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2382pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2383pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2384pub const NID_setct_BCIDistributionTBS: i32 = 600;
2385pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2386pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2387pub const NID_setext_genCrypt: i32 = 601;
2388pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2389pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2390pub const NID_setext_miAuth: i32 = 602;
2391pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2392pub const NID_setext_pinSecure: i32 = 603;
2393pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2394pub const NID_setext_pinAny: i32 = 604;
2395pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2396pub const NID_setext_track2: i32 = 605;
2397pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2398pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2399pub const NID_setext_cv: i32 = 606;
2400pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2401pub const NID_set_policy_root: i32 = 607;
2402pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2403pub const NID_setCext_hashedRoot: i32 = 608;
2404pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2405pub const NID_setCext_certType: i32 = 609;
2406pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2407pub const NID_setCext_merchData: i32 = 610;
2408pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2409pub const NID_setCext_cCertRequired: i32 = 611;
2410pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2411pub const NID_setCext_tunneling: i32 = 612;
2412pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2413pub const NID_setCext_setExt: i32 = 613;
2414pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2415pub const NID_setCext_setQualf: i32 = 614;
2416pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2417pub const NID_setCext_PGWYcapabilities: i32 = 615;
2418pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2419pub const NID_setCext_TokenIdentifier: i32 = 616;
2420pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2421pub const NID_setCext_Track2Data: i32 = 617;
2422pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2423pub const NID_setCext_TokenType: i32 = 618;
2424pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2425pub const NID_setCext_IssuerCapabilities: i32 = 619;
2426pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2427pub const NID_setAttr_Cert: i32 = 620;
2428pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2429pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2430pub const NID_setAttr_PGWYcap: i32 = 621;
2431pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2432pub const NID_setAttr_TokenType: i32 = 622;
2433pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2434pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2435pub const NID_setAttr_IssCap: i32 = 623;
2436pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2437pub const NID_set_rootKeyThumb: i32 = 624;
2438pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2439pub const NID_set_addPolicy: i32 = 625;
2440pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2441pub const NID_setAttr_Token_EMV: i32 = 626;
2442pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2443pub const NID_setAttr_Token_B0Prime: i32 = 627;
2444pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2445pub const NID_setAttr_IssCap_CVM: i32 = 628;
2446pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2447pub const NID_setAttr_IssCap_T2: i32 = 629;
2448pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2449pub const NID_setAttr_IssCap_Sig: i32 = 630;
2450pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2451pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2452pub const NID_setAttr_GenCryptgrm: i32 = 631;
2453pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2454pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2455pub const NID_setAttr_T2Enc: i32 = 632;
2456pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2457pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2458pub const NID_setAttr_T2cleartxt: i32 = 633;
2459pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2460pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2461pub const NID_setAttr_TokICCsig: i32 = 634;
2462pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2463pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2464pub const NID_setAttr_SecDevSig: i32 = 635;
2465pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2466pub const NID_set_brand_IATA_ATA: i32 = 636;
2467pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2468pub const NID_set_brand_Diners: i32 = 637;
2469pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2470pub const NID_set_brand_AmericanExpress: i32 = 638;
2471pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2472pub const NID_set_brand_JCB: i32 = 639;
2473pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2474pub const NID_set_brand_Visa: i32 = 640;
2475pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2476pub const NID_set_brand_MasterCard: i32 = 641;
2477pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2478pub const NID_set_brand_Novus: i32 = 642;
2479pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2480pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2481pub const NID_des_cdmf: i32 = 643;
2482pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2483pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2484pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2485pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2486pub const NID_itu_t: i32 = 645;
2487pub const OBJ_itu_t: i32 = 0;
2488pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2489pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2490pub const NID_joint_iso_itu_t: i32 = 646;
2491pub const OBJ_joint_iso_itu_t: i32 = 2;
2492pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2493pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2494pub const NID_international_organizations: i32 = 647;
2495pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2496pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2497pub const NID_ms_smartcard_login: i32 = 648;
2498pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2499pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2500pub const NID_ms_upn: i32 = 649;
2501pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2502pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2503pub const NID_aes_128_cfb1: i32 = 650;
2504pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2505pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2506pub const NID_aes_192_cfb1: i32 = 651;
2507pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2508pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2509pub const NID_aes_256_cfb1: i32 = 652;
2510pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2511pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2512pub const NID_aes_128_cfb8: i32 = 653;
2513pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2514pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2515pub const NID_aes_192_cfb8: i32 = 654;
2516pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2517pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2518pub const NID_aes_256_cfb8: i32 = 655;
2519pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2520pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2521pub const NID_des_cfb1: i32 = 656;
2522pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2523pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2524pub const NID_des_cfb8: i32 = 657;
2525pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2526pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2527pub const NID_des_ede3_cfb1: i32 = 658;
2528pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2529pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2530pub const NID_des_ede3_cfb8: i32 = 659;
2531pub const SN_streetAddress: &[u8; 7] = b"street\0";
2532pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2533pub const NID_streetAddress: i32 = 660;
2534pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2535pub const NID_postalCode: i32 = 661;
2536pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2537pub const NID_id_ppl: i32 = 662;
2538pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2539pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2540pub const NID_proxyCertInfo: i32 = 663;
2541pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2542pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2543pub const NID_id_ppl_anyLanguage: i32 = 664;
2544pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2545pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2546pub const NID_id_ppl_inheritAll: i32 = 665;
2547pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2548pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2549pub const NID_name_constraints: i32 = 666;
2550pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2551pub const LN_Independent: &[u8; 12] = b"Independent\0";
2552pub const NID_Independent: i32 = 667;
2553pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2554pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2555pub const NID_sha256WithRSAEncryption: i32 = 668;
2556pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2557pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2558pub const NID_sha384WithRSAEncryption: i32 = 669;
2559pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2560pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2561pub const NID_sha512WithRSAEncryption: i32 = 670;
2562pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2563pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2564pub const NID_sha224WithRSAEncryption: i32 = 671;
2565pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2566pub const LN_sha256: &[u8; 7] = b"sha256\0";
2567pub const NID_sha256: i32 = 672;
2568pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2569pub const LN_sha384: &[u8; 7] = b"sha384\0";
2570pub const NID_sha384: i32 = 673;
2571pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2572pub const LN_sha512: &[u8; 7] = b"sha512\0";
2573pub const NID_sha512: i32 = 674;
2574pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2575pub const LN_sha224: &[u8; 7] = b"sha224\0";
2576pub const NID_sha224: i32 = 675;
2577pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2578pub const NID_identified_organization: i32 = 676;
2579pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2580pub const NID_certicom_arc: i32 = 677;
2581pub const SN_wap: &[u8; 4] = b"wap\0";
2582pub const NID_wap: i32 = 678;
2583pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2584pub const NID_wap_wsg: i32 = 679;
2585pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2586pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2587pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2588pub const NID_X9_62_onBasis: i32 = 681;
2589pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2590pub const NID_X9_62_tpBasis: i32 = 682;
2591pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2592pub const NID_X9_62_ppBasis: i32 = 683;
2593pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2594pub const NID_X9_62_c2pnb163v1: i32 = 684;
2595pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2596pub const NID_X9_62_c2pnb163v2: i32 = 685;
2597pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2598pub const NID_X9_62_c2pnb163v3: i32 = 686;
2599pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2600pub const NID_X9_62_c2pnb176v1: i32 = 687;
2601pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2602pub const NID_X9_62_c2tnb191v1: i32 = 688;
2603pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2604pub const NID_X9_62_c2tnb191v2: i32 = 689;
2605pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2606pub const NID_X9_62_c2tnb191v3: i32 = 690;
2607pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2608pub const NID_X9_62_c2onb191v4: i32 = 691;
2609pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2610pub const NID_X9_62_c2onb191v5: i32 = 692;
2611pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2612pub const NID_X9_62_c2pnb208w1: i32 = 693;
2613pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2614pub const NID_X9_62_c2tnb239v1: i32 = 694;
2615pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2616pub const NID_X9_62_c2tnb239v2: i32 = 695;
2617pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2618pub const NID_X9_62_c2tnb239v3: i32 = 696;
2619pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2620pub const NID_X9_62_c2onb239v4: i32 = 697;
2621pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2622pub const NID_X9_62_c2onb239v5: i32 = 698;
2623pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2624pub const NID_X9_62_c2pnb272w1: i32 = 699;
2625pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2626pub const NID_X9_62_c2pnb304w1: i32 = 700;
2627pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2628pub const NID_X9_62_c2tnb359v1: i32 = 701;
2629pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2630pub const NID_X9_62_c2pnb368w1: i32 = 702;
2631pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2632pub const NID_X9_62_c2tnb431r1: i32 = 703;
2633pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2634pub const NID_secp112r1: i32 = 704;
2635pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2636pub const NID_secp112r2: i32 = 705;
2637pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2638pub const NID_secp128r1: i32 = 706;
2639pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2640pub const NID_secp128r2: i32 = 707;
2641pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2642pub const NID_secp160k1: i32 = 708;
2643pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2644pub const NID_secp160r1: i32 = 709;
2645pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2646pub const NID_secp160r2: i32 = 710;
2647pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2648pub const NID_secp192k1: i32 = 711;
2649pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2650pub const NID_secp224k1: i32 = 712;
2651pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2652pub const NID_secp224r1: i32 = 713;
2653pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2654pub const NID_secp256k1: i32 = 714;
2655pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2656pub const NID_secp384r1: i32 = 715;
2657pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2658pub const NID_secp521r1: i32 = 716;
2659pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2660pub const NID_sect113r1: i32 = 717;
2661pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2662pub const NID_sect113r2: i32 = 718;
2663pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2664pub const NID_sect131r1: i32 = 719;
2665pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2666pub const NID_sect131r2: i32 = 720;
2667pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2668pub const NID_sect163k1: i32 = 721;
2669pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2670pub const NID_sect163r1: i32 = 722;
2671pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2672pub const NID_sect163r2: i32 = 723;
2673pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2674pub const NID_sect193r1: i32 = 724;
2675pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2676pub const NID_sect193r2: i32 = 725;
2677pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2678pub const NID_sect233k1: i32 = 726;
2679pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2680pub const NID_sect233r1: i32 = 727;
2681pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2682pub const NID_sect239k1: i32 = 728;
2683pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2684pub const NID_sect283k1: i32 = 729;
2685pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2686pub const NID_sect283r1: i32 = 730;
2687pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2688pub const NID_sect409k1: i32 = 731;
2689pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2690pub const NID_sect409r1: i32 = 732;
2691pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2692pub const NID_sect571k1: i32 = 733;
2693pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2694pub const NID_sect571r1: i32 = 734;
2695pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2696pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2697pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2698pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2699pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2700pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2701pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2702pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2703pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2704pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2705pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2706pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2707pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2708pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2709pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2710pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2711pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2712pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2713pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2714pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2715pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2716pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2717pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2718pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2719pub const NID_any_policy: i32 = 746;
2720pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2721pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2722pub const NID_policy_mappings: i32 = 747;
2723pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2724pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2725pub const NID_inhibit_any_policy: i32 = 748;
2726pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2727pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2728pub const NID_ipsec3: i32 = 749;
2729pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2730pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2731pub const NID_ipsec4: i32 = 750;
2732pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2733pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2734pub const NID_camellia_128_cbc: i32 = 751;
2735pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2736pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2737pub const NID_camellia_192_cbc: i32 = 752;
2738pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2739pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2740pub const NID_camellia_256_cbc: i32 = 753;
2741pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2742pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2743pub const NID_camellia_128_ecb: i32 = 754;
2744pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2745pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2746pub const NID_camellia_192_ecb: i32 = 755;
2747pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2748pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2749pub const NID_camellia_256_ecb: i32 = 756;
2750pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2751pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2752pub const NID_camellia_128_cfb128: i32 = 757;
2753pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2754pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2755pub const NID_camellia_192_cfb128: i32 = 758;
2756pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2757pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2758pub const NID_camellia_256_cfb128: i32 = 759;
2759pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2760pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2761pub const NID_camellia_128_cfb1: i32 = 760;
2762pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2763pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2764pub const NID_camellia_192_cfb1: i32 = 761;
2765pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2766pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2767pub const NID_camellia_256_cfb1: i32 = 762;
2768pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2769pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2770pub const NID_camellia_128_cfb8: i32 = 763;
2771pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2772pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2773pub const NID_camellia_192_cfb8: i32 = 764;
2774pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2775pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2776pub const NID_camellia_256_cfb8: i32 = 765;
2777pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2778pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2779pub const NID_camellia_128_ofb128: i32 = 766;
2780pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2781pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2782pub const NID_camellia_192_ofb128: i32 = 767;
2783pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2784pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2785pub const NID_camellia_256_ofb128: i32 = 768;
2786pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2787pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2788pub const NID_subject_directory_attributes: i32 = 769;
2789pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2790pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2791pub const NID_issuing_distribution_point: i32 = 770;
2792pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2793pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2794pub const NID_certificate_issuer: i32 = 771;
2795pub const SN_kisa: &[u8; 5] = b"KISA\0";
2796pub const LN_kisa: &[u8; 5] = b"kisa\0";
2797pub const NID_kisa: i32 = 773;
2798pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2799pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2800pub const NID_seed_ecb: i32 = 776;
2801pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2802pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2803pub const NID_seed_cbc: i32 = 777;
2804pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2805pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2806pub const NID_seed_ofb128: i32 = 778;
2807pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2808pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2809pub const NID_seed_cfb128: i32 = 779;
2810pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2811pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2812pub const NID_hmac_md5: i32 = 780;
2813pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2814pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2815pub const NID_hmac_sha1: i32 = 781;
2816pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2817pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2818pub const NID_id_PasswordBasedMAC: i32 = 782;
2819pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2820pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2821pub const NID_id_DHBasedMac: i32 = 783;
2822pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2823pub const NID_id_it_suppLangTags: i32 = 784;
2824pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2825pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2826pub const NID_caRepository: i32 = 785;
2827pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2828pub const NID_id_smime_ct_compressedData: i32 = 786;
2829pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2830pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2831pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2832pub const NID_id_aes128_wrap: i32 = 788;
2833pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2834pub const NID_id_aes192_wrap: i32 = 789;
2835pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2836pub const NID_id_aes256_wrap: i32 = 790;
2837pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2838pub const NID_ecdsa_with_Recommended: i32 = 791;
2839pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2840pub const NID_ecdsa_with_Specified: i32 = 792;
2841pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2842pub const NID_ecdsa_with_SHA224: i32 = 793;
2843pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2844pub const NID_ecdsa_with_SHA256: i32 = 794;
2845pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2846pub const NID_ecdsa_with_SHA384: i32 = 795;
2847pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2848pub const NID_ecdsa_with_SHA512: i32 = 796;
2849pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2850pub const NID_hmacWithMD5: i32 = 797;
2851pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2852pub const NID_hmacWithSHA224: i32 = 798;
2853pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2854pub const NID_hmacWithSHA256: i32 = 799;
2855pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2856pub const NID_hmacWithSHA384: i32 = 800;
2857pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2858pub const NID_hmacWithSHA512: i32 = 801;
2859pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2860pub const NID_dsa_with_SHA224: i32 = 802;
2861pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2862pub const NID_dsa_with_SHA256: i32 = 803;
2863pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2864pub const NID_whirlpool: i32 = 804;
2865pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2866pub const NID_cryptopro: i32 = 805;
2867pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2868pub const NID_cryptocom: i32 = 806;
2869pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2870    b"id-GostR3411-94-with-GostR3410-2001\0";
2871pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2872    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2873pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2874pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2875pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2876    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2877pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2878pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2879pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2880pub const NID_id_GostR3411_94: i32 = 809;
2881pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2882pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2883pub const NID_id_HMACGostR3411_94: i32 = 810;
2884pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2885pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2886pub const NID_id_GostR3410_2001: i32 = 811;
2887pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2888pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2889pub const NID_id_GostR3410_94: i32 = 812;
2890pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2891pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2892pub const NID_id_Gost28147_89: i32 = 813;
2893pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2894pub const NID_gost89_cnt: i32 = 814;
2895pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2896pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2897pub const NID_id_Gost28147_89_MAC: i32 = 815;
2898pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2899pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2900pub const NID_id_GostR3411_94_prf: i32 = 816;
2901pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2902pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2903pub const NID_id_GostR3410_2001DH: i32 = 817;
2904pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2905pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2906pub const NID_id_GostR3410_94DH: i32 = 818;
2907pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2908    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2909pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2910pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2911pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2912pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2913pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2914pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2915pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2916pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2917pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2918pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2919    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2920pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2921pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2922    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2923pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2924pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2925    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2926pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2927pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2928    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2929pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2930pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2931    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2932pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2933pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2934    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2935pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2936pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2937    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2938pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2939pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2940pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2941pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2942    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2943pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2944pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2945    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2946pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2947pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2948    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2949pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2950pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2951    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2952pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2953pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2954    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2955pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2956pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2957    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2958pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2959pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2960    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2961pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2962pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2963pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2964pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2965    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2966pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2967pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2968    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2969pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2970pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2971    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2972pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2973pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2974    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2975pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2976pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2977    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2978pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2979pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2980pub const NID_id_GostR3410_94_a: i32 = 845;
2981pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2982pub const NID_id_GostR3410_94_aBis: i32 = 846;
2983pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2984pub const NID_id_GostR3410_94_b: i32 = 847;
2985pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2986pub const NID_id_GostR3410_94_bBis: i32 = 848;
2987pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2988pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2989pub const NID_id_Gost28147_89_cc: i32 = 849;
2990pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2991pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2992pub const NID_id_GostR3410_94_cc: i32 = 850;
2993pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2994pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2995pub const NID_id_GostR3410_2001_cc: i32 = 851;
2996pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2997    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2998pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2999    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
3000pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
3001pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
3002    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
3003pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
3004    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
3005pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
3006pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
3007pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
3008    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
3009pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
3010pub const SN_hmac: &[u8; 5] = b"HMAC\0";
3011pub const LN_hmac: &[u8; 5] = b"hmac\0";
3012pub const NID_hmac: i32 = 855;
3013pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
3014pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
3015pub const NID_LocalKeySet: i32 = 856;
3016pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
3017pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
3018pub const NID_freshest_crl: i32 = 857;
3019pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
3020pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
3021pub const NID_id_on_permanentIdentifier: i32 = 858;
3022pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
3023pub const NID_searchGuide: i32 = 859;
3024pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
3025pub const NID_businessCategory: i32 = 860;
3026pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
3027pub const NID_postalAddress: i32 = 861;
3028pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
3029pub const NID_postOfficeBox: i32 = 862;
3030pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
3031pub const NID_physicalDeliveryOfficeName: i32 = 863;
3032pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
3033pub const NID_telephoneNumber: i32 = 864;
3034pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
3035pub const NID_telexNumber: i32 = 865;
3036pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
3037pub const NID_teletexTerminalIdentifier: i32 = 866;
3038pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
3039pub const NID_facsimileTelephoneNumber: i32 = 867;
3040pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
3041pub const NID_x121Address: i32 = 868;
3042pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
3043pub const NID_internationaliSDNNumber: i32 = 869;
3044pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
3045pub const NID_registeredAddress: i32 = 870;
3046pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
3047pub const NID_destinationIndicator: i32 = 871;
3048pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
3049pub const NID_preferredDeliveryMethod: i32 = 872;
3050pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
3051pub const NID_presentationAddress: i32 = 873;
3052pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3053pub const NID_supportedApplicationContext: i32 = 874;
3054pub const SN_member: &[u8; 7] = b"member\0";
3055pub const NID_member: i32 = 875;
3056pub const SN_owner: &[u8; 6] = b"owner\0";
3057pub const NID_owner: i32 = 876;
3058pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3059pub const NID_roleOccupant: i32 = 877;
3060pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3061pub const NID_seeAlso: i32 = 878;
3062pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3063pub const NID_userPassword: i32 = 879;
3064pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3065pub const NID_userCertificate: i32 = 880;
3066pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3067pub const NID_cACertificate: i32 = 881;
3068pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3069pub const NID_authorityRevocationList: i32 = 882;
3070pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3071pub const NID_certificateRevocationList: i32 = 883;
3072pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3073pub const NID_crossCertificatePair: i32 = 884;
3074pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3075pub const NID_enhancedSearchGuide: i32 = 885;
3076pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3077pub const NID_protocolInformation: i32 = 886;
3078pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3079pub const NID_distinguishedName: i32 = 887;
3080pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3081pub const NID_uniqueMember: i32 = 888;
3082pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3083pub const NID_houseIdentifier: i32 = 889;
3084pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3085pub const NID_supportedAlgorithms: i32 = 890;
3086pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3087pub const NID_deltaRevocationList: i32 = 891;
3088pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3089pub const NID_dmdName: i32 = 892;
3090pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3091pub const NID_id_alg_PWRI_KEK: i32 = 893;
3092pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3093pub const LN_cmac: &[u8; 5] = b"cmac\0";
3094pub const NID_cmac: i32 = 894;
3095pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3096pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3097pub const NID_aes_128_gcm: i32 = 895;
3098pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3099pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3100pub const NID_aes_128_ccm: i32 = 896;
3101pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3102pub const NID_id_aes128_wrap_pad: i32 = 897;
3103pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3104pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3105pub const NID_aes_192_gcm: i32 = 898;
3106pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3107pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3108pub const NID_aes_192_ccm: i32 = 899;
3109pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3110pub const NID_id_aes192_wrap_pad: i32 = 900;
3111pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3112pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3113pub const NID_aes_256_gcm: i32 = 901;
3114pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3115pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3116pub const NID_aes_256_ccm: i32 = 902;
3117pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3118pub const NID_id_aes256_wrap_pad: i32 = 903;
3119pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3120pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3121pub const NID_aes_128_ctr: i32 = 904;
3122pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3123pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3124pub const NID_aes_192_ctr: i32 = 905;
3125pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3126pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3127pub const NID_aes_256_ctr: i32 = 906;
3128pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3129pub const NID_id_camellia128_wrap: i32 = 907;
3130pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3131pub const NID_id_camellia192_wrap: i32 = 908;
3132pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3133pub const NID_id_camellia256_wrap: i32 = 909;
3134pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3135pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3136pub const NID_anyExtendedKeyUsage: i32 = 910;
3137pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3138pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3139pub const NID_mgf1: i32 = 911;
3140pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3141pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3142pub const NID_rsassaPss: i32 = 912;
3143pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3144pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3145pub const NID_aes_128_xts: i32 = 913;
3146pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3147pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3148pub const NID_aes_256_xts: i32 = 914;
3149pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3150pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3151pub const NID_rc4_hmac_md5: i32 = 915;
3152pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3153pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3154pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3155pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3156pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3157pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3158pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3159pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3160pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3161pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3162pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3163pub const NID_rsaesOaep: i32 = 919;
3164pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3165pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3166pub const NID_dhpublicnumber: i32 = 920;
3167pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3168pub const NID_brainpoolP160r1: i32 = 921;
3169pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3170pub const NID_brainpoolP160t1: i32 = 922;
3171pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3172pub const NID_brainpoolP192r1: i32 = 923;
3173pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3174pub const NID_brainpoolP192t1: i32 = 924;
3175pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3176pub const NID_brainpoolP224r1: i32 = 925;
3177pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3178pub const NID_brainpoolP224t1: i32 = 926;
3179pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3180pub const NID_brainpoolP256r1: i32 = 927;
3181pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3182pub const NID_brainpoolP256t1: i32 = 928;
3183pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3184pub const NID_brainpoolP320r1: i32 = 929;
3185pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3186pub const NID_brainpoolP320t1: i32 = 930;
3187pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3188pub const NID_brainpoolP384r1: i32 = 931;
3189pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3190pub const NID_brainpoolP384t1: i32 = 932;
3191pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3192pub const NID_brainpoolP512r1: i32 = 933;
3193pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3194pub const NID_brainpoolP512t1: i32 = 934;
3195pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3196pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3197pub const NID_pSpecified: i32 = 935;
3198pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3199pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3200pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3201    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3202pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3203pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3204    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3205pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3206pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3207    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3208pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3209pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3210    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3211pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3212pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3213    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3214pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3215pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3216    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3217pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3218pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3219    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3220pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3221pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3222    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3223pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3224pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3225    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3226pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3227pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3228pub const NID_dh_std_kdf: i32 = 946;
3229pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3230pub const NID_dh_cofactor_kdf: i32 = 947;
3231pub const SN_X25519: &[u8; 7] = b"X25519\0";
3232pub const NID_X25519: i32 = 948;
3233pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3234pub const NID_ED25519: i32 = 949;
3235pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3236pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3237pub const NID_chacha20_poly1305: i32 = 950;
3238pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3239pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3240pub const NID_kx_rsa: i32 = 951;
3241pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3242pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3243pub const NID_kx_ecdhe: i32 = 952;
3244pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3245pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3246pub const NID_kx_psk: i32 = 953;
3247pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3248pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3249pub const NID_auth_rsa: i32 = 954;
3250pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3251pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3252pub const NID_auth_ecdsa: i32 = 955;
3253pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3254pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3255pub const NID_auth_psk: i32 = 956;
3256pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3257pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3258pub const NID_kx_any: i32 = 957;
3259pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3260pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3261pub const NID_auth_any: i32 = 958;
3262pub const SN_ED448: &[u8; 6] = b"ED448\0";
3263pub const NID_ED448: i32 = 960;
3264pub const SN_X448: &[u8; 5] = b"X448\0";
3265pub const NID_X448: i32 = 961;
3266pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3267pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3268pub const NID_sha512_256: i32 = 962;
3269pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3270pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3271pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3272pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3273pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3274pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3275pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3276pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3277pub const NID_sha3_224: i32 = 965;
3278pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3279pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3280pub const NID_sha3_256: i32 = 966;
3281pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3282pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3283pub const NID_sha3_384: i32 = 967;
3284pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3285pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3286pub const NID_sha3_512: i32 = 968;
3287pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3288pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3289pub const NID_hkdf: i32 = 969;
3290pub const SN_kem: &[u8; 4] = b"KEM\0";
3291pub const LN_kem: &[u8; 4] = b"kem\0";
3292pub const NID_kem: i32 = 970;
3293pub const SN_KYBER512: &[u8; 9] = b"KYBER512\0";
3294pub const NID_KYBER512: i32 = 971;
3295pub const SN_KYBER512_R3: &[u8; 12] = b"KYBER512_R3\0";
3296pub const NID_KYBER512_R3: i32 = 972;
3297pub const SN_KYBER768_R3: &[u8; 12] = b"KYBER768_R3\0";
3298pub const NID_KYBER768_R3: i32 = 973;
3299pub const SN_KYBER1024_R3: &[u8; 13] = b"KYBER1024_R3\0";
3300pub const NID_KYBER1024_R3: i32 = 974;
3301pub const SN_DILITHIUM3_R3: &[u8; 14] = b"DILITHIUM3_R3\0";
3302pub const NID_DILITHIUM3_R3: i32 = 975;
3303pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3304pub const NID_ffdhe2048: i32 = 976;
3305pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3306pub const NID_ffdhe4096: i32 = 977;
3307pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3308pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3309pub const NID_sha512_224: i32 = 978;
3310pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3311pub const LN_shake128: &[u8; 9] = b"shake128\0";
3312pub const NID_shake128: i32 = 979;
3313pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3314pub const LN_shake256: &[u8; 9] = b"shake256\0";
3315pub const NID_shake256: i32 = 980;
3316pub const SN_SecP256r1Kyber768Draft00: &[u8; 25] = b"SecP256r1Kyber768Draft00\0";
3317pub const NID_SecP256r1Kyber768Draft00: i32 = 981;
3318pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3319pub const NID_X25519Kyber768Draft00: i32 = 982;
3320pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3321pub const NID_ffdhe3072: i32 = 983;
3322pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3323pub const NID_ffdhe8192: i32 = 984;
3324pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3325pub const NID_MLKEM512IPD: i32 = 985;
3326pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3327pub const NID_MLKEM768IPD: i32 = 986;
3328pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3329pub const NID_MLKEM1024IPD: i32 = 987;
3330pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3331pub const NID_MLKEM512: i32 = 988;
3332pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3333pub const NID_MLKEM768: i32 = 989;
3334pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3335pub const NID_MLKEM1024: i32 = 990;
3336pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3337pub const NID_X25519MLKEM768: i32 = 991;
3338pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3339pub const NID_SecP256r1MLKEM768: i32 = 992;
3340pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3341pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3342pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3343pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3344pub const EVP_PKEY_NONE: i32 = 0;
3345pub const EVP_PKEY_RSA: i32 = 6;
3346pub const EVP_PKEY_RSA_PSS: i32 = 912;
3347pub const EVP_PKEY_EC: i32 = 408;
3348pub const EVP_PKEY_ED25519: i32 = 949;
3349pub const EVP_PKEY_X25519: i32 = 948;
3350pub const EVP_PKEY_HKDF: i32 = 969;
3351pub const EVP_PKEY_HMAC: i32 = 855;
3352pub const EVP_PKEY_DH: i32 = 28;
3353pub const EVP_PKEY_KEM: i32 = 970;
3354pub const PKCS5_SALT_LEN: i32 = 8;
3355pub const EVP_PKEY_RSA2: i32 = 19;
3356pub const EVP_PKEY_X448: i32 = 961;
3357pub const EVP_PKEY_ED448: i32 = 960;
3358pub const EVP_PKEY_DSA: i32 = 116;
3359pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3360pub const MD5_CBLOCK: i32 = 64;
3361pub const MD5_DIGEST_LENGTH: i32 = 16;
3362pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3363pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3364pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3365pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3366pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3367pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3368pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3369pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3370pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3371pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3372pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3373pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3374pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3375pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3376pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 32;
3377pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 32;
3378pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 32;
3379pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3380pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3381pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3382pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3383pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3384pub const HRSS_SAMPLE_BYTES: i32 = 700;
3385pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3386pub const HRSS_ENCAP_BYTES: i32 = 1400;
3387pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3388pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3389pub const HRSS_KEY_BYTES: i32 = 32;
3390pub const HRSS_POLY3_BYTES: i32 = 140;
3391pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3392pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3393pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3394pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3395pub const MD4_CBLOCK: i32 = 64;
3396pub const MD4_DIGEST_LENGTH: i32 = 16;
3397pub const PKCS7_DETACHED: i32 = 64;
3398pub const PKCS7_BINARY: i32 = 128;
3399pub const PKCS7_NOATTR: i32 = 256;
3400pub const PKCS7_PARTIAL: i32 = 16384;
3401pub const PKCS7_TEXT: i32 = 1;
3402pub const PKCS7_NOCERTS: i32 = 2;
3403pub const PKCS7_NOSMIMECAP: i32 = 512;
3404pub const PKCS7_STREAM: i32 = 4096;
3405pub const PKCS7_NOSIGS: i32 = 4;
3406pub const PKCS7_NOCHAIN: i32 = 8;
3407pub const PKCS7_NOINTERN: i32 = 16;
3408pub const PKCS7_NOVERIFY: i32 = 32;
3409pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3410pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3411pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3412pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3413pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 104;
3414pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 105;
3415pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 106;
3416pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 107;
3417pub const RSA_PKCS1_PADDING: i32 = 1;
3418pub const RSA_NO_PADDING: i32 = 3;
3419pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3420pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3421pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3422pub const RSA_FLAG_OPAQUE: i32 = 1;
3423pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3424pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3425pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3426pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3427pub const RSA_3: i32 = 3;
3428pub const RSA_F4: i32 = 65537;
3429pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3430pub const RSA_R_BAD_ENCODING: i32 = 100;
3431pub const RSA_R_BAD_E_VALUE: i32 = 101;
3432pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3433pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3434pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3435pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3436pub const RSA_R_BAD_VERSION: i32 = 106;
3437pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3438pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3439pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3440pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3441pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3442pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3443pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3444pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3445pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3446pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3447pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3448pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3449pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3450pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3451pub const RSA_R_ENCODE_ERROR: i32 = 121;
3452pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3453pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3454pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3455pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3456pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3457pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3458pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3459pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3460pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3461pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3462pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3463pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3464pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3465pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3466pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3467pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3468pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3469pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3470pub const RSA_R_TOO_LONG: i32 = 140;
3471pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3472pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3473pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3474pub const RSA_R_VALUE_MISSING: i32 = 144;
3475pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3476pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3477pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3478pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3479pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3480pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3481pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3482pub const X509V3_R_BAD_OBJECT: i32 = 101;
3483pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3484pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3485pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3486pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3487pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3488pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3489pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3490pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3491pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3492pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3493pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3494pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3495pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3496pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3497pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3498pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3499pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3500pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3501pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3502pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3503pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3504pub const X509V3_R_INVALID_NAME: i32 = 123;
3505pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3506pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3507pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3508pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3509pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3510pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3511pub const X509V3_R_INVALID_OPTION: i32 = 130;
3512pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3513pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3514pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3515pub const X509V3_R_INVALID_SECTION: i32 = 134;
3516pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3517pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3518pub const X509V3_R_MISSING_VALUE: i32 = 137;
3519pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3520pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3521pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3522pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3523pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3524pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3525pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3526pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3527pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3528pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3529pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3530pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3531pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3532pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3533pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3534pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3535pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3536pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3537pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3538pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3539pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3540pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3541pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3542pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3543pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3544pub const X509V3_R_INVALID_VALUE: i32 = 163;
3545pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3546pub const X509_VERSION_1: i32 = 0;
3547pub const X509_VERSION_2: i32 = 1;
3548pub const X509_VERSION_3: i32 = 2;
3549pub const EXFLAG_BCONS: i32 = 1;
3550pub const EXFLAG_KUSAGE: i32 = 2;
3551pub const EXFLAG_XKUSAGE: i32 = 4;
3552pub const EXFLAG_NSCERT: i32 = 8;
3553pub const EXFLAG_CA: i32 = 16;
3554pub const EXFLAG_SI: i32 = 32;
3555pub const EXFLAG_V1: i32 = 64;
3556pub const EXFLAG_INVALID: i32 = 128;
3557pub const EXFLAG_SET: i32 = 256;
3558pub const EXFLAG_CRITICAL: i32 = 512;
3559pub const EXFLAG_SS: i32 = 8192;
3560pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3561pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3562pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3563pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3564pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3565pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3566pub const X509v3_KU_CRL_SIGN: i32 = 2;
3567pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3568pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3569pub const XKU_SSL_SERVER: i32 = 1;
3570pub const XKU_SSL_CLIENT: i32 = 2;
3571pub const XKU_SMIME: i32 = 4;
3572pub const XKU_CODE_SIGN: i32 = 8;
3573pub const XKU_SGC: i32 = 16;
3574pub const XKU_OCSP_SIGN: i32 = 32;
3575pub const XKU_TIMESTAMP: i32 = 64;
3576pub const XKU_DVCS: i32 = 128;
3577pub const XKU_ANYEKU: i32 = 256;
3578pub const X509_SIG_INFO_VALID: i32 = 1;
3579pub const X509_SIG_INFO_TLS: i32 = 2;
3580pub const X509_CRL_VERSION_1: i32 = 0;
3581pub const X509_CRL_VERSION_2: i32 = 1;
3582pub const X509_REQ_VERSION_1: i32 = 0;
3583pub const GEN_OTHERNAME: i32 = 0;
3584pub const GEN_EMAIL: i32 = 1;
3585pub const GEN_DNS: i32 = 2;
3586pub const GEN_X400: i32 = 3;
3587pub const GEN_DIRNAME: i32 = 4;
3588pub const GEN_EDIPARTY: i32 = 5;
3589pub const GEN_URI: i32 = 6;
3590pub const GEN_IPADD: i32 = 7;
3591pub const GEN_RID: i32 = 8;
3592pub const X509_V_OK: i32 = 0;
3593pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3594pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3595pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3596pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3597pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3598pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3599pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3600pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3601pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3602pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3603pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3604pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3605pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3606pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3607pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3608pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3609pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3610pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3611pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3612pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3613pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3614pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3615pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3616pub const X509_V_ERR_INVALID_CA: i32 = 24;
3617pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3618pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3619pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3620pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3621pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3622pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3623pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3624pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3625pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3626pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3627pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3628pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3629pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3630pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3631pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3632pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3633pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3634pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3635pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3636pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3637pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3638pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3639pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3640pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3641pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3642pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3643pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3644pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3645pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3646pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3647pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3648pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3649pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3650pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3651pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3652pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3653pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3654pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3655pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3656pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3657pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3658pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3659pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3660pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3661pub const X509_PURPOSE_ANY: i32 = 7;
3662pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3663pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3664pub const X509_TRUST_COMPAT: i32 = 1;
3665pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3666pub const X509_TRUST_SSL_SERVER: i32 = 3;
3667pub const X509_TRUST_EMAIL: i32 = 4;
3668pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3669pub const X509_TRUST_TSA: i32 = 8;
3670pub const X509_FLAG_COMPAT: i32 = 0;
3671pub const X509_FLAG_NO_HEADER: i32 = 1;
3672pub const X509_FLAG_NO_VERSION: i32 = 2;
3673pub const X509_FLAG_NO_SERIAL: i32 = 4;
3674pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3675pub const X509_FLAG_NO_ISSUER: i32 = 16;
3676pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3677pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3678pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3679pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3680pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3681pub const X509_FLAG_NO_AUX: i32 = 1024;
3682pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3683pub const X509_FLAG_NO_IDS: i32 = 4096;
3684pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3685pub const X509V3_EXT_DEFAULT: i32 = 0;
3686pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3687pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3688pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3689pub const XN_FLAG_COMPAT: i32 = 0;
3690pub const XN_FLAG_SEP_MASK: i32 = 983040;
3691pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3692pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3693pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3694pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3695pub const XN_FLAG_DN_REV: i32 = 1048576;
3696pub const XN_FLAG_FN_MASK: i32 = 6291456;
3697pub const XN_FLAG_FN_SN: i32 = 0;
3698pub const XN_FLAG_FN_LN: i32 = 2097152;
3699pub const XN_FLAG_FN_OID: i32 = 4194304;
3700pub const XN_FLAG_FN_NONE: i32 = 6291456;
3701pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3702pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3703pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
3704pub const XN_FLAG_RFC2253: i32 = 17892119;
3705pub const XN_FLAG_ONELINE: i32 = 8520479;
3706pub const XN_FLAG_MULTILINE: i32 = 44302342;
3707pub const X509_TRUST_TRUSTED: i32 = 1;
3708pub const X509_TRUST_REJECTED: i32 = 2;
3709pub const X509_TRUST_UNTRUSTED: i32 = 3;
3710pub const X509V3_CTX_TEST: i32 = 1;
3711pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3712pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3713pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3714pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3715pub const X509_TRUST_DEFAULT: i32 = -1;
3716pub const X509_LU_NONE: i32 = 0;
3717pub const X509_LU_X509: i32 = 1;
3718pub const X509_LU_CRL: i32 = 2;
3719pub const X509_LU_PKEY: i32 = 3;
3720pub const X509_L_FILE_LOAD: i32 = 1;
3721pub const X509_L_ADD_DIR: i32 = 2;
3722pub const X509_FILETYPE_PEM: i32 = 1;
3723pub const X509_FILETYPE_ASN1: i32 = 2;
3724pub const X509_FILETYPE_DEFAULT: i32 = 3;
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_V_FLAG_POLICY_MASK: i32 = 1920;
3745pub const X509V3_EXT_CTX_DEP: i32 = 2;
3746pub const X509V3_EXT_MULTILINE: i32 = 4;
3747pub const CRLDP_ALL_REASONS: i32 = 32895;
3748pub const NS_SSL_CLIENT: i32 = 128;
3749pub const NS_SSL_SERVER: i32 = 64;
3750pub const NS_SMIME: i32 = 32;
3751pub const NS_OBJSIGN: i32 = 16;
3752pub const NS_SSL_CA: i32 = 4;
3753pub const NS_SMIME_CA: i32 = 2;
3754pub const NS_OBJSIGN_CA: i32 = 1;
3755pub const NS_ANY_CA: i32 = 7;
3756pub const X509V3_ADD_OP_MASK: i32 = 15;
3757pub const X509V3_ADD_DEFAULT: i32 = 0;
3758pub const X509V3_ADD_APPEND: i32 = 1;
3759pub const X509V3_ADD_REPLACE: i32 = 2;
3760pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3761pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3762pub const X509V3_ADD_DELETE: i32 = 5;
3763pub const X509V3_ADD_SILENT: i32 = 16;
3764pub const X509_R_AKID_MISMATCH: i32 = 100;
3765pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3766pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3767pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3768pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3769pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3770pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3771pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3772pub const X509_R_IDP_MISMATCH: i32 = 108;
3773pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3774pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3775pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3776pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3777pub const X509_R_INVALID_TRUST: i32 = 113;
3778pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3779pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3780pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3781pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3782pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3783pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3784pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3785pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3786pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3787pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3788pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3789pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3790pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3791pub const X509_R_SHOULD_RETRY: i32 = 127;
3792pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3793pub const X509_R_UNKNOWN_NID: i32 = 129;
3794pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3795pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3796pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3797pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3798pub const X509_R_WRONG_TYPE: i32 = 134;
3799pub const X509_R_NAME_TOO_LONG: i32 = 135;
3800pub const X509_R_INVALID_PARAMETER: i32 = 136;
3801pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3802pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3803pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3804pub const X509_R_INVALID_VERSION: i32 = 140;
3805pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3806pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3807pub const X509_R_NO_CRL_FOUND: i32 = 143;
3808pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3809pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
3810pub const CRL_REASON_NONE: i32 = -1;
3811pub const CRL_REASON_UNSPECIFIED: i32 = 0;
3812pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
3813pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
3814pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
3815pub const CRL_REASON_SUPERSEDED: i32 = 4;
3816pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
3817pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
3818pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
3819pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
3820pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
3821pub const KU_DIGITAL_SIGNATURE: i32 = 128;
3822pub const KU_NON_REPUDIATION: i32 = 64;
3823pub const KU_KEY_ENCIPHERMENT: i32 = 32;
3824pub const KU_DATA_ENCIPHERMENT: i32 = 16;
3825pub const KU_KEY_AGREEMENT: i32 = 8;
3826pub const KU_KEY_CERT_SIGN: i32 = 4;
3827pub const KU_CRL_SIGN: i32 = 2;
3828pub const KU_ENCIPHER_ONLY: i32 = 1;
3829pub const KU_DECIPHER_ONLY: i32 = 32768;
3830pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
3831pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
3832pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
3833pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
3834pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
3835pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
3836pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
3837pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
3838pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
3839pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
3840pub const OCSP_NOCERTS: i32 = 1;
3841pub const OCSP_NOINTERN: i32 = 2;
3842pub const OCSP_NOCHAIN: i32 = 8;
3843pub const OCSP_NOVERIFY: i32 = 16;
3844pub const OCSP_NOEXPLICIT: i32 = 32;
3845pub const OCSP_TRUSTOTHER: i32 = 512;
3846pub const OCSP_RESPID_KEY: i32 = 1024;
3847pub const OCSP_NOTIME: i32 = 2048;
3848pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
3849pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
3850pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
3851pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
3852pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
3853pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
3854pub const V_OCSP_RESPID_NAME: i32 = 0;
3855pub const V_OCSP_RESPID_KEY: i32 = 1;
3856pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
3857pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
3858pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
3859pub const OCSP_NONCE_EQUAL: i32 = 1;
3860pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
3861pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
3862pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
3863pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
3864pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
3865pub const OCSP_R_DIGEST_ERR: i32 = 102;
3866pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
3867pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
3868pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
3869pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
3870pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
3871pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
3872pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
3873pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
3874pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
3875pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
3876pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
3877pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
3878pub const OCSP_R_UNKNOWN_NID: i32 = 120;
3879pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
3880pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
3881pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
3882pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
3883pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
3884pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
3885pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
3886pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
3887pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
3888pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
3889pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
3890pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
3891pub const PEM_BUFSIZE: i32 = 1024;
3892pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3893pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3894pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3895pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3896pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3897pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
3898pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
3899pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
3900pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
3901pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
3902pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
3903pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
3904pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
3905pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
3906pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
3907pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
3908pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
3909pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
3910pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
3911pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
3912pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
3913pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
3914pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
3915pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
3916pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
3917pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
3918pub const PEM_TYPE_ENCRYPTED: i32 = 10;
3919pub const PEM_TYPE_MIC_ONLY: i32 = 20;
3920pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
3921pub const PEM_TYPE_CLEAR: i32 = 40;
3922pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
3923pub const PEM_R_BAD_DECRYPT: i32 = 101;
3924pub const PEM_R_BAD_END_LINE: i32 = 102;
3925pub const PEM_R_BAD_IV_CHARS: i32 = 103;
3926pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
3927pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
3928pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
3929pub const PEM_R_NOT_DEK_INFO: i32 = 107;
3930pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
3931pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
3932pub const PEM_R_NO_START_LINE: i32 = 110;
3933pub const PEM_R_READ_KEY: i32 = 111;
3934pub const PEM_R_SHORT_HEADER: i32 = 112;
3935pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
3936pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
3937pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
3938pub const PKCS12_DEFAULT_ITER: i32 = 2048;
3939pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
3940pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
3941pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
3942pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
3943pub const PKCS8_R_DECODE_ERROR: i32 = 104;
3944pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
3945pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
3946pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
3947pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
3948pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
3949pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
3950pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
3951pub const PKCS8_R_MISSING_MAC: i32 = 112;
3952pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
3953pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
3954pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
3955pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
3956pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
3957pub const PKCS8_R_TOO_LONG: i32 = 118;
3958pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
3959pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
3960pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
3961pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
3962pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
3963pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
3964pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
3965pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
3966pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
3967pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
3968pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
3969pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
3970pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
3971pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
3972pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
3973pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
3974pub const RIPEMD160_CBLOCK: i32 = 64;
3975pub const RIPEMD160_LBLOCK: i32 = 16;
3976pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
3977pub const AWSLC_MODE_STRING: &[u8; 8] = b"AWS-LC \0";
3978pub const AWSLC_VERSION_STRING: &[u8; 13] = b"AWS-LC 3.3.0\0";
3979pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
3980pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
3981pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
3982pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
3983pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
3984pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
3985pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
3986pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
3987pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
3988pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
3989pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
3990pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
3991pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
3992pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
3993pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
3994pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
3995pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
3996pub type __off_t = ::std::os::raw::c_long;
3997pub type __off64_t = ::std::os::raw::c_long;
3998pub type __time_t = ::std::os::raw::c_long;
3999pub type time_t = __time_t;
4000pub type ossl_ssize_t = isize;
4001pub type CBS_ASN1_TAG = u32;
4002pub type CRYPTO_THREADID = ::std::os::raw::c_int;
4003#[repr(C)]
4004#[derive(Debug, Copy, Clone)]
4005pub struct asn1_null_st {
4006    _unused: [u8; 0],
4007}
4008pub type ASN1_NULL = asn1_null_st;
4009pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4010pub type ASN1_ITEM = ASN1_ITEM_st;
4011#[repr(C)]
4012#[derive(Debug, Copy, Clone)]
4013pub struct asn1_object_st {
4014    _unused: [u8; 0],
4015}
4016pub type ASN1_OBJECT = asn1_object_st;
4017#[repr(C)]
4018#[derive(Debug, Copy, Clone)]
4019pub struct asn1_pctx_st {
4020    _unused: [u8; 0],
4021}
4022pub type ASN1_PCTX = asn1_pctx_st;
4023pub type ASN1_BIT_STRING = asn1_string_st;
4024pub type ASN1_BMPSTRING = asn1_string_st;
4025pub type ASN1_ENUMERATED = asn1_string_st;
4026pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4027pub type ASN1_GENERALSTRING = asn1_string_st;
4028pub type ASN1_IA5STRING = asn1_string_st;
4029pub type ASN1_INTEGER = asn1_string_st;
4030pub type ASN1_OCTET_STRING = asn1_string_st;
4031pub type ASN1_PRINTABLESTRING = asn1_string_st;
4032pub type ASN1_STRING = asn1_string_st;
4033pub type ASN1_T61STRING = asn1_string_st;
4034pub type ASN1_TIME = asn1_string_st;
4035pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4036pub type ASN1_UTCTIME = asn1_string_st;
4037pub type ASN1_UTF8STRING = asn1_string_st;
4038pub type ASN1_VISIBLESTRING = asn1_string_st;
4039pub type ASN1_TYPE = asn1_type_st;
4040pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4041pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4042pub type DIST_POINT = DIST_POINT_st;
4043pub type DSA_SIG = DSA_SIG_st;
4044pub type GENERAL_NAME = GENERAL_NAME_st;
4045pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4046pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4047pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4048pub type NETSCAPE_SPKI = Netscape_spki_st;
4049pub type RIPEMD160_CTX = RIPEMD160state_st;
4050#[repr(C)]
4051#[derive(Debug, Copy, Clone)]
4052pub struct X509_VERIFY_PARAM_st {
4053    _unused: [u8; 0],
4054}
4055pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4056pub type X509_ALGOR = X509_algor_st;
4057#[repr(C)]
4058#[derive(Debug, Copy, Clone)]
4059pub struct X509_crl_st {
4060    _unused: [u8; 0],
4061}
4062pub type X509_CRL = X509_crl_st;
4063#[repr(C)]
4064#[derive(Debug, Copy, Clone)]
4065pub struct X509_extension_st {
4066    _unused: [u8; 0],
4067}
4068pub type X509_EXTENSION = X509_extension_st;
4069pub type X509_INFO = X509_info_st;
4070#[repr(C)]
4071#[derive(Debug, Copy, Clone)]
4072pub struct X509_name_entry_st {
4073    _unused: [u8; 0],
4074}
4075pub type X509_NAME_ENTRY = X509_name_entry_st;
4076#[repr(C)]
4077#[derive(Debug, Copy, Clone)]
4078pub struct X509_name_st {
4079    _unused: [u8; 0],
4080}
4081pub type X509_NAME = X509_name_st;
4082#[repr(C)]
4083#[derive(Debug, Copy, Clone)]
4084pub struct X509_pubkey_st {
4085    _unused: [u8; 0],
4086}
4087pub type X509_PUBKEY = X509_pubkey_st;
4088#[repr(C)]
4089#[derive(Debug, Copy, Clone)]
4090pub struct X509_req_st {
4091    _unused: [u8; 0],
4092}
4093pub type X509_REQ = X509_req_st;
4094#[repr(C)]
4095#[derive(Debug, Copy, Clone)]
4096pub struct x509_sig_info_st {
4097    _unused: [u8; 0],
4098}
4099pub type X509_SIG_INFO = x509_sig_info_st;
4100#[repr(C)]
4101#[derive(Debug, Copy, Clone)]
4102pub struct X509_sig_st {
4103    _unused: [u8; 0],
4104}
4105pub type X509_SIG = X509_sig_st;
4106#[repr(C)]
4107#[derive(Debug, Copy, Clone)]
4108pub struct bignum_ctx {
4109    _unused: [u8; 0],
4110}
4111pub type BN_CTX = bignum_ctx;
4112pub type BIGNUM = bignum_st;
4113pub type BIO_METHOD = bio_method_st;
4114pub type BIO = bio_st;
4115pub type BLAKE2B_CTX = blake2b_state_st;
4116pub type BN_GENCB = bn_gencb_st;
4117pub type BN_MONT_CTX = bn_mont_ctx_st;
4118pub type BUF_MEM = buf_mem_st;
4119#[repr(C)]
4120#[derive(Debug, Copy, Clone)]
4121pub struct cast_key_st {
4122    _unused: [u8; 0],
4123}
4124pub type CAST_KEY = cast_key_st;
4125pub type CBB = cbb_st;
4126pub type CBS = cbs_st;
4127#[repr(C)]
4128#[derive(Debug, Copy, Clone)]
4129pub struct cmac_ctx_st {
4130    _unused: [u8; 0],
4131}
4132pub type CMAC_CTX = cmac_ctx_st;
4133#[repr(C)]
4134#[derive(Debug, Copy, Clone)]
4135pub struct conf_st {
4136    _unused: [u8; 0],
4137}
4138pub type CONF = conf_st;
4139pub type CONF_VALUE = conf_value_st;
4140#[repr(C)]
4141#[derive(Debug, Copy, Clone)]
4142pub struct crypto_buffer_pool_st {
4143    _unused: [u8; 0],
4144}
4145pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4146#[repr(C)]
4147#[derive(Debug, Copy, Clone)]
4148pub struct crypto_buffer_st {
4149    _unused: [u8; 0],
4150}
4151pub type CRYPTO_BUFFER = crypto_buffer_st;
4152#[repr(C)]
4153#[derive(Debug, Copy, Clone)]
4154pub struct ctr_drbg_state_st {
4155    _unused: [u8; 0],
4156}
4157pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4158#[repr(C)]
4159#[derive(Debug, Copy, Clone)]
4160pub struct dh_st {
4161    _unused: [u8; 0],
4162}
4163pub type DH = dh_st;
4164#[repr(C)]
4165#[derive(Debug, Copy, Clone)]
4166pub struct dsa_st {
4167    _unused: [u8; 0],
4168}
4169pub type DSA = dsa_st;
4170#[repr(C)]
4171#[derive(Debug, Copy, Clone)]
4172pub struct ec_group_st {
4173    _unused: [u8; 0],
4174}
4175pub type EC_GROUP = ec_group_st;
4176#[repr(C)]
4177#[derive(Debug, Copy, Clone)]
4178pub struct ec_key_st {
4179    _unused: [u8; 0],
4180}
4181pub type EC_KEY = ec_key_st;
4182#[repr(C)]
4183#[derive(Debug, Copy, Clone)]
4184pub struct ec_point_st {
4185    _unused: [u8; 0],
4186}
4187pub type EC_POINT = ec_point_st;
4188#[repr(C)]
4189#[derive(Debug, Copy, Clone)]
4190pub struct ec_key_method_st {
4191    _unused: [u8; 0],
4192}
4193pub type EC_KEY_METHOD = ec_key_method_st;
4194pub type ECDSA_SIG = ecdsa_sig_st;
4195#[repr(C)]
4196#[derive(Debug, Copy, Clone)]
4197pub struct engine_st {
4198    _unused: [u8; 0],
4199}
4200pub type ENGINE = engine_st;
4201pub type EVP_MD_CTX = env_md_ctx_st;
4202#[repr(C)]
4203#[derive(Debug, Copy, Clone)]
4204pub struct env_md_st {
4205    _unused: [u8; 0],
4206}
4207pub type EVP_MD = env_md_st;
4208#[repr(C)]
4209#[derive(Debug, Copy, Clone)]
4210pub struct evp_aead_st {
4211    _unused: [u8; 0],
4212}
4213pub type EVP_AEAD = evp_aead_st;
4214pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4215pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4216#[repr(C)]
4217#[derive(Debug, Copy, Clone)]
4218pub struct evp_cipher_st {
4219    _unused: [u8; 0],
4220}
4221pub type EVP_CIPHER = evp_cipher_st;
4222pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4223#[repr(C)]
4224#[derive(Debug, Copy, Clone)]
4225pub struct evp_hpke_aead_st {
4226    _unused: [u8; 0],
4227}
4228pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4229pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4230#[repr(C)]
4231#[derive(Debug, Copy, Clone)]
4232pub struct evp_hpke_kdf_st {
4233    _unused: [u8; 0],
4234}
4235pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4236#[repr(C)]
4237#[derive(Debug, Copy, Clone)]
4238pub struct evp_hpke_kem_st {
4239    _unused: [u8; 0],
4240}
4241pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4242pub type EVP_HPKE_KEY = evp_hpke_key_st;
4243#[repr(C)]
4244#[derive(Debug, Copy, Clone)]
4245pub struct evp_kem_st {
4246    _unused: [u8; 0],
4247}
4248pub type EVP_KEM = evp_kem_st;
4249#[repr(C)]
4250#[derive(Debug, Copy, Clone)]
4251pub struct kem_key_st {
4252    _unused: [u8; 0],
4253}
4254pub type KEM_KEY = kem_key_st;
4255#[repr(C)]
4256#[derive(Debug, Copy, Clone)]
4257pub struct evp_pkey_ctx_st {
4258    _unused: [u8; 0],
4259}
4260pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4261#[repr(C)]
4262#[derive(Debug, Copy, Clone)]
4263pub struct evp_pkey_asn1_method_st {
4264    _unused: [u8; 0],
4265}
4266pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4267#[repr(C)]
4268#[derive(Debug, Copy, Clone)]
4269pub struct evp_pkey_st {
4270    _unused: [u8; 0],
4271}
4272pub type EVP_PKEY = evp_pkey_st;
4273pub type HMAC_CTX = hmac_ctx_st;
4274pub type MD4_CTX = md4_state_st;
4275pub type MD5_CTX = md5_state_st;
4276#[repr(C)]
4277#[derive(Debug, Copy, Clone)]
4278pub struct ocsp_req_ctx_st {
4279    _unused: [u8; 0],
4280}
4281pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4282#[repr(C)]
4283#[derive(Debug, Copy, Clone)]
4284pub struct ossl_init_settings_st {
4285    _unused: [u8; 0],
4286}
4287pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4288pub type PKCS7 = pkcs7_st;
4289pub type PKCS7_SIGNED = pkcs7_signed_st;
4290#[repr(C)]
4291#[derive(Debug, Copy, Clone)]
4292pub struct pkcs7_envelope_st {
4293    _unused: [u8; 0],
4294}
4295pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4296#[repr(C)]
4297#[derive(Debug, Copy, Clone)]
4298pub struct pkcs7_sign_envelope_st {
4299    _unused: [u8; 0],
4300}
4301pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4302#[repr(C)]
4303#[derive(Debug, Copy, Clone)]
4304pub struct pkcs7_digest_st {
4305    _unused: [u8; 0],
4306}
4307pub type PKCS7_DIGEST = pkcs7_digest_st;
4308#[repr(C)]
4309#[derive(Debug, Copy, Clone)]
4310pub struct pkcs7_encrypt_st {
4311    _unused: [u8; 0],
4312}
4313pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4314#[repr(C)]
4315#[derive(Debug, Copy, Clone)]
4316pub struct pkcs7_recip_info_st {
4317    _unused: [u8; 0],
4318}
4319pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4320#[repr(C)]
4321#[derive(Debug, Copy, Clone)]
4322pub struct pkcs7_signer_info_st {
4323    _unused: [u8; 0],
4324}
4325pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4326#[repr(C)]
4327#[derive(Debug, Copy, Clone)]
4328pub struct pkcs12_st {
4329    _unused: [u8; 0],
4330}
4331pub type PKCS12 = pkcs12_st;
4332#[repr(C)]
4333#[derive(Debug, Copy, Clone)]
4334pub struct pkcs8_priv_key_info_st {
4335    _unused: [u8; 0],
4336}
4337pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4338pub type X509_PKEY = private_key_st;
4339pub type RAND_METHOD = rand_meth_st;
4340pub type RC4_KEY = rc4_key_st;
4341#[repr(C)]
4342#[derive(Debug, Copy, Clone)]
4343pub struct rsa_meth_st {
4344    _unused: [u8; 0],
4345}
4346pub type RSA_METHOD = rsa_meth_st;
4347#[repr(C)]
4348#[derive(Debug, Copy, Clone)]
4349pub struct rsassa_pss_params_st {
4350    _unused: [u8; 0],
4351}
4352pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4353pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4354#[repr(C)]
4355#[derive(Debug, Copy, Clone)]
4356pub struct rsa_st {
4357    _unused: [u8; 0],
4358}
4359pub type RSA = rsa_st;
4360pub type SHA256_CTX = sha256_state_st;
4361pub type SHA512_CTX = sha512_state_st;
4362pub type SHA_CTX = sha_state_st;
4363#[repr(C)]
4364#[derive(Debug, Copy, Clone)]
4365pub struct spake2_ctx_st {
4366    _unused: [u8; 0],
4367}
4368pub type SPAKE2_CTX = spake2_ctx_st;
4369#[repr(C)]
4370#[derive(Debug, Copy, Clone)]
4371pub struct srtp_protection_profile_st {
4372    _unused: [u8; 0],
4373}
4374pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4375#[repr(C)]
4376#[derive(Debug, Copy, Clone)]
4377pub struct ssl_cipher_st {
4378    _unused: [u8; 0],
4379}
4380pub type SSL_CIPHER = ssl_cipher_st;
4381#[repr(C)]
4382#[derive(Debug, Copy, Clone)]
4383pub struct ssl_ctx_st {
4384    _unused: [u8; 0],
4385}
4386pub type SSL_CTX = ssl_ctx_st;
4387#[repr(C)]
4388#[derive(Debug, Copy, Clone)]
4389pub struct ssl_early_callback_ctx {
4390    _unused: [u8; 0],
4391}
4392pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4393#[repr(C)]
4394#[derive(Debug, Copy, Clone)]
4395pub struct ssl_ech_keys_st {
4396    _unused: [u8; 0],
4397}
4398pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4399#[repr(C)]
4400#[derive(Debug, Copy, Clone)]
4401pub struct ssl_method_st {
4402    _unused: [u8; 0],
4403}
4404pub type SSL_METHOD = ssl_method_st;
4405#[repr(C)]
4406#[derive(Debug, Copy, Clone)]
4407pub struct ssl_private_key_method_st {
4408    _unused: [u8; 0],
4409}
4410pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4411#[repr(C)]
4412#[derive(Debug, Copy, Clone)]
4413pub struct ssl_quic_method_st {
4414    _unused: [u8; 0],
4415}
4416pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4417#[repr(C)]
4418#[derive(Debug, Copy, Clone)]
4419pub struct ssl_session_st {
4420    _unused: [u8; 0],
4421}
4422pub type SSL_SESSION = ssl_session_st;
4423#[repr(C)]
4424#[derive(Debug, Copy, Clone)]
4425pub struct ssl_st {
4426    _unused: [u8; 0],
4427}
4428pub type SSL = ssl_st;
4429#[repr(C)]
4430#[derive(Debug, Copy, Clone)]
4431pub struct ssl_ticket_aead_method_st {
4432    _unused: [u8; 0],
4433}
4434pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4435#[repr(C)]
4436#[derive(Debug, Copy, Clone)]
4437pub struct st_ERR_FNS {
4438    _unused: [u8; 0],
4439}
4440pub type ERR_FNS = st_ERR_FNS;
4441pub type TRUST_TOKEN = trust_token_st;
4442#[repr(C)]
4443#[derive(Debug, Copy, Clone)]
4444pub struct trust_token_client_st {
4445    _unused: [u8; 0],
4446}
4447pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4448#[repr(C)]
4449#[derive(Debug, Copy, Clone)]
4450pub struct trust_token_issuer_st {
4451    _unused: [u8; 0],
4452}
4453pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4454#[repr(C)]
4455#[derive(Debug, Copy, Clone)]
4456pub struct trust_token_method_st {
4457    _unused: [u8; 0],
4458}
4459pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4460pub type X509V3_CTX = v3_ext_ctx;
4461pub type X509V3_EXT_METHOD = v3_ext_method;
4462#[repr(C)]
4463#[derive(Debug, Copy, Clone)]
4464pub struct x509_attributes_st {
4465    _unused: [u8; 0],
4466}
4467pub type X509_ATTRIBUTE = x509_attributes_st;
4468#[repr(C)]
4469#[derive(Debug, Copy, Clone)]
4470pub struct x509_lookup_st {
4471    _unused: [u8; 0],
4472}
4473pub type X509_LOOKUP = x509_lookup_st;
4474#[repr(C)]
4475#[derive(Debug, Copy, Clone)]
4476pub struct x509_lookup_method_st {
4477    _unused: [u8; 0],
4478}
4479pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4480#[repr(C)]
4481#[derive(Debug, Copy, Clone)]
4482pub struct x509_object_st {
4483    _unused: [u8; 0],
4484}
4485pub type X509_OBJECT = x509_object_st;
4486#[repr(C)]
4487#[derive(Debug, Copy, Clone)]
4488pub struct x509_revoked_st {
4489    _unused: [u8; 0],
4490}
4491pub type X509_REVOKED = x509_revoked_st;
4492#[repr(C)]
4493#[derive(Debug, Copy, Clone)]
4494pub struct x509_st {
4495    _unused: [u8; 0],
4496}
4497pub type X509 = x509_st;
4498#[repr(C)]
4499#[derive(Debug, Copy, Clone)]
4500pub struct x509_store_ctx_st {
4501    _unused: [u8; 0],
4502}
4503pub type X509_STORE_CTX = x509_store_ctx_st;
4504#[repr(C)]
4505#[derive(Debug, Copy, Clone)]
4506pub struct x509_store_st {
4507    _unused: [u8; 0],
4508}
4509pub type X509_STORE = x509_store_st;
4510pub type X509_TRUST = x509_trust_st;
4511pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4512#[repr(C)]
4513#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4514pub struct aes_key_st {
4515    pub rd_key: [u32; 60usize],
4516    pub rounds: ::std::os::raw::c_uint,
4517}
4518#[test]
4519fn bindgen_test_layout_aes_key_st() {
4520    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4521    let ptr = UNINIT.as_ptr();
4522    assert_eq!(
4523        ::std::mem::size_of::<aes_key_st>(),
4524        244usize,
4525        "Size of aes_key_st"
4526    );
4527    assert_eq!(
4528        ::std::mem::align_of::<aes_key_st>(),
4529        4usize,
4530        "Alignment of aes_key_st"
4531    );
4532    assert_eq!(
4533        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4534        0usize,
4535        "Offset of field: aes_key_st::rd_key"
4536    );
4537    assert_eq!(
4538        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4539        240usize,
4540        "Offset of field: aes_key_st::rounds"
4541    );
4542}
4543impl Default for aes_key_st {
4544    fn default() -> Self {
4545        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4546        unsafe {
4547            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4548            s.assume_init()
4549        }
4550    }
4551}
4552pub type AES_KEY = aes_key_st;
4553extern "C" {
4554    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_set_encrypt_key"]
4555    pub fn AES_set_encrypt_key(
4556        key: *const u8,
4557        bits: ::std::os::raw::c_uint,
4558        aeskey: *mut AES_KEY,
4559    ) -> ::std::os::raw::c_int;
4560}
4561extern "C" {
4562    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_set_decrypt_key"]
4563    pub fn AES_set_decrypt_key(
4564        key: *const u8,
4565        bits: ::std::os::raw::c_uint,
4566        aeskey: *mut AES_KEY,
4567    ) -> ::std::os::raw::c_int;
4568}
4569extern "C" {
4570    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_encrypt"]
4571    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4572}
4573extern "C" {
4574    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_decrypt"]
4575    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4576}
4577extern "C" {
4578    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_ctr128_encrypt"]
4579    pub fn AES_ctr128_encrypt(
4580        in_: *const u8,
4581        out: *mut u8,
4582        len: usize,
4583        key: *const AES_KEY,
4584        ivec: *mut u8,
4585        ecount_buf: *mut u8,
4586        num: *mut ::std::os::raw::c_uint,
4587    );
4588}
4589extern "C" {
4590    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_ecb_encrypt"]
4591    pub fn AES_ecb_encrypt(
4592        in_: *const u8,
4593        out: *mut u8,
4594        key: *const AES_KEY,
4595        enc: ::std::os::raw::c_int,
4596    );
4597}
4598extern "C" {
4599    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_cbc_encrypt"]
4600    pub fn AES_cbc_encrypt(
4601        in_: *const u8,
4602        out: *mut u8,
4603        len: usize,
4604        key: *const AES_KEY,
4605        ivec: *mut u8,
4606        enc: ::std::os::raw::c_int,
4607    );
4608}
4609extern "C" {
4610    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_ofb128_encrypt"]
4611    pub fn AES_ofb128_encrypt(
4612        in_: *const u8,
4613        out: *mut u8,
4614        len: usize,
4615        key: *const AES_KEY,
4616        ivec: *mut u8,
4617        num: *mut ::std::os::raw::c_int,
4618    );
4619}
4620extern "C" {
4621    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_cfb128_encrypt"]
4622    pub fn AES_cfb128_encrypt(
4623        in_: *const u8,
4624        out: *mut u8,
4625        len: usize,
4626        key: *const AES_KEY,
4627        ivec: *mut u8,
4628        num: *mut ::std::os::raw::c_int,
4629        enc: ::std::os::raw::c_int,
4630    );
4631}
4632extern "C" {
4633    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_wrap_key"]
4634    pub fn AES_wrap_key(
4635        key: *const AES_KEY,
4636        iv: *const u8,
4637        out: *mut u8,
4638        in_: *const u8,
4639        in_len: usize,
4640    ) -> ::std::os::raw::c_int;
4641}
4642extern "C" {
4643    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_unwrap_key"]
4644    pub fn AES_unwrap_key(
4645        key: *const AES_KEY,
4646        iv: *const u8,
4647        out: *mut u8,
4648        in_: *const u8,
4649        in_len: usize,
4650    ) -> ::std::os::raw::c_int;
4651}
4652extern "C" {
4653    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_wrap_key_padded"]
4654    pub fn AES_wrap_key_padded(
4655        key: *const AES_KEY,
4656        out: *mut u8,
4657        out_len: *mut usize,
4658        max_out: usize,
4659        in_: *const u8,
4660        in_len: usize,
4661    ) -> ::std::os::raw::c_int;
4662}
4663extern "C" {
4664    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_unwrap_key_padded"]
4665    pub fn AES_unwrap_key_padded(
4666        key: *const AES_KEY,
4667        out: *mut u8,
4668        out_len: *mut usize,
4669        max_out: usize,
4670        in_: *const u8,
4671        in_len: usize,
4672    ) -> ::std::os::raw::c_int;
4673}
4674#[repr(C)]
4675#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4676pub struct tm {
4677    pub tm_sec: ::std::os::raw::c_int,
4678    pub tm_min: ::std::os::raw::c_int,
4679    pub tm_hour: ::std::os::raw::c_int,
4680    pub tm_mday: ::std::os::raw::c_int,
4681    pub tm_mon: ::std::os::raw::c_int,
4682    pub tm_year: ::std::os::raw::c_int,
4683    pub tm_wday: ::std::os::raw::c_int,
4684    pub tm_yday: ::std::os::raw::c_int,
4685    pub tm_isdst: ::std::os::raw::c_int,
4686    pub tm_gmtoff: ::std::os::raw::c_long,
4687    pub tm_zone: *const ::std::os::raw::c_char,
4688}
4689#[test]
4690fn bindgen_test_layout_tm() {
4691    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4692    let ptr = UNINIT.as_ptr();
4693    assert_eq!(::std::mem::size_of::<tm>(), 56usize, "Size of tm");
4694    assert_eq!(::std::mem::align_of::<tm>(), 8usize, "Alignment of tm");
4695    assert_eq!(
4696        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4697        0usize,
4698        "Offset of field: tm::tm_sec"
4699    );
4700    assert_eq!(
4701        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4702        4usize,
4703        "Offset of field: tm::tm_min"
4704    );
4705    assert_eq!(
4706        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4707        8usize,
4708        "Offset of field: tm::tm_hour"
4709    );
4710    assert_eq!(
4711        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4712        12usize,
4713        "Offset of field: tm::tm_mday"
4714    );
4715    assert_eq!(
4716        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4717        16usize,
4718        "Offset of field: tm::tm_mon"
4719    );
4720    assert_eq!(
4721        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4722        20usize,
4723        "Offset of field: tm::tm_year"
4724    );
4725    assert_eq!(
4726        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4727        24usize,
4728        "Offset of field: tm::tm_wday"
4729    );
4730    assert_eq!(
4731        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4732        28usize,
4733        "Offset of field: tm::tm_yday"
4734    );
4735    assert_eq!(
4736        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4737        32usize,
4738        "Offset of field: tm::tm_isdst"
4739    );
4740    assert_eq!(
4741        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4742        40usize,
4743        "Offset of field: tm::tm_gmtoff"
4744    );
4745    assert_eq!(
4746        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4747        48usize,
4748        "Offset of field: tm::tm_zone"
4749    );
4750}
4751impl Default for tm {
4752    fn default() -> Self {
4753        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4754        unsafe {
4755            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4756            s.assume_init()
4757        }
4758    }
4759}
4760pub type __gnuc_va_list = __builtin_va_list;
4761pub type FILE = _IO_FILE;
4762#[repr(C)]
4763#[derive(Debug, Copy, Clone)]
4764pub struct _IO_marker {
4765    _unused: [u8; 0],
4766}
4767#[repr(C)]
4768#[derive(Debug, Copy, Clone)]
4769pub struct _IO_codecvt {
4770    _unused: [u8; 0],
4771}
4772#[repr(C)]
4773#[derive(Debug, Copy, Clone)]
4774pub struct _IO_wide_data {
4775    _unused: [u8; 0],
4776}
4777pub type _IO_lock_t = ::std::os::raw::c_void;
4778#[repr(C)]
4779#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4780pub struct _IO_FILE {
4781    pub _flags: ::std::os::raw::c_int,
4782    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4783    pub _IO_read_end: *mut ::std::os::raw::c_char,
4784    pub _IO_read_base: *mut ::std::os::raw::c_char,
4785    pub _IO_write_base: *mut ::std::os::raw::c_char,
4786    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4787    pub _IO_write_end: *mut ::std::os::raw::c_char,
4788    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4789    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4790    pub _IO_save_base: *mut ::std::os::raw::c_char,
4791    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4792    pub _IO_save_end: *mut ::std::os::raw::c_char,
4793    pub _markers: *mut _IO_marker,
4794    pub _chain: *mut _IO_FILE,
4795    pub _fileno: ::std::os::raw::c_int,
4796    pub _flags2: ::std::os::raw::c_int,
4797    pub _old_offset: __off_t,
4798    pub _cur_column: ::std::os::raw::c_ushort,
4799    pub _vtable_offset: ::std::os::raw::c_schar,
4800    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4801    pub _lock: *mut _IO_lock_t,
4802    pub _offset: __off64_t,
4803    pub _codecvt: *mut _IO_codecvt,
4804    pub _wide_data: *mut _IO_wide_data,
4805    pub _freeres_list: *mut _IO_FILE,
4806    pub _freeres_buf: *mut ::std::os::raw::c_void,
4807    pub __pad5: usize,
4808    pub _mode: ::std::os::raw::c_int,
4809    pub _unused2: [::std::os::raw::c_char; 20usize],
4810}
4811#[test]
4812fn bindgen_test_layout__IO_FILE() {
4813    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4814    let ptr = UNINIT.as_ptr();
4815    assert_eq!(
4816        ::std::mem::size_of::<_IO_FILE>(),
4817        216usize,
4818        "Size of _IO_FILE"
4819    );
4820    assert_eq!(
4821        ::std::mem::align_of::<_IO_FILE>(),
4822        8usize,
4823        "Alignment of _IO_FILE"
4824    );
4825    assert_eq!(
4826        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4827        0usize,
4828        "Offset of field: _IO_FILE::_flags"
4829    );
4830    assert_eq!(
4831        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4832        8usize,
4833        "Offset of field: _IO_FILE::_IO_read_ptr"
4834    );
4835    assert_eq!(
4836        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4837        16usize,
4838        "Offset of field: _IO_FILE::_IO_read_end"
4839    );
4840    assert_eq!(
4841        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4842        24usize,
4843        "Offset of field: _IO_FILE::_IO_read_base"
4844    );
4845    assert_eq!(
4846        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4847        32usize,
4848        "Offset of field: _IO_FILE::_IO_write_base"
4849    );
4850    assert_eq!(
4851        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4852        40usize,
4853        "Offset of field: _IO_FILE::_IO_write_ptr"
4854    );
4855    assert_eq!(
4856        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4857        48usize,
4858        "Offset of field: _IO_FILE::_IO_write_end"
4859    );
4860    assert_eq!(
4861        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4862        56usize,
4863        "Offset of field: _IO_FILE::_IO_buf_base"
4864    );
4865    assert_eq!(
4866        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4867        64usize,
4868        "Offset of field: _IO_FILE::_IO_buf_end"
4869    );
4870    assert_eq!(
4871        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
4872        72usize,
4873        "Offset of field: _IO_FILE::_IO_save_base"
4874    );
4875    assert_eq!(
4876        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
4877        80usize,
4878        "Offset of field: _IO_FILE::_IO_backup_base"
4879    );
4880    assert_eq!(
4881        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
4882        88usize,
4883        "Offset of field: _IO_FILE::_IO_save_end"
4884    );
4885    assert_eq!(
4886        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
4887        96usize,
4888        "Offset of field: _IO_FILE::_markers"
4889    );
4890    assert_eq!(
4891        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
4892        104usize,
4893        "Offset of field: _IO_FILE::_chain"
4894    );
4895    assert_eq!(
4896        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
4897        112usize,
4898        "Offset of field: _IO_FILE::_fileno"
4899    );
4900    assert_eq!(
4901        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
4902        116usize,
4903        "Offset of field: _IO_FILE::_flags2"
4904    );
4905    assert_eq!(
4906        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
4907        120usize,
4908        "Offset of field: _IO_FILE::_old_offset"
4909    );
4910    assert_eq!(
4911        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
4912        128usize,
4913        "Offset of field: _IO_FILE::_cur_column"
4914    );
4915    assert_eq!(
4916        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
4917        130usize,
4918        "Offset of field: _IO_FILE::_vtable_offset"
4919    );
4920    assert_eq!(
4921        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
4922        131usize,
4923        "Offset of field: _IO_FILE::_shortbuf"
4924    );
4925    assert_eq!(
4926        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
4927        136usize,
4928        "Offset of field: _IO_FILE::_lock"
4929    );
4930    assert_eq!(
4931        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
4932        144usize,
4933        "Offset of field: _IO_FILE::_offset"
4934    );
4935    assert_eq!(
4936        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
4937        152usize,
4938        "Offset of field: _IO_FILE::_codecvt"
4939    );
4940    assert_eq!(
4941        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
4942        160usize,
4943        "Offset of field: _IO_FILE::_wide_data"
4944    );
4945    assert_eq!(
4946        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
4947        168usize,
4948        "Offset of field: _IO_FILE::_freeres_list"
4949    );
4950    assert_eq!(
4951        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
4952        176usize,
4953        "Offset of field: _IO_FILE::_freeres_buf"
4954    );
4955    assert_eq!(
4956        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
4957        184usize,
4958        "Offset of field: _IO_FILE::__pad5"
4959    );
4960    assert_eq!(
4961        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
4962        192usize,
4963        "Offset of field: _IO_FILE::_mode"
4964    );
4965    assert_eq!(
4966        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
4967        196usize,
4968        "Offset of field: _IO_FILE::_unused2"
4969    );
4970}
4971impl Default for _IO_FILE {
4972    fn default() -> Self {
4973        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4974        unsafe {
4975            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4976            s.assume_init()
4977        }
4978    }
4979}
4980pub type va_list = __gnuc_va_list;
4981#[repr(C)]
4982#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4983pub struct buf_mem_st {
4984    pub length: usize,
4985    pub data: *mut ::std::os::raw::c_char,
4986    pub max: usize,
4987}
4988#[test]
4989fn bindgen_test_layout_buf_mem_st() {
4990    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
4991    let ptr = UNINIT.as_ptr();
4992    assert_eq!(
4993        ::std::mem::size_of::<buf_mem_st>(),
4994        24usize,
4995        "Size of buf_mem_st"
4996    );
4997    assert_eq!(
4998        ::std::mem::align_of::<buf_mem_st>(),
4999        8usize,
5000        "Alignment of buf_mem_st"
5001    );
5002    assert_eq!(
5003        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5004        0usize,
5005        "Offset of field: buf_mem_st::length"
5006    );
5007    assert_eq!(
5008        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5009        8usize,
5010        "Offset of field: buf_mem_st::data"
5011    );
5012    assert_eq!(
5013        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5014        16usize,
5015        "Offset of field: buf_mem_st::max"
5016    );
5017}
5018impl Default for buf_mem_st {
5019    fn default() -> Self {
5020        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5021        unsafe {
5022            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5023            s.assume_init()
5024        }
5025    }
5026}
5027extern "C" {
5028    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_new"]
5029    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5030}
5031extern "C" {
5032    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_free"]
5033    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5034}
5035extern "C" {
5036    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_reserve"]
5037    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5038}
5039extern "C" {
5040    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_grow"]
5041    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5042}
5043extern "C" {
5044    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_grow_clean"]
5045    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5046}
5047extern "C" {
5048    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_MEM_append"]
5049    pub fn BUF_MEM_append(
5050        buf: *mut BUF_MEM,
5051        in_: *const ::std::os::raw::c_void,
5052        len: usize,
5053    ) -> ::std::os::raw::c_int;
5054}
5055extern "C" {
5056    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_strdup"]
5057    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5058}
5059extern "C" {
5060    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_strnlen"]
5061    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5062}
5063extern "C" {
5064    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_strndup"]
5065    pub fn BUF_strndup(
5066        str_: *const ::std::os::raw::c_char,
5067        size: usize,
5068    ) -> *mut ::std::os::raw::c_char;
5069}
5070extern "C" {
5071    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_memdup"]
5072    pub fn BUF_memdup(
5073        data: *const ::std::os::raw::c_void,
5074        size: usize,
5075    ) -> *mut ::std::os::raw::c_void;
5076}
5077extern "C" {
5078    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_strlcpy"]
5079    pub fn BUF_strlcpy(
5080        dst: *mut ::std::os::raw::c_char,
5081        src: *const ::std::os::raw::c_char,
5082        dst_size: usize,
5083    ) -> usize;
5084}
5085extern "C" {
5086    #[link_name = "\u{1}aws_lc_fips_0_13_14_BUF_strlcat"]
5087    pub fn BUF_strlcat(
5088        dst: *mut ::std::os::raw::c_char,
5089        src: *const ::std::os::raw::c_char,
5090        dst_size: usize,
5091    ) -> usize;
5092}
5093extern "C" {
5094    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA1_Init"]
5095    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5096}
5097extern "C" {
5098    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA1_Update"]
5099    pub fn SHA1_Update(
5100        sha: *mut SHA_CTX,
5101        data: *const ::std::os::raw::c_void,
5102        len: usize,
5103    ) -> ::std::os::raw::c_int;
5104}
5105extern "C" {
5106    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA1_Final"]
5107    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5108}
5109extern "C" {
5110    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA1"]
5111    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5112}
5113extern "C" {
5114    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA1_Transform"]
5115    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5116}
5117#[repr(C)]
5118#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5119pub struct sha_state_st {
5120    pub h: [u32; 5usize],
5121    pub Nl: u32,
5122    pub Nh: u32,
5123    pub data: [u8; 64usize],
5124    pub num: ::std::os::raw::c_uint,
5125}
5126#[test]
5127fn bindgen_test_layout_sha_state_st() {
5128    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5129    let ptr = UNINIT.as_ptr();
5130    assert_eq!(
5131        ::std::mem::size_of::<sha_state_st>(),
5132        96usize,
5133        "Size of sha_state_st"
5134    );
5135    assert_eq!(
5136        ::std::mem::align_of::<sha_state_st>(),
5137        4usize,
5138        "Alignment of sha_state_st"
5139    );
5140    assert_eq!(
5141        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5142        0usize,
5143        "Offset of field: sha_state_st::h"
5144    );
5145    assert_eq!(
5146        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5147        20usize,
5148        "Offset of field: sha_state_st::Nl"
5149    );
5150    assert_eq!(
5151        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5152        24usize,
5153        "Offset of field: sha_state_st::Nh"
5154    );
5155    assert_eq!(
5156        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5157        28usize,
5158        "Offset of field: sha_state_st::data"
5159    );
5160    assert_eq!(
5161        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5162        92usize,
5163        "Offset of field: sha_state_st::num"
5164    );
5165}
5166impl Default for sha_state_st {
5167    fn default() -> Self {
5168        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5169        unsafe {
5170            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5171            s.assume_init()
5172        }
5173    }
5174}
5175extern "C" {
5176    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA224_Init"]
5177    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5178}
5179extern "C" {
5180    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA224_Update"]
5181    pub fn SHA224_Update(
5182        sha: *mut SHA256_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_fips_0_13_14_SHA224_Final"]
5189    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5190}
5191extern "C" {
5192    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA224"]
5193    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5194}
5195extern "C" {
5196    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256_Init"]
5197    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5198}
5199extern "C" {
5200    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256_Update"]
5201    pub fn SHA256_Update(
5202        sha: *mut SHA256_CTX,
5203        data: *const ::std::os::raw::c_void,
5204        len: usize,
5205    ) -> ::std::os::raw::c_int;
5206}
5207extern "C" {
5208    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256_Final"]
5209    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5210}
5211extern "C" {
5212    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256"]
5213    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5214}
5215extern "C" {
5216    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256_Transform"]
5217    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5218}
5219extern "C" {
5220    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA256_TransformBlocks"]
5221    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5222}
5223#[repr(C)]
5224#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5225pub struct sha256_state_st {
5226    pub h: [u32; 8usize],
5227    pub Nl: u32,
5228    pub Nh: u32,
5229    pub data: [u8; 64usize],
5230    pub num: ::std::os::raw::c_uint,
5231    pub md_len: ::std::os::raw::c_uint,
5232}
5233#[test]
5234fn bindgen_test_layout_sha256_state_st() {
5235    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5236    let ptr = UNINIT.as_ptr();
5237    assert_eq!(
5238        ::std::mem::size_of::<sha256_state_st>(),
5239        112usize,
5240        "Size of sha256_state_st"
5241    );
5242    assert_eq!(
5243        ::std::mem::align_of::<sha256_state_st>(),
5244        4usize,
5245        "Alignment of sha256_state_st"
5246    );
5247    assert_eq!(
5248        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5249        0usize,
5250        "Offset of field: sha256_state_st::h"
5251    );
5252    assert_eq!(
5253        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5254        32usize,
5255        "Offset of field: sha256_state_st::Nl"
5256    );
5257    assert_eq!(
5258        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5259        36usize,
5260        "Offset of field: sha256_state_st::Nh"
5261    );
5262    assert_eq!(
5263        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5264        40usize,
5265        "Offset of field: sha256_state_st::data"
5266    );
5267    assert_eq!(
5268        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5269        104usize,
5270        "Offset of field: sha256_state_st::num"
5271    );
5272    assert_eq!(
5273        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5274        108usize,
5275        "Offset of field: sha256_state_st::md_len"
5276    );
5277}
5278impl Default for sha256_state_st {
5279    fn default() -> Self {
5280        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5281        unsafe {
5282            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5283            s.assume_init()
5284        }
5285    }
5286}
5287extern "C" {
5288    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA384_Init"]
5289    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5290}
5291extern "C" {
5292    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA384_Update"]
5293    pub fn SHA384_Update(
5294        sha: *mut SHA512_CTX,
5295        data: *const ::std::os::raw::c_void,
5296        len: usize,
5297    ) -> ::std::os::raw::c_int;
5298}
5299extern "C" {
5300    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA384_Final"]
5301    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5302}
5303extern "C" {
5304    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA384"]
5305    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5306}
5307extern "C" {
5308    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_Init"]
5309    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5310}
5311extern "C" {
5312    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_Update"]
5313    pub fn SHA512_Update(
5314        sha: *mut SHA512_CTX,
5315        data: *const ::std::os::raw::c_void,
5316        len: usize,
5317    ) -> ::std::os::raw::c_int;
5318}
5319extern "C" {
5320    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_Final"]
5321    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5322}
5323extern "C" {
5324    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512"]
5325    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5326}
5327extern "C" {
5328    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_Transform"]
5329    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5330}
5331#[repr(C)]
5332#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5333pub struct sha512_state_st {
5334    pub h: [u64; 8usize],
5335    pub Nl: u64,
5336    pub Nh: u64,
5337    pub p: [u8; 128usize],
5338    pub num: ::std::os::raw::c_uint,
5339    pub md_len: ::std::os::raw::c_uint,
5340}
5341#[test]
5342fn bindgen_test_layout_sha512_state_st() {
5343    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5344    let ptr = UNINIT.as_ptr();
5345    assert_eq!(
5346        ::std::mem::size_of::<sha512_state_st>(),
5347        216usize,
5348        "Size of sha512_state_st"
5349    );
5350    assert_eq!(
5351        ::std::mem::align_of::<sha512_state_st>(),
5352        8usize,
5353        "Alignment of sha512_state_st"
5354    );
5355    assert_eq!(
5356        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5357        0usize,
5358        "Offset of field: sha512_state_st::h"
5359    );
5360    assert_eq!(
5361        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5362        64usize,
5363        "Offset of field: sha512_state_st::Nl"
5364    );
5365    assert_eq!(
5366        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5367        72usize,
5368        "Offset of field: sha512_state_st::Nh"
5369    );
5370    assert_eq!(
5371        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5372        80usize,
5373        "Offset of field: sha512_state_st::p"
5374    );
5375    assert_eq!(
5376        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5377        208usize,
5378        "Offset of field: sha512_state_st::num"
5379    );
5380    assert_eq!(
5381        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5382        212usize,
5383        "Offset of field: sha512_state_st::md_len"
5384    );
5385}
5386impl Default for sha512_state_st {
5387    fn default() -> Self {
5388        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5389        unsafe {
5390            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5391            s.assume_init()
5392        }
5393    }
5394}
5395extern "C" {
5396    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_224_Init"]
5397    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5398}
5399extern "C" {
5400    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_224_Update"]
5401    pub fn SHA512_224_Update(
5402        sha: *mut SHA512_CTX,
5403        data: *const ::std::os::raw::c_void,
5404        len: usize,
5405    ) -> ::std::os::raw::c_int;
5406}
5407extern "C" {
5408    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_224_Final"]
5409    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5410}
5411extern "C" {
5412    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_224"]
5413    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5414}
5415extern "C" {
5416    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_256_Init"]
5417    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5418}
5419extern "C" {
5420    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_256_Update"]
5421    pub fn SHA512_256_Update(
5422        sha: *mut SHA512_CTX,
5423        data: *const ::std::os::raw::c_void,
5424        len: usize,
5425    ) -> ::std::os::raw::c_int;
5426}
5427extern "C" {
5428    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_256_Final"]
5429    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5430}
5431extern "C" {
5432    #[link_name = "\u{1}aws_lc_fips_0_13_14_SHA512_256"]
5433    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5434}
5435extern "C" {
5436    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_malloc"]
5437    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5438}
5439extern "C" {
5440    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_zalloc"]
5441    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5442}
5443extern "C" {
5444    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_calloc"]
5445    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5446}
5447extern "C" {
5448    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_realloc"]
5449    pub fn OPENSSL_realloc(
5450        ptr: *mut ::std::os::raw::c_void,
5451        new_size: usize,
5452    ) -> *mut ::std::os::raw::c_void;
5453}
5454extern "C" {
5455    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_free"]
5456    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5457}
5458extern "C" {
5459    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_cleanse"]
5460    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5461}
5462extern "C" {
5463    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_memcmp"]
5464    pub fn CRYPTO_memcmp(
5465        a: *const ::std::os::raw::c_void,
5466        b: *const ::std::os::raw::c_void,
5467        len: usize,
5468    ) -> ::std::os::raw::c_int;
5469}
5470extern "C" {
5471    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_hash32"]
5472    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
5473}
5474extern "C" {
5475    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strhash"]
5476    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
5477}
5478extern "C" {
5479    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strdup"]
5480    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5481}
5482extern "C" {
5483    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strnlen"]
5484    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
5485}
5486extern "C" {
5487    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_isalpha"]
5488    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5489}
5490extern "C" {
5491    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_isdigit"]
5492    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5493}
5494extern "C" {
5495    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_isxdigit"]
5496    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5497}
5498extern "C" {
5499    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_fromxdigit"]
5500    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5501}
5502extern "C" {
5503    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_hexstr2buf"]
5504    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
5505}
5506extern "C" {
5507    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_isalnum"]
5508    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5509}
5510extern "C" {
5511    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_tolower"]
5512    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5513}
5514extern "C" {
5515    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_isspace"]
5516    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5517}
5518extern "C" {
5519    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strcasecmp"]
5520    pub fn OPENSSL_strcasecmp(
5521        a: *const ::std::os::raw::c_char,
5522        b: *const ::std::os::raw::c_char,
5523    ) -> ::std::os::raw::c_int;
5524}
5525extern "C" {
5526    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strncasecmp"]
5527    pub fn OPENSSL_strncasecmp(
5528        a: *const ::std::os::raw::c_char,
5529        b: *const ::std::os::raw::c_char,
5530        n: usize,
5531    ) -> ::std::os::raw::c_int;
5532}
5533extern "C" {
5534    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_snprintf"]
5535    pub fn BIO_snprintf(
5536        buf: *mut ::std::os::raw::c_char,
5537        n: usize,
5538        format: *const ::std::os::raw::c_char,
5539        ...
5540    ) -> ::std::os::raw::c_int;
5541}
5542extern "C" {
5543    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_vsnprintf"]
5544    pub fn BIO_vsnprintf(
5545        buf: *mut ::std::os::raw::c_char,
5546        n: usize,
5547        format: *const ::std::os::raw::c_char,
5548        args: *mut __va_list_tag,
5549    ) -> ::std::os::raw::c_int;
5550}
5551extern "C" {
5552    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_vasprintf"]
5553    pub fn OPENSSL_vasprintf(
5554        str_: *mut *mut ::std::os::raw::c_char,
5555        format: *const ::std::os::raw::c_char,
5556        args: *mut __va_list_tag,
5557    ) -> ::std::os::raw::c_int;
5558}
5559extern "C" {
5560    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_asprintf"]
5561    pub fn OPENSSL_asprintf(
5562        str_: *mut *mut ::std::os::raw::c_char,
5563        format: *const ::std::os::raw::c_char,
5564        ...
5565    ) -> ::std::os::raw::c_int;
5566}
5567extern "C" {
5568    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strndup"]
5569    pub fn OPENSSL_strndup(
5570        str_: *const ::std::os::raw::c_char,
5571        size: usize,
5572    ) -> *mut ::std::os::raw::c_char;
5573}
5574extern "C" {
5575    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_memdup"]
5576    pub fn OPENSSL_memdup(
5577        data: *const ::std::os::raw::c_void,
5578        size: usize,
5579    ) -> *mut ::std::os::raw::c_void;
5580}
5581extern "C" {
5582    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strlcpy"]
5583    pub fn OPENSSL_strlcpy(
5584        dst: *mut ::std::os::raw::c_char,
5585        src: *const ::std::os::raw::c_char,
5586        dst_size: usize,
5587    ) -> usize;
5588}
5589extern "C" {
5590    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_strlcat"]
5591    pub fn OPENSSL_strlcat(
5592        dst: *mut ::std::os::raw::c_char,
5593        src: *const ::std::os::raw::c_char,
5594        dst_size: usize,
5595    ) -> usize;
5596}
5597extern "C" {
5598    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_malloc"]
5599    pub fn CRYPTO_malloc(
5600        size: usize,
5601        file: *const ::std::os::raw::c_char,
5602        line: ::std::os::raw::c_int,
5603    ) -> *mut ::std::os::raw::c_void;
5604}
5605extern "C" {
5606    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_realloc"]
5607    pub fn CRYPTO_realloc(
5608        ptr: *mut ::std::os::raw::c_void,
5609        new_size: usize,
5610        file: *const ::std::os::raw::c_char,
5611        line: ::std::os::raw::c_int,
5612    ) -> *mut ::std::os::raw::c_void;
5613}
5614extern "C" {
5615    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_free"]
5616    pub fn CRYPTO_free(
5617        ptr: *mut ::std::os::raw::c_void,
5618        file: *const ::std::os::raw::c_char,
5619        line: ::std::os::raw::c_int,
5620    );
5621}
5622extern "C" {
5623    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_clear_free"]
5624    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5625}
5626extern "C" {
5627    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_mem_functions"]
5628    pub fn CRYPTO_set_mem_functions(
5629        m: ::std::option::Option<
5630            unsafe extern "C" fn(
5631                arg1: usize,
5632                arg2: *const ::std::os::raw::c_char,
5633                arg3: ::std::os::raw::c_int,
5634            ) -> *mut ::std::os::raw::c_void,
5635        >,
5636        r: ::std::option::Option<
5637            unsafe extern "C" fn(
5638                arg1: *mut ::std::os::raw::c_void,
5639                arg2: usize,
5640                arg3: *const ::std::os::raw::c_char,
5641                arg4: ::std::os::raw::c_int,
5642            ) -> *mut ::std::os::raw::c_void,
5643        >,
5644        f: ::std::option::Option<
5645            unsafe extern "C" fn(
5646                arg1: *mut ::std::os::raw::c_void,
5647                arg2: *const ::std::os::raw::c_char,
5648                arg3: ::std::os::raw::c_int,
5649            ),
5650        >,
5651    ) -> ::std::os::raw::c_int;
5652}
5653extern "C" {
5654    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_secure_malloc_init"]
5655    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
5656}
5657extern "C" {
5658    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_secure_malloc_initialized"]
5659    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
5660}
5661extern "C" {
5662    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_secure_used"]
5663    pub fn CRYPTO_secure_used() -> usize;
5664}
5665extern "C" {
5666    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_secure_malloc"]
5667    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5668}
5669extern "C" {
5670    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_secure_zalloc"]
5671    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5672}
5673extern "C" {
5674    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_secure_clear_free"]
5675    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5676}
5677#[repr(C)]
5678#[derive(Copy, Clone)]
5679pub union crypto_mutex_st {
5680    pub alignment: f64,
5681    pub padding: [u8; 56usize],
5682}
5683#[test]
5684fn bindgen_test_layout_crypto_mutex_st() {
5685    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
5686    let ptr = UNINIT.as_ptr();
5687    assert_eq!(
5688        ::std::mem::size_of::<crypto_mutex_st>(),
5689        56usize,
5690        "Size of crypto_mutex_st"
5691    );
5692    assert_eq!(
5693        ::std::mem::align_of::<crypto_mutex_st>(),
5694        8usize,
5695        "Alignment of crypto_mutex_st"
5696    );
5697    assert_eq!(
5698        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
5699        0usize,
5700        "Offset of field: crypto_mutex_st::alignment"
5701    );
5702    assert_eq!(
5703        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
5704        0usize,
5705        "Offset of field: crypto_mutex_st::padding"
5706    );
5707}
5708impl Default for crypto_mutex_st {
5709    fn default() -> Self {
5710        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5711        unsafe {
5712            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5713            s.assume_init()
5714        }
5715    }
5716}
5717pub type CRYPTO_MUTEX = crypto_mutex_st;
5718pub type CRYPTO_refcount_t = u32;
5719extern "C" {
5720    #[link_name = "\u{1}aws_lc_fips_0_13_14_AWSLC_thread_local_clear"]
5721    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
5722}
5723extern "C" {
5724    #[link_name = "\u{1}aws_lc_fips_0_13_14_AWSLC_thread_local_shutdown"]
5725    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
5726}
5727extern "C" {
5728    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_num_locks"]
5729    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
5730}
5731extern "C" {
5732    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_locking_callback"]
5733    pub fn CRYPTO_set_locking_callback(
5734        func: ::std::option::Option<
5735            unsafe extern "C" fn(
5736                mode: ::std::os::raw::c_int,
5737                lock_num: ::std::os::raw::c_int,
5738                file: *const ::std::os::raw::c_char,
5739                line: ::std::os::raw::c_int,
5740            ),
5741        >,
5742    );
5743}
5744extern "C" {
5745    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_add_lock_callback"]
5746    pub fn CRYPTO_set_add_lock_callback(
5747        func: ::std::option::Option<
5748            unsafe extern "C" fn(
5749                num: *mut ::std::os::raw::c_int,
5750                amount: ::std::os::raw::c_int,
5751                lock_num: ::std::os::raw::c_int,
5752                file: *const ::std::os::raw::c_char,
5753                line: ::std::os::raw::c_int,
5754            ) -> ::std::os::raw::c_int,
5755        >,
5756    );
5757}
5758extern "C" {
5759    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_get_locking_callback"]
5760    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
5761        unsafe extern "C" fn(
5762            arg1: ::std::os::raw::c_int,
5763            arg2: ::std::os::raw::c_int,
5764            arg3: *const ::std::os::raw::c_char,
5765            arg4: ::std::os::raw::c_int,
5766        ),
5767    >;
5768}
5769extern "C" {
5770    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_get_lock_name"]
5771    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5772}
5773extern "C" {
5774    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_THREADID_set_callback"]
5775    pub fn CRYPTO_THREADID_set_callback(
5776        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
5777    ) -> ::std::os::raw::c_int;
5778}
5779extern "C" {
5780    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_THREADID_set_numeric"]
5781    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
5782}
5783extern "C" {
5784    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_THREADID_set_pointer"]
5785    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
5786}
5787extern "C" {
5788    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_THREADID_current"]
5789    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
5790}
5791extern "C" {
5792    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_id_callback"]
5793    pub fn CRYPTO_set_id_callback(
5794        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
5795    );
5796}
5797#[repr(C)]
5798#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5799pub struct CRYPTO_dynlock {
5800    pub references: ::std::os::raw::c_int,
5801    pub data: *mut CRYPTO_dynlock_value,
5802}
5803#[test]
5804fn bindgen_test_layout_CRYPTO_dynlock() {
5805    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
5806    let ptr = UNINIT.as_ptr();
5807    assert_eq!(
5808        ::std::mem::size_of::<CRYPTO_dynlock>(),
5809        16usize,
5810        "Size of CRYPTO_dynlock"
5811    );
5812    assert_eq!(
5813        ::std::mem::align_of::<CRYPTO_dynlock>(),
5814        8usize,
5815        "Alignment of CRYPTO_dynlock"
5816    );
5817    assert_eq!(
5818        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
5819        0usize,
5820        "Offset of field: CRYPTO_dynlock::references"
5821    );
5822    assert_eq!(
5823        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5824        8usize,
5825        "Offset of field: CRYPTO_dynlock::data"
5826    );
5827}
5828impl Default for CRYPTO_dynlock {
5829    fn default() -> Self {
5830        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5831        unsafe {
5832            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5833            s.assume_init()
5834        }
5835    }
5836}
5837extern "C" {
5838    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_dynlock_create_callback"]
5839    pub fn CRYPTO_set_dynlock_create_callback(
5840        dyn_create_function: ::std::option::Option<
5841            unsafe extern "C" fn(
5842                file: *const ::std::os::raw::c_char,
5843                line: ::std::os::raw::c_int,
5844            ) -> *mut CRYPTO_dynlock_value,
5845        >,
5846    );
5847}
5848extern "C" {
5849    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_dynlock_lock_callback"]
5850    pub fn CRYPTO_set_dynlock_lock_callback(
5851        dyn_lock_function: ::std::option::Option<
5852            unsafe extern "C" fn(
5853                mode: ::std::os::raw::c_int,
5854                l: *mut CRYPTO_dynlock_value,
5855                file: *const ::std::os::raw::c_char,
5856                line: ::std::os::raw::c_int,
5857            ),
5858        >,
5859    );
5860}
5861extern "C" {
5862    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_set_dynlock_destroy_callback"]
5863    pub fn CRYPTO_set_dynlock_destroy_callback(
5864        dyn_destroy_function: ::std::option::Option<
5865            unsafe extern "C" fn(
5866                l: *mut CRYPTO_dynlock_value,
5867                file: *const ::std::os::raw::c_char,
5868                line: ::std::os::raw::c_int,
5869            ),
5870        >,
5871    );
5872}
5873extern "C" {
5874    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_get_dynlock_create_callback"]
5875    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
5876        unsafe extern "C" fn(
5877            arg1: *const ::std::os::raw::c_char,
5878            arg2: ::std::os::raw::c_int,
5879        ) -> *mut CRYPTO_dynlock_value,
5880    >;
5881}
5882extern "C" {
5883    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_get_dynlock_lock_callback"]
5884    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
5885        unsafe extern "C" fn(
5886            arg1: ::std::os::raw::c_int,
5887            arg2: *mut CRYPTO_dynlock_value,
5888            arg3: *const ::std::os::raw::c_char,
5889            arg4: ::std::os::raw::c_int,
5890        ),
5891    >;
5892}
5893extern "C" {
5894    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_get_dynlock_destroy_callback"]
5895    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
5896        unsafe extern "C" fn(
5897            arg1: *mut CRYPTO_dynlock_value,
5898            arg2: *const ::std::os::raw::c_char,
5899            arg3: ::std::os::raw::c_int,
5900        ),
5901    >;
5902}
5903extern "C" {
5904    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_library_init"]
5905    pub fn CRYPTO_library_init();
5906}
5907extern "C" {
5908    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_is_confidential_build"]
5909    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
5910}
5911extern "C" {
5912    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_has_asm"]
5913    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
5914}
5915extern "C" {
5916    #[link_name = "\u{1}aws_lc_fips_0_13_14_BORINGSSL_self_test"]
5917    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
5918}
5919extern "C" {
5920    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
5921}
5922extern "C" {
5923    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_pre_sandbox_init"]
5924    pub fn CRYPTO_pre_sandbox_init();
5925}
5926extern "C" {
5927    #[link_name = "\u{1}aws_lc_fips_0_13_14_FIPS_mode"]
5928    pub fn FIPS_mode() -> ::std::os::raw::c_int;
5929}
5930pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
5931pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
5932pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
5933pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
5934pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
5935pub type fips_counter_t = ::std::os::raw::c_uint;
5936extern "C" {
5937    #[link_name = "\u{1}aws_lc_fips_0_13_14_FIPS_read_counter"]
5938    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
5939}
5940extern "C" {
5941    #[link_name = "\u{1}aws_lc_fips_0_13_14_OpenSSL_version"]
5942    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5943}
5944extern "C" {
5945    #[link_name = "\u{1}aws_lc_fips_0_13_14_SSLeay_version"]
5946    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
5947}
5948extern "C" {
5949    #[link_name = "\u{1}aws_lc_fips_0_13_14_SSLeay"]
5950    pub fn SSLeay() -> ::std::os::raw::c_ulong;
5951}
5952extern "C" {
5953    #[link_name = "\u{1}aws_lc_fips_0_13_14_OpenSSL_version_num"]
5954    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
5955}
5956extern "C" {
5957    #[link_name = "\u{1}aws_lc_fips_0_13_14_awslc_api_version_num"]
5958    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
5959}
5960extern "C" {
5961    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_malloc_init"]
5962    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
5963}
5964extern "C" {
5965    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_malloc_init"]
5966    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
5967}
5968extern "C" {
5969    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_load_builtin_engines"]
5970    pub fn ENGINE_load_builtin_engines();
5971}
5972extern "C" {
5973    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_register_all_complete"]
5974    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
5975}
5976extern "C" {
5977    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_load_builtin_modules"]
5978    pub fn OPENSSL_load_builtin_modules();
5979}
5980extern "C" {
5981    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_init_crypto"]
5982    pub fn OPENSSL_init_crypto(
5983        opts: u64,
5984        settings: *const OPENSSL_INIT_SETTINGS,
5985    ) -> ::std::os::raw::c_int;
5986}
5987extern "C" {
5988    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_init"]
5989    pub fn OPENSSL_init();
5990}
5991extern "C" {
5992    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_cleanup"]
5993    pub fn OPENSSL_cleanup();
5994}
5995extern "C" {
5996    #[link_name = "\u{1}aws_lc_fips_0_13_14_FIPS_mode_set"]
5997    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5998}
5999extern "C" {
6000    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_load_BIO_strings"]
6001    pub fn ERR_load_BIO_strings();
6002}
6003extern "C" {
6004    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_load_ERR_strings"]
6005    pub fn ERR_load_ERR_strings();
6006}
6007extern "C" {
6008    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_load_CRYPTO_strings"]
6009    pub fn ERR_load_CRYPTO_strings();
6010}
6011extern "C" {
6012    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_load_crypto_strings"]
6013    pub fn ERR_load_crypto_strings();
6014}
6015extern "C" {
6016    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_load_RAND_strings"]
6017    pub fn ERR_load_RAND_strings();
6018}
6019extern "C" {
6020    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_free_strings"]
6021    pub fn ERR_free_strings();
6022}
6023extern "C" {
6024    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_get_error"]
6025    pub fn ERR_get_error() -> u32;
6026}
6027extern "C" {
6028    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_get_error_line"]
6029    pub fn ERR_get_error_line(
6030        file: *mut *const ::std::os::raw::c_char,
6031        line: *mut ::std::os::raw::c_int,
6032    ) -> u32;
6033}
6034extern "C" {
6035    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_get_error_line_data"]
6036    pub fn ERR_get_error_line_data(
6037        file: *mut *const ::std::os::raw::c_char,
6038        line: *mut ::std::os::raw::c_int,
6039        data: *mut *const ::std::os::raw::c_char,
6040        flags: *mut ::std::os::raw::c_int,
6041    ) -> u32;
6042}
6043extern "C" {
6044    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_error"]
6045    pub fn ERR_peek_error() -> u32;
6046}
6047extern "C" {
6048    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_error_line"]
6049    pub fn ERR_peek_error_line(
6050        file: *mut *const ::std::os::raw::c_char,
6051        line: *mut ::std::os::raw::c_int,
6052    ) -> u32;
6053}
6054extern "C" {
6055    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_error_line_data"]
6056    pub fn ERR_peek_error_line_data(
6057        file: *mut *const ::std::os::raw::c_char,
6058        line: *mut ::std::os::raw::c_int,
6059        data: *mut *const ::std::os::raw::c_char,
6060        flags: *mut ::std::os::raw::c_int,
6061    ) -> u32;
6062}
6063extern "C" {
6064    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_last_error"]
6065    pub fn ERR_peek_last_error() -> u32;
6066}
6067extern "C" {
6068    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_last_error_line"]
6069    pub fn ERR_peek_last_error_line(
6070        file: *mut *const ::std::os::raw::c_char,
6071        line: *mut ::std::os::raw::c_int,
6072    ) -> u32;
6073}
6074extern "C" {
6075    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_peek_last_error_line_data"]
6076    pub fn ERR_peek_last_error_line_data(
6077        file: *mut *const ::std::os::raw::c_char,
6078        line: *mut ::std::os::raw::c_int,
6079        data: *mut *const ::std::os::raw::c_char,
6080        flags: *mut ::std::os::raw::c_int,
6081    ) -> u32;
6082}
6083extern "C" {
6084    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_error_string_n"]
6085    pub fn ERR_error_string_n(
6086        packed_error: u32,
6087        buf: *mut ::std::os::raw::c_char,
6088        len: usize,
6089    ) -> *mut ::std::os::raw::c_char;
6090}
6091extern "C" {
6092    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_lib_error_string"]
6093    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6094}
6095extern "C" {
6096    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_reason_error_string"]
6097    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6098}
6099pub type ERR_print_errors_callback_t = ::std::option::Option<
6100    unsafe extern "C" fn(
6101        str_: *const ::std::os::raw::c_char,
6102        len: usize,
6103        ctx: *mut ::std::os::raw::c_void,
6104    ) -> ::std::os::raw::c_int,
6105>;
6106extern "C" {
6107    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_print_errors_cb"]
6108    pub fn ERR_print_errors_cb(
6109        callback: ERR_print_errors_callback_t,
6110        ctx: *mut ::std::os::raw::c_void,
6111    );
6112}
6113extern "C" {
6114    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_print_errors_fp"]
6115    pub fn ERR_print_errors_fp(file: *mut FILE);
6116}
6117extern "C" {
6118    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_clear_error"]
6119    pub fn ERR_clear_error();
6120}
6121extern "C" {
6122    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_set_mark"]
6123    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6124}
6125extern "C" {
6126    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_pop_to_mark"]
6127    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6128}
6129extern "C" {
6130    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_get_next_error_library"]
6131    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6132}
6133extern "C" {
6134    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_remove_state"]
6135    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6136}
6137extern "C" {
6138    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_remove_thread_state"]
6139    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6140}
6141extern "C" {
6142    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_func_error_string"]
6143    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6144}
6145extern "C" {
6146    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_error_string"]
6147    pub fn ERR_error_string(
6148        packed_error: u32,
6149        buf: *mut ::std::os::raw::c_char,
6150    ) -> *mut ::std::os::raw::c_char;
6151}
6152extern "C" {
6153    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_clear_system_error"]
6154    pub fn ERR_clear_system_error();
6155}
6156extern "C" {
6157    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_put_error"]
6158    pub fn ERR_put_error(
6159        library: ::std::os::raw::c_int,
6160        unused: ::std::os::raw::c_int,
6161        reason: ::std::os::raw::c_int,
6162        file: *const ::std::os::raw::c_char,
6163        line: ::std::os::raw::c_uint,
6164    );
6165}
6166extern "C" {
6167    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_add_error_data"]
6168    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6169}
6170extern "C" {
6171    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_add_error_dataf"]
6172    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6173}
6174extern "C" {
6175    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_set_error_data"]
6176    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6177}
6178pub type OPENSSL_sk_free_func =
6179    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6180pub type OPENSSL_sk_copy_func = ::std::option::Option<
6181    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6182>;
6183pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6184    unsafe extern "C" fn(
6185        a: *const *const ::std::os::raw::c_void,
6186        b: *const *const ::std::os::raw::c_void,
6187    ) -> ::std::os::raw::c_int,
6188>;
6189pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6190    unsafe extern "C" fn(
6191        obj: *mut ::std::os::raw::c_void,
6192        data: *mut ::std::os::raw::c_void,
6193    ) -> ::std::os::raw::c_int,
6194>;
6195pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6196    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6197>;
6198pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6199    unsafe extern "C" fn(
6200        arg1: OPENSSL_sk_copy_func,
6201        arg2: *const ::std::os::raw::c_void,
6202    ) -> *mut ::std::os::raw::c_void,
6203>;
6204pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6205    unsafe extern "C" fn(
6206        arg1: OPENSSL_sk_cmp_func,
6207        arg2: *const ::std::os::raw::c_void,
6208        arg3: *const ::std::os::raw::c_void,
6209    ) -> ::std::os::raw::c_int,
6210>;
6211pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6212    unsafe extern "C" fn(
6213        arg1: OPENSSL_sk_delete_if_func,
6214        arg2: *mut ::std::os::raw::c_void,
6215        arg3: *mut ::std::os::raw::c_void,
6216    ) -> ::std::os::raw::c_int,
6217>;
6218#[repr(C)]
6219#[derive(Debug, Copy, Clone)]
6220pub struct stack_st {
6221    _unused: [u8; 0],
6222}
6223pub type OPENSSL_STACK = stack_st;
6224extern "C" {
6225    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_new"]
6226    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6227}
6228extern "C" {
6229    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_new_null"]
6230    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6231}
6232extern "C" {
6233    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_num"]
6234    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6235}
6236extern "C" {
6237    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_zero"]
6238    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6239}
6240extern "C" {
6241    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_value"]
6242    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6243}
6244extern "C" {
6245    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_set"]
6246    pub fn OPENSSL_sk_set(
6247        sk: *mut OPENSSL_STACK,
6248        i: usize,
6249        p: *mut ::std::os::raw::c_void,
6250    ) -> *mut ::std::os::raw::c_void;
6251}
6252extern "C" {
6253    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_free"]
6254    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6255}
6256extern "C" {
6257    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_pop_free_ex"]
6258    pub fn OPENSSL_sk_pop_free_ex(
6259        sk: *mut OPENSSL_STACK,
6260        call_free_func: OPENSSL_sk_call_free_func,
6261        free_func: OPENSSL_sk_free_func,
6262    );
6263}
6264extern "C" {
6265    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_insert"]
6266    pub fn OPENSSL_sk_insert(
6267        sk: *mut OPENSSL_STACK,
6268        p: *mut ::std::os::raw::c_void,
6269        where_: usize,
6270    ) -> usize;
6271}
6272extern "C" {
6273    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_delete"]
6274    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6275}
6276extern "C" {
6277    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_delete_ptr"]
6278    pub fn OPENSSL_sk_delete_ptr(
6279        sk: *mut OPENSSL_STACK,
6280        p: *const ::std::os::raw::c_void,
6281    ) -> *mut ::std::os::raw::c_void;
6282}
6283extern "C" {
6284    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_delete_if"]
6285    pub fn OPENSSL_sk_delete_if(
6286        sk: *mut OPENSSL_STACK,
6287        call_func: OPENSSL_sk_call_delete_if_func,
6288        func: OPENSSL_sk_delete_if_func,
6289        data: *mut ::std::os::raw::c_void,
6290    );
6291}
6292extern "C" {
6293    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_find"]
6294    pub fn OPENSSL_sk_find(
6295        sk: *const OPENSSL_STACK,
6296        out_index: *mut usize,
6297        p: *const ::std::os::raw::c_void,
6298        call_cmp_func: OPENSSL_sk_call_cmp_func,
6299    ) -> ::std::os::raw::c_int;
6300}
6301extern "C" {
6302    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_unshift"]
6303    pub fn OPENSSL_sk_unshift(
6304        sk: *mut OPENSSL_STACK,
6305        data: *mut ::std::os::raw::c_void,
6306    ) -> ::std::os::raw::c_int;
6307}
6308extern "C" {
6309    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_shift"]
6310    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6311}
6312extern "C" {
6313    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_push"]
6314    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6315}
6316extern "C" {
6317    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_pop"]
6318    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6319}
6320extern "C" {
6321    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_dup"]
6322    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6323}
6324extern "C" {
6325    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_sort"]
6326    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6327}
6328extern "C" {
6329    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_is_sorted"]
6330    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6331}
6332extern "C" {
6333    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_set_cmp_func"]
6334    pub fn OPENSSL_sk_set_cmp_func(
6335        sk: *mut OPENSSL_STACK,
6336        comp: OPENSSL_sk_cmp_func,
6337    ) -> OPENSSL_sk_cmp_func;
6338}
6339extern "C" {
6340    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_sk_deep_copy"]
6341    pub fn OPENSSL_sk_deep_copy(
6342        sk: *const OPENSSL_STACK,
6343        call_copy_func: OPENSSL_sk_call_copy_func,
6344        copy_func: OPENSSL_sk_copy_func,
6345        call_free_func: OPENSSL_sk_call_free_func,
6346        free_func: OPENSSL_sk_free_func,
6347    ) -> *mut OPENSSL_STACK;
6348}
6349pub type _STACK = OPENSSL_STACK;
6350extern "C" {
6351    #[link_name = "\u{1}aws_lc_fips_0_13_14_sk_pop_free"]
6352    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6353}
6354pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6355#[repr(C)]
6356#[derive(Debug, Copy, Clone)]
6357pub struct stack_st_void {
6358    _unused: [u8; 0],
6359}
6360pub type sk_void_free_func =
6361    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6362pub type sk_void_copy_func = ::std::option::Option<
6363    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6364>;
6365pub type sk_void_cmp_func = ::std::option::Option<
6366    unsafe extern "C" fn(
6367        arg1: *const *const ::std::os::raw::c_void,
6368        arg2: *const *const ::std::os::raw::c_void,
6369    ) -> ::std::os::raw::c_int,
6370>;
6371pub type sk_void_delete_if_func = ::std::option::Option<
6372    unsafe extern "C" fn(
6373        arg1: *mut ::std::os::raw::c_void,
6374        arg2: *mut ::std::os::raw::c_void,
6375    ) -> ::std::os::raw::c_int,
6376>;
6377#[repr(C)]
6378#[derive(Debug, Copy, Clone)]
6379pub struct stack_st_OPENSSL_STRING {
6380    _unused: [u8; 0],
6381}
6382pub type sk_OPENSSL_STRING_free_func =
6383    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6384pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6385    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6386>;
6387pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6388    unsafe extern "C" fn(
6389        arg1: *const *const ::std::os::raw::c_char,
6390        arg2: *const *const ::std::os::raw::c_char,
6391    ) -> ::std::os::raw::c_int,
6392>;
6393pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6394    unsafe extern "C" fn(
6395        arg1: *mut ::std::os::raw::c_char,
6396        arg2: *mut ::std::os::raw::c_void,
6397    ) -> ::std::os::raw::c_int,
6398>;
6399pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6400pub type CRYPTO_EX_free = ::std::option::Option<
6401    unsafe extern "C" fn(
6402        parent: *mut ::std::os::raw::c_void,
6403        ptr: *mut ::std::os::raw::c_void,
6404        ad: *mut CRYPTO_EX_DATA,
6405        index: ::std::os::raw::c_int,
6406        argl: ::std::os::raw::c_long,
6407        argp: *mut ::std::os::raw::c_void,
6408    ),
6409>;
6410extern "C" {
6411    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_cleanup_all_ex_data"]
6412    pub fn CRYPTO_cleanup_all_ex_data();
6413}
6414pub type CRYPTO_EX_dup = ::std::option::Option<
6415    unsafe extern "C" fn(
6416        to: *mut CRYPTO_EX_DATA,
6417        from: *const CRYPTO_EX_DATA,
6418        from_d: *mut *mut ::std::os::raw::c_void,
6419        index: ::std::os::raw::c_int,
6420        argl: ::std::os::raw::c_long,
6421        argp: *mut ::std::os::raw::c_void,
6422    ) -> ::std::os::raw::c_int,
6423>;
6424pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6425#[repr(C)]
6426#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6427pub struct crypto_ex_data_st {
6428    pub sk: *mut stack_st_void,
6429}
6430#[test]
6431fn bindgen_test_layout_crypto_ex_data_st() {
6432    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6433    let ptr = UNINIT.as_ptr();
6434    assert_eq!(
6435        ::std::mem::size_of::<crypto_ex_data_st>(),
6436        8usize,
6437        "Size of crypto_ex_data_st"
6438    );
6439    assert_eq!(
6440        ::std::mem::align_of::<crypto_ex_data_st>(),
6441        8usize,
6442        "Alignment of crypto_ex_data_st"
6443    );
6444    assert_eq!(
6445        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6446        0usize,
6447        "Offset of field: crypto_ex_data_st::sk"
6448    );
6449}
6450impl Default for crypto_ex_data_st {
6451    fn default() -> Self {
6452        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6453        unsafe {
6454            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6455            s.assume_init()
6456        }
6457    }
6458}
6459#[repr(C)]
6460#[derive(Debug, Copy, Clone)]
6461pub struct stack_st_BIO {
6462    _unused: [u8; 0],
6463}
6464pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6465pub type sk_BIO_copy_func =
6466    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6467pub type sk_BIO_cmp_func = ::std::option::Option<
6468    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
6469>;
6470pub type sk_BIO_delete_if_func = ::std::option::Option<
6471    unsafe extern "C" fn(
6472        arg1: *mut BIO,
6473        arg2: *mut ::std::os::raw::c_void,
6474    ) -> ::std::os::raw::c_int,
6475>;
6476extern "C" {
6477    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new"]
6478    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6479}
6480extern "C" {
6481    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_free"]
6482    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
6483}
6484extern "C" {
6485    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_vfree"]
6486    pub fn BIO_vfree(bio: *mut BIO);
6487}
6488extern "C" {
6489    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_up_ref"]
6490    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
6491}
6492extern "C" {
6493    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_read"]
6494    pub fn BIO_read(
6495        bio: *mut BIO,
6496        data: *mut ::std::os::raw::c_void,
6497        len: ::std::os::raw::c_int,
6498    ) -> ::std::os::raw::c_int;
6499}
6500extern "C" {
6501    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_read_ex"]
6502    pub fn BIO_read_ex(
6503        bio: *mut BIO,
6504        data: *mut ::std::os::raw::c_void,
6505        data_len: usize,
6506        read_bytes: *mut usize,
6507    ) -> ::std::os::raw::c_int;
6508}
6509extern "C" {
6510    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_gets"]
6511    pub fn BIO_gets(
6512        bio: *mut BIO,
6513        buf: *mut ::std::os::raw::c_char,
6514        size: ::std::os::raw::c_int,
6515    ) -> ::std::os::raw::c_int;
6516}
6517extern "C" {
6518    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_write"]
6519    pub fn BIO_write(
6520        bio: *mut BIO,
6521        data: *const ::std::os::raw::c_void,
6522        len: ::std::os::raw::c_int,
6523    ) -> ::std::os::raw::c_int;
6524}
6525extern "C" {
6526    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_write_ex"]
6527    pub fn BIO_write_ex(
6528        bio: *mut BIO,
6529        data: *const ::std::os::raw::c_void,
6530        data_len: usize,
6531        written_bytes: *mut usize,
6532    ) -> ::std::os::raw::c_int;
6533}
6534extern "C" {
6535    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_write_all"]
6536    pub fn BIO_write_all(
6537        bio: *mut BIO,
6538        data: *const ::std::os::raw::c_void,
6539        len: usize,
6540    ) -> ::std::os::raw::c_int;
6541}
6542extern "C" {
6543    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_puts"]
6544    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6545}
6546extern "C" {
6547    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_flush"]
6548    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
6549}
6550extern "C" {
6551    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_ctrl"]
6552    pub fn BIO_ctrl(
6553        bio: *mut BIO,
6554        cmd: ::std::os::raw::c_int,
6555        larg: ::std::os::raw::c_long,
6556        parg: *mut ::std::os::raw::c_void,
6557    ) -> ::std::os::raw::c_long;
6558}
6559extern "C" {
6560    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_ptr_ctrl"]
6561    pub fn BIO_ptr_ctrl(
6562        bp: *mut BIO,
6563        cmd: ::std::os::raw::c_int,
6564        larg: ::std::os::raw::c_long,
6565    ) -> *mut ::std::os::raw::c_char;
6566}
6567extern "C" {
6568    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_int_ctrl"]
6569    pub fn BIO_int_ctrl(
6570        bp: *mut BIO,
6571        cmd: ::std::os::raw::c_int,
6572        larg: ::std::os::raw::c_long,
6573        iarg: ::std::os::raw::c_int,
6574    ) -> ::std::os::raw::c_long;
6575}
6576extern "C" {
6577    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_reset"]
6578    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
6579}
6580extern "C" {
6581    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_eof"]
6582    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
6583}
6584extern "C" {
6585    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_flags"]
6586    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6587}
6588extern "C" {
6589    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_test_flags"]
6590    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6591}
6592extern "C" {
6593    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_should_read"]
6594    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
6595}
6596extern "C" {
6597    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_should_write"]
6598    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
6599}
6600extern "C" {
6601    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_should_retry"]
6602    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
6603}
6604extern "C" {
6605    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_should_io_special"]
6606    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
6607}
6608extern "C" {
6609    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_retry_reason"]
6610    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
6611}
6612extern "C" {
6613    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_retry_reason"]
6614    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
6615}
6616extern "C" {
6617    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_clear_flags"]
6618    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6619}
6620extern "C" {
6621    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_retry_read"]
6622    pub fn BIO_set_retry_read(bio: *mut BIO);
6623}
6624extern "C" {
6625    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_retry_write"]
6626    pub fn BIO_set_retry_write(bio: *mut BIO);
6627}
6628extern "C" {
6629    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_retry_flags"]
6630    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
6631}
6632extern "C" {
6633    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_clear_retry_flags"]
6634    pub fn BIO_clear_retry_flags(bio: *mut BIO);
6635}
6636extern "C" {
6637    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_method_type"]
6638    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
6639}
6640extern "C" {
6641    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_method_name"]
6642    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
6643}
6644pub type bio_info_cb = ::std::option::Option<
6645    unsafe extern "C" fn(
6646        b: *mut BIO,
6647        state: ::std::os::raw::c_int,
6648        res: ::std::os::raw::c_int,
6649    ) -> ::std::os::raw::c_long,
6650>;
6651pub type BIO_callback_fn_ex = ::std::option::Option<
6652    unsafe extern "C" fn(
6653        bio: *mut BIO,
6654        oper: ::std::os::raw::c_int,
6655        argp: *const ::std::os::raw::c_char,
6656        len: usize,
6657        argi: ::std::os::raw::c_int,
6658        argl: ::std::os::raw::c_long,
6659        bio_ret: ::std::os::raw::c_int,
6660        processed: *mut usize,
6661    ) -> ::std::os::raw::c_long,
6662>;
6663extern "C" {
6664    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_callback_ctrl"]
6665    pub fn BIO_callback_ctrl(
6666        bio: *mut BIO,
6667        cmd: ::std::os::raw::c_int,
6668        fp: bio_info_cb,
6669    ) -> ::std::os::raw::c_long;
6670}
6671extern "C" {
6672    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_pending"]
6673    pub fn BIO_pending(bio: *const BIO) -> usize;
6674}
6675extern "C" {
6676    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_ctrl_pending"]
6677    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
6678}
6679extern "C" {
6680    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_wpending"]
6681    pub fn BIO_wpending(bio: *const BIO) -> usize;
6682}
6683extern "C" {
6684    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_close"]
6685    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
6686        -> ::std::os::raw::c_int;
6687}
6688extern "C" {
6689    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_number_read"]
6690    pub fn BIO_number_read(bio: *const BIO) -> u64;
6691}
6692extern "C" {
6693    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_number_written"]
6694    pub fn BIO_number_written(bio: *const BIO) -> u64;
6695}
6696extern "C" {
6697    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_callback_ex"]
6698    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
6699}
6700extern "C" {
6701    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_callback_arg"]
6702    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
6703}
6704extern "C" {
6705    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_callback_arg"]
6706    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
6707}
6708extern "C" {
6709    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_push"]
6710    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
6711}
6712extern "C" {
6713    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_pop"]
6714    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
6715}
6716extern "C" {
6717    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_next"]
6718    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
6719}
6720extern "C" {
6721    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_free_all"]
6722    pub fn BIO_free_all(bio: *mut BIO);
6723}
6724extern "C" {
6725    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_find_type"]
6726    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
6727}
6728extern "C" {
6729    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_copy_next_retry"]
6730    pub fn BIO_copy_next_retry(bio: *mut BIO);
6731}
6732extern "C" {
6733    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_printf"]
6734    pub fn BIO_printf(
6735        bio: *mut BIO,
6736        format: *const ::std::os::raw::c_char,
6737        ...
6738    ) -> ::std::os::raw::c_int;
6739}
6740extern "C" {
6741    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_indent"]
6742    pub fn BIO_indent(
6743        bio: *mut BIO,
6744        indent: ::std::os::raw::c_uint,
6745        max_indent: ::std::os::raw::c_uint,
6746    ) -> ::std::os::raw::c_int;
6747}
6748extern "C" {
6749    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_hexdump"]
6750    pub fn BIO_hexdump(
6751        bio: *mut BIO,
6752        data: *const u8,
6753        len: usize,
6754        indent: ::std::os::raw::c_uint,
6755    ) -> ::std::os::raw::c_int;
6756}
6757extern "C" {
6758    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_print_errors"]
6759    pub fn ERR_print_errors(bio: *mut BIO);
6760}
6761extern "C" {
6762    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_read_asn1"]
6763    pub fn BIO_read_asn1(
6764        bio: *mut BIO,
6765        out: *mut *mut u8,
6766        out_len: *mut usize,
6767        max_len: usize,
6768    ) -> ::std::os::raw::c_int;
6769}
6770extern "C" {
6771    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_mem"]
6772    pub fn BIO_s_mem() -> *const BIO_METHOD;
6773}
6774extern "C" {
6775    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_mem_buf"]
6776    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
6777}
6778extern "C" {
6779    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_mem_contents"]
6780    pub fn BIO_mem_contents(
6781        bio: *const BIO,
6782        out_contents: *mut *const u8,
6783        out_len: *mut usize,
6784    ) -> ::std::os::raw::c_int;
6785}
6786extern "C" {
6787    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_mem_ptr"]
6788    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
6789}
6790extern "C" {
6791    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_mem_buf"]
6792    pub fn BIO_set_mem_buf(
6793        bio: *mut BIO,
6794        b: *mut BUF_MEM,
6795        take_ownership: ::std::os::raw::c_int,
6796    ) -> ::std::os::raw::c_int;
6797}
6798extern "C" {
6799    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_mem_eof_return"]
6800    pub fn BIO_set_mem_eof_return(
6801        bio: *mut BIO,
6802        eof_value: ::std::os::raw::c_int,
6803    ) -> ::std::os::raw::c_int;
6804}
6805extern "C" {
6806    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_fd"]
6807    pub fn BIO_s_fd() -> *const BIO_METHOD;
6808}
6809extern "C" {
6810    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_fd"]
6811    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6812}
6813extern "C" {
6814    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_fd"]
6815    pub fn BIO_set_fd(
6816        bio: *mut BIO,
6817        fd: ::std::os::raw::c_int,
6818        close_flag: ::std::os::raw::c_int,
6819    ) -> ::std::os::raw::c_int;
6820}
6821extern "C" {
6822    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_fd"]
6823    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_file"]
6827    pub fn BIO_s_file() -> *const BIO_METHOD;
6828}
6829extern "C" {
6830    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_file"]
6831    pub fn BIO_new_file(
6832        filename: *const ::std::os::raw::c_char,
6833        mode: *const ::std::os::raw::c_char,
6834    ) -> *mut BIO;
6835}
6836extern "C" {
6837    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_fp"]
6838    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
6839}
6840extern "C" {
6841    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_fp"]
6842    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
6843}
6844extern "C" {
6845    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_fp"]
6846    pub fn BIO_set_fp(
6847        bio: *mut BIO,
6848        file: *mut FILE,
6849        close_flag: ::std::os::raw::c_int,
6850    ) -> ::std::os::raw::c_int;
6851}
6852extern "C" {
6853    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_read_filename"]
6854    pub fn BIO_read_filename(
6855        bio: *mut BIO,
6856        filename: *const ::std::os::raw::c_char,
6857    ) -> ::std::os::raw::c_int;
6858}
6859extern "C" {
6860    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_write_filename"]
6861    pub fn BIO_write_filename(
6862        bio: *mut BIO,
6863        filename: *const ::std::os::raw::c_char,
6864    ) -> ::std::os::raw::c_int;
6865}
6866extern "C" {
6867    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_append_filename"]
6868    pub fn BIO_append_filename(
6869        bio: *mut BIO,
6870        filename: *const ::std::os::raw::c_char,
6871    ) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_rw_filename"]
6875    pub fn BIO_rw_filename(
6876        bio: *mut BIO,
6877        filename: *const ::std::os::raw::c_char,
6878    ) -> ::std::os::raw::c_int;
6879}
6880extern "C" {
6881    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_tell"]
6882    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
6883}
6884extern "C" {
6885    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_seek"]
6886    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
6887}
6888extern "C" {
6889    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_socket"]
6890    pub fn BIO_s_socket() -> *const BIO_METHOD;
6891}
6892extern "C" {
6893    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_socket"]
6894    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
6895        -> *mut BIO;
6896}
6897extern "C" {
6898    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_connect"]
6899    pub fn BIO_s_connect() -> *const BIO_METHOD;
6900}
6901extern "C" {
6902    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_connect"]
6903    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
6904}
6905extern "C" {
6906    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_conn_hostname"]
6907    pub fn BIO_set_conn_hostname(
6908        bio: *mut BIO,
6909        host_and_optional_port: *const ::std::os::raw::c_char,
6910    ) -> ::std::os::raw::c_int;
6911}
6912extern "C" {
6913    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_conn_port"]
6914    pub fn BIO_set_conn_port(
6915        bio: *mut BIO,
6916        port_str: *const ::std::os::raw::c_char,
6917    ) -> ::std::os::raw::c_int;
6918}
6919extern "C" {
6920    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_conn_int_port"]
6921    pub fn BIO_set_conn_int_port(
6922        bio: *mut BIO,
6923        port: *const ::std::os::raw::c_int,
6924    ) -> ::std::os::raw::c_int;
6925}
6926extern "C" {
6927    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_nbio"]
6928    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6929}
6930extern "C" {
6931    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_do_connect"]
6932    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
6933}
6934extern "C" {
6935    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_new_bio_pair"]
6936    pub fn BIO_new_bio_pair(
6937        out1: *mut *mut BIO,
6938        writebuf1: usize,
6939        out2: *mut *mut BIO,
6940        writebuf2: usize,
6941    ) -> ::std::os::raw::c_int;
6942}
6943extern "C" {
6944    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_ctrl_get_read_request"]
6945    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
6946}
6947extern "C" {
6948    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_ctrl_get_write_guarantee"]
6949    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
6950}
6951extern "C" {
6952    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_shutdown_wr"]
6953    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
6954}
6955extern "C" {
6956    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_new_index"]
6957    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
6958}
6959extern "C" {
6960    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_new"]
6961    pub fn BIO_meth_new(
6962        type_: ::std::os::raw::c_int,
6963        name: *const ::std::os::raw::c_char,
6964    ) -> *mut BIO_METHOD;
6965}
6966extern "C" {
6967    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_free"]
6968    pub fn BIO_meth_free(method: *mut BIO_METHOD);
6969}
6970extern "C" {
6971    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_create"]
6972    pub fn BIO_meth_set_create(
6973        method: *mut BIO_METHOD,
6974        create: ::std::option::Option<
6975            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
6976        >,
6977    ) -> ::std::os::raw::c_int;
6978}
6979extern "C" {
6980    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_create"]
6981    pub fn BIO_meth_get_create(
6982        method: *const BIO_METHOD,
6983    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
6984}
6985extern "C" {
6986    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_destroy"]
6987    pub fn BIO_meth_set_destroy(
6988        method: *mut BIO_METHOD,
6989        destroy: ::std::option::Option<
6990            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
6991        >,
6992    ) -> ::std::os::raw::c_int;
6993}
6994extern "C" {
6995    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_destroy"]
6996    pub fn BIO_meth_get_destroy(
6997        method: *const BIO_METHOD,
6998    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
6999}
7000extern "C" {
7001    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_write"]
7002    pub fn BIO_meth_set_write(
7003        method: *mut BIO_METHOD,
7004        write: ::std::option::Option<
7005            unsafe extern "C" fn(
7006                arg1: *mut BIO,
7007                arg2: *const ::std::os::raw::c_char,
7008                arg3: ::std::os::raw::c_int,
7009            ) -> ::std::os::raw::c_int,
7010        >,
7011    ) -> ::std::os::raw::c_int;
7012}
7013extern "C" {
7014    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_read"]
7015    pub fn BIO_meth_set_read(
7016        method: *mut BIO_METHOD,
7017        read: ::std::option::Option<
7018            unsafe extern "C" fn(
7019                arg1: *mut BIO,
7020                arg2: *mut ::std::os::raw::c_char,
7021                arg3: ::std::os::raw::c_int,
7022            ) -> ::std::os::raw::c_int,
7023        >,
7024    ) -> ::std::os::raw::c_int;
7025}
7026extern "C" {
7027    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_gets"]
7028    pub fn BIO_meth_set_gets(
7029        method: *mut BIO_METHOD,
7030        gets: ::std::option::Option<
7031            unsafe extern "C" fn(
7032                arg1: *mut BIO,
7033                arg2: *mut ::std::os::raw::c_char,
7034                arg3: ::std::os::raw::c_int,
7035            ) -> ::std::os::raw::c_int,
7036        >,
7037    ) -> ::std::os::raw::c_int;
7038}
7039extern "C" {
7040    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_gets"]
7041    pub fn BIO_meth_get_gets(
7042        method: *const BIO_METHOD,
7043    ) -> ::std::option::Option<
7044        unsafe extern "C" fn(
7045            method: *mut BIO,
7046            arg1: *mut ::std::os::raw::c_char,
7047            arg2: ::std::os::raw::c_int,
7048        ) -> ::std::os::raw::c_int,
7049    >;
7050}
7051extern "C" {
7052    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_ctrl"]
7053    pub fn BIO_meth_set_ctrl(
7054        method: *mut BIO_METHOD,
7055        ctrl: ::std::option::Option<
7056            unsafe extern "C" fn(
7057                arg1: *mut BIO,
7058                arg2: ::std::os::raw::c_int,
7059                arg3: ::std::os::raw::c_long,
7060                arg4: *mut ::std::os::raw::c_void,
7061            ) -> ::std::os::raw::c_long,
7062        >,
7063    ) -> ::std::os::raw::c_int;
7064}
7065extern "C" {
7066    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_ctrl"]
7067    pub fn BIO_meth_get_ctrl(
7068        method: *const BIO_METHOD,
7069    ) -> ::std::option::Option<
7070        unsafe extern "C" fn(
7071            method: *mut BIO,
7072            arg1: ::std::os::raw::c_int,
7073            arg2: ::std::os::raw::c_long,
7074            arg3: *mut ::std::os::raw::c_void,
7075        ) -> ::std::os::raw::c_long,
7076    >;
7077}
7078extern "C" {
7079    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_callback_ctrl"]
7080    pub fn BIO_meth_set_callback_ctrl(
7081        method: *mut BIO_METHOD,
7082        callback_ctrl: ::std::option::Option<
7083            unsafe extern "C" fn(
7084                arg1: *mut BIO,
7085                arg2: ::std::os::raw::c_int,
7086                arg3: bio_info_cb,
7087            ) -> ::std::os::raw::c_long,
7088        >,
7089    ) -> ::std::os::raw::c_int;
7090}
7091extern "C" {
7092    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_callback_ctrl"]
7093    pub fn BIO_meth_get_callback_ctrl(
7094        method: *const BIO_METHOD,
7095    ) -> ::std::option::Option<
7096        unsafe extern "C" fn(
7097            method: *mut BIO,
7098            arg1: ::std::os::raw::c_int,
7099            arg2: bio_info_cb,
7100        ) -> ::std::os::raw::c_long,
7101    >;
7102}
7103extern "C" {
7104    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_data"]
7105    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7106}
7107extern "C" {
7108    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_data"]
7109    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7110}
7111extern "C" {
7112    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_init"]
7113    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7114}
7115extern "C" {
7116    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_init"]
7117    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7118}
7119extern "C" {
7120    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_ex_new_index"]
7121    pub fn BIO_get_ex_new_index(
7122        argl: ::std::os::raw::c_long,
7123        argp: *mut ::std::os::raw::c_void,
7124        unused: *mut CRYPTO_EX_unused,
7125        dup_unused: CRYPTO_EX_dup,
7126        free_func: CRYPTO_EX_free,
7127    ) -> ::std::os::raw::c_int;
7128}
7129extern "C" {
7130    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_ex_data"]
7131    pub fn BIO_set_ex_data(
7132        bio: *mut BIO,
7133        idx: ::std::os::raw::c_int,
7134        arg: *mut ::std::os::raw::c_void,
7135    ) -> ::std::os::raw::c_int;
7136}
7137extern "C" {
7138    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_ex_data"]
7139    pub fn BIO_get_ex_data(
7140        bio: *const BIO,
7141        idx: ::std::os::raw::c_int,
7142    ) -> *mut ::std::os::raw::c_void;
7143}
7144extern "C" {
7145    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_f_base64"]
7146    pub fn BIO_f_base64() -> *const BIO_METHOD;
7147}
7148extern "C" {
7149    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_retry_special"]
7150    pub fn BIO_set_retry_special(bio: *mut BIO);
7151}
7152extern "C" {
7153    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_shutdown"]
7154    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7155}
7156extern "C" {
7157    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_get_shutdown"]
7158    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7159}
7160extern "C" {
7161    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_set_puts"]
7162    pub fn BIO_meth_set_puts(
7163        method: *mut BIO_METHOD,
7164        puts: ::std::option::Option<
7165            unsafe extern "C" fn(
7166                arg1: *mut BIO,
7167                arg2: *const ::std::os::raw::c_char,
7168            ) -> ::std::os::raw::c_int,
7169        >,
7170    ) -> ::std::os::raw::c_int;
7171}
7172extern "C" {
7173    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_meth_get_puts"]
7174    pub fn BIO_meth_get_puts(
7175        method: *const BIO_METHOD,
7176    ) -> ::std::option::Option<
7177        unsafe extern "C" fn(
7178            method: *mut BIO,
7179            arg1: *const ::std::os::raw::c_char,
7180        ) -> ::std::os::raw::c_int,
7181    >;
7182}
7183extern "C" {
7184    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_s_secmem"]
7185    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7186}
7187extern "C" {
7188    #[link_name = "\u{1}aws_lc_fips_0_13_14_BIO_set_write_buffer_size"]
7189    pub fn BIO_set_write_buffer_size(
7190        bio: *mut BIO,
7191        buffer_size: ::std::os::raw::c_int,
7192    ) -> ::std::os::raw::c_int;
7193}
7194#[repr(C)]
7195#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7196pub struct bio_method_st {
7197    pub type_: ::std::os::raw::c_int,
7198    pub name: *const ::std::os::raw::c_char,
7199    pub bwrite: ::std::option::Option<
7200        unsafe extern "C" fn(
7201            arg1: *mut BIO,
7202            arg2: *const ::std::os::raw::c_char,
7203            arg3: ::std::os::raw::c_int,
7204        ) -> ::std::os::raw::c_int,
7205    >,
7206    pub bread: ::std::option::Option<
7207        unsafe extern "C" fn(
7208            arg1: *mut BIO,
7209            arg2: *mut ::std::os::raw::c_char,
7210            arg3: ::std::os::raw::c_int,
7211        ) -> ::std::os::raw::c_int,
7212    >,
7213    pub bputs: ::std::option::Option<
7214        unsafe extern "C" fn(
7215            arg1: *mut BIO,
7216            arg2: *const ::std::os::raw::c_char,
7217        ) -> ::std::os::raw::c_int,
7218    >,
7219    pub bgets: ::std::option::Option<
7220        unsafe extern "C" fn(
7221            arg1: *mut BIO,
7222            arg2: *mut ::std::os::raw::c_char,
7223            arg3: ::std::os::raw::c_int,
7224        ) -> ::std::os::raw::c_int,
7225    >,
7226    pub ctrl: ::std::option::Option<
7227        unsafe extern "C" fn(
7228            arg1: *mut BIO,
7229            arg2: ::std::os::raw::c_int,
7230            arg3: ::std::os::raw::c_long,
7231            arg4: *mut ::std::os::raw::c_void,
7232        ) -> ::std::os::raw::c_long,
7233    >,
7234    pub create:
7235        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7236    pub destroy:
7237        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7238    pub callback_ctrl: ::std::option::Option<
7239        unsafe extern "C" fn(
7240            arg1: *mut BIO,
7241            arg2: ::std::os::raw::c_int,
7242            arg3: bio_info_cb,
7243        ) -> ::std::os::raw::c_long,
7244    >,
7245}
7246#[test]
7247fn bindgen_test_layout_bio_method_st() {
7248    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7249    let ptr = UNINIT.as_ptr();
7250    assert_eq!(
7251        ::std::mem::size_of::<bio_method_st>(),
7252        80usize,
7253        "Size of bio_method_st"
7254    );
7255    assert_eq!(
7256        ::std::mem::align_of::<bio_method_st>(),
7257        8usize,
7258        "Alignment of bio_method_st"
7259    );
7260    assert_eq!(
7261        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7262        0usize,
7263        "Offset of field: bio_method_st::type_"
7264    );
7265    assert_eq!(
7266        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7267        8usize,
7268        "Offset of field: bio_method_st::name"
7269    );
7270    assert_eq!(
7271        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7272        16usize,
7273        "Offset of field: bio_method_st::bwrite"
7274    );
7275    assert_eq!(
7276        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7277        24usize,
7278        "Offset of field: bio_method_st::bread"
7279    );
7280    assert_eq!(
7281        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7282        32usize,
7283        "Offset of field: bio_method_st::bputs"
7284    );
7285    assert_eq!(
7286        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7287        40usize,
7288        "Offset of field: bio_method_st::bgets"
7289    );
7290    assert_eq!(
7291        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7292        48usize,
7293        "Offset of field: bio_method_st::ctrl"
7294    );
7295    assert_eq!(
7296        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7297        56usize,
7298        "Offset of field: bio_method_st::create"
7299    );
7300    assert_eq!(
7301        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7302        64usize,
7303        "Offset of field: bio_method_st::destroy"
7304    );
7305    assert_eq!(
7306        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7307        72usize,
7308        "Offset of field: bio_method_st::callback_ctrl"
7309    );
7310}
7311impl Default for bio_method_st {
7312    fn default() -> Self {
7313        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7314        unsafe {
7315            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7316            s.assume_init()
7317        }
7318    }
7319}
7320#[repr(C)]
7321#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7322pub struct bio_st {
7323    pub method: *const BIO_METHOD,
7324    pub ex_data: CRYPTO_EX_DATA,
7325    pub callback_ex: BIO_callback_fn_ex,
7326    pub cb_arg: *mut ::std::os::raw::c_char,
7327    pub init: ::std::os::raw::c_int,
7328    pub shutdown: ::std::os::raw::c_int,
7329    pub flags: ::std::os::raw::c_int,
7330    pub retry_reason: ::std::os::raw::c_int,
7331    pub num: ::std::os::raw::c_int,
7332    pub references: CRYPTO_refcount_t,
7333    pub ptr: *mut ::std::os::raw::c_void,
7334    pub next_bio: *mut BIO,
7335    pub num_read: u64,
7336    pub num_write: u64,
7337}
7338#[test]
7339fn bindgen_test_layout_bio_st() {
7340    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
7341    let ptr = UNINIT.as_ptr();
7342    assert_eq!(::std::mem::size_of::<bio_st>(), 88usize, "Size of bio_st");
7343    assert_eq!(
7344        ::std::mem::align_of::<bio_st>(),
7345        8usize,
7346        "Alignment of bio_st"
7347    );
7348    assert_eq!(
7349        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
7350        0usize,
7351        "Offset of field: bio_st::method"
7352    );
7353    assert_eq!(
7354        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
7355        8usize,
7356        "Offset of field: bio_st::ex_data"
7357    );
7358    assert_eq!(
7359        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
7360        16usize,
7361        "Offset of field: bio_st::callback_ex"
7362    );
7363    assert_eq!(
7364        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
7365        24usize,
7366        "Offset of field: bio_st::cb_arg"
7367    );
7368    assert_eq!(
7369        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7370        32usize,
7371        "Offset of field: bio_st::init"
7372    );
7373    assert_eq!(
7374        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
7375        36usize,
7376        "Offset of field: bio_st::shutdown"
7377    );
7378    assert_eq!(
7379        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7380        40usize,
7381        "Offset of field: bio_st::flags"
7382    );
7383    assert_eq!(
7384        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
7385        44usize,
7386        "Offset of field: bio_st::retry_reason"
7387    );
7388    assert_eq!(
7389        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
7390        48usize,
7391        "Offset of field: bio_st::num"
7392    );
7393    assert_eq!(
7394        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
7395        52usize,
7396        "Offset of field: bio_st::references"
7397    );
7398    assert_eq!(
7399        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
7400        56usize,
7401        "Offset of field: bio_st::ptr"
7402    );
7403    assert_eq!(
7404        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
7405        64usize,
7406        "Offset of field: bio_st::next_bio"
7407    );
7408    assert_eq!(
7409        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
7410        72usize,
7411        "Offset of field: bio_st::num_read"
7412    );
7413    assert_eq!(
7414        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
7415        80usize,
7416        "Offset of field: bio_st::num_write"
7417    );
7418}
7419impl Default for bio_st {
7420    fn default() -> Self {
7421        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7422        unsafe {
7423            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7424            s.assume_init()
7425        }
7426    }
7427}
7428pub type BN_ULONG = u64;
7429extern "C" {
7430    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_new"]
7431    pub fn BN_new() -> *mut BIGNUM;
7432}
7433extern "C" {
7434    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_init"]
7435    pub fn BN_init(bn: *mut BIGNUM);
7436}
7437extern "C" {
7438    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_free"]
7439    pub fn BN_free(bn: *mut BIGNUM);
7440}
7441extern "C" {
7442    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_clear_free"]
7443    pub fn BN_clear_free(bn: *mut BIGNUM);
7444}
7445extern "C" {
7446    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_dup"]
7447    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7448}
7449extern "C" {
7450    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_copy"]
7451    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7452}
7453extern "C" {
7454    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_clear"]
7455    pub fn BN_clear(bn: *mut BIGNUM);
7456}
7457extern "C" {
7458    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_value_one"]
7459    pub fn BN_value_one() -> *const BIGNUM;
7460}
7461extern "C" {
7462    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_num_bits"]
7463    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7464}
7465extern "C" {
7466    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_num_bytes"]
7467    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7468}
7469extern "C" {
7470    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_zero"]
7471    pub fn BN_zero(bn: *mut BIGNUM);
7472}
7473extern "C" {
7474    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_one"]
7475    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
7476}
7477extern "C" {
7478    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_set_word"]
7479    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
7480}
7481extern "C" {
7482    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_set_u64"]
7483    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
7484}
7485extern "C" {
7486    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_set_negative"]
7487    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
7488}
7489extern "C" {
7490    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_negative"]
7491    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7492}
7493extern "C" {
7494    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bin2bn"]
7495    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7496}
7497extern "C" {
7498    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2bin"]
7499    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7500}
7501extern "C" {
7502    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_le2bn"]
7503    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7504}
7505extern "C" {
7506    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2le_padded"]
7507    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7508}
7509extern "C" {
7510    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2bin_padded"]
7511    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7512}
7513extern "C" {
7514    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2cbb_padded"]
7515    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
7516        -> ::std::os::raw::c_int;
7517}
7518extern "C" {
7519    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2hex"]
7520    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7521}
7522extern "C" {
7523    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_hex2bn"]
7524    pub fn BN_hex2bn(
7525        outp: *mut *mut BIGNUM,
7526        in_: *const ::std::os::raw::c_char,
7527    ) -> ::std::os::raw::c_int;
7528}
7529extern "C" {
7530    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2dec"]
7531    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7532}
7533extern "C" {
7534    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_dec2bn"]
7535    pub fn BN_dec2bn(
7536        outp: *mut *mut BIGNUM,
7537        in_: *const ::std::os::raw::c_char,
7538    ) -> ::std::os::raw::c_int;
7539}
7540extern "C" {
7541    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_asc2bn"]
7542    pub fn BN_asc2bn(
7543        outp: *mut *mut BIGNUM,
7544        in_: *const ::std::os::raw::c_char,
7545    ) -> ::std::os::raw::c_int;
7546}
7547extern "C" {
7548    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_print"]
7549    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
7550}
7551extern "C" {
7552    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_print_fp"]
7553    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
7554}
7555extern "C" {
7556    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_word"]
7557    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
7558}
7559extern "C" {
7560    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_u64"]
7561    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
7562}
7563extern "C" {
7564    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_flags"]
7565    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7566}
7567extern "C" {
7568    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_parse_asn1_unsigned"]
7569    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
7570}
7571extern "C" {
7572    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_marshal_asn1"]
7573    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
7574}
7575extern "C" {
7576    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_new"]
7577    pub fn BN_CTX_new() -> *mut BN_CTX;
7578}
7579extern "C" {
7580    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_free"]
7581    pub fn BN_CTX_free(ctx: *mut BN_CTX);
7582}
7583extern "C" {
7584    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_start"]
7585    pub fn BN_CTX_start(ctx: *mut BN_CTX);
7586}
7587extern "C" {
7588    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_get"]
7589    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
7590}
7591extern "C" {
7592    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_end"]
7593    pub fn BN_CTX_end(ctx: *mut BN_CTX);
7594}
7595extern "C" {
7596    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_add"]
7597    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7598}
7599extern "C" {
7600    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_uadd"]
7601    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7602}
7603extern "C" {
7604    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_add_word"]
7605    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7606}
7607extern "C" {
7608    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_sub"]
7609    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7610}
7611extern "C" {
7612    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_usub"]
7613    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7614}
7615extern "C" {
7616    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_sub_word"]
7617    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7618}
7619extern "C" {
7620    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mul"]
7621    pub fn BN_mul(
7622        r: *mut BIGNUM,
7623        a: *const BIGNUM,
7624        b: *const BIGNUM,
7625        ctx: *mut BN_CTX,
7626    ) -> ::std::os::raw::c_int;
7627}
7628extern "C" {
7629    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mul_word"]
7630    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7631}
7632extern "C" {
7633    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_sqr"]
7634    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
7635}
7636extern "C" {
7637    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_div"]
7638    pub fn BN_div(
7639        quotient: *mut BIGNUM,
7640        rem: *mut BIGNUM,
7641        numerator: *const BIGNUM,
7642        divisor: *const BIGNUM,
7643        ctx: *mut BN_CTX,
7644    ) -> ::std::os::raw::c_int;
7645}
7646extern "C" {
7647    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_div_word"]
7648    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
7649}
7650extern "C" {
7651    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_sqrt"]
7652    pub fn BN_sqrt(
7653        out_sqrt: *mut BIGNUM,
7654        in_: *const BIGNUM,
7655        ctx: *mut BN_CTX,
7656    ) -> ::std::os::raw::c_int;
7657}
7658extern "C" {
7659    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_cmp"]
7660    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7661}
7662extern "C" {
7663    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_cmp_word"]
7664    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
7665}
7666extern "C" {
7667    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_ucmp"]
7668    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7669}
7670extern "C" {
7671    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_equal_consttime"]
7672    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
7673}
7674extern "C" {
7675    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_abs_is_word"]
7676    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7677}
7678extern "C" {
7679    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_zero"]
7680    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7681}
7682extern "C" {
7683    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_one"]
7684    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7685}
7686extern "C" {
7687    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_word"]
7688    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
7689}
7690extern "C" {
7691    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_odd"]
7692    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7693}
7694extern "C" {
7695    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_pow2"]
7696    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
7697}
7698extern "C" {
7699    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_lshift"]
7700    pub fn BN_lshift(
7701        r: *mut BIGNUM,
7702        a: *const BIGNUM,
7703        n: ::std::os::raw::c_int,
7704    ) -> ::std::os::raw::c_int;
7705}
7706extern "C" {
7707    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_lshift1"]
7708    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7709}
7710extern "C" {
7711    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_rshift"]
7712    pub fn BN_rshift(
7713        r: *mut BIGNUM,
7714        a: *const BIGNUM,
7715        n: ::std::os::raw::c_int,
7716    ) -> ::std::os::raw::c_int;
7717}
7718extern "C" {
7719    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_rshift1"]
7720    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
7721}
7722extern "C" {
7723    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_set_bit"]
7724    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7725}
7726extern "C" {
7727    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_clear_bit"]
7728    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7729}
7730extern "C" {
7731    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_bit_set"]
7732    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7733}
7734extern "C" {
7735    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mask_bits"]
7736    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7737}
7738extern "C" {
7739    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_count_low_zero_bits"]
7740    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7741}
7742extern "C" {
7743    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_word"]
7744    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
7745}
7746extern "C" {
7747    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_pow2"]
7748    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7749}
7750extern "C" {
7751    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_nnmod_pow2"]
7752    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
7753}
7754extern "C" {
7755    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_nnmod"]
7756    pub fn BN_nnmod(
7757        rem: *mut BIGNUM,
7758        numerator: *const BIGNUM,
7759        divisor: *const BIGNUM,
7760        ctx: *mut BN_CTX,
7761    ) -> ::std::os::raw::c_int;
7762}
7763extern "C" {
7764    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_add"]
7765    pub fn BN_mod_add(
7766        r: *mut BIGNUM,
7767        a: *const BIGNUM,
7768        b: *const BIGNUM,
7769        m: *const BIGNUM,
7770        ctx: *mut BN_CTX,
7771    ) -> ::std::os::raw::c_int;
7772}
7773extern "C" {
7774    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_add_quick"]
7775    pub fn BN_mod_add_quick(
7776        r: *mut BIGNUM,
7777        a: *const BIGNUM,
7778        b: *const BIGNUM,
7779        m: *const BIGNUM,
7780    ) -> ::std::os::raw::c_int;
7781}
7782extern "C" {
7783    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_sub"]
7784    pub fn BN_mod_sub(
7785        r: *mut BIGNUM,
7786        a: *const BIGNUM,
7787        b: *const BIGNUM,
7788        m: *const BIGNUM,
7789        ctx: *mut BN_CTX,
7790    ) -> ::std::os::raw::c_int;
7791}
7792extern "C" {
7793    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_sub_quick"]
7794    pub fn BN_mod_sub_quick(
7795        r: *mut BIGNUM,
7796        a: *const BIGNUM,
7797        b: *const BIGNUM,
7798        m: *const BIGNUM,
7799    ) -> ::std::os::raw::c_int;
7800}
7801extern "C" {
7802    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_mul"]
7803    pub fn BN_mod_mul(
7804        r: *mut BIGNUM,
7805        a: *const BIGNUM,
7806        b: *const BIGNUM,
7807        m: *const BIGNUM,
7808        ctx: *mut BN_CTX,
7809    ) -> ::std::os::raw::c_int;
7810}
7811extern "C" {
7812    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_sqr"]
7813    pub fn BN_mod_sqr(
7814        r: *mut BIGNUM,
7815        a: *const BIGNUM,
7816        m: *const BIGNUM,
7817        ctx: *mut BN_CTX,
7818    ) -> ::std::os::raw::c_int;
7819}
7820extern "C" {
7821    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_lshift"]
7822    pub fn BN_mod_lshift(
7823        r: *mut BIGNUM,
7824        a: *const BIGNUM,
7825        n: ::std::os::raw::c_int,
7826        m: *const BIGNUM,
7827        ctx: *mut BN_CTX,
7828    ) -> ::std::os::raw::c_int;
7829}
7830extern "C" {
7831    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_lshift_quick"]
7832    pub fn BN_mod_lshift_quick(
7833        r: *mut BIGNUM,
7834        a: *const BIGNUM,
7835        n: ::std::os::raw::c_int,
7836        m: *const BIGNUM,
7837    ) -> ::std::os::raw::c_int;
7838}
7839extern "C" {
7840    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_lshift1"]
7841    pub fn BN_mod_lshift1(
7842        r: *mut BIGNUM,
7843        a: *const BIGNUM,
7844        m: *const BIGNUM,
7845        ctx: *mut BN_CTX,
7846    ) -> ::std::os::raw::c_int;
7847}
7848extern "C" {
7849    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_lshift1_quick"]
7850    pub fn BN_mod_lshift1_quick(
7851        r: *mut BIGNUM,
7852        a: *const BIGNUM,
7853        m: *const BIGNUM,
7854    ) -> ::std::os::raw::c_int;
7855}
7856extern "C" {
7857    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_sqrt"]
7858    pub fn BN_mod_sqrt(
7859        in_: *mut BIGNUM,
7860        a: *const BIGNUM,
7861        p: *const BIGNUM,
7862        ctx: *mut BN_CTX,
7863    ) -> *mut BIGNUM;
7864}
7865extern "C" {
7866    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_rand"]
7867    pub fn BN_rand(
7868        rnd: *mut BIGNUM,
7869        bits: ::std::os::raw::c_int,
7870        top: ::std::os::raw::c_int,
7871        bottom: ::std::os::raw::c_int,
7872    ) -> ::std::os::raw::c_int;
7873}
7874extern "C" {
7875    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_pseudo_rand"]
7876    pub fn BN_pseudo_rand(
7877        rnd: *mut BIGNUM,
7878        bits: ::std::os::raw::c_int,
7879        top: ::std::os::raw::c_int,
7880        bottom: ::std::os::raw::c_int,
7881    ) -> ::std::os::raw::c_int;
7882}
7883extern "C" {
7884    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_rand_range"]
7885    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
7886}
7887extern "C" {
7888    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_rand_range_ex"]
7889    pub fn BN_rand_range_ex(
7890        r: *mut BIGNUM,
7891        min_inclusive: BN_ULONG,
7892        max_exclusive: *const BIGNUM,
7893    ) -> ::std::os::raw::c_int;
7894}
7895extern "C" {
7896    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_pseudo_rand_range"]
7897    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
7898}
7899#[repr(C)]
7900#[derive(Copy, Clone)]
7901pub struct bn_gencb_st {
7902    pub type_: u8,
7903    pub arg: *mut ::std::os::raw::c_void,
7904    pub callback: bn_gencb_st__bindgen_ty_1,
7905}
7906#[repr(C)]
7907#[derive(Copy, Clone)]
7908pub union bn_gencb_st__bindgen_ty_1 {
7909    pub new_style: ::std::option::Option<
7910        unsafe extern "C" fn(
7911            event: ::std::os::raw::c_int,
7912            n: ::std::os::raw::c_int,
7913            arg1: *mut bn_gencb_st,
7914        ) -> ::std::os::raw::c_int,
7915    >,
7916    pub old_style: ::std::option::Option<
7917        unsafe extern "C" fn(
7918            arg1: ::std::os::raw::c_int,
7919            arg2: ::std::os::raw::c_int,
7920            arg3: *mut ::std::os::raw::c_void,
7921        ),
7922    >,
7923}
7924#[test]
7925fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
7926    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
7927        ::std::mem::MaybeUninit::uninit();
7928    let ptr = UNINIT.as_ptr();
7929    assert_eq!(
7930        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
7931        8usize,
7932        "Size of bn_gencb_st__bindgen_ty_1"
7933    );
7934    assert_eq!(
7935        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
7936        8usize,
7937        "Alignment of bn_gencb_st__bindgen_ty_1"
7938    );
7939    assert_eq!(
7940        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
7941        0usize,
7942        "Offset of field: bn_gencb_st__bindgen_ty_1::new_style"
7943    );
7944    assert_eq!(
7945        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
7946        0usize,
7947        "Offset of field: bn_gencb_st__bindgen_ty_1::old_style"
7948    );
7949}
7950impl Default for bn_gencb_st__bindgen_ty_1 {
7951    fn default() -> Self {
7952        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7953        unsafe {
7954            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7955            s.assume_init()
7956        }
7957    }
7958}
7959#[test]
7960fn bindgen_test_layout_bn_gencb_st() {
7961    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
7962    let ptr = UNINIT.as_ptr();
7963    assert_eq!(
7964        ::std::mem::size_of::<bn_gencb_st>(),
7965        24usize,
7966        "Size of bn_gencb_st"
7967    );
7968    assert_eq!(
7969        ::std::mem::align_of::<bn_gencb_st>(),
7970        8usize,
7971        "Alignment of bn_gencb_st"
7972    );
7973    assert_eq!(
7974        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7975        0usize,
7976        "Offset of field: bn_gencb_st::type_"
7977    );
7978    assert_eq!(
7979        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
7980        8usize,
7981        "Offset of field: bn_gencb_st::arg"
7982    );
7983    assert_eq!(
7984        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
7985        16usize,
7986        "Offset of field: bn_gencb_st::callback"
7987    );
7988}
7989impl Default for bn_gencb_st {
7990    fn default() -> Self {
7991        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7992        unsafe {
7993            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7994            s.assume_init()
7995        }
7996    }
7997}
7998extern "C" {
7999    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_new"]
8000    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8001}
8002extern "C" {
8003    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_free"]
8004    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8005}
8006extern "C" {
8007    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_set"]
8008    pub fn BN_GENCB_set(
8009        callback: *mut BN_GENCB,
8010        f: ::std::option::Option<
8011            unsafe extern "C" fn(
8012                event: ::std::os::raw::c_int,
8013                n: ::std::os::raw::c_int,
8014                arg1: *mut BN_GENCB,
8015            ) -> ::std::os::raw::c_int,
8016        >,
8017        arg: *mut ::std::os::raw::c_void,
8018    );
8019}
8020extern "C" {
8021    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_call"]
8022    pub fn BN_GENCB_call(
8023        callback: *mut BN_GENCB,
8024        event: ::std::os::raw::c_int,
8025        n: ::std::os::raw::c_int,
8026    ) -> ::std::os::raw::c_int;
8027}
8028extern "C" {
8029    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_get_arg"]
8030    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8031}
8032extern "C" {
8033    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_generate_prime_ex"]
8034    pub fn BN_generate_prime_ex(
8035        ret: *mut BIGNUM,
8036        bits: ::std::os::raw::c_int,
8037        safe: ::std::os::raw::c_int,
8038        add: *const BIGNUM,
8039        rem: *const BIGNUM,
8040        cb: *mut BN_GENCB,
8041    ) -> ::std::os::raw::c_int;
8042}
8043pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8044pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8045pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8046pub type bn_primality_result_t = ::std::os::raw::c_uint;
8047extern "C" {
8048    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_enhanced_miller_rabin_primality_test"]
8049    pub fn BN_enhanced_miller_rabin_primality_test(
8050        out_result: *mut bn_primality_result_t,
8051        w: *const BIGNUM,
8052        checks: ::std::os::raw::c_int,
8053        ctx: *mut BN_CTX,
8054        cb: *mut BN_GENCB,
8055    ) -> ::std::os::raw::c_int;
8056}
8057extern "C" {
8058    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_primality_test"]
8059    pub fn BN_primality_test(
8060        is_probably_prime: *mut ::std::os::raw::c_int,
8061        candidate: *const BIGNUM,
8062        checks: ::std::os::raw::c_int,
8063        ctx: *mut BN_CTX,
8064        do_trial_division: ::std::os::raw::c_int,
8065        cb: *mut BN_GENCB,
8066    ) -> ::std::os::raw::c_int;
8067}
8068extern "C" {
8069    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_prime_fasttest_ex"]
8070    pub fn BN_is_prime_fasttest_ex(
8071        candidate: *const BIGNUM,
8072        checks: ::std::os::raw::c_int,
8073        ctx: *mut BN_CTX,
8074        do_trial_division: ::std::os::raw::c_int,
8075        cb: *mut BN_GENCB,
8076    ) -> ::std::os::raw::c_int;
8077}
8078extern "C" {
8079    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_is_prime_ex"]
8080    pub fn BN_is_prime_ex(
8081        candidate: *const BIGNUM,
8082        checks: ::std::os::raw::c_int,
8083        ctx: *mut BN_CTX,
8084        cb: *mut BN_GENCB,
8085    ) -> ::std::os::raw::c_int;
8086}
8087extern "C" {
8088    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_gcd"]
8089    pub fn BN_gcd(
8090        r: *mut BIGNUM,
8091        a: *const BIGNUM,
8092        b: *const BIGNUM,
8093        ctx: *mut BN_CTX,
8094    ) -> ::std::os::raw::c_int;
8095}
8096extern "C" {
8097    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_inverse"]
8098    pub fn BN_mod_inverse(
8099        out: *mut BIGNUM,
8100        a: *const BIGNUM,
8101        n: *const BIGNUM,
8102        ctx: *mut BN_CTX,
8103    ) -> *mut BIGNUM;
8104}
8105extern "C" {
8106    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_inverse_blinded"]
8107    pub fn BN_mod_inverse_blinded(
8108        out: *mut BIGNUM,
8109        out_no_inverse: *mut ::std::os::raw::c_int,
8110        a: *const BIGNUM,
8111        mont: *const BN_MONT_CTX,
8112        ctx: *mut BN_CTX,
8113    ) -> ::std::os::raw::c_int;
8114}
8115extern "C" {
8116    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_inverse_odd"]
8117    pub fn BN_mod_inverse_odd(
8118        out: *mut BIGNUM,
8119        out_no_inverse: *mut ::std::os::raw::c_int,
8120        a: *const BIGNUM,
8121        n: *const BIGNUM,
8122        ctx: *mut BN_CTX,
8123    ) -> ::std::os::raw::c_int;
8124}
8125extern "C" {
8126    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_new_for_modulus"]
8127    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8128}
8129extern "C" {
8130    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_new_consttime"]
8131    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8132}
8133extern "C" {
8134    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_free"]
8135    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8136}
8137extern "C" {
8138    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_copy"]
8139    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8140}
8141extern "C" {
8142    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_to_montgomery"]
8143    pub fn BN_to_montgomery(
8144        ret: *mut BIGNUM,
8145        a: *const BIGNUM,
8146        mont: *const BN_MONT_CTX,
8147        ctx: *mut BN_CTX,
8148    ) -> ::std::os::raw::c_int;
8149}
8150extern "C" {
8151    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_from_montgomery"]
8152    pub fn BN_from_montgomery(
8153        ret: *mut BIGNUM,
8154        a: *const BIGNUM,
8155        mont: *const BN_MONT_CTX,
8156        ctx: *mut BN_CTX,
8157    ) -> ::std::os::raw::c_int;
8158}
8159extern "C" {
8160    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_mul_montgomery"]
8161    pub fn BN_mod_mul_montgomery(
8162        r: *mut BIGNUM,
8163        a: *const BIGNUM,
8164        b: *const BIGNUM,
8165        mont: *const BN_MONT_CTX,
8166        ctx: *mut BN_CTX,
8167    ) -> ::std::os::raw::c_int;
8168}
8169extern "C" {
8170    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_exp"]
8171    pub fn BN_exp(
8172        r: *mut BIGNUM,
8173        a: *const BIGNUM,
8174        p: *const BIGNUM,
8175        ctx: *mut BN_CTX,
8176    ) -> ::std::os::raw::c_int;
8177}
8178extern "C" {
8179    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp"]
8180    pub fn BN_mod_exp(
8181        r: *mut BIGNUM,
8182        a: *const BIGNUM,
8183        p: *const BIGNUM,
8184        m: *const BIGNUM,
8185        ctx: *mut BN_CTX,
8186    ) -> ::std::os::raw::c_int;
8187}
8188extern "C" {
8189    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp_mont"]
8190    pub fn BN_mod_exp_mont(
8191        r: *mut BIGNUM,
8192        a: *const BIGNUM,
8193        p: *const BIGNUM,
8194        m: *const BIGNUM,
8195        ctx: *mut BN_CTX,
8196        mont: *const BN_MONT_CTX,
8197    ) -> ::std::os::raw::c_int;
8198}
8199extern "C" {
8200    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp_mont_consttime"]
8201    pub fn BN_mod_exp_mont_consttime(
8202        rr: *mut BIGNUM,
8203        a: *const BIGNUM,
8204        p: *const BIGNUM,
8205        m: *const BIGNUM,
8206        ctx: *mut BN_CTX,
8207        mont: *const BN_MONT_CTX,
8208    ) -> ::std::os::raw::c_int;
8209}
8210extern "C" {
8211    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_GENCB_set_old"]
8212    pub fn BN_GENCB_set_old(
8213        callback: *mut BN_GENCB,
8214        f: ::std::option::Option<
8215            unsafe extern "C" fn(
8216                arg1: ::std::os::raw::c_int,
8217                arg2: ::std::os::raw::c_int,
8218                arg3: *mut ::std::os::raw::c_void,
8219            ),
8220        >,
8221        cb_arg: *mut ::std::os::raw::c_void,
8222    );
8223}
8224extern "C" {
8225    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2mpi"]
8226    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8227}
8228extern "C" {
8229    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mpi2bn"]
8230    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8231}
8232extern "C" {
8233    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp_mont_word"]
8234    pub fn BN_mod_exp_mont_word(
8235        r: *mut BIGNUM,
8236        a: BN_ULONG,
8237        p: *const BIGNUM,
8238        m: *const BIGNUM,
8239        ctx: *mut BN_CTX,
8240        mont: *const BN_MONT_CTX,
8241    ) -> ::std::os::raw::c_int;
8242}
8243extern "C" {
8244    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp2_mont"]
8245    pub fn BN_mod_exp2_mont(
8246        r: *mut BIGNUM,
8247        a1: *const BIGNUM,
8248        p1: *const BIGNUM,
8249        a2: *const BIGNUM,
8250        p2: *const BIGNUM,
8251        m: *const BIGNUM,
8252        ctx: *mut BN_CTX,
8253        mont: *const BN_MONT_CTX,
8254    ) -> ::std::os::raw::c_int;
8255}
8256extern "C" {
8257    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_new"]
8258    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8259}
8260extern "C" {
8261    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_MONT_CTX_set"]
8262    pub fn BN_MONT_CTX_set(
8263        mont: *mut BN_MONT_CTX,
8264        mod_: *const BIGNUM,
8265        ctx: *mut BN_CTX,
8266    ) -> ::std::os::raw::c_int;
8267}
8268extern "C" {
8269    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_bn2binpad"]
8270    pub fn BN_bn2binpad(
8271        in_: *const BIGNUM,
8272        out: *mut u8,
8273        len: ::std::os::raw::c_int,
8274    ) -> ::std::os::raw::c_int;
8275}
8276extern "C" {
8277    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_secure_new"]
8278    pub fn BN_secure_new() -> *mut BIGNUM;
8279}
8280extern "C" {
8281    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_CTX_secure_new"]
8282    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8283}
8284extern "C" {
8285    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_mod_exp_mont_consttime_x2"]
8286    pub fn BN_mod_exp_mont_consttime_x2(
8287        rr1: *mut BIGNUM,
8288        a1: *const BIGNUM,
8289        p1: *const BIGNUM,
8290        m1: *const BIGNUM,
8291        in_mont1: *const BN_MONT_CTX,
8292        rr2: *mut BIGNUM,
8293        a2: *const BIGNUM,
8294        p2: *const BIGNUM,
8295        m2: *const BIGNUM,
8296        in_mont2: *const BN_MONT_CTX,
8297        ctx: *mut BN_CTX,
8298    ) -> ::std::os::raw::c_int;
8299}
8300#[repr(C)]
8301#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8302pub struct bignum_st {
8303    pub d: *mut BN_ULONG,
8304    pub width: ::std::os::raw::c_int,
8305    pub dmax: ::std::os::raw::c_int,
8306    pub neg: ::std::os::raw::c_int,
8307    pub flags: ::std::os::raw::c_int,
8308}
8309#[test]
8310fn bindgen_test_layout_bignum_st() {
8311    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8312    let ptr = UNINIT.as_ptr();
8313    assert_eq!(
8314        ::std::mem::size_of::<bignum_st>(),
8315        24usize,
8316        "Size of bignum_st"
8317    );
8318    assert_eq!(
8319        ::std::mem::align_of::<bignum_st>(),
8320        8usize,
8321        "Alignment of bignum_st"
8322    );
8323    assert_eq!(
8324        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8325        0usize,
8326        "Offset of field: bignum_st::d"
8327    );
8328    assert_eq!(
8329        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8330        8usize,
8331        "Offset of field: bignum_st::width"
8332    );
8333    assert_eq!(
8334        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8335        12usize,
8336        "Offset of field: bignum_st::dmax"
8337    );
8338    assert_eq!(
8339        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
8340        16usize,
8341        "Offset of field: bignum_st::neg"
8342    );
8343    assert_eq!(
8344        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8345        20usize,
8346        "Offset of field: bignum_st::flags"
8347    );
8348}
8349impl Default for bignum_st {
8350    fn default() -> Self {
8351        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8352        unsafe {
8353            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8354            s.assume_init()
8355        }
8356    }
8357}
8358#[repr(C)]
8359#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8360pub struct bn_mont_ctx_st {
8361    pub RR: BIGNUM,
8362    pub N: BIGNUM,
8363    pub n0: [BN_ULONG; 2usize],
8364}
8365#[test]
8366fn bindgen_test_layout_bn_mont_ctx_st() {
8367    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
8368    let ptr = UNINIT.as_ptr();
8369    assert_eq!(
8370        ::std::mem::size_of::<bn_mont_ctx_st>(),
8371        64usize,
8372        "Size of bn_mont_ctx_st"
8373    );
8374    assert_eq!(
8375        ::std::mem::align_of::<bn_mont_ctx_st>(),
8376        8usize,
8377        "Alignment of bn_mont_ctx_st"
8378    );
8379    assert_eq!(
8380        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
8381        0usize,
8382        "Offset of field: bn_mont_ctx_st::RR"
8383    );
8384    assert_eq!(
8385        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
8386        24usize,
8387        "Offset of field: bn_mont_ctx_st::N"
8388    );
8389    assert_eq!(
8390        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
8391        48usize,
8392        "Offset of field: bn_mont_ctx_st::n0"
8393    );
8394}
8395impl Default for bn_mont_ctx_st {
8396    fn default() -> Self {
8397        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8398        unsafe {
8399            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8400            s.assume_init()
8401        }
8402    }
8403}
8404extern "C" {
8405    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_num_bits_word"]
8406    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
8407}
8408extern "C" {
8409    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_tag2bit"]
8410    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
8411}
8412extern "C" {
8413    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_tag2str"]
8414    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8415}
8416pub type d2i_of_void = ::std::option::Option<
8417    unsafe extern "C" fn(
8418        arg1: *mut *mut ::std::os::raw::c_void,
8419        arg2: *mut *const ::std::os::raw::c_uchar,
8420        arg3: ::std::os::raw::c_long,
8421    ) -> *mut ::std::os::raw::c_void,
8422>;
8423pub type i2d_of_void = ::std::option::Option<
8424    unsafe extern "C" fn(
8425        arg1: *const ::std::os::raw::c_void,
8426        arg2: *mut *mut ::std::os::raw::c_uchar,
8427    ) -> ::std::os::raw::c_int,
8428>;
8429pub type ASN1_ITEM_EXP = ASN1_ITEM;
8430#[repr(C)]
8431#[derive(Debug, Copy, Clone)]
8432pub struct ASN1_VALUE_st {
8433    _unused: [u8; 0],
8434}
8435pub type ASN1_VALUE = ASN1_VALUE_st;
8436extern "C" {
8437    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_new"]
8438    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
8439}
8440extern "C" {
8441    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_free"]
8442    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
8443}
8444extern "C" {
8445    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_d2i"]
8446    pub fn ASN1_item_d2i(
8447        out: *mut *mut ASN1_VALUE,
8448        inp: *mut *const ::std::os::raw::c_uchar,
8449        len: ::std::os::raw::c_long,
8450        it: *const ASN1_ITEM,
8451    ) -> *mut ASN1_VALUE;
8452}
8453extern "C" {
8454    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_i2d"]
8455    pub fn ASN1_item_i2d(
8456        val: *mut ASN1_VALUE,
8457        outp: *mut *mut ::std::os::raw::c_uchar,
8458        it: *const ASN1_ITEM,
8459    ) -> ::std::os::raw::c_int;
8460}
8461extern "C" {
8462    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_dup"]
8463    pub fn ASN1_dup(
8464        i2d: i2d_of_void,
8465        d2i: d2i_of_void,
8466        x: *mut ::std::os::raw::c_void,
8467    ) -> *mut ::std::os::raw::c_void;
8468}
8469extern "C" {
8470    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_dup"]
8471    pub fn ASN1_item_dup(
8472        it: *const ASN1_ITEM,
8473        x: *mut ::std::os::raw::c_void,
8474    ) -> *mut ::std::os::raw::c_void;
8475}
8476extern "C" {
8477    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_d2i_fp"]
8478    pub fn ASN1_item_d2i_fp(
8479        it: *const ASN1_ITEM,
8480        in_: *mut FILE,
8481        out: *mut ::std::os::raw::c_void,
8482    ) -> *mut ::std::os::raw::c_void;
8483}
8484extern "C" {
8485    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_d2i_bio"]
8486    pub fn ASN1_item_d2i_bio(
8487        it: *const ASN1_ITEM,
8488        in_: *mut BIO,
8489        out: *mut ::std::os::raw::c_void,
8490    ) -> *mut ::std::os::raw::c_void;
8491}
8492extern "C" {
8493    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_i2d_fp"]
8494    pub fn ASN1_item_i2d_fp(
8495        it: *const ASN1_ITEM,
8496        out: *mut FILE,
8497        in_: *mut ::std::os::raw::c_void,
8498    ) -> ::std::os::raw::c_int;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_i2d_bio"]
8502    pub fn ASN1_item_i2d_bio(
8503        it: *const ASN1_ITEM,
8504        out: *mut BIO,
8505        in_: *mut ::std::os::raw::c_void,
8506    ) -> ::std::os::raw::c_int;
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_i2d_bio"]
8510    pub fn ASN1_i2d_bio(
8511        i2d: i2d_of_void,
8512        out: *mut BIO,
8513        in_: *mut ::std::os::raw::c_void,
8514    ) -> ::std::os::raw::c_int;
8515}
8516extern "C" {
8517    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_unpack"]
8518    pub fn ASN1_item_unpack(
8519        oct: *const ASN1_STRING,
8520        it: *const ASN1_ITEM,
8521    ) -> *mut ::std::os::raw::c_void;
8522}
8523extern "C" {
8524    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_pack"]
8525    pub fn ASN1_item_pack(
8526        obj: *mut ::std::os::raw::c_void,
8527        it: *const ASN1_ITEM,
8528        out: *mut *mut ASN1_STRING,
8529    ) -> *mut ASN1_STRING;
8530}
8531extern "C" {
8532    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_BOOLEAN"]
8533    pub fn d2i_ASN1_BOOLEAN(
8534        out: *mut ASN1_BOOLEAN,
8535        inp: *mut *const ::std::os::raw::c_uchar,
8536        len: ::std::os::raw::c_long,
8537    ) -> ASN1_BOOLEAN;
8538}
8539extern "C" {
8540    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_BOOLEAN"]
8541    pub fn i2d_ASN1_BOOLEAN(
8542        a: ASN1_BOOLEAN,
8543        outp: *mut *mut ::std::os::raw::c_uchar,
8544    ) -> ::std::os::raw::c_int;
8545}
8546extern "C" {
8547    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BOOLEAN_it"]
8548    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
8549}
8550extern "C" {
8551    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TBOOLEAN_it"]
8552    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
8553}
8554extern "C" {
8555    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_FBOOLEAN_it"]
8556    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
8557}
8558#[repr(C)]
8559#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8560pub struct asn1_string_st {
8561    pub length: ::std::os::raw::c_int,
8562    pub type_: ::std::os::raw::c_int,
8563    pub data: *mut ::std::os::raw::c_uchar,
8564    pub flags: ::std::os::raw::c_long,
8565}
8566#[test]
8567fn bindgen_test_layout_asn1_string_st() {
8568    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
8569    let ptr = UNINIT.as_ptr();
8570    assert_eq!(
8571        ::std::mem::size_of::<asn1_string_st>(),
8572        24usize,
8573        "Size of asn1_string_st"
8574    );
8575    assert_eq!(
8576        ::std::mem::align_of::<asn1_string_st>(),
8577        8usize,
8578        "Alignment of asn1_string_st"
8579    );
8580    assert_eq!(
8581        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
8582        0usize,
8583        "Offset of field: asn1_string_st::length"
8584    );
8585    assert_eq!(
8586        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8587        4usize,
8588        "Offset of field: asn1_string_st::type_"
8589    );
8590    assert_eq!(
8591        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
8592        8usize,
8593        "Offset of field: asn1_string_st::data"
8594    );
8595    assert_eq!(
8596        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8597        16usize,
8598        "Offset of field: asn1_string_st::flags"
8599    );
8600}
8601impl Default for asn1_string_st {
8602    fn default() -> Self {
8603        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8604        unsafe {
8605            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8606            s.assume_init()
8607        }
8608    }
8609}
8610extern "C" {
8611    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_type_new"]
8612    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
8613}
8614extern "C" {
8615    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_new"]
8616    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
8617}
8618extern "C" {
8619    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_free"]
8620    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
8621}
8622extern "C" {
8623    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_clear_free"]
8624    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
8625}
8626extern "C" {
8627    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_copy"]
8628    pub fn ASN1_STRING_copy(
8629        dst: *mut ASN1_STRING,
8630        str_: *const ASN1_STRING,
8631    ) -> ::std::os::raw::c_int;
8632}
8633extern "C" {
8634    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_dup"]
8635    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
8636}
8637extern "C" {
8638    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_type"]
8639    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8640}
8641extern "C" {
8642    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_get0_data"]
8643    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
8644}
8645extern "C" {
8646    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_data"]
8647    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
8648}
8649extern "C" {
8650    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_length"]
8651    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
8652}
8653extern "C" {
8654    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_cmp"]
8655    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
8656}
8657extern "C" {
8658    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_set"]
8659    pub fn ASN1_STRING_set(
8660        str_: *mut ASN1_STRING,
8661        data: *const ::std::os::raw::c_void,
8662        len: ossl_ssize_t,
8663    ) -> ::std::os::raw::c_int;
8664}
8665extern "C" {
8666    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_set0"]
8667    pub fn ASN1_STRING_set0(
8668        str_: *mut ASN1_STRING,
8669        data: *mut ::std::os::raw::c_void,
8670        len: ::std::os::raw::c_int,
8671    );
8672}
8673extern "C" {
8674    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BMPSTRING_new"]
8675    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
8676}
8677extern "C" {
8678    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALSTRING_new"]
8679    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
8680}
8681extern "C" {
8682    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_IA5STRING_new"]
8683    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
8684}
8685extern "C" {
8686    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_new"]
8687    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
8688}
8689extern "C" {
8690    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLESTRING_new"]
8691    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
8692}
8693extern "C" {
8694    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_T61STRING_new"]
8695    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
8696}
8697extern "C" {
8698    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UNIVERSALSTRING_new"]
8699    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
8700}
8701extern "C" {
8702    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTF8STRING_new"]
8703    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
8704}
8705extern "C" {
8706    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_VISIBLESTRING_new"]
8707    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
8708}
8709extern "C" {
8710    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BMPSTRING_free"]
8711    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
8712}
8713extern "C" {
8714    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALSTRING_free"]
8715    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
8716}
8717extern "C" {
8718    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_IA5STRING_free"]
8719    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
8720}
8721extern "C" {
8722    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_free"]
8723    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
8724}
8725extern "C" {
8726    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLESTRING_free"]
8727    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
8728}
8729extern "C" {
8730    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_T61STRING_free"]
8731    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
8732}
8733extern "C" {
8734    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UNIVERSALSTRING_free"]
8735    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
8736}
8737extern "C" {
8738    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTF8STRING_free"]
8739    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
8740}
8741extern "C" {
8742    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_VISIBLESTRING_free"]
8743    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
8744}
8745extern "C" {
8746    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_BMPSTRING"]
8747    pub fn d2i_ASN1_BMPSTRING(
8748        out: *mut *mut ASN1_BMPSTRING,
8749        inp: *mut *const u8,
8750        len: ::std::os::raw::c_long,
8751    ) -> *mut ASN1_BMPSTRING;
8752}
8753extern "C" {
8754    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_GENERALSTRING"]
8755    pub fn d2i_ASN1_GENERALSTRING(
8756        out: *mut *mut ASN1_GENERALSTRING,
8757        inp: *mut *const u8,
8758        len: ::std::os::raw::c_long,
8759    ) -> *mut ASN1_GENERALSTRING;
8760}
8761extern "C" {
8762    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_IA5STRING"]
8763    pub fn d2i_ASN1_IA5STRING(
8764        out: *mut *mut ASN1_IA5STRING,
8765        inp: *mut *const u8,
8766        len: ::std::os::raw::c_long,
8767    ) -> *mut ASN1_IA5STRING;
8768}
8769extern "C" {
8770    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_OCTET_STRING"]
8771    pub fn d2i_ASN1_OCTET_STRING(
8772        out: *mut *mut ASN1_OCTET_STRING,
8773        inp: *mut *const u8,
8774        len: ::std::os::raw::c_long,
8775    ) -> *mut ASN1_OCTET_STRING;
8776}
8777extern "C" {
8778    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_PRINTABLESTRING"]
8779    pub fn d2i_ASN1_PRINTABLESTRING(
8780        out: *mut *mut ASN1_PRINTABLESTRING,
8781        inp: *mut *const u8,
8782        len: ::std::os::raw::c_long,
8783    ) -> *mut ASN1_PRINTABLESTRING;
8784}
8785extern "C" {
8786    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_T61STRING"]
8787    pub fn d2i_ASN1_T61STRING(
8788        out: *mut *mut ASN1_T61STRING,
8789        inp: *mut *const u8,
8790        len: ::std::os::raw::c_long,
8791    ) -> *mut ASN1_T61STRING;
8792}
8793extern "C" {
8794    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_UNIVERSALSTRING"]
8795    pub fn d2i_ASN1_UNIVERSALSTRING(
8796        out: *mut *mut ASN1_UNIVERSALSTRING,
8797        inp: *mut *const u8,
8798        len: ::std::os::raw::c_long,
8799    ) -> *mut ASN1_UNIVERSALSTRING;
8800}
8801extern "C" {
8802    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_UTF8STRING"]
8803    pub fn d2i_ASN1_UTF8STRING(
8804        out: *mut *mut ASN1_UTF8STRING,
8805        inp: *mut *const u8,
8806        len: ::std::os::raw::c_long,
8807    ) -> *mut ASN1_UTF8STRING;
8808}
8809extern "C" {
8810    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_VISIBLESTRING"]
8811    pub fn d2i_ASN1_VISIBLESTRING(
8812        out: *mut *mut ASN1_VISIBLESTRING,
8813        inp: *mut *const u8,
8814        len: ::std::os::raw::c_long,
8815    ) -> *mut ASN1_VISIBLESTRING;
8816}
8817extern "C" {
8818    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_BMPSTRING"]
8819    pub fn i2d_ASN1_BMPSTRING(
8820        in_: *const ASN1_BMPSTRING,
8821        outp: *mut *mut u8,
8822    ) -> ::std::os::raw::c_int;
8823}
8824extern "C" {
8825    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_GENERALSTRING"]
8826    pub fn i2d_ASN1_GENERALSTRING(
8827        in_: *const ASN1_GENERALSTRING,
8828        outp: *mut *mut u8,
8829    ) -> ::std::os::raw::c_int;
8830}
8831extern "C" {
8832    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_IA5STRING"]
8833    pub fn i2d_ASN1_IA5STRING(
8834        in_: *const ASN1_IA5STRING,
8835        outp: *mut *mut u8,
8836    ) -> ::std::os::raw::c_int;
8837}
8838extern "C" {
8839    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_OCTET_STRING"]
8840    pub fn i2d_ASN1_OCTET_STRING(
8841        in_: *const ASN1_OCTET_STRING,
8842        outp: *mut *mut u8,
8843    ) -> ::std::os::raw::c_int;
8844}
8845extern "C" {
8846    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_PRINTABLESTRING"]
8847    pub fn i2d_ASN1_PRINTABLESTRING(
8848        in_: *const ASN1_PRINTABLESTRING,
8849        outp: *mut *mut u8,
8850    ) -> ::std::os::raw::c_int;
8851}
8852extern "C" {
8853    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_T61STRING"]
8854    pub fn i2d_ASN1_T61STRING(
8855        in_: *const ASN1_T61STRING,
8856        outp: *mut *mut u8,
8857    ) -> ::std::os::raw::c_int;
8858}
8859extern "C" {
8860    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_UNIVERSALSTRING"]
8861    pub fn i2d_ASN1_UNIVERSALSTRING(
8862        in_: *const ASN1_UNIVERSALSTRING,
8863        outp: *mut *mut u8,
8864    ) -> ::std::os::raw::c_int;
8865}
8866extern "C" {
8867    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_UTF8STRING"]
8868    pub fn i2d_ASN1_UTF8STRING(
8869        in_: *const ASN1_UTF8STRING,
8870        outp: *mut *mut u8,
8871    ) -> ::std::os::raw::c_int;
8872}
8873extern "C" {
8874    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_VISIBLESTRING"]
8875    pub fn i2d_ASN1_VISIBLESTRING(
8876        in_: *const ASN1_VISIBLESTRING,
8877        outp: *mut *mut u8,
8878    ) -> ::std::os::raw::c_int;
8879}
8880extern "C" {
8881    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BMPSTRING_it"]
8882    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
8883}
8884extern "C" {
8885    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALSTRING_it"]
8886    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
8887}
8888extern "C" {
8889    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_IA5STRING_it"]
8890    pub static ASN1_IA5STRING_it: ASN1_ITEM;
8891}
8892extern "C" {
8893    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_it"]
8894    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
8895}
8896extern "C" {
8897    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLESTRING_it"]
8898    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
8899}
8900extern "C" {
8901    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_T61STRING_it"]
8902    pub static ASN1_T61STRING_it: ASN1_ITEM;
8903}
8904extern "C" {
8905    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UNIVERSALSTRING_it"]
8906    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
8907}
8908extern "C" {
8909    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTF8STRING_it"]
8910    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
8911}
8912extern "C" {
8913    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_VISIBLESTRING_it"]
8914    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
8915}
8916extern "C" {
8917    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_dup"]
8918    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
8919}
8920extern "C" {
8921    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_cmp"]
8922    pub fn ASN1_OCTET_STRING_cmp(
8923        a: *const ASN1_OCTET_STRING,
8924        b: *const ASN1_OCTET_STRING,
8925    ) -> ::std::os::raw::c_int;
8926}
8927extern "C" {
8928    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OCTET_STRING_set"]
8929    pub fn ASN1_OCTET_STRING_set(
8930        str_: *mut ASN1_OCTET_STRING,
8931        data: *const ::std::os::raw::c_uchar,
8932        len: ::std::os::raw::c_int,
8933    ) -> ::std::os::raw::c_int;
8934}
8935extern "C" {
8936    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_to_UTF8"]
8937    pub fn ASN1_STRING_to_UTF8(
8938        out: *mut *mut ::std::os::raw::c_uchar,
8939        in_: *const ASN1_STRING,
8940    ) -> ::std::os::raw::c_int;
8941}
8942extern "C" {
8943    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_mbstring_copy"]
8944    pub fn ASN1_mbstring_copy(
8945        out: *mut *mut ASN1_STRING,
8946        in_: *const u8,
8947        len: ossl_ssize_t,
8948        inform: ::std::os::raw::c_int,
8949        mask: ::std::os::raw::c_ulong,
8950    ) -> ::std::os::raw::c_int;
8951}
8952extern "C" {
8953    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_mbstring_ncopy"]
8954    pub fn ASN1_mbstring_ncopy(
8955        out: *mut *mut ASN1_STRING,
8956        in_: *const u8,
8957        len: ossl_ssize_t,
8958        inform: ::std::os::raw::c_int,
8959        mask: ::std::os::raw::c_ulong,
8960        minsize: ossl_ssize_t,
8961        maxsize: ossl_ssize_t,
8962    ) -> ::std::os::raw::c_int;
8963}
8964extern "C" {
8965    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_set_by_NID"]
8966    pub fn ASN1_STRING_set_by_NID(
8967        out: *mut *mut ASN1_STRING,
8968        in_: *const ::std::os::raw::c_uchar,
8969        len: ossl_ssize_t,
8970        inform: ::std::os::raw::c_int,
8971        nid: ::std::os::raw::c_int,
8972    ) -> *mut ASN1_STRING;
8973}
8974extern "C" {
8975    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_TABLE_add"]
8976    pub fn ASN1_STRING_TABLE_add(
8977        nid: ::std::os::raw::c_int,
8978        minsize: ::std::os::raw::c_long,
8979        maxsize: ::std::os::raw::c_long,
8980        mask: ::std::os::raw::c_ulong,
8981        flags: ::std::os::raw::c_ulong,
8982    ) -> ::std::os::raw::c_int;
8983}
8984extern "C" {
8985    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIRECTORYSTRING_new"]
8986    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
8987}
8988extern "C" {
8989    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIRECTORYSTRING_free"]
8990    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
8991}
8992extern "C" {
8993    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DIRECTORYSTRING"]
8994    pub fn d2i_DIRECTORYSTRING(
8995        out: *mut *mut ASN1_STRING,
8996        inp: *mut *const u8,
8997        len: ::std::os::raw::c_long,
8998    ) -> *mut ASN1_STRING;
8999}
9000extern "C" {
9001    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DIRECTORYSTRING"]
9002    pub fn i2d_DIRECTORYSTRING(
9003        in_: *const ASN1_STRING,
9004        outp: *mut *mut u8,
9005    ) -> ::std::os::raw::c_int;
9006}
9007extern "C" {
9008    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIRECTORYSTRING_it"]
9009    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9010}
9011extern "C" {
9012    #[link_name = "\u{1}aws_lc_fips_0_13_14_DISPLAYTEXT_new"]
9013    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9014}
9015extern "C" {
9016    #[link_name = "\u{1}aws_lc_fips_0_13_14_DISPLAYTEXT_free"]
9017    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9018}
9019extern "C" {
9020    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DISPLAYTEXT"]
9021    pub fn d2i_DISPLAYTEXT(
9022        out: *mut *mut ASN1_STRING,
9023        inp: *mut *const u8,
9024        len: ::std::os::raw::c_long,
9025    ) -> *mut ASN1_STRING;
9026}
9027extern "C" {
9028    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DISPLAYTEXT"]
9029    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9030}
9031extern "C" {
9032    #[link_name = "\u{1}aws_lc_fips_0_13_14_DISPLAYTEXT_it"]
9033    pub static DISPLAYTEXT_it: ASN1_ITEM;
9034}
9035extern "C" {
9036    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_new"]
9037    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9038}
9039extern "C" {
9040    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_free"]
9041    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9042}
9043extern "C" {
9044    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_BIT_STRING"]
9045    pub fn d2i_ASN1_BIT_STRING(
9046        out: *mut *mut ASN1_BIT_STRING,
9047        inp: *mut *const u8,
9048        len: ::std::os::raw::c_long,
9049    ) -> *mut ASN1_BIT_STRING;
9050}
9051extern "C" {
9052    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_BIT_STRING"]
9053    pub fn i2d_ASN1_BIT_STRING(
9054        in_: *const ASN1_BIT_STRING,
9055        outp: *mut *mut u8,
9056    ) -> ::std::os::raw::c_int;
9057}
9058extern "C" {
9059    #[link_name = "\u{1}aws_lc_fips_0_13_14_c2i_ASN1_BIT_STRING"]
9060    pub fn c2i_ASN1_BIT_STRING(
9061        out: *mut *mut ASN1_BIT_STRING,
9062        inp: *mut *const u8,
9063        len: ::std::os::raw::c_long,
9064    ) -> *mut ASN1_BIT_STRING;
9065}
9066extern "C" {
9067    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2c_ASN1_BIT_STRING"]
9068    pub fn i2c_ASN1_BIT_STRING(
9069        in_: *const ASN1_BIT_STRING,
9070        outp: *mut *mut u8,
9071    ) -> ::std::os::raw::c_int;
9072}
9073extern "C" {
9074    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_it"]
9075    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9076}
9077extern "C" {
9078    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_num_bytes"]
9079    pub fn ASN1_BIT_STRING_num_bytes(
9080        str_: *const ASN1_BIT_STRING,
9081        out: *mut usize,
9082    ) -> ::std::os::raw::c_int;
9083}
9084extern "C" {
9085    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_set"]
9086    pub fn ASN1_BIT_STRING_set(
9087        str_: *mut ASN1_BIT_STRING,
9088        d: *const ::std::os::raw::c_uchar,
9089        length: ossl_ssize_t,
9090    ) -> ::std::os::raw::c_int;
9091}
9092extern "C" {
9093    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_set_bit"]
9094    pub fn ASN1_BIT_STRING_set_bit(
9095        str_: *mut ASN1_BIT_STRING,
9096        n: ::std::os::raw::c_int,
9097        value: ::std::os::raw::c_int,
9098    ) -> ::std::os::raw::c_int;
9099}
9100extern "C" {
9101    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_get_bit"]
9102    pub fn ASN1_BIT_STRING_get_bit(
9103        str_: *const ASN1_BIT_STRING,
9104        n: ::std::os::raw::c_int,
9105    ) -> ::std::os::raw::c_int;
9106}
9107extern "C" {
9108    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_BIT_STRING_check"]
9109    pub fn ASN1_BIT_STRING_check(
9110        str_: *const ASN1_BIT_STRING,
9111        flags: *const ::std::os::raw::c_uchar,
9112        flags_len: ::std::os::raw::c_int,
9113    ) -> ::std::os::raw::c_int;
9114}
9115#[repr(C)]
9116#[derive(Debug, Copy, Clone)]
9117pub struct stack_st_ASN1_INTEGER {
9118    _unused: [u8; 0],
9119}
9120pub type sk_ASN1_INTEGER_free_func =
9121    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9122pub type sk_ASN1_INTEGER_copy_func =
9123    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9124pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9125    unsafe extern "C" fn(
9126        arg1: *const *const ASN1_INTEGER,
9127        arg2: *const *const ASN1_INTEGER,
9128    ) -> ::std::os::raw::c_int,
9129>;
9130pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9131    unsafe extern "C" fn(
9132        arg1: *mut ASN1_INTEGER,
9133        arg2: *mut ::std::os::raw::c_void,
9134    ) -> ::std::os::raw::c_int,
9135>;
9136extern "C" {
9137    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_new"]
9138    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9139}
9140extern "C" {
9141    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_free"]
9142    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9143}
9144extern "C" {
9145    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_dup"]
9146    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9147}
9148extern "C" {
9149    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_INTEGER"]
9150    pub fn d2i_ASN1_INTEGER(
9151        out: *mut *mut ASN1_INTEGER,
9152        inp: *mut *const u8,
9153        len: ::std::os::raw::c_long,
9154    ) -> *mut ASN1_INTEGER;
9155}
9156extern "C" {
9157    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_INTEGER"]
9158    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9159}
9160extern "C" {
9161    #[link_name = "\u{1}aws_lc_fips_0_13_14_c2i_ASN1_INTEGER"]
9162    pub fn c2i_ASN1_INTEGER(
9163        in_: *mut *mut ASN1_INTEGER,
9164        outp: *mut *const u8,
9165        len: ::std::os::raw::c_long,
9166    ) -> *mut ASN1_INTEGER;
9167}
9168extern "C" {
9169    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2c_ASN1_INTEGER"]
9170    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9171}
9172extern "C" {
9173    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_it"]
9174    pub static ASN1_INTEGER_it: ASN1_ITEM;
9175}
9176extern "C" {
9177    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_set_uint64"]
9178    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9179}
9180extern "C" {
9181    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_set_int64"]
9182    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_get_uint64"]
9186    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_get_int64"]
9190    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9191}
9192extern "C" {
9193    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_to_ASN1_INTEGER"]
9194    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9195}
9196extern "C" {
9197    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_to_BN"]
9198    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9199}
9200extern "C" {
9201    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_cmp"]
9202    pub fn ASN1_INTEGER_cmp(
9203        x: *const ASN1_INTEGER,
9204        y: *const ASN1_INTEGER,
9205    ) -> ::std::os::raw::c_int;
9206}
9207extern "C" {
9208    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_new"]
9209    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9210}
9211extern "C" {
9212    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_free"]
9213    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9214}
9215extern "C" {
9216    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_ENUMERATED"]
9217    pub fn d2i_ASN1_ENUMERATED(
9218        out: *mut *mut ASN1_ENUMERATED,
9219        inp: *mut *const u8,
9220        len: ::std::os::raw::c_long,
9221    ) -> *mut ASN1_ENUMERATED;
9222}
9223extern "C" {
9224    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_ENUMERATED"]
9225    pub fn i2d_ASN1_ENUMERATED(
9226        in_: *const ASN1_ENUMERATED,
9227        outp: *mut *mut u8,
9228    ) -> ::std::os::raw::c_int;
9229}
9230extern "C" {
9231    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_it"]
9232    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9233}
9234extern "C" {
9235    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_set_uint64"]
9236    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9237}
9238extern "C" {
9239    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_set_int64"]
9240    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9241}
9242extern "C" {
9243    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_get_uint64"]
9244    pub fn ASN1_ENUMERATED_get_uint64(
9245        out: *mut u64,
9246        a: *const ASN1_ENUMERATED,
9247    ) -> ::std::os::raw::c_int;
9248}
9249extern "C" {
9250    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_get_int64"]
9251    pub fn ASN1_ENUMERATED_get_int64(
9252        out: *mut i64,
9253        a: *const ASN1_ENUMERATED,
9254    ) -> ::std::os::raw::c_int;
9255}
9256extern "C" {
9257    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_to_ASN1_ENUMERATED"]
9258    pub fn BN_to_ASN1_ENUMERATED(
9259        bn: *const BIGNUM,
9260        ai: *mut ASN1_ENUMERATED,
9261    ) -> *mut ASN1_ENUMERATED;
9262}
9263extern "C" {
9264    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_to_BN"]
9265    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9266}
9267extern "C" {
9268    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_new"]
9269    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9270}
9271extern "C" {
9272    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_free"]
9273    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9274}
9275extern "C" {
9276    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_UTCTIME"]
9277    pub fn d2i_ASN1_UTCTIME(
9278        out: *mut *mut ASN1_UTCTIME,
9279        inp: *mut *const u8,
9280        len: ::std::os::raw::c_long,
9281    ) -> *mut ASN1_UTCTIME;
9282}
9283extern "C" {
9284    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_UTCTIME"]
9285    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9286}
9287extern "C" {
9288    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_it"]
9289    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9290}
9291extern "C" {
9292    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_check"]
9293    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9294}
9295extern "C" {
9296    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_set"]
9297    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9298}
9299extern "C" {
9300    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_adj"]
9301    pub fn ASN1_UTCTIME_adj(
9302        s: *mut ASN1_UTCTIME,
9303        posix_time: i64,
9304        offset_day: ::std::os::raw::c_int,
9305        offset_sec: ::std::os::raw::c_long,
9306    ) -> *mut ASN1_UTCTIME;
9307}
9308extern "C" {
9309    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_set_string"]
9310    pub fn ASN1_UTCTIME_set_string(
9311        s: *mut ASN1_UTCTIME,
9312        str_: *const ::std::os::raw::c_char,
9313    ) -> ::std::os::raw::c_int;
9314}
9315extern "C" {
9316    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_cmp_time_t"]
9317    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
9318}
9319extern "C" {
9320    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_new"]
9321    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
9322}
9323extern "C" {
9324    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_free"]
9325    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
9326}
9327extern "C" {
9328    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_GENERALIZEDTIME"]
9329    pub fn d2i_ASN1_GENERALIZEDTIME(
9330        out: *mut *mut ASN1_GENERALIZEDTIME,
9331        inp: *mut *const u8,
9332        len: ::std::os::raw::c_long,
9333    ) -> *mut ASN1_GENERALIZEDTIME;
9334}
9335extern "C" {
9336    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_GENERALIZEDTIME"]
9337    pub fn i2d_ASN1_GENERALIZEDTIME(
9338        in_: *const ASN1_GENERALIZEDTIME,
9339        outp: *mut *mut u8,
9340    ) -> ::std::os::raw::c_int;
9341}
9342extern "C" {
9343    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_it"]
9344    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
9345}
9346extern "C" {
9347    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_check"]
9348    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
9349}
9350extern "C" {
9351    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_set"]
9352    pub fn ASN1_GENERALIZEDTIME_set(
9353        s: *mut ASN1_GENERALIZEDTIME,
9354        posix_time: i64,
9355    ) -> *mut ASN1_GENERALIZEDTIME;
9356}
9357extern "C" {
9358    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_adj"]
9359    pub fn ASN1_GENERALIZEDTIME_adj(
9360        s: *mut ASN1_GENERALIZEDTIME,
9361        posix_time: i64,
9362        offset_day: ::std::os::raw::c_int,
9363        offset_sec: ::std::os::raw::c_long,
9364    ) -> *mut ASN1_GENERALIZEDTIME;
9365}
9366extern "C" {
9367    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_set_string"]
9368    pub fn ASN1_GENERALIZEDTIME_set_string(
9369        s: *mut ASN1_GENERALIZEDTIME,
9370        str_: *const ::std::os::raw::c_char,
9371    ) -> ::std::os::raw::c_int;
9372}
9373extern "C" {
9374    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_new"]
9375    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
9376}
9377extern "C" {
9378    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_free"]
9379    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
9380}
9381extern "C" {
9382    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_TIME"]
9383    pub fn d2i_ASN1_TIME(
9384        out: *mut *mut ASN1_TIME,
9385        inp: *mut *const u8,
9386        len: ::std::os::raw::c_long,
9387    ) -> *mut ASN1_TIME;
9388}
9389extern "C" {
9390    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_TIME"]
9391    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9392}
9393extern "C" {
9394    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_it"]
9395    pub static ASN1_TIME_it: ASN1_ITEM;
9396}
9397extern "C" {
9398    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_diff"]
9399    pub fn ASN1_TIME_diff(
9400        out_days: *mut ::std::os::raw::c_int,
9401        out_seconds: *mut ::std::os::raw::c_int,
9402        from: *const ASN1_TIME,
9403        to: *const ASN1_TIME,
9404    ) -> ::std::os::raw::c_int;
9405}
9406extern "C" {
9407    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_set_posix"]
9408    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
9409}
9410extern "C" {
9411    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_set"]
9412    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
9413}
9414extern "C" {
9415    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_adj"]
9416    pub fn ASN1_TIME_adj(
9417        s: *mut ASN1_TIME,
9418        posix_time: i64,
9419        offset_day: ::std::os::raw::c_int,
9420        offset_sec: ::std::os::raw::c_long,
9421    ) -> *mut ASN1_TIME;
9422}
9423extern "C" {
9424    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_check"]
9425    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
9426}
9427extern "C" {
9428    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_to_generalizedtime"]
9429    pub fn ASN1_TIME_to_generalizedtime(
9430        t: *const ASN1_TIME,
9431        out: *mut *mut ASN1_GENERALIZEDTIME,
9432    ) -> *mut ASN1_GENERALIZEDTIME;
9433}
9434extern "C" {
9435    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_set_string"]
9436    pub fn ASN1_TIME_set_string(
9437        s: *mut ASN1_TIME,
9438        str_: *const ::std::os::raw::c_char,
9439    ) -> ::std::os::raw::c_int;
9440}
9441extern "C" {
9442    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_to_tm"]
9443    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
9444}
9445extern "C" {
9446    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_set_string_X509"]
9447    pub fn ASN1_TIME_set_string_X509(
9448        s: *mut ASN1_TIME,
9449        str_: *const ::std::os::raw::c_char,
9450    ) -> ::std::os::raw::c_int;
9451}
9452extern "C" {
9453    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_to_time_t"]
9454    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
9455}
9456extern "C" {
9457    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_to_posix"]
9458    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
9459}
9460extern "C" {
9461    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_NULL_new"]
9462    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
9463}
9464extern "C" {
9465    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_NULL_free"]
9466    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
9467}
9468extern "C" {
9469    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_NULL"]
9470    pub fn d2i_ASN1_NULL(
9471        out: *mut *mut ASN1_NULL,
9472        inp: *mut *const u8,
9473        len: ::std::os::raw::c_long,
9474    ) -> *mut ASN1_NULL;
9475}
9476extern "C" {
9477    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_NULL"]
9478    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9479}
9480extern "C" {
9481    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_NULL_it"]
9482    pub static ASN1_NULL_it: ASN1_ITEM;
9483}
9484#[repr(C)]
9485#[derive(Debug, Copy, Clone)]
9486pub struct stack_st_ASN1_OBJECT {
9487    _unused: [u8; 0],
9488}
9489pub type sk_ASN1_OBJECT_free_func =
9490    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
9491pub type sk_ASN1_OBJECT_copy_func =
9492    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
9493pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
9494    unsafe extern "C" fn(
9495        arg1: *const *const ASN1_OBJECT,
9496        arg2: *const *const ASN1_OBJECT,
9497    ) -> ::std::os::raw::c_int,
9498>;
9499pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
9500    unsafe extern "C" fn(
9501        arg1: *mut ASN1_OBJECT,
9502        arg2: *mut ::std::os::raw::c_void,
9503    ) -> ::std::os::raw::c_int,
9504>;
9505extern "C" {
9506    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OBJECT_create"]
9507    pub fn ASN1_OBJECT_create(
9508        nid: ::std::os::raw::c_int,
9509        data: *const u8,
9510        len: usize,
9511        sn: *const ::std::os::raw::c_char,
9512        ln: *const ::std::os::raw::c_char,
9513    ) -> *mut ASN1_OBJECT;
9514}
9515extern "C" {
9516    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OBJECT_free"]
9517    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
9518}
9519extern "C" {
9520    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_OBJECT"]
9521    pub fn d2i_ASN1_OBJECT(
9522        out: *mut *mut ASN1_OBJECT,
9523        inp: *mut *const u8,
9524        len: ::std::os::raw::c_long,
9525    ) -> *mut ASN1_OBJECT;
9526}
9527extern "C" {
9528    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_OBJECT"]
9529    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9530}
9531extern "C" {
9532    #[link_name = "\u{1}aws_lc_fips_0_13_14_c2i_ASN1_OBJECT"]
9533    pub fn c2i_ASN1_OBJECT(
9534        out: *mut *mut ASN1_OBJECT,
9535        inp: *mut *const u8,
9536        len: ::std::os::raw::c_long,
9537    ) -> *mut ASN1_OBJECT;
9538}
9539extern "C" {
9540    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_OBJECT_it"]
9541    pub static ASN1_OBJECT_it: ASN1_ITEM;
9542}
9543#[repr(C)]
9544#[derive(Copy, Clone)]
9545pub struct asn1_type_st {
9546    pub type_: ::std::os::raw::c_int,
9547    pub value: asn1_type_st__bindgen_ty_1,
9548}
9549#[repr(C)]
9550#[derive(Copy, Clone)]
9551pub union asn1_type_st__bindgen_ty_1 {
9552    pub ptr: *mut ::std::os::raw::c_char,
9553    pub boolean: ASN1_BOOLEAN,
9554    pub asn1_string: *mut ASN1_STRING,
9555    pub object: *mut ASN1_OBJECT,
9556    pub integer: *mut ASN1_INTEGER,
9557    pub enumerated: *mut ASN1_ENUMERATED,
9558    pub bit_string: *mut ASN1_BIT_STRING,
9559    pub octet_string: *mut ASN1_OCTET_STRING,
9560    pub printablestring: *mut ASN1_PRINTABLESTRING,
9561    pub t61string: *mut ASN1_T61STRING,
9562    pub ia5string: *mut ASN1_IA5STRING,
9563    pub generalstring: *mut ASN1_GENERALSTRING,
9564    pub bmpstring: *mut ASN1_BMPSTRING,
9565    pub universalstring: *mut ASN1_UNIVERSALSTRING,
9566    pub utctime: *mut ASN1_UTCTIME,
9567    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
9568    pub visiblestring: *mut ASN1_VISIBLESTRING,
9569    pub utf8string: *mut ASN1_UTF8STRING,
9570    pub set: *mut ASN1_STRING,
9571    pub sequence: *mut ASN1_STRING,
9572    pub asn1_value: *mut ASN1_VALUE,
9573}
9574#[test]
9575fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
9576    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
9577        ::std::mem::MaybeUninit::uninit();
9578    let ptr = UNINIT.as_ptr();
9579    assert_eq!(
9580        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
9581        8usize,
9582        "Size of asn1_type_st__bindgen_ty_1"
9583    );
9584    assert_eq!(
9585        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
9586        8usize,
9587        "Alignment of asn1_type_st__bindgen_ty_1"
9588    );
9589    assert_eq!(
9590        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
9591        0usize,
9592        "Offset of field: asn1_type_st__bindgen_ty_1::ptr"
9593    );
9594    assert_eq!(
9595        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
9596        0usize,
9597        "Offset of field: asn1_type_st__bindgen_ty_1::boolean"
9598    );
9599    assert_eq!(
9600        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
9601        0usize,
9602        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_string"
9603    );
9604    assert_eq!(
9605        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
9606        0usize,
9607        "Offset of field: asn1_type_st__bindgen_ty_1::object"
9608    );
9609    assert_eq!(
9610        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
9611        0usize,
9612        "Offset of field: asn1_type_st__bindgen_ty_1::integer"
9613    );
9614    assert_eq!(
9615        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
9616        0usize,
9617        "Offset of field: asn1_type_st__bindgen_ty_1::enumerated"
9618    );
9619    assert_eq!(
9620        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
9621        0usize,
9622        "Offset of field: asn1_type_st__bindgen_ty_1::bit_string"
9623    );
9624    assert_eq!(
9625        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
9626        0usize,
9627        "Offset of field: asn1_type_st__bindgen_ty_1::octet_string"
9628    );
9629    assert_eq!(
9630        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
9631        0usize,
9632        "Offset of field: asn1_type_st__bindgen_ty_1::printablestring"
9633    );
9634    assert_eq!(
9635        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
9636        0usize,
9637        "Offset of field: asn1_type_st__bindgen_ty_1::t61string"
9638    );
9639    assert_eq!(
9640        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
9641        0usize,
9642        "Offset of field: asn1_type_st__bindgen_ty_1::ia5string"
9643    );
9644    assert_eq!(
9645        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
9646        0usize,
9647        "Offset of field: asn1_type_st__bindgen_ty_1::generalstring"
9648    );
9649    assert_eq!(
9650        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
9651        0usize,
9652        "Offset of field: asn1_type_st__bindgen_ty_1::bmpstring"
9653    );
9654    assert_eq!(
9655        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
9656        0usize,
9657        "Offset of field: asn1_type_st__bindgen_ty_1::universalstring"
9658    );
9659    assert_eq!(
9660        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
9661        0usize,
9662        "Offset of field: asn1_type_st__bindgen_ty_1::utctime"
9663    );
9664    assert_eq!(
9665        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
9666        0usize,
9667        "Offset of field: asn1_type_st__bindgen_ty_1::generalizedtime"
9668    );
9669    assert_eq!(
9670        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
9671        0usize,
9672        "Offset of field: asn1_type_st__bindgen_ty_1::visiblestring"
9673    );
9674    assert_eq!(
9675        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
9676        0usize,
9677        "Offset of field: asn1_type_st__bindgen_ty_1::utf8string"
9678    );
9679    assert_eq!(
9680        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
9681        0usize,
9682        "Offset of field: asn1_type_st__bindgen_ty_1::set"
9683    );
9684    assert_eq!(
9685        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
9686        0usize,
9687        "Offset of field: asn1_type_st__bindgen_ty_1::sequence"
9688    );
9689    assert_eq!(
9690        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
9691        0usize,
9692        "Offset of field: asn1_type_st__bindgen_ty_1::asn1_value"
9693    );
9694}
9695impl Default for asn1_type_st__bindgen_ty_1 {
9696    fn default() -> Self {
9697        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9698        unsafe {
9699            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9700            s.assume_init()
9701        }
9702    }
9703}
9704#[test]
9705fn bindgen_test_layout_asn1_type_st() {
9706    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
9707    let ptr = UNINIT.as_ptr();
9708    assert_eq!(
9709        ::std::mem::size_of::<asn1_type_st>(),
9710        16usize,
9711        "Size of asn1_type_st"
9712    );
9713    assert_eq!(
9714        ::std::mem::align_of::<asn1_type_st>(),
9715        8usize,
9716        "Alignment of asn1_type_st"
9717    );
9718    assert_eq!(
9719        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9720        0usize,
9721        "Offset of field: asn1_type_st::type_"
9722    );
9723    assert_eq!(
9724        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
9725        8usize,
9726        "Offset of field: asn1_type_st::value"
9727    );
9728}
9729impl Default for asn1_type_st {
9730    fn default() -> Self {
9731        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9732        unsafe {
9733            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9734            s.assume_init()
9735        }
9736    }
9737}
9738#[repr(C)]
9739#[derive(Debug, Copy, Clone)]
9740pub struct stack_st_ASN1_TYPE {
9741    _unused: [u8; 0],
9742}
9743pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
9744pub type sk_ASN1_TYPE_copy_func =
9745    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
9746pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
9747    unsafe extern "C" fn(
9748        arg1: *const *const ASN1_TYPE,
9749        arg2: *const *const ASN1_TYPE,
9750    ) -> ::std::os::raw::c_int,
9751>;
9752pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
9753    unsafe extern "C" fn(
9754        arg1: *mut ASN1_TYPE,
9755        arg2: *mut ::std::os::raw::c_void,
9756    ) -> ::std::os::raw::c_int,
9757>;
9758extern "C" {
9759    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_new"]
9760    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
9761}
9762extern "C" {
9763    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_free"]
9764    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
9765}
9766extern "C" {
9767    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_TYPE"]
9768    pub fn d2i_ASN1_TYPE(
9769        out: *mut *mut ASN1_TYPE,
9770        inp: *mut *const u8,
9771        len: ::std::os::raw::c_long,
9772    ) -> *mut ASN1_TYPE;
9773}
9774extern "C" {
9775    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_TYPE"]
9776    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9777}
9778extern "C" {
9779    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ANY_it"]
9780    pub static ASN1_ANY_it: ASN1_ITEM;
9781}
9782extern "C" {
9783    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_get"]
9784    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
9785}
9786extern "C" {
9787    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_set"]
9788    pub fn ASN1_TYPE_set(
9789        a: *mut ASN1_TYPE,
9790        type_: ::std::os::raw::c_int,
9791        value: *mut ::std::os::raw::c_void,
9792    );
9793}
9794extern "C" {
9795    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_set1"]
9796    pub fn ASN1_TYPE_set1(
9797        a: *mut ASN1_TYPE,
9798        type_: ::std::os::raw::c_int,
9799        value: *const ::std::os::raw::c_void,
9800    ) -> ::std::os::raw::c_int;
9801}
9802extern "C" {
9803    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TYPE_cmp"]
9804    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
9805}
9806pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
9807extern "C" {
9808    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_SEQUENCE_ANY"]
9809    pub fn d2i_ASN1_SEQUENCE_ANY(
9810        out: *mut *mut ASN1_SEQUENCE_ANY,
9811        inp: *mut *const u8,
9812        len: ::std::os::raw::c_long,
9813    ) -> *mut ASN1_SEQUENCE_ANY;
9814}
9815extern "C" {
9816    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_SEQUENCE_ANY"]
9817    pub fn i2d_ASN1_SEQUENCE_ANY(
9818        in_: *const ASN1_SEQUENCE_ANY,
9819        outp: *mut *mut u8,
9820    ) -> ::std::os::raw::c_int;
9821}
9822extern "C" {
9823    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_SET_ANY"]
9824    pub fn d2i_ASN1_SET_ANY(
9825        out: *mut *mut ASN1_SEQUENCE_ANY,
9826        inp: *mut *const u8,
9827        len: ::std::os::raw::c_long,
9828    ) -> *mut ASN1_SEQUENCE_ANY;
9829}
9830extern "C" {
9831    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_SET_ANY"]
9832    pub fn i2d_ASN1_SET_ANY(
9833        in_: *const ASN1_SEQUENCE_ANY,
9834        outp: *mut *mut u8,
9835    ) -> ::std::os::raw::c_int;
9836}
9837extern "C" {
9838    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_UTCTIME_print"]
9839    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9840}
9841extern "C" {
9842    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_GENERALIZEDTIME_print"]
9843    pub fn ASN1_GENERALIZEDTIME_print(
9844        out: *mut BIO,
9845        a: *const ASN1_GENERALIZEDTIME,
9846    ) -> ::std::os::raw::c_int;
9847}
9848extern "C" {
9849    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_TIME_print"]
9850    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
9851}
9852extern "C" {
9853    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_print"]
9854    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9855}
9856extern "C" {
9857    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_print_ex"]
9858    pub fn ASN1_STRING_print_ex(
9859        out: *mut BIO,
9860        str_: *const ASN1_STRING,
9861        flags: ::std::os::raw::c_ulong,
9862    ) -> ::std::os::raw::c_int;
9863}
9864extern "C" {
9865    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_print_ex_fp"]
9866    pub fn ASN1_STRING_print_ex_fp(
9867        fp: *mut FILE,
9868        str_: *const ASN1_STRING,
9869        flags: ::std::os::raw::c_ulong,
9870    ) -> ::std::os::raw::c_int;
9871}
9872extern "C" {
9873    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2a_ASN1_INTEGER"]
9874    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9875}
9876extern "C" {
9877    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2a_ASN1_ENUMERATED"]
9878    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
9879}
9880extern "C" {
9881    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2a_ASN1_OBJECT"]
9882    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
9883}
9884extern "C" {
9885    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2a_ASN1_STRING"]
9886    pub fn i2a_ASN1_STRING(
9887        bp: *mut BIO,
9888        a: *const ASN1_STRING,
9889        type_: ::std::os::raw::c_int,
9890    ) -> ::std::os::raw::c_int;
9891}
9892extern "C" {
9893    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2t_ASN1_OBJECT"]
9894    pub fn i2t_ASN1_OBJECT(
9895        buf: *mut ::std::os::raw::c_char,
9896        buf_len: ::std::os::raw::c_int,
9897        a: *const ASN1_OBJECT,
9898    ) -> ::std::os::raw::c_int;
9899}
9900extern "C" {
9901    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_get_object"]
9902    pub fn ASN1_get_object(
9903        inp: *mut *const ::std::os::raw::c_uchar,
9904        out_length: *mut ::std::os::raw::c_long,
9905        out_tag: *mut ::std::os::raw::c_int,
9906        out_class: *mut ::std::os::raw::c_int,
9907        max_len: ::std::os::raw::c_long,
9908    ) -> ::std::os::raw::c_int;
9909}
9910extern "C" {
9911    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_put_object"]
9912    pub fn ASN1_put_object(
9913        outp: *mut *mut ::std::os::raw::c_uchar,
9914        constructed: ::std::os::raw::c_int,
9915        length: ::std::os::raw::c_int,
9916        tag: ::std::os::raw::c_int,
9917        xclass: ::std::os::raw::c_int,
9918    );
9919}
9920extern "C" {
9921    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_put_eoc"]
9922    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
9923}
9924extern "C" {
9925    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_object_size"]
9926    pub fn ASN1_object_size(
9927        constructed: ::std::os::raw::c_int,
9928        length: ::std::os::raw::c_int,
9929        tag: ::std::os::raw::c_int,
9930    ) -> ::std::os::raw::c_int;
9931}
9932extern "C" {
9933    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLE_new"]
9934    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
9935}
9936extern "C" {
9937    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLE_free"]
9938    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
9939}
9940extern "C" {
9941    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ASN1_PRINTABLE"]
9942    pub fn d2i_ASN1_PRINTABLE(
9943        out: *mut *mut ASN1_STRING,
9944        inp: *mut *const u8,
9945        len: ::std::os::raw::c_long,
9946    ) -> *mut ASN1_STRING;
9947}
9948extern "C" {
9949    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ASN1_PRINTABLE"]
9950    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
9951        -> ::std::os::raw::c_int;
9952}
9953extern "C" {
9954    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_PRINTABLE_it"]
9955    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
9956}
9957extern "C" {
9958    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_set"]
9959    pub fn ASN1_INTEGER_set(
9960        a: *mut ASN1_INTEGER,
9961        v: ::std::os::raw::c_long,
9962    ) -> ::std::os::raw::c_int;
9963}
9964extern "C" {
9965    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_set"]
9966    pub fn ASN1_ENUMERATED_set(
9967        a: *mut ASN1_ENUMERATED,
9968        v: ::std::os::raw::c_long,
9969    ) -> ::std::os::raw::c_int;
9970}
9971extern "C" {
9972    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_INTEGER_get"]
9973    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
9974}
9975extern "C" {
9976    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_ENUMERATED_get"]
9977    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
9978}
9979extern "C" {
9980    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_set_default_mask"]
9981    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
9982}
9983extern "C" {
9984    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_set_default_mask_asc"]
9985    pub fn ASN1_STRING_set_default_mask_asc(
9986        p: *const ::std::os::raw::c_char,
9987    ) -> ::std::os::raw::c_int;
9988}
9989extern "C" {
9990    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_get_default_mask"]
9991    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
9992}
9993extern "C" {
9994    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_STRING_TABLE_cleanup"]
9995    pub fn ASN1_STRING_TABLE_cleanup();
9996}
9997pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
9998#[repr(C)]
9999#[derive(Debug, Copy, Clone)]
10000pub struct ASN1_TLC_st {
10001    _unused: [u8; 0],
10002}
10003pub type ASN1_TLC = ASN1_TLC_st;
10004#[repr(C)]
10005#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10006pub struct ASN1_TEMPLATE_st {
10007    pub flags: u32,
10008    pub tag: ::std::os::raw::c_int,
10009    pub offset: ::std::os::raw::c_ulong,
10010    pub field_name: *const ::std::os::raw::c_char,
10011    pub item: *const ASN1_ITEM_st,
10012}
10013#[test]
10014fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10015    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10016    let ptr = UNINIT.as_ptr();
10017    assert_eq!(
10018        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10019        32usize,
10020        "Size of ASN1_TEMPLATE_st"
10021    );
10022    assert_eq!(
10023        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10024        8usize,
10025        "Alignment of ASN1_TEMPLATE_st"
10026    );
10027    assert_eq!(
10028        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10029        0usize,
10030        "Offset of field: ASN1_TEMPLATE_st::flags"
10031    );
10032    assert_eq!(
10033        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10034        4usize,
10035        "Offset of field: ASN1_TEMPLATE_st::tag"
10036    );
10037    assert_eq!(
10038        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10039        8usize,
10040        "Offset of field: ASN1_TEMPLATE_st::offset"
10041    );
10042    assert_eq!(
10043        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10044        16usize,
10045        "Offset of field: ASN1_TEMPLATE_st::field_name"
10046    );
10047    assert_eq!(
10048        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10049        24usize,
10050        "Offset of field: ASN1_TEMPLATE_st::item"
10051    );
10052}
10053impl Default for ASN1_TEMPLATE_st {
10054    fn default() -> Self {
10055        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10056        unsafe {
10057            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10058            s.assume_init()
10059        }
10060    }
10061}
10062pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10063pub type ASN1_ADB = ASN1_ADB_st;
10064#[repr(C)]
10065#[derive(Debug, Copy, Clone)]
10066pub struct asn1_must_be_null_st {
10067    _unused: [u8; 0],
10068}
10069pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10070#[repr(C)]
10071#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10072pub struct ASN1_ADB_st {
10073    pub flags: u32,
10074    pub offset: ::std::os::raw::c_ulong,
10075    pub unused: *mut ASN1_MUST_BE_NULL,
10076    pub tbl: *const ASN1_ADB_TABLE,
10077    pub tblcount: ::std::os::raw::c_long,
10078    pub default_tt: *const ASN1_TEMPLATE,
10079    pub null_tt: *const ASN1_TEMPLATE,
10080}
10081#[test]
10082fn bindgen_test_layout_ASN1_ADB_st() {
10083    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10084    let ptr = UNINIT.as_ptr();
10085    assert_eq!(
10086        ::std::mem::size_of::<ASN1_ADB_st>(),
10087        56usize,
10088        "Size of ASN1_ADB_st"
10089    );
10090    assert_eq!(
10091        ::std::mem::align_of::<ASN1_ADB_st>(),
10092        8usize,
10093        "Alignment of ASN1_ADB_st"
10094    );
10095    assert_eq!(
10096        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10097        0usize,
10098        "Offset of field: ASN1_ADB_st::flags"
10099    );
10100    assert_eq!(
10101        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10102        8usize,
10103        "Offset of field: ASN1_ADB_st::offset"
10104    );
10105    assert_eq!(
10106        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10107        16usize,
10108        "Offset of field: ASN1_ADB_st::unused"
10109    );
10110    assert_eq!(
10111        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10112        24usize,
10113        "Offset of field: ASN1_ADB_st::tbl"
10114    );
10115    assert_eq!(
10116        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10117        32usize,
10118        "Offset of field: ASN1_ADB_st::tblcount"
10119    );
10120    assert_eq!(
10121        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10122        40usize,
10123        "Offset of field: ASN1_ADB_st::default_tt"
10124    );
10125    assert_eq!(
10126        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10127        48usize,
10128        "Offset of field: ASN1_ADB_st::null_tt"
10129    );
10130}
10131impl Default for ASN1_ADB_st {
10132    fn default() -> Self {
10133        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10134        unsafe {
10135            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10136            s.assume_init()
10137        }
10138    }
10139}
10140#[repr(C)]
10141#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10142pub struct ASN1_ADB_TABLE_st {
10143    pub value: ::std::os::raw::c_int,
10144    pub tt: ASN1_TEMPLATE,
10145}
10146#[test]
10147fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10148    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10149    let ptr = UNINIT.as_ptr();
10150    assert_eq!(
10151        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10152        40usize,
10153        "Size of ASN1_ADB_TABLE_st"
10154    );
10155    assert_eq!(
10156        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10157        8usize,
10158        "Alignment of ASN1_ADB_TABLE_st"
10159    );
10160    assert_eq!(
10161        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10162        0usize,
10163        "Offset of field: ASN1_ADB_TABLE_st::value"
10164    );
10165    assert_eq!(
10166        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10167        8usize,
10168        "Offset of field: ASN1_ADB_TABLE_st::tt"
10169    );
10170}
10171impl Default for ASN1_ADB_TABLE_st {
10172    fn default() -> Self {
10173        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10174        unsafe {
10175            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10176            s.assume_init()
10177        }
10178    }
10179}
10180#[repr(C)]
10181#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10182pub struct ASN1_ITEM_st {
10183    pub itype: ::std::os::raw::c_char,
10184    pub utype: ::std::os::raw::c_int,
10185    pub templates: *const ASN1_TEMPLATE,
10186    pub tcount: ::std::os::raw::c_long,
10187    pub funcs: *const ::std::os::raw::c_void,
10188    pub size: ::std::os::raw::c_long,
10189    pub sname: *const ::std::os::raw::c_char,
10190}
10191#[test]
10192fn bindgen_test_layout_ASN1_ITEM_st() {
10193    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10194    let ptr = UNINIT.as_ptr();
10195    assert_eq!(
10196        ::std::mem::size_of::<ASN1_ITEM_st>(),
10197        48usize,
10198        "Size of ASN1_ITEM_st"
10199    );
10200    assert_eq!(
10201        ::std::mem::align_of::<ASN1_ITEM_st>(),
10202        8usize,
10203        "Alignment of ASN1_ITEM_st"
10204    );
10205    assert_eq!(
10206        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10207        0usize,
10208        "Offset of field: ASN1_ITEM_st::itype"
10209    );
10210    assert_eq!(
10211        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10212        4usize,
10213        "Offset of field: ASN1_ITEM_st::utype"
10214    );
10215    assert_eq!(
10216        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10217        8usize,
10218        "Offset of field: ASN1_ITEM_st::templates"
10219    );
10220    assert_eq!(
10221        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10222        16usize,
10223        "Offset of field: ASN1_ITEM_st::tcount"
10224    );
10225    assert_eq!(
10226        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10227        24usize,
10228        "Offset of field: ASN1_ITEM_st::funcs"
10229    );
10230    assert_eq!(
10231        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
10232        32usize,
10233        "Offset of field: ASN1_ITEM_st::size"
10234    );
10235    assert_eq!(
10236        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
10237        40usize,
10238        "Offset of field: ASN1_ITEM_st::sname"
10239    );
10240}
10241impl Default for ASN1_ITEM_st {
10242    fn default() -> Self {
10243        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10244        unsafe {
10245            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10246            s.assume_init()
10247        }
10248    }
10249}
10250pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
10251pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
10252pub type ASN1_d2i_func = ::std::option::Option<
10253    unsafe extern "C" fn(
10254        a: *mut *mut ASN1_VALUE,
10255        in_: *mut *const ::std::os::raw::c_uchar,
10256        length: ::std::os::raw::c_long,
10257    ) -> *mut ASN1_VALUE,
10258>;
10259pub type ASN1_i2d_func = ::std::option::Option<
10260    unsafe extern "C" fn(
10261        a: *mut ASN1_VALUE,
10262        in_: *mut *mut ::std::os::raw::c_uchar,
10263    ) -> ::std::os::raw::c_int,
10264>;
10265pub type ASN1_ex_d2i = ::std::option::Option<
10266    unsafe extern "C" fn(
10267        pval: *mut *mut ASN1_VALUE,
10268        in_: *mut *const ::std::os::raw::c_uchar,
10269        len: ::std::os::raw::c_long,
10270        it: *const ASN1_ITEM,
10271        tag: ::std::os::raw::c_int,
10272        aclass: ::std::os::raw::c_int,
10273        opt: ::std::os::raw::c_char,
10274        ctx: *mut ASN1_TLC,
10275    ) -> ::std::os::raw::c_int,
10276>;
10277pub type ASN1_ex_i2d = ::std::option::Option<
10278    unsafe extern "C" fn(
10279        pval: *mut *mut ASN1_VALUE,
10280        out: *mut *mut ::std::os::raw::c_uchar,
10281        it: *const ASN1_ITEM,
10282        tag: ::std::os::raw::c_int,
10283        aclass: ::std::os::raw::c_int,
10284    ) -> ::std::os::raw::c_int,
10285>;
10286pub type ASN1_ex_new_func = ::std::option::Option<
10287    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
10288>;
10289pub type ASN1_ex_free_func =
10290    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
10291pub type ASN1_ex_print_func = ::std::option::Option<
10292    unsafe extern "C" fn(
10293        out: *mut BIO,
10294        pval: *mut *mut ASN1_VALUE,
10295        indent: ::std::os::raw::c_int,
10296        fname: *const ::std::os::raw::c_char,
10297        pctx: *const ASN1_PCTX,
10298    ) -> ::std::os::raw::c_int,
10299>;
10300#[repr(C)]
10301#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10302pub struct ASN1_EXTERN_FUNCS_st {
10303    pub app_data: *mut ::std::os::raw::c_void,
10304    pub asn1_ex_new: ASN1_ex_new_func,
10305    pub asn1_ex_free: ASN1_ex_free_func,
10306    pub asn1_ex_d2i: ASN1_ex_d2i,
10307    pub asn1_ex_i2d: ASN1_ex_i2d,
10308    pub asn1_ex_print: ASN1_ex_print_func,
10309}
10310#[test]
10311fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
10312    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
10313    let ptr = UNINIT.as_ptr();
10314    assert_eq!(
10315        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
10316        48usize,
10317        "Size of ASN1_EXTERN_FUNCS_st"
10318    );
10319    assert_eq!(
10320        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
10321        8usize,
10322        "Alignment of ASN1_EXTERN_FUNCS_st"
10323    );
10324    assert_eq!(
10325        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10326        0usize,
10327        "Offset of field: ASN1_EXTERN_FUNCS_st::app_data"
10328    );
10329    assert_eq!(
10330        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
10331        8usize,
10332        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_new"
10333    );
10334    assert_eq!(
10335        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
10336        16usize,
10337        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_free"
10338    );
10339    assert_eq!(
10340        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
10341        24usize,
10342        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_d2i"
10343    );
10344    assert_eq!(
10345        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
10346        32usize,
10347        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_i2d"
10348    );
10349    assert_eq!(
10350        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
10351        40usize,
10352        "Offset of field: ASN1_EXTERN_FUNCS_st::asn1_ex_print"
10353    );
10354}
10355impl Default for ASN1_EXTERN_FUNCS_st {
10356    fn default() -> Self {
10357        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10358        unsafe {
10359            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10360            s.assume_init()
10361        }
10362    }
10363}
10364pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
10365pub type ASN1_aux_cb = ::std::option::Option<
10366    unsafe extern "C" fn(
10367        operation: ::std::os::raw::c_int,
10368        in_: *mut *mut ASN1_VALUE,
10369        it: *const ASN1_ITEM,
10370        exarg: *mut ::std::os::raw::c_void,
10371    ) -> ::std::os::raw::c_int,
10372>;
10373#[repr(C)]
10374#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10375pub struct ASN1_AUX_st {
10376    pub app_data: *mut ::std::os::raw::c_void,
10377    pub flags: u32,
10378    pub ref_offset: ::std::os::raw::c_int,
10379    pub asn1_cb: ASN1_aux_cb,
10380    pub enc_offset: ::std::os::raw::c_int,
10381}
10382#[test]
10383fn bindgen_test_layout_ASN1_AUX_st() {
10384    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
10385    let ptr = UNINIT.as_ptr();
10386    assert_eq!(
10387        ::std::mem::size_of::<ASN1_AUX_st>(),
10388        32usize,
10389        "Size of ASN1_AUX_st"
10390    );
10391    assert_eq!(
10392        ::std::mem::align_of::<ASN1_AUX_st>(),
10393        8usize,
10394        "Alignment of ASN1_AUX_st"
10395    );
10396    assert_eq!(
10397        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
10398        0usize,
10399        "Offset of field: ASN1_AUX_st::app_data"
10400    );
10401    assert_eq!(
10402        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10403        8usize,
10404        "Offset of field: ASN1_AUX_st::flags"
10405    );
10406    assert_eq!(
10407        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
10408        12usize,
10409        "Offset of field: ASN1_AUX_st::ref_offset"
10410    );
10411    assert_eq!(
10412        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
10413        16usize,
10414        "Offset of field: ASN1_AUX_st::asn1_cb"
10415    );
10416    assert_eq!(
10417        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
10418        24usize,
10419        "Offset of field: ASN1_AUX_st::enc_offset"
10420    );
10421}
10422impl Default for ASN1_AUX_st {
10423    fn default() -> Self {
10424        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10425        unsafe {
10426            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10427            s.assume_init()
10428        }
10429    }
10430}
10431pub type ASN1_AUX = ASN1_AUX_st;
10432extern "C" {
10433    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_SEQUENCE_it"]
10434    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
10435}
10436#[repr(C)]
10437#[derive(Debug, Copy, Clone)]
10438pub struct stack_st_ASN1_VALUE {
10439    _unused: [u8; 0],
10440}
10441pub type sk_ASN1_VALUE_free_func =
10442    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
10443pub type sk_ASN1_VALUE_copy_func =
10444    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
10445pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
10446    unsafe extern "C" fn(
10447        arg1: *const *const ASN1_VALUE,
10448        arg2: *const *const ASN1_VALUE,
10449    ) -> ::std::os::raw::c_int,
10450>;
10451pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
10452    unsafe extern "C" fn(
10453        arg1: *mut ASN1_VALUE,
10454        arg2: *mut ::std::os::raw::c_void,
10455    ) -> ::std::os::raw::c_int,
10456>;
10457extern "C" {
10458    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncodeBlock"]
10459    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
10460}
10461extern "C" {
10462    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncodedLength"]
10463    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10464}
10465extern "C" {
10466    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodedLength"]
10467    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
10468}
10469extern "C" {
10470    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodeBase64"]
10471    pub fn EVP_DecodeBase64(
10472        out: *mut u8,
10473        out_len: *mut usize,
10474        max_out: usize,
10475        in_: *const u8,
10476        in_len: usize,
10477    ) -> ::std::os::raw::c_int;
10478}
10479extern "C" {
10480    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_ENCODE_CTX_new"]
10481    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
10482}
10483extern "C" {
10484    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_ENCODE_CTX_free"]
10485    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
10486}
10487extern "C" {
10488    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncodeInit"]
10489    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
10490}
10491extern "C" {
10492    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncodeUpdate"]
10493    pub fn EVP_EncodeUpdate(
10494        ctx: *mut EVP_ENCODE_CTX,
10495        out: *mut u8,
10496        out_len: *mut ::std::os::raw::c_int,
10497        in_: *const u8,
10498        in_len: usize,
10499    ) -> ::std::os::raw::c_int;
10500}
10501extern "C" {
10502    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncodeFinal"]
10503    pub fn EVP_EncodeFinal(
10504        ctx: *mut EVP_ENCODE_CTX,
10505        out: *mut u8,
10506        out_len: *mut ::std::os::raw::c_int,
10507    );
10508}
10509extern "C" {
10510    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodeInit"]
10511    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
10512}
10513extern "C" {
10514    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodeUpdate"]
10515    pub fn EVP_DecodeUpdate(
10516        ctx: *mut EVP_ENCODE_CTX,
10517        out: *mut u8,
10518        out_len: *mut ::std::os::raw::c_int,
10519        in_: *const u8,
10520        in_len: usize,
10521    ) -> ::std::os::raw::c_int;
10522}
10523extern "C" {
10524    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodeFinal"]
10525    pub fn EVP_DecodeFinal(
10526        ctx: *mut EVP_ENCODE_CTX,
10527        out: *mut u8,
10528        out_len: *mut ::std::os::raw::c_int,
10529    ) -> ::std::os::raw::c_int;
10530}
10531extern "C" {
10532    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecodeBlock"]
10533    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
10534}
10535#[repr(C)]
10536#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10537pub struct evp_encode_ctx_st {
10538    pub data_used: ::std::os::raw::c_uint,
10539    pub data: [u8; 48usize],
10540    pub eof_seen: ::std::os::raw::c_char,
10541    pub error_encountered: ::std::os::raw::c_char,
10542}
10543#[test]
10544fn bindgen_test_layout_evp_encode_ctx_st() {
10545    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
10546    let ptr = UNINIT.as_ptr();
10547    assert_eq!(
10548        ::std::mem::size_of::<evp_encode_ctx_st>(),
10549        56usize,
10550        "Size of evp_encode_ctx_st"
10551    );
10552    assert_eq!(
10553        ::std::mem::align_of::<evp_encode_ctx_st>(),
10554        4usize,
10555        "Alignment of evp_encode_ctx_st"
10556    );
10557    assert_eq!(
10558        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
10559        0usize,
10560        "Offset of field: evp_encode_ctx_st::data_used"
10561    );
10562    assert_eq!(
10563        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10564        4usize,
10565        "Offset of field: evp_encode_ctx_st::data"
10566    );
10567    assert_eq!(
10568        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
10569        52usize,
10570        "Offset of field: evp_encode_ctx_st::eof_seen"
10571    );
10572    assert_eq!(
10573        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
10574        53usize,
10575        "Offset of field: evp_encode_ctx_st::error_encountered"
10576    );
10577}
10578impl Default for evp_encode_ctx_st {
10579    fn default() -> Self {
10580        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10581        unsafe {
10582            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10583            s.assume_init()
10584        }
10585    }
10586}
10587#[repr(C)]
10588#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10589pub struct blake2b_state_st {
10590    pub h: [u64; 8usize],
10591    pub t_low: u64,
10592    pub t_high: u64,
10593    pub block: [u8; 128usize],
10594    pub block_used: usize,
10595}
10596#[test]
10597fn bindgen_test_layout_blake2b_state_st() {
10598    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
10599    let ptr = UNINIT.as_ptr();
10600    assert_eq!(
10601        ::std::mem::size_of::<blake2b_state_st>(),
10602        216usize,
10603        "Size of blake2b_state_st"
10604    );
10605    assert_eq!(
10606        ::std::mem::align_of::<blake2b_state_st>(),
10607        8usize,
10608        "Alignment of blake2b_state_st"
10609    );
10610    assert_eq!(
10611        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
10612        0usize,
10613        "Offset of field: blake2b_state_st::h"
10614    );
10615    assert_eq!(
10616        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
10617        64usize,
10618        "Offset of field: blake2b_state_st::t_low"
10619    );
10620    assert_eq!(
10621        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
10622        72usize,
10623        "Offset of field: blake2b_state_st::t_high"
10624    );
10625    assert_eq!(
10626        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
10627        80usize,
10628        "Offset of field: blake2b_state_st::block"
10629    );
10630    assert_eq!(
10631        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
10632        208usize,
10633        "Offset of field: blake2b_state_st::block_used"
10634    );
10635}
10636impl Default for blake2b_state_st {
10637    fn default() -> Self {
10638        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10639        unsafe {
10640            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10641            s.assume_init()
10642        }
10643    }
10644}
10645extern "C" {
10646    #[link_name = "\u{1}aws_lc_fips_0_13_14_BLAKE2B256_Init"]
10647    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
10648}
10649extern "C" {
10650    #[link_name = "\u{1}aws_lc_fips_0_13_14_BLAKE2B256_Update"]
10651    pub fn BLAKE2B256_Update(
10652        b2b: *mut BLAKE2B_CTX,
10653        data: *const ::std::os::raw::c_void,
10654        len: usize,
10655    );
10656}
10657extern "C" {
10658    #[link_name = "\u{1}aws_lc_fips_0_13_14_BLAKE2B256_Final"]
10659    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
10660}
10661extern "C" {
10662    #[link_name = "\u{1}aws_lc_fips_0_13_14_BLAKE2B256"]
10663    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
10664}
10665#[repr(C)]
10666#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10667pub struct bf_key_st {
10668    pub P: [u32; 18usize],
10669    pub S: [u32; 1024usize],
10670}
10671#[test]
10672fn bindgen_test_layout_bf_key_st() {
10673    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
10674    let ptr = UNINIT.as_ptr();
10675    assert_eq!(
10676        ::std::mem::size_of::<bf_key_st>(),
10677        4168usize,
10678        "Size of bf_key_st"
10679    );
10680    assert_eq!(
10681        ::std::mem::align_of::<bf_key_st>(),
10682        4usize,
10683        "Alignment of bf_key_st"
10684    );
10685    assert_eq!(
10686        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
10687        0usize,
10688        "Offset of field: bf_key_st::P"
10689    );
10690    assert_eq!(
10691        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
10692        72usize,
10693        "Offset of field: bf_key_st::S"
10694    );
10695}
10696impl Default for bf_key_st {
10697    fn default() -> Self {
10698        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10699        unsafe {
10700            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10701            s.assume_init()
10702        }
10703    }
10704}
10705pub type BF_KEY = bf_key_st;
10706extern "C" {
10707    #[link_name = "\u{1}aws_lc_fips_0_13_14_BF_set_key"]
10708    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
10709}
10710extern "C" {
10711    #[link_name = "\u{1}aws_lc_fips_0_13_14_BF_encrypt"]
10712    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
10713}
10714extern "C" {
10715    #[link_name = "\u{1}aws_lc_fips_0_13_14_BF_decrypt"]
10716    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
10717}
10718extern "C" {
10719    #[link_name = "\u{1}aws_lc_fips_0_13_14_BF_ecb_encrypt"]
10720    pub fn BF_ecb_encrypt(
10721        in_: *const u8,
10722        out: *mut u8,
10723        key: *const BF_KEY,
10724        enc: ::std::os::raw::c_int,
10725    );
10726}
10727extern "C" {
10728    #[link_name = "\u{1}aws_lc_fips_0_13_14_BF_cbc_encrypt"]
10729    pub fn BF_cbc_encrypt(
10730        in_: *const u8,
10731        out: *mut u8,
10732        length: usize,
10733        schedule: *const BF_KEY,
10734        ivec: *mut u8,
10735        enc: ::std::os::raw::c_int,
10736    );
10737}
10738#[repr(C)]
10739#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10740pub struct cbs_st {
10741    pub data: *const u8,
10742    pub len: usize,
10743}
10744#[test]
10745fn bindgen_test_layout_cbs_st() {
10746    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
10747    let ptr = UNINIT.as_ptr();
10748    assert_eq!(::std::mem::size_of::<cbs_st>(), 16usize, "Size of cbs_st");
10749    assert_eq!(
10750        ::std::mem::align_of::<cbs_st>(),
10751        8usize,
10752        "Alignment of cbs_st"
10753    );
10754    assert_eq!(
10755        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
10756        0usize,
10757        "Offset of field: cbs_st::data"
10758    );
10759    assert_eq!(
10760        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
10761        8usize,
10762        "Offset of field: cbs_st::len"
10763    );
10764}
10765impl Default for cbs_st {
10766    fn default() -> Self {
10767        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10768        unsafe {
10769            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10770            s.assume_init()
10771        }
10772    }
10773}
10774extern "C" {
10775    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_init"]
10776    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
10777}
10778extern "C" {
10779    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_skip"]
10780    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
10781}
10782extern "C" {
10783    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_data"]
10784    pub fn CBS_data(cbs: *const CBS) -> *const u8;
10785}
10786extern "C" {
10787    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_len"]
10788    pub fn CBS_len(cbs: *const CBS) -> usize;
10789}
10790extern "C" {
10791    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_stow"]
10792    pub fn CBS_stow(
10793        cbs: *const CBS,
10794        out_ptr: *mut *mut u8,
10795        out_len: *mut usize,
10796    ) -> ::std::os::raw::c_int;
10797}
10798extern "C" {
10799    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_strdup"]
10800    pub fn CBS_strdup(
10801        cbs: *const CBS,
10802        out_ptr: *mut *mut ::std::os::raw::c_char,
10803    ) -> ::std::os::raw::c_int;
10804}
10805extern "C" {
10806    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_contains_zero_byte"]
10807    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
10808}
10809extern "C" {
10810    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_mem_equal"]
10811    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
10812}
10813extern "C" {
10814    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u8"]
10815    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
10816}
10817extern "C" {
10818    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u16"]
10819    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
10820}
10821extern "C" {
10822    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u16le"]
10823    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
10824}
10825extern "C" {
10826    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u24"]
10827    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
10828}
10829extern "C" {
10830    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u32"]
10831    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
10832}
10833extern "C" {
10834    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u32le"]
10835    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
10836}
10837extern "C" {
10838    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u64"]
10839    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
10840}
10841extern "C" {
10842    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u64le"]
10843    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
10844}
10845extern "C" {
10846    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_last_u8"]
10847    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
10848}
10849extern "C" {
10850    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_bytes"]
10851    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
10852}
10853extern "C" {
10854    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_copy_bytes"]
10855    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
10856}
10857extern "C" {
10858    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u8_length_prefixed"]
10859    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
10860}
10861extern "C" {
10862    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u16_length_prefixed"]
10863    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
10864}
10865extern "C" {
10866    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u24_length_prefixed"]
10867    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
10868}
10869extern "C" {
10870    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_until_first"]
10871    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
10872}
10873extern "C" {
10874    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_u64_decimal"]
10875    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
10876}
10877extern "C" {
10878    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_asn1"]
10879    pub fn CBS_get_asn1(
10880        cbs: *mut CBS,
10881        out: *mut CBS,
10882        tag_value: CBS_ASN1_TAG,
10883    ) -> ::std::os::raw::c_int;
10884}
10885extern "C" {
10886    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_asn1_element"]
10887    pub fn CBS_get_asn1_element(
10888        cbs: *mut CBS,
10889        out: *mut CBS,
10890        tag_value: CBS_ASN1_TAG,
10891    ) -> ::std::os::raw::c_int;
10892}
10893extern "C" {
10894    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_peek_asn1_tag"]
10895    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
10896}
10897extern "C" {
10898    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_any_asn1"]
10899    pub fn CBS_get_any_asn1(
10900        cbs: *mut CBS,
10901        out: *mut CBS,
10902        out_tag: *mut CBS_ASN1_TAG,
10903    ) -> ::std::os::raw::c_int;
10904}
10905extern "C" {
10906    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_any_asn1_element"]
10907    pub fn CBS_get_any_asn1_element(
10908        cbs: *mut CBS,
10909        out: *mut CBS,
10910        out_tag: *mut CBS_ASN1_TAG,
10911        out_header_len: *mut usize,
10912    ) -> ::std::os::raw::c_int;
10913}
10914extern "C" {
10915    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_any_ber_asn1_element"]
10916    pub fn CBS_get_any_ber_asn1_element(
10917        cbs: *mut CBS,
10918        out: *mut CBS,
10919        out_tag: *mut CBS_ASN1_TAG,
10920        out_header_len: *mut usize,
10921        out_ber_found: *mut ::std::os::raw::c_int,
10922        out_indefinite: *mut ::std::os::raw::c_int,
10923    ) -> ::std::os::raw::c_int;
10924}
10925extern "C" {
10926    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_asn1_uint64"]
10927    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
10928}
10929extern "C" {
10930    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_asn1_int64"]
10931    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
10932}
10933extern "C" {
10934    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_asn1_bool"]
10935    pub fn CBS_get_asn1_bool(
10936        cbs: *mut CBS,
10937        out: *mut ::std::os::raw::c_int,
10938    ) -> ::std::os::raw::c_int;
10939}
10940extern "C" {
10941    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_optional_asn1"]
10942    pub fn CBS_get_optional_asn1(
10943        cbs: *mut CBS,
10944        out: *mut CBS,
10945        out_present: *mut ::std::os::raw::c_int,
10946        tag: CBS_ASN1_TAG,
10947    ) -> ::std::os::raw::c_int;
10948}
10949extern "C" {
10950    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_optional_asn1_octet_string"]
10951    pub fn CBS_get_optional_asn1_octet_string(
10952        cbs: *mut CBS,
10953        out: *mut CBS,
10954        out_present: *mut ::std::os::raw::c_int,
10955        tag: CBS_ASN1_TAG,
10956    ) -> ::std::os::raw::c_int;
10957}
10958extern "C" {
10959    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_optional_asn1_uint64"]
10960    pub fn CBS_get_optional_asn1_uint64(
10961        cbs: *mut CBS,
10962        out: *mut u64,
10963        tag: CBS_ASN1_TAG,
10964        default_value: u64,
10965    ) -> ::std::os::raw::c_int;
10966}
10967extern "C" {
10968    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_optional_asn1_bool"]
10969    pub fn CBS_get_optional_asn1_bool(
10970        cbs: *mut CBS,
10971        out: *mut ::std::os::raw::c_int,
10972        tag: CBS_ASN1_TAG,
10973        default_value: ::std::os::raw::c_int,
10974    ) -> ::std::os::raw::c_int;
10975}
10976extern "C" {
10977    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_is_valid_asn1_bitstring"]
10978    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
10979}
10980extern "C" {
10981    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_asn1_bitstring_has_bit"]
10982    pub fn CBS_asn1_bitstring_has_bit(
10983        cbs: *const CBS,
10984        bit: ::std::os::raw::c_uint,
10985    ) -> ::std::os::raw::c_int;
10986}
10987extern "C" {
10988    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_is_valid_asn1_integer"]
10989    pub fn CBS_is_valid_asn1_integer(
10990        cbs: *const CBS,
10991        out_is_negative: *mut ::std::os::raw::c_int,
10992    ) -> ::std::os::raw::c_int;
10993}
10994extern "C" {
10995    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_is_unsigned_asn1_integer"]
10996    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
10997}
10998extern "C" {
10999    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_is_valid_asn1_oid"]
11000    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11001}
11002extern "C" {
11003    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_asn1_oid_to_text"]
11004    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11005}
11006extern "C" {
11007    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_parse_generalized_time"]
11008    pub fn CBS_parse_generalized_time(
11009        cbs: *const CBS,
11010        out_tm: *mut tm,
11011        allow_timezone_offset: ::std::os::raw::c_int,
11012    ) -> ::std::os::raw::c_int;
11013}
11014extern "C" {
11015    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_parse_utc_time"]
11016    pub fn CBS_parse_utc_time(
11017        cbs: *const CBS,
11018        out_tm: *mut tm,
11019        allow_timezone_offset: ::std::os::raw::c_int,
11020    ) -> ::std::os::raw::c_int;
11021}
11022extern "C" {
11023    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBS_get_optional_asn1_int64"]
11024    pub fn CBS_get_optional_asn1_int64(
11025        cbs: *mut CBS,
11026        out: *mut i64,
11027        tag: CBS_ASN1_TAG,
11028        default_value: i64,
11029    ) -> ::std::os::raw::c_int;
11030}
11031#[repr(C)]
11032#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11033pub struct cbb_buffer_st {
11034    pub buf: *mut u8,
11035    pub len: usize,
11036    pub cap: usize,
11037    pub _bitfield_align_1: [u8; 0],
11038    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11039    pub __bindgen_padding_0: [u8; 7usize],
11040}
11041#[test]
11042fn bindgen_test_layout_cbb_buffer_st() {
11043    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11044    let ptr = UNINIT.as_ptr();
11045    assert_eq!(
11046        ::std::mem::size_of::<cbb_buffer_st>(),
11047        32usize,
11048        "Size of cbb_buffer_st"
11049    );
11050    assert_eq!(
11051        ::std::mem::align_of::<cbb_buffer_st>(),
11052        8usize,
11053        "Alignment of cbb_buffer_st"
11054    );
11055    assert_eq!(
11056        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11057        0usize,
11058        "Offset of field: cbb_buffer_st::buf"
11059    );
11060    assert_eq!(
11061        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11062        8usize,
11063        "Offset of field: cbb_buffer_st::len"
11064    );
11065    assert_eq!(
11066        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11067        16usize,
11068        "Offset of field: cbb_buffer_st::cap"
11069    );
11070}
11071impl Default for cbb_buffer_st {
11072    fn default() -> Self {
11073        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11074        unsafe {
11075            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11076            s.assume_init()
11077        }
11078    }
11079}
11080impl cbb_buffer_st {
11081    #[inline]
11082    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
11083        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11084    }
11085    #[inline]
11086    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
11087        unsafe {
11088            let val: u32 = ::std::mem::transmute(val);
11089            self._bitfield_1.set(0usize, 1u8, val as u64)
11090        }
11091    }
11092    #[inline]
11093    pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint {
11094        unsafe {
11095            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11096                ::std::ptr::addr_of!((*this)._bitfield_1),
11097                0usize,
11098                1u8,
11099            ) as u32)
11100        }
11101    }
11102    #[inline]
11103    pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11104        unsafe {
11105            let val: u32 = ::std::mem::transmute(val);
11106            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11107                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11108                0usize,
11109                1u8,
11110                val as u64,
11111            )
11112        }
11113    }
11114    #[inline]
11115    pub fn error(&self) -> ::std::os::raw::c_uint {
11116        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
11117    }
11118    #[inline]
11119    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
11120        unsafe {
11121            let val: u32 = ::std::mem::transmute(val);
11122            self._bitfield_1.set(1usize, 1u8, val as u64)
11123        }
11124    }
11125    #[inline]
11126    pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint {
11127        unsafe {
11128            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11129                ::std::ptr::addr_of!((*this)._bitfield_1),
11130                1usize,
11131                1u8,
11132            ) as u32)
11133        }
11134    }
11135    #[inline]
11136    pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11137        unsafe {
11138            let val: u32 = ::std::mem::transmute(val);
11139            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11140                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11141                1usize,
11142                1u8,
11143                val as u64,
11144            )
11145        }
11146    }
11147    #[inline]
11148    pub fn new_bitfield_1(
11149        can_resize: ::std::os::raw::c_uint,
11150        error: ::std::os::raw::c_uint,
11151    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11152        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11153        __bindgen_bitfield_unit.set(0usize, 1u8, {
11154            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
11155            can_resize as u64
11156        });
11157        __bindgen_bitfield_unit.set(1usize, 1u8, {
11158            let error: u32 = unsafe { ::std::mem::transmute(error) };
11159            error as u64
11160        });
11161        __bindgen_bitfield_unit
11162    }
11163}
11164#[repr(C)]
11165#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11166pub struct cbb_child_st {
11167    pub base: *mut cbb_buffer_st,
11168    pub offset: usize,
11169    pub pending_len_len: u8,
11170    pub _bitfield_align_1: [u8; 0],
11171    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11172    pub __bindgen_padding_0: [u16; 3usize],
11173}
11174#[test]
11175fn bindgen_test_layout_cbb_child_st() {
11176    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
11177    let ptr = UNINIT.as_ptr();
11178    assert_eq!(
11179        ::std::mem::size_of::<cbb_child_st>(),
11180        24usize,
11181        "Size of cbb_child_st"
11182    );
11183    assert_eq!(
11184        ::std::mem::align_of::<cbb_child_st>(),
11185        8usize,
11186        "Alignment of cbb_child_st"
11187    );
11188    assert_eq!(
11189        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11190        0usize,
11191        "Offset of field: cbb_child_st::base"
11192    );
11193    assert_eq!(
11194        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
11195        8usize,
11196        "Offset of field: cbb_child_st::offset"
11197    );
11198    assert_eq!(
11199        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
11200        16usize,
11201        "Offset of field: cbb_child_st::pending_len_len"
11202    );
11203}
11204impl Default for cbb_child_st {
11205    fn default() -> Self {
11206        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11207        unsafe {
11208            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11209            s.assume_init()
11210        }
11211    }
11212}
11213impl cbb_child_st {
11214    #[inline]
11215    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
11216        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
11217    }
11218    #[inline]
11219    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
11220        unsafe {
11221            let val: u32 = ::std::mem::transmute(val);
11222            self._bitfield_1.set(0usize, 1u8, val as u64)
11223        }
11224    }
11225    #[inline]
11226    pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint {
11227        unsafe {
11228            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
11229                ::std::ptr::addr_of!((*this)._bitfield_1),
11230                0usize,
11231                1u8,
11232            ) as u32)
11233        }
11234    }
11235    #[inline]
11236    pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
11237        unsafe {
11238            let val: u32 = ::std::mem::transmute(val);
11239            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
11240                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
11241                0usize,
11242                1u8,
11243                val as u64,
11244            )
11245        }
11246    }
11247    #[inline]
11248    pub fn new_bitfield_1(
11249        pending_is_asn1: ::std::os::raw::c_uint,
11250    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
11251        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
11252        __bindgen_bitfield_unit.set(0usize, 1u8, {
11253            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
11254            pending_is_asn1 as u64
11255        });
11256        __bindgen_bitfield_unit
11257    }
11258}
11259#[repr(C)]
11260#[derive(Copy, Clone)]
11261pub struct cbb_st {
11262    pub child: *mut CBB,
11263    pub is_child: ::std::os::raw::c_char,
11264    pub u: cbb_st__bindgen_ty_1,
11265}
11266#[repr(C)]
11267#[derive(Copy, Clone)]
11268pub union cbb_st__bindgen_ty_1 {
11269    pub base: cbb_buffer_st,
11270    pub child: cbb_child_st,
11271}
11272#[test]
11273fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
11274    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
11275    let ptr = UNINIT.as_ptr();
11276    assert_eq!(
11277        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
11278        32usize,
11279        "Size of cbb_st__bindgen_ty_1"
11280    );
11281    assert_eq!(
11282        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
11283        8usize,
11284        "Alignment of cbb_st__bindgen_ty_1"
11285    );
11286    assert_eq!(
11287        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
11288        0usize,
11289        "Offset of field: cbb_st__bindgen_ty_1::base"
11290    );
11291    assert_eq!(
11292        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11293        0usize,
11294        "Offset of field: cbb_st__bindgen_ty_1::child"
11295    );
11296}
11297impl Default for cbb_st__bindgen_ty_1 {
11298    fn default() -> Self {
11299        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11300        unsafe {
11301            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11302            s.assume_init()
11303        }
11304    }
11305}
11306#[test]
11307fn bindgen_test_layout_cbb_st() {
11308    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
11309    let ptr = UNINIT.as_ptr();
11310    assert_eq!(::std::mem::size_of::<cbb_st>(), 48usize, "Size of cbb_st");
11311    assert_eq!(
11312        ::std::mem::align_of::<cbb_st>(),
11313        8usize,
11314        "Alignment of cbb_st"
11315    );
11316    assert_eq!(
11317        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
11318        0usize,
11319        "Offset of field: cbb_st::child"
11320    );
11321    assert_eq!(
11322        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
11323        8usize,
11324        "Offset of field: cbb_st::is_child"
11325    );
11326    assert_eq!(
11327        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
11328        16usize,
11329        "Offset of field: cbb_st::u"
11330    );
11331}
11332impl Default for cbb_st {
11333    fn default() -> Self {
11334        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11335        unsafe {
11336            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11337            s.assume_init()
11338        }
11339    }
11340}
11341extern "C" {
11342    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_zero"]
11343    pub fn CBB_zero(cbb: *mut CBB);
11344}
11345extern "C" {
11346    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_init"]
11347    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
11348}
11349extern "C" {
11350    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_init_fixed"]
11351    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
11352}
11353extern "C" {
11354    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_cleanup"]
11355    pub fn CBB_cleanup(cbb: *mut CBB);
11356}
11357extern "C" {
11358    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_finish"]
11359    pub fn CBB_finish(
11360        cbb: *mut CBB,
11361        out_data: *mut *mut u8,
11362        out_len: *mut usize,
11363    ) -> ::std::os::raw::c_int;
11364}
11365extern "C" {
11366    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_flush"]
11367    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
11368}
11369extern "C" {
11370    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_data"]
11371    pub fn CBB_data(cbb: *const CBB) -> *const u8;
11372}
11373extern "C" {
11374    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_len"]
11375    pub fn CBB_len(cbb: *const CBB) -> usize;
11376}
11377extern "C" {
11378    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u8_length_prefixed"]
11379    pub fn CBB_add_u8_length_prefixed(
11380        cbb: *mut CBB,
11381        out_contents: *mut CBB,
11382    ) -> ::std::os::raw::c_int;
11383}
11384extern "C" {
11385    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u16_length_prefixed"]
11386    pub fn CBB_add_u16_length_prefixed(
11387        cbb: *mut CBB,
11388        out_contents: *mut CBB,
11389    ) -> ::std::os::raw::c_int;
11390}
11391extern "C" {
11392    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u24_length_prefixed"]
11393    pub fn CBB_add_u24_length_prefixed(
11394        cbb: *mut CBB,
11395        out_contents: *mut CBB,
11396    ) -> ::std::os::raw::c_int;
11397}
11398extern "C" {
11399    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1"]
11400    pub fn CBB_add_asn1(
11401        cbb: *mut CBB,
11402        out_contents: *mut CBB,
11403        tag: CBS_ASN1_TAG,
11404    ) -> ::std::os::raw::c_int;
11405}
11406extern "C" {
11407    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_bytes"]
11408    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11409}
11410extern "C" {
11411    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_zeros"]
11412    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11413}
11414extern "C" {
11415    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_space"]
11416    pub fn CBB_add_space(
11417        cbb: *mut CBB,
11418        out_data: *mut *mut u8,
11419        len: usize,
11420    ) -> ::std::os::raw::c_int;
11421}
11422extern "C" {
11423    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_reserve"]
11424    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
11425}
11426extern "C" {
11427    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_did_write"]
11428    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
11429}
11430extern "C" {
11431    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u8"]
11432    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
11433}
11434extern "C" {
11435    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u16"]
11436    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11437}
11438extern "C" {
11439    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u16le"]
11440    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
11441}
11442extern "C" {
11443    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u24"]
11444    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11445}
11446extern "C" {
11447    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u32"]
11448    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11449}
11450extern "C" {
11451    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u32le"]
11452    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
11453}
11454extern "C" {
11455    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u64"]
11456    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11457}
11458extern "C" {
11459    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_u64le"]
11460    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11461}
11462extern "C" {
11463    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_discard_child"]
11464    pub fn CBB_discard_child(cbb: *mut CBB);
11465}
11466extern "C" {
11467    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_uint64"]
11468    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
11469}
11470extern "C" {
11471    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_uint64_with_tag"]
11472    pub fn CBB_add_asn1_uint64_with_tag(
11473        cbb: *mut CBB,
11474        value: u64,
11475        tag: CBS_ASN1_TAG,
11476    ) -> ::std::os::raw::c_int;
11477}
11478extern "C" {
11479    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_int64"]
11480    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
11481}
11482extern "C" {
11483    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_int64_with_tag"]
11484    pub fn CBB_add_asn1_int64_with_tag(
11485        cbb: *mut CBB,
11486        value: i64,
11487        tag: CBS_ASN1_TAG,
11488    ) -> ::std::os::raw::c_int;
11489}
11490extern "C" {
11491    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_octet_string"]
11492    pub fn CBB_add_asn1_octet_string(
11493        cbb: *mut CBB,
11494        data: *const u8,
11495        data_len: usize,
11496    ) -> ::std::os::raw::c_int;
11497}
11498extern "C" {
11499    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_bool"]
11500    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
11501}
11502extern "C" {
11503    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_add_asn1_oid_from_text"]
11504    pub fn CBB_add_asn1_oid_from_text(
11505        cbb: *mut CBB,
11506        text: *const ::std::os::raw::c_char,
11507        len: usize,
11508    ) -> ::std::os::raw::c_int;
11509}
11510extern "C" {
11511    #[link_name = "\u{1}aws_lc_fips_0_13_14_CBB_flush_asn1_set_of"]
11512    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
11513}
11514extern "C" {
11515    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_chacha_20"]
11516    pub fn CRYPTO_chacha_20(
11517        out: *mut u8,
11518        in_: *const u8,
11519        in_len: usize,
11520        key: *const u8,
11521        nonce: *const u8,
11522        counter: u32,
11523    );
11524}
11525extern "C" {
11526    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_rc4"]
11527    pub fn EVP_rc4() -> *const EVP_CIPHER;
11528}
11529extern "C" {
11530    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_cbc"]
11531    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
11532}
11533extern "C" {
11534    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ecb"]
11535    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
11536}
11537extern "C" {
11538    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ede"]
11539    pub fn EVP_des_ede() -> *const EVP_CIPHER;
11540}
11541extern "C" {
11542    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ede3"]
11543    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
11544}
11545extern "C" {
11546    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ede_cbc"]
11547    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
11548}
11549extern "C" {
11550    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ede3_cbc"]
11551    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
11552}
11553extern "C" {
11554    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_ecb"]
11555    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
11556}
11557extern "C" {
11558    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cbc"]
11559    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
11560}
11561extern "C" {
11562    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_ctr"]
11563    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
11564}
11565extern "C" {
11566    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_ofb"]
11567    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
11568}
11569extern "C" {
11570    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_ecb"]
11571    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
11572}
11573extern "C" {
11574    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cbc"]
11575    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
11576}
11577extern "C" {
11578    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_ctr"]
11579    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
11580}
11581extern "C" {
11582    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_ofb"]
11583    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
11584}
11585extern "C" {
11586    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_xts"]
11587    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
11588}
11589extern "C" {
11590    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_wrap"]
11591    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
11592}
11593extern "C" {
11594    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_enc_null"]
11595    pub fn EVP_enc_null() -> *const EVP_CIPHER;
11596}
11597extern "C" {
11598    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_rc2_cbc"]
11599    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
11600}
11601extern "C" {
11602    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_rc2_40_cbc"]
11603    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
11604}
11605extern "C" {
11606    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_chacha20_poly1305"]
11607    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
11608}
11609extern "C" {
11610    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_get_cipherbynid"]
11611    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
11612}
11613extern "C" {
11614    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_init"]
11615    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
11616}
11617extern "C" {
11618    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_new"]
11619    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
11620}
11621extern "C" {
11622    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_cleanup"]
11623    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11624}
11625extern "C" {
11626    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_free"]
11627    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
11628}
11629extern "C" {
11630    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_copy"]
11631    pub fn EVP_CIPHER_CTX_copy(
11632        out: *mut EVP_CIPHER_CTX,
11633        in_: *const EVP_CIPHER_CTX,
11634    ) -> ::std::os::raw::c_int;
11635}
11636extern "C" {
11637    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_reset"]
11638    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11639}
11640extern "C" {
11641    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CipherInit_ex"]
11642    pub fn EVP_CipherInit_ex(
11643        ctx: *mut EVP_CIPHER_CTX,
11644        cipher: *const EVP_CIPHER,
11645        engine: *mut ENGINE,
11646        key: *const u8,
11647        iv: *const u8,
11648        enc: ::std::os::raw::c_int,
11649    ) -> ::std::os::raw::c_int;
11650}
11651extern "C" {
11652    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncryptInit_ex"]
11653    pub fn EVP_EncryptInit_ex(
11654        ctx: *mut EVP_CIPHER_CTX,
11655        cipher: *const EVP_CIPHER,
11656        impl_: *mut ENGINE,
11657        key: *const u8,
11658        iv: *const u8,
11659    ) -> ::std::os::raw::c_int;
11660}
11661extern "C" {
11662    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecryptInit_ex"]
11663    pub fn EVP_DecryptInit_ex(
11664        ctx: *mut EVP_CIPHER_CTX,
11665        cipher: *const EVP_CIPHER,
11666        impl_: *mut ENGINE,
11667        key: *const u8,
11668        iv: *const u8,
11669    ) -> ::std::os::raw::c_int;
11670}
11671extern "C" {
11672    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncryptUpdate"]
11673    pub fn EVP_EncryptUpdate(
11674        ctx: *mut EVP_CIPHER_CTX,
11675        out: *mut u8,
11676        out_len: *mut ::std::os::raw::c_int,
11677        in_: *const u8,
11678        in_len: ::std::os::raw::c_int,
11679    ) -> ::std::os::raw::c_int;
11680}
11681extern "C" {
11682    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncryptFinal_ex"]
11683    pub fn EVP_EncryptFinal_ex(
11684        ctx: *mut EVP_CIPHER_CTX,
11685        out: *mut u8,
11686        out_len: *mut ::std::os::raw::c_int,
11687    ) -> ::std::os::raw::c_int;
11688}
11689extern "C" {
11690    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecryptUpdate"]
11691    pub fn EVP_DecryptUpdate(
11692        ctx: *mut EVP_CIPHER_CTX,
11693        out: *mut u8,
11694        out_len: *mut ::std::os::raw::c_int,
11695        in_: *const u8,
11696        in_len: ::std::os::raw::c_int,
11697    ) -> ::std::os::raw::c_int;
11698}
11699extern "C" {
11700    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecryptFinal_ex"]
11701    pub fn EVP_DecryptFinal_ex(
11702        ctx: *mut EVP_CIPHER_CTX,
11703        out: *mut u8,
11704        out_len: *mut ::std::os::raw::c_int,
11705    ) -> ::std::os::raw::c_int;
11706}
11707extern "C" {
11708    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CipherUpdate"]
11709    pub fn EVP_CipherUpdate(
11710        ctx: *mut EVP_CIPHER_CTX,
11711        out: *mut u8,
11712        out_len: *mut ::std::os::raw::c_int,
11713        in_: *const u8,
11714        in_len: ::std::os::raw::c_int,
11715    ) -> ::std::os::raw::c_int;
11716}
11717extern "C" {
11718    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CipherFinal_ex"]
11719    pub fn EVP_CipherFinal_ex(
11720        ctx: *mut EVP_CIPHER_CTX,
11721        out: *mut u8,
11722        out_len: *mut ::std::os::raw::c_int,
11723    ) -> ::std::os::raw::c_int;
11724}
11725extern "C" {
11726    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_cipher"]
11727    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
11728}
11729extern "C" {
11730    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_nid"]
11731    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11732}
11733extern "C" {
11734    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_encrypting"]
11735    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
11736}
11737extern "C" {
11738    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_block_size"]
11739    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
11740}
11741extern "C" {
11742    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_key_length"]
11743    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
11744}
11745extern "C" {
11746    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_iv_length"]
11747    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
11748}
11749extern "C" {
11750    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_get_app_data"]
11751    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
11752}
11753extern "C" {
11754    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_set_app_data"]
11755    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
11756}
11757extern "C" {
11758    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_flags"]
11759    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
11760}
11761extern "C" {
11762    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_mode"]
11763    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
11764}
11765extern "C" {
11766    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_ctrl"]
11767    pub fn EVP_CIPHER_CTX_ctrl(
11768        ctx: *mut EVP_CIPHER_CTX,
11769        command: ::std::os::raw::c_int,
11770        arg: ::std::os::raw::c_int,
11771        ptr: *mut ::std::os::raw::c_void,
11772    ) -> ::std::os::raw::c_int;
11773}
11774extern "C" {
11775    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_set_padding"]
11776    pub fn EVP_CIPHER_CTX_set_padding(
11777        ctx: *mut EVP_CIPHER_CTX,
11778        pad: ::std::os::raw::c_int,
11779    ) -> ::std::os::raw::c_int;
11780}
11781extern "C" {
11782    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_set_key_length"]
11783    pub fn EVP_CIPHER_CTX_set_key_length(
11784        ctx: *mut EVP_CIPHER_CTX,
11785        key_len: ::std::os::raw::c_uint,
11786    ) -> ::std::os::raw::c_int;
11787}
11788extern "C" {
11789    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_nid"]
11790    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
11791}
11792extern "C" {
11793    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_name"]
11794    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
11795}
11796extern "C" {
11797    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_block_size"]
11798    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
11799}
11800extern "C" {
11801    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_key_length"]
11802    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
11803}
11804extern "C" {
11805    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_iv_length"]
11806    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
11807}
11808extern "C" {
11809    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_flags"]
11810    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
11811}
11812extern "C" {
11813    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_mode"]
11814    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
11815}
11816extern "C" {
11817    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_BytesToKey"]
11818    pub fn EVP_BytesToKey(
11819        type_: *const EVP_CIPHER,
11820        md: *const EVP_MD,
11821        salt: *const u8,
11822        data: *const u8,
11823        data_len: usize,
11824        count: ::std::os::raw::c_uint,
11825        key: *mut u8,
11826        iv: *mut u8,
11827    ) -> ::std::os::raw::c_int;
11828}
11829extern "C" {
11830    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cbc_hmac_sha1"]
11831    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
11832}
11833extern "C" {
11834    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cbc_hmac_sha1"]
11835    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
11836}
11837extern "C" {
11838    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cbc_hmac_sha256"]
11839    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
11840}
11841extern "C" {
11842    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cbc_hmac_sha256"]
11843    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
11844}
11845extern "C" {
11846    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CipherInit"]
11847    pub fn EVP_CipherInit(
11848        ctx: *mut EVP_CIPHER_CTX,
11849        cipher: *const EVP_CIPHER,
11850        key: *const u8,
11851        iv: *const u8,
11852        enc: ::std::os::raw::c_int,
11853    ) -> ::std::os::raw::c_int;
11854}
11855extern "C" {
11856    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncryptInit"]
11857    pub fn EVP_EncryptInit(
11858        ctx: *mut EVP_CIPHER_CTX,
11859        cipher: *const EVP_CIPHER,
11860        key: *const u8,
11861        iv: *const u8,
11862    ) -> ::std::os::raw::c_int;
11863}
11864extern "C" {
11865    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecryptInit"]
11866    pub fn EVP_DecryptInit(
11867        ctx: *mut EVP_CIPHER_CTX,
11868        cipher: *const EVP_CIPHER,
11869        key: *const u8,
11870        iv: *const u8,
11871    ) -> ::std::os::raw::c_int;
11872}
11873extern "C" {
11874    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CipherFinal"]
11875    pub fn EVP_CipherFinal(
11876        ctx: *mut EVP_CIPHER_CTX,
11877        out: *mut u8,
11878        out_len: *mut ::std::os::raw::c_int,
11879    ) -> ::std::os::raw::c_int;
11880}
11881extern "C" {
11882    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_EncryptFinal"]
11883    pub fn EVP_EncryptFinal(
11884        ctx: *mut EVP_CIPHER_CTX,
11885        out: *mut u8,
11886        out_len: *mut ::std::os::raw::c_int,
11887    ) -> ::std::os::raw::c_int;
11888}
11889extern "C" {
11890    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DecryptFinal"]
11891    pub fn EVP_DecryptFinal(
11892        ctx: *mut EVP_CIPHER_CTX,
11893        out: *mut u8,
11894        out_len: *mut ::std::os::raw::c_int,
11895    ) -> ::std::os::raw::c_int;
11896}
11897extern "C" {
11898    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_Cipher"]
11899    pub fn EVP_Cipher(
11900        ctx: *mut EVP_CIPHER_CTX,
11901        out: *mut u8,
11902        in_: *const u8,
11903        in_len: usize,
11904    ) -> ::std::os::raw::c_int;
11905}
11906extern "C" {
11907    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_get_cipherbyname"]
11908    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
11909}
11910extern "C" {
11911    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_gcm"]
11912    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
11913}
11914extern "C" {
11915    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_gcm"]
11916    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
11917}
11918extern "C" {
11919    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_ccm"]
11920    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
11921}
11922extern "C" {
11923    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_ccm"]
11924    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
11925}
11926extern "C" {
11927    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_ccm"]
11928    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
11929}
11930extern "C" {
11931    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_ecb"]
11932    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
11933}
11934extern "C" {
11935    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_cbc"]
11936    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
11937}
11938extern "C" {
11939    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_ctr"]
11940    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
11941}
11942extern "C" {
11943    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_gcm"]
11944    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
11945}
11946extern "C" {
11947    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_ofb"]
11948    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
11949}
11950extern "C" {
11951    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_des_ede3_ecb"]
11952    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
11953}
11954extern "C" {
11955    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cfb128"]
11956    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
11957}
11958extern "C" {
11959    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cfb"]
11960    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
11961}
11962extern "C" {
11963    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cfb1"]
11964    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
11965}
11966extern "C" {
11967    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_128_cfb8"]
11968    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
11969}
11970extern "C" {
11971    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_cfb128"]
11972    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
11973}
11974extern "C" {
11975    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_cfb"]
11976    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
11977}
11978extern "C" {
11979    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_cfb1"]
11980    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
11981}
11982extern "C" {
11983    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_192_cfb8"]
11984    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
11985}
11986extern "C" {
11987    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cfb128"]
11988    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
11989}
11990extern "C" {
11991    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cfb"]
11992    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
11993}
11994extern "C" {
11995    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cfb1"]
11996    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
11997}
11998extern "C" {
11999    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aes_256_cfb8"]
12000    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12001}
12002extern "C" {
12003    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_bf_ecb"]
12004    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12005}
12006extern "C" {
12007    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_bf_cbc"]
12008    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12009}
12010extern "C" {
12011    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_bf_cfb"]
12012    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12013}
12014extern "C" {
12015    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_cast5_ecb"]
12016    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12017}
12018extern "C" {
12019    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_cast5_cbc"]
12020    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12021}
12022extern "C" {
12023    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_CTX_set_flags"]
12024    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12025}
12026extern "C" {
12027    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_add_cipher_alias"]
12028    pub fn EVP_add_cipher_alias(
12029        a: *const ::std::os::raw::c_char,
12030        b: *const ::std::os::raw::c_char,
12031    ) -> ::std::os::raw::c_int;
12032}
12033#[repr(C)]
12034#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12035pub struct evp_cipher_ctx_st {
12036    pub cipher: *const EVP_CIPHER,
12037    pub app_data: *mut ::std::os::raw::c_void,
12038    pub cipher_data: *mut ::std::os::raw::c_void,
12039    pub key_len: ::std::os::raw::c_uint,
12040    pub encrypt: ::std::os::raw::c_int,
12041    pub flags: u32,
12042    pub oiv: [u8; 16usize],
12043    pub iv: [u8; 16usize],
12044    pub buf: [u8; 32usize],
12045    pub buf_len: ::std::os::raw::c_int,
12046    pub num: ::std::os::raw::c_uint,
12047    pub final_used: ::std::os::raw::c_int,
12048    pub final_: [u8; 32usize],
12049    pub poisoned: ::std::os::raw::c_int,
12050}
12051#[test]
12052fn bindgen_test_layout_evp_cipher_ctx_st() {
12053    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12054    let ptr = UNINIT.as_ptr();
12055    assert_eq!(
12056        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12057        152usize,
12058        "Size of evp_cipher_ctx_st"
12059    );
12060    assert_eq!(
12061        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12062        8usize,
12063        "Alignment of evp_cipher_ctx_st"
12064    );
12065    assert_eq!(
12066        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12067        0usize,
12068        "Offset of field: evp_cipher_ctx_st::cipher"
12069    );
12070    assert_eq!(
12071        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
12072        8usize,
12073        "Offset of field: evp_cipher_ctx_st::app_data"
12074    );
12075    assert_eq!(
12076        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
12077        16usize,
12078        "Offset of field: evp_cipher_ctx_st::cipher_data"
12079    );
12080    assert_eq!(
12081        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
12082        24usize,
12083        "Offset of field: evp_cipher_ctx_st::key_len"
12084    );
12085    assert_eq!(
12086        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
12087        28usize,
12088        "Offset of field: evp_cipher_ctx_st::encrypt"
12089    );
12090    assert_eq!(
12091        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
12092        32usize,
12093        "Offset of field: evp_cipher_ctx_st::flags"
12094    );
12095    assert_eq!(
12096        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
12097        36usize,
12098        "Offset of field: evp_cipher_ctx_st::oiv"
12099    );
12100    assert_eq!(
12101        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12102        52usize,
12103        "Offset of field: evp_cipher_ctx_st::iv"
12104    );
12105    assert_eq!(
12106        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12107        68usize,
12108        "Offset of field: evp_cipher_ctx_st::buf"
12109    );
12110    assert_eq!(
12111        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
12112        100usize,
12113        "Offset of field: evp_cipher_ctx_st::buf_len"
12114    );
12115    assert_eq!(
12116        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
12117        104usize,
12118        "Offset of field: evp_cipher_ctx_st::num"
12119    );
12120    assert_eq!(
12121        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
12122        108usize,
12123        "Offset of field: evp_cipher_ctx_st::final_used"
12124    );
12125    assert_eq!(
12126        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
12127        112usize,
12128        "Offset of field: evp_cipher_ctx_st::final_"
12129    );
12130    assert_eq!(
12131        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
12132        144usize,
12133        "Offset of field: evp_cipher_ctx_st::poisoned"
12134    );
12135}
12136impl Default for evp_cipher_ctx_st {
12137    fn default() -> Self {
12138        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12139        unsafe {
12140            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12141            s.assume_init()
12142        }
12143    }
12144}
12145#[repr(C)]
12146#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12147pub struct evp_cipher_info_st {
12148    pub cipher: *const EVP_CIPHER,
12149    pub iv: [::std::os::raw::c_uchar; 16usize],
12150}
12151#[test]
12152fn bindgen_test_layout_evp_cipher_info_st() {
12153    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
12154    let ptr = UNINIT.as_ptr();
12155    assert_eq!(
12156        ::std::mem::size_of::<evp_cipher_info_st>(),
12157        24usize,
12158        "Size of evp_cipher_info_st"
12159    );
12160    assert_eq!(
12161        ::std::mem::align_of::<evp_cipher_info_st>(),
12162        8usize,
12163        "Alignment of evp_cipher_info_st"
12164    );
12165    assert_eq!(
12166        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12167        0usize,
12168        "Offset of field: evp_cipher_info_st::cipher"
12169    );
12170    assert_eq!(
12171        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
12172        8usize,
12173        "Offset of field: evp_cipher_info_st::iv"
12174    );
12175}
12176impl Default for evp_cipher_info_st {
12177    fn default() -> Self {
12178        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12179        unsafe {
12180            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12181            s.assume_init()
12182        }
12183    }
12184}
12185pub type EVP_CIPHER_INFO = evp_cipher_info_st;
12186extern "C" {
12187    #[link_name = "\u{1}aws_lc_fips_0_13_14_AES_CMAC"]
12188    pub fn AES_CMAC(
12189        out: *mut u8,
12190        key: *const u8,
12191        key_len: usize,
12192        in_: *const u8,
12193        in_len: usize,
12194    ) -> ::std::os::raw::c_int;
12195}
12196extern "C" {
12197    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_CTX_new"]
12198    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
12199}
12200extern "C" {
12201    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_CTX_free"]
12202    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
12203}
12204extern "C" {
12205    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_CTX_copy"]
12206    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
12207}
12208extern "C" {
12209    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_Init"]
12210    pub fn CMAC_Init(
12211        ctx: *mut CMAC_CTX,
12212        key: *const ::std::os::raw::c_void,
12213        key_len: usize,
12214        cipher: *const EVP_CIPHER,
12215        engine: *mut ENGINE,
12216    ) -> ::std::os::raw::c_int;
12217}
12218extern "C" {
12219    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_Reset"]
12220    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
12221}
12222extern "C" {
12223    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_Update"]
12224    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
12225}
12226extern "C" {
12227    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_Final"]
12228    pub fn CMAC_Final(
12229        ctx: *mut CMAC_CTX,
12230        out: *mut u8,
12231        out_len: *mut usize,
12232    ) -> ::std::os::raw::c_int;
12233}
12234extern "C" {
12235    #[link_name = "\u{1}aws_lc_fips_0_13_14_CMAC_CTX_get0_cipher_ctx"]
12236    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
12237}
12238#[repr(C)]
12239#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12240pub struct conf_value_st {
12241    pub section: *mut ::std::os::raw::c_char,
12242    pub name: *mut ::std::os::raw::c_char,
12243    pub value: *mut ::std::os::raw::c_char,
12244}
12245#[test]
12246fn bindgen_test_layout_conf_value_st() {
12247    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
12248    let ptr = UNINIT.as_ptr();
12249    assert_eq!(
12250        ::std::mem::size_of::<conf_value_st>(),
12251        24usize,
12252        "Size of conf_value_st"
12253    );
12254    assert_eq!(
12255        ::std::mem::align_of::<conf_value_st>(),
12256        8usize,
12257        "Alignment of conf_value_st"
12258    );
12259    assert_eq!(
12260        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
12261        0usize,
12262        "Offset of field: conf_value_st::section"
12263    );
12264    assert_eq!(
12265        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
12266        8usize,
12267        "Offset of field: conf_value_st::name"
12268    );
12269    assert_eq!(
12270        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
12271        16usize,
12272        "Offset of field: conf_value_st::value"
12273    );
12274}
12275impl Default for conf_value_st {
12276    fn default() -> Self {
12277        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12278        unsafe {
12279            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12280            s.assume_init()
12281        }
12282    }
12283}
12284#[repr(C)]
12285#[derive(Debug, Copy, Clone)]
12286pub struct stack_st_CONF_VALUE {
12287    _unused: [u8; 0],
12288}
12289pub type sk_CONF_VALUE_free_func =
12290    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
12291pub type sk_CONF_VALUE_copy_func =
12292    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
12293pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
12294    unsafe extern "C" fn(
12295        arg1: *const *const CONF_VALUE,
12296        arg2: *const *const CONF_VALUE,
12297    ) -> ::std::os::raw::c_int,
12298>;
12299pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
12300    unsafe extern "C" fn(
12301        arg1: *mut CONF_VALUE,
12302        arg2: *mut ::std::os::raw::c_void,
12303    ) -> ::std::os::raw::c_int,
12304>;
12305#[repr(C)]
12306#[derive(Debug, Copy, Clone)]
12307pub struct lhash_st_CONF_VALUE {
12308    _unused: [u8; 0],
12309}
12310extern "C" {
12311    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_new"]
12312    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
12313}
12314extern "C" {
12315    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_free"]
12316    pub fn NCONF_free(conf: *mut CONF);
12317}
12318extern "C" {
12319    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_load"]
12320    pub fn NCONF_load(
12321        conf: *mut CONF,
12322        filename: *const ::std::os::raw::c_char,
12323        out_error_line: *mut ::std::os::raw::c_long,
12324    ) -> ::std::os::raw::c_int;
12325}
12326extern "C" {
12327    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_load_bio"]
12328    pub fn NCONF_load_bio(
12329        conf: *mut CONF,
12330        bio: *mut BIO,
12331        out_error_line: *mut ::std::os::raw::c_long,
12332    ) -> ::std::os::raw::c_int;
12333}
12334extern "C" {
12335    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_get_section"]
12336    pub fn NCONF_get_section(
12337        conf: *const CONF,
12338        section: *const ::std::os::raw::c_char,
12339    ) -> *const stack_st_CONF_VALUE;
12340}
12341extern "C" {
12342    #[link_name = "\u{1}aws_lc_fips_0_13_14_NCONF_get_string"]
12343    pub fn NCONF_get_string(
12344        conf: *const CONF,
12345        section: *const ::std::os::raw::c_char,
12346        name: *const ::std::os::raw::c_char,
12347    ) -> *const ::std::os::raw::c_char;
12348}
12349extern "C" {
12350    #[link_name = "\u{1}aws_lc_fips_0_13_14_CONF_modules_load_file"]
12351    pub fn CONF_modules_load_file(
12352        filename: *const ::std::os::raw::c_char,
12353        appname: *const ::std::os::raw::c_char,
12354        flags: ::std::os::raw::c_ulong,
12355    ) -> ::std::os::raw::c_int;
12356}
12357extern "C" {
12358    #[link_name = "\u{1}aws_lc_fips_0_13_14_CONF_get1_default_config_file"]
12359    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
12360}
12361extern "C" {
12362    #[link_name = "\u{1}aws_lc_fips_0_13_14_CONF_modules_free"]
12363    pub fn CONF_modules_free();
12364}
12365extern "C" {
12366    #[link_name = "\u{1}aws_lc_fips_0_13_14_CONF_modules_unload"]
12367    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
12368}
12369extern "C" {
12370    #[link_name = "\u{1}aws_lc_fips_0_13_14_CONF_modules_finish"]
12371    pub fn CONF_modules_finish();
12372}
12373extern "C" {
12374    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_config"]
12375    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
12376}
12377extern "C" {
12378    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_no_config"]
12379    pub fn OPENSSL_no_config();
12380}
12381extern "C" {
12382    #[link_name = "\u{1}aws_lc_fips_0_13_14_CTR_DRBG_new"]
12383    pub fn CTR_DRBG_new(
12384        entropy: *const u8,
12385        personalization: *const u8,
12386        personalization_len: usize,
12387    ) -> *mut CTR_DRBG_STATE;
12388}
12389extern "C" {
12390    #[link_name = "\u{1}aws_lc_fips_0_13_14_CTR_DRBG_free"]
12391    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
12392}
12393extern "C" {
12394    #[link_name = "\u{1}aws_lc_fips_0_13_14_CTR_DRBG_reseed"]
12395    pub fn CTR_DRBG_reseed(
12396        drbg: *mut CTR_DRBG_STATE,
12397        entropy: *const u8,
12398        additional_data: *const u8,
12399        additional_data_len: usize,
12400    ) -> ::std::os::raw::c_int;
12401}
12402extern "C" {
12403    #[link_name = "\u{1}aws_lc_fips_0_13_14_CTR_DRBG_generate"]
12404    pub fn CTR_DRBG_generate(
12405        drbg: *mut CTR_DRBG_STATE,
12406        out: *mut u8,
12407        out_len: usize,
12408        additional_data: *const u8,
12409        additional_data_len: usize,
12410    ) -> ::std::os::raw::c_int;
12411}
12412extern "C" {
12413    #[link_name = "\u{1}aws_lc_fips_0_13_14_CTR_DRBG_clear"]
12414    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
12415}
12416extern "C" {
12417    #[link_name = "\u{1}aws_lc_fips_0_13_14_X25519_keypair"]
12418    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
12419}
12420extern "C" {
12421    #[link_name = "\u{1}aws_lc_fips_0_13_14_X25519"]
12422    pub fn X25519(
12423        out_shared_key: *mut u8,
12424        private_key: *const u8,
12425        peer_public_value: *const u8,
12426    ) -> ::std::os::raw::c_int;
12427}
12428extern "C" {
12429    #[link_name = "\u{1}aws_lc_fips_0_13_14_X25519_public_from_private"]
12430    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
12431}
12432extern "C" {
12433    #[link_name = "\u{1}aws_lc_fips_0_13_14_ED25519_keypair"]
12434    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
12435}
12436extern "C" {
12437    #[link_name = "\u{1}aws_lc_fips_0_13_14_ED25519_sign"]
12438    pub fn ED25519_sign(
12439        out_sig: *mut u8,
12440        message: *const u8,
12441        message_len: usize,
12442        private_key: *const u8,
12443    ) -> ::std::os::raw::c_int;
12444}
12445extern "C" {
12446    #[link_name = "\u{1}aws_lc_fips_0_13_14_ED25519_verify"]
12447    pub fn ED25519_verify(
12448        message: *const u8,
12449        message_len: usize,
12450        signature: *const u8,
12451        public_key: *const u8,
12452    ) -> ::std::os::raw::c_int;
12453}
12454extern "C" {
12455    #[link_name = "\u{1}aws_lc_fips_0_13_14_ED25519_keypair_from_seed"]
12456    pub fn ED25519_keypair_from_seed(
12457        out_public_key: *mut u8,
12458        out_private_key: *mut u8,
12459        seed: *const u8,
12460    );
12461}
12462pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
12463pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
12464pub type spake2_role_t = ::std::os::raw::c_uint;
12465extern "C" {
12466    #[link_name = "\u{1}aws_lc_fips_0_13_14_SPAKE2_CTX_new"]
12467    pub fn SPAKE2_CTX_new(
12468        my_role: spake2_role_t,
12469        my_name: *const u8,
12470        my_name_len: usize,
12471        their_name: *const u8,
12472        their_name_len: usize,
12473    ) -> *mut SPAKE2_CTX;
12474}
12475extern "C" {
12476    #[link_name = "\u{1}aws_lc_fips_0_13_14_SPAKE2_CTX_free"]
12477    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
12478}
12479extern "C" {
12480    #[link_name = "\u{1}aws_lc_fips_0_13_14_SPAKE2_generate_msg"]
12481    pub fn SPAKE2_generate_msg(
12482        ctx: *mut SPAKE2_CTX,
12483        out: *mut u8,
12484        out_len: *mut usize,
12485        max_out_len: usize,
12486        password: *const u8,
12487        password_len: usize,
12488    ) -> ::std::os::raw::c_int;
12489}
12490extern "C" {
12491    #[link_name = "\u{1}aws_lc_fips_0_13_14_SPAKE2_process_msg"]
12492    pub fn SPAKE2_process_msg(
12493        ctx: *mut SPAKE2_CTX,
12494        out_key: *mut u8,
12495        out_key_len: *mut usize,
12496        max_out_key_len: usize,
12497        their_msg: *const u8,
12498        their_msg_len: usize,
12499    ) -> ::std::os::raw::c_int;
12500}
12501#[repr(C)]
12502#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12503pub struct DES_cblock_st {
12504    pub bytes: [u8; 8usize],
12505}
12506#[test]
12507fn bindgen_test_layout_DES_cblock_st() {
12508    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
12509    let ptr = UNINIT.as_ptr();
12510    assert_eq!(
12511        ::std::mem::size_of::<DES_cblock_st>(),
12512        8usize,
12513        "Size of DES_cblock_st"
12514    );
12515    assert_eq!(
12516        ::std::mem::align_of::<DES_cblock_st>(),
12517        1usize,
12518        "Alignment of DES_cblock_st"
12519    );
12520    assert_eq!(
12521        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
12522        0usize,
12523        "Offset of field: DES_cblock_st::bytes"
12524    );
12525}
12526pub type DES_cblock = DES_cblock_st;
12527#[repr(C)]
12528#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
12529pub struct DES_ks {
12530    pub subkeys: [[u32; 2usize]; 16usize],
12531}
12532#[test]
12533fn bindgen_test_layout_DES_ks() {
12534    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
12535    let ptr = UNINIT.as_ptr();
12536    assert_eq!(::std::mem::size_of::<DES_ks>(), 128usize, "Size of DES_ks");
12537    assert_eq!(
12538        ::std::mem::align_of::<DES_ks>(),
12539        4usize,
12540        "Alignment of DES_ks"
12541    );
12542    assert_eq!(
12543        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
12544        0usize,
12545        "Offset of field: DES_ks::subkeys"
12546    );
12547}
12548pub type DES_key_schedule = DES_ks;
12549extern "C" {
12550    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_is_weak_key"]
12551    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
12552}
12553extern "C" {
12554    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_set_key"]
12555    pub fn DES_set_key(
12556        key: *const DES_cblock,
12557        schedule: *mut DES_key_schedule,
12558    ) -> ::std::os::raw::c_int;
12559}
12560extern "C" {
12561    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_set_key_unchecked"]
12562    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
12563}
12564extern "C" {
12565    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_key_sched"]
12566    pub fn DES_key_sched(
12567        key: *const DES_cblock,
12568        schedule: *mut DES_key_schedule,
12569    ) -> ::std::os::raw::c_int;
12570}
12571extern "C" {
12572    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_set_odd_parity"]
12573    pub fn DES_set_odd_parity(key: *mut DES_cblock);
12574}
12575extern "C" {
12576    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_ecb_encrypt"]
12577    pub fn DES_ecb_encrypt(
12578        in_: *const DES_cblock,
12579        out: *mut DES_cblock,
12580        schedule: *const DES_key_schedule,
12581        is_encrypt: ::std::os::raw::c_int,
12582    );
12583}
12584extern "C" {
12585    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_ncbc_encrypt"]
12586    pub fn DES_ncbc_encrypt(
12587        in_: *const u8,
12588        out: *mut u8,
12589        len: usize,
12590        schedule: *const DES_key_schedule,
12591        ivec: *mut DES_cblock,
12592        enc: ::std::os::raw::c_int,
12593    );
12594}
12595extern "C" {
12596    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_ecb3_encrypt"]
12597    pub fn DES_ecb3_encrypt(
12598        input: *const DES_cblock,
12599        output: *mut DES_cblock,
12600        ks1: *const DES_key_schedule,
12601        ks2: *const DES_key_schedule,
12602        ks3: *const DES_key_schedule,
12603        enc: ::std::os::raw::c_int,
12604    );
12605}
12606extern "C" {
12607    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_ede3_cbc_encrypt"]
12608    pub fn DES_ede3_cbc_encrypt(
12609        in_: *const u8,
12610        out: *mut u8,
12611        len: usize,
12612        ks1: *const DES_key_schedule,
12613        ks2: *const DES_key_schedule,
12614        ks3: *const DES_key_schedule,
12615        ivec: *mut DES_cblock,
12616        enc: ::std::os::raw::c_int,
12617    );
12618}
12619extern "C" {
12620    #[link_name = "\u{1}aws_lc_fips_0_13_14_DES_ede2_cbc_encrypt"]
12621    pub fn DES_ede2_cbc_encrypt(
12622        in_: *const u8,
12623        out: *mut u8,
12624        len: usize,
12625        ks1: *const DES_key_schedule,
12626        ks2: *const DES_key_schedule,
12627        ivec: *mut DES_cblock,
12628        enc: ::std::os::raw::c_int,
12629    );
12630}
12631extern "C" {
12632    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_new"]
12633    pub fn DH_new() -> *mut DH;
12634}
12635extern "C" {
12636    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_new_by_nid"]
12637    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
12638}
12639extern "C" {
12640    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_free"]
12641    pub fn DH_free(dh: *mut DH);
12642}
12643extern "C" {
12644    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_up_ref"]
12645    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
12646}
12647extern "C" {
12648    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_bits"]
12649    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
12650}
12651extern "C" {
12652    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_pub_key"]
12653    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
12654}
12655extern "C" {
12656    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_priv_key"]
12657    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
12658}
12659extern "C" {
12660    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_p"]
12661    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
12662}
12663extern "C" {
12664    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_q"]
12665    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
12666}
12667extern "C" {
12668    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_g"]
12669    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
12670}
12671extern "C" {
12672    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_key"]
12673    pub fn DH_get0_key(
12674        dh: *const DH,
12675        out_pub_key: *mut *const BIGNUM,
12676        out_priv_key: *mut *const BIGNUM,
12677    );
12678}
12679extern "C" {
12680    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_set0_key"]
12681    pub fn DH_set0_key(
12682        dh: *mut DH,
12683        pub_key: *mut BIGNUM,
12684        priv_key: *mut BIGNUM,
12685    ) -> ::std::os::raw::c_int;
12686}
12687extern "C" {
12688    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get0_pqg"]
12689    pub fn DH_get0_pqg(
12690        dh: *const DH,
12691        out_p: *mut *const BIGNUM,
12692        out_q: *mut *const BIGNUM,
12693        out_g: *mut *const BIGNUM,
12694    );
12695}
12696extern "C" {
12697    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_set0_pqg"]
12698    pub fn DH_set0_pqg(
12699        dh: *mut DH,
12700        p: *mut BIGNUM,
12701        q: *mut BIGNUM,
12702        g: *mut BIGNUM,
12703    ) -> ::std::os::raw::c_int;
12704}
12705extern "C" {
12706    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_set_length"]
12707    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
12708        -> ::std::os::raw::c_int;
12709}
12710extern "C" {
12711    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get_rfc7919_2048"]
12712    pub fn DH_get_rfc7919_2048() -> *mut DH;
12713}
12714extern "C" {
12715    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get_rfc7919_4096"]
12716    pub fn DH_get_rfc7919_4096() -> *mut DH;
12717}
12718extern "C" {
12719    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_1536"]
12720    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
12721}
12722extern "C" {
12723    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_2048"]
12724    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
12725}
12726extern "C" {
12727    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_3072"]
12728    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
12729}
12730extern "C" {
12731    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_4096"]
12732    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
12733}
12734extern "C" {
12735    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_6144"]
12736    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
12737}
12738extern "C" {
12739    #[link_name = "\u{1}aws_lc_fips_0_13_14_BN_get_rfc3526_prime_8192"]
12740    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
12741}
12742extern "C" {
12743    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_generate_parameters_ex"]
12744    pub fn DH_generate_parameters_ex(
12745        dh: *mut DH,
12746        prime_bits: ::std::os::raw::c_int,
12747        generator: ::std::os::raw::c_int,
12748        cb: *mut BN_GENCB,
12749    ) -> ::std::os::raw::c_int;
12750}
12751extern "C" {
12752    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_generate_key"]
12753    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
12754}
12755extern "C" {
12756    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_compute_key_padded"]
12757    pub fn DH_compute_key_padded(
12758        out: *mut u8,
12759        peers_key: *const BIGNUM,
12760        dh: *mut DH,
12761    ) -> ::std::os::raw::c_int;
12762}
12763extern "C" {
12764    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_compute_key_hashed"]
12765    pub fn DH_compute_key_hashed(
12766        dh: *mut DH,
12767        out: *mut u8,
12768        out_len: *mut usize,
12769        max_out_len: usize,
12770        peers_key: *const BIGNUM,
12771        digest: *const EVP_MD,
12772    ) -> ::std::os::raw::c_int;
12773}
12774extern "C" {
12775    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_size"]
12776    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
12777}
12778extern "C" {
12779    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_num_bits"]
12780    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
12781}
12782extern "C" {
12783    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_check"]
12784    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12785}
12786extern "C" {
12787    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_check_pub_key"]
12788    pub fn DH_check_pub_key(
12789        dh: *const DH,
12790        pub_key: *const BIGNUM,
12791        out_flags: *mut ::std::os::raw::c_int,
12792    ) -> ::std::os::raw::c_int;
12793}
12794extern "C" {
12795    #[link_name = "\u{1}aws_lc_fips_0_13_14_DHparams_dup"]
12796    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
12797}
12798extern "C" {
12799    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_parse_parameters"]
12800    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
12801}
12802extern "C" {
12803    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_marshal_parameters"]
12804    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
12805}
12806extern "C" {
12807    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_generate_parameters"]
12808    pub fn DH_generate_parameters(
12809        prime_len: ::std::os::raw::c_int,
12810        generator: ::std::os::raw::c_int,
12811        callback: ::std::option::Option<
12812            unsafe extern "C" fn(
12813                arg1: ::std::os::raw::c_int,
12814                arg2: ::std::os::raw::c_int,
12815                arg3: *mut ::std::os::raw::c_void,
12816            ),
12817        >,
12818        cb_arg: *mut ::std::os::raw::c_void,
12819    ) -> *mut DH;
12820}
12821extern "C" {
12822    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DHparams"]
12823    pub fn d2i_DHparams(
12824        ret: *mut *mut DH,
12825        inp: *mut *const ::std::os::raw::c_uchar,
12826        len: ::std::os::raw::c_long,
12827    ) -> *mut DH;
12828}
12829extern "C" {
12830    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DHparams"]
12831    pub fn i2d_DHparams(
12832        in_: *const DH,
12833        outp: *mut *mut ::std::os::raw::c_uchar,
12834    ) -> ::std::os::raw::c_int;
12835}
12836extern "C" {
12837    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_compute_key"]
12838    pub fn DH_compute_key(
12839        out: *mut u8,
12840        peers_key: *const BIGNUM,
12841        dh: *mut DH,
12842    ) -> ::std::os::raw::c_int;
12843}
12844extern "C" {
12845    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_get_2048_256"]
12846    pub fn DH_get_2048_256() -> *mut DH;
12847}
12848extern "C" {
12849    #[link_name = "\u{1}aws_lc_fips_0_13_14_DH_clear_flags"]
12850    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
12851}
12852extern "C" {
12853    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_md4"]
12854    pub fn EVP_md4() -> *const EVP_MD;
12855}
12856extern "C" {
12857    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_md5"]
12858    pub fn EVP_md5() -> *const EVP_MD;
12859}
12860extern "C" {
12861    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_ripemd160"]
12862    pub fn EVP_ripemd160() -> *const EVP_MD;
12863}
12864extern "C" {
12865    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha1"]
12866    pub fn EVP_sha1() -> *const EVP_MD;
12867}
12868extern "C" {
12869    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha224"]
12870    pub fn EVP_sha224() -> *const EVP_MD;
12871}
12872extern "C" {
12873    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha256"]
12874    pub fn EVP_sha256() -> *const EVP_MD;
12875}
12876extern "C" {
12877    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha384"]
12878    pub fn EVP_sha384() -> *const EVP_MD;
12879}
12880extern "C" {
12881    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha512"]
12882    pub fn EVP_sha512() -> *const EVP_MD;
12883}
12884extern "C" {
12885    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha512_224"]
12886    pub fn EVP_sha512_224() -> *const EVP_MD;
12887}
12888extern "C" {
12889    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha512_256"]
12890    pub fn EVP_sha512_256() -> *const EVP_MD;
12891}
12892extern "C" {
12893    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha3_224"]
12894    pub fn EVP_sha3_224() -> *const EVP_MD;
12895}
12896extern "C" {
12897    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha3_256"]
12898    pub fn EVP_sha3_256() -> *const EVP_MD;
12899}
12900extern "C" {
12901    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha3_384"]
12902    pub fn EVP_sha3_384() -> *const EVP_MD;
12903}
12904extern "C" {
12905    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_sha3_512"]
12906    pub fn EVP_sha3_512() -> *const EVP_MD;
12907}
12908extern "C" {
12909    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_shake128"]
12910    pub fn EVP_shake128() -> *const EVP_MD;
12911}
12912extern "C" {
12913    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_shake256"]
12914    pub fn EVP_shake256() -> *const EVP_MD;
12915}
12916extern "C" {
12917    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_blake2b256"]
12918    pub fn EVP_blake2b256() -> *const EVP_MD;
12919}
12920extern "C" {
12921    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_md5_sha1"]
12922    pub fn EVP_md5_sha1() -> *const EVP_MD;
12923}
12924extern "C" {
12925    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_get_digestbynid"]
12926    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
12927}
12928extern "C" {
12929    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_get_digestbyobj"]
12930    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
12931}
12932extern "C" {
12933    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_init"]
12934    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
12935}
12936extern "C" {
12937    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_new"]
12938    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
12939}
12940extern "C" {
12941    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_cleanup"]
12942    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
12943}
12944extern "C" {
12945    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_cleanse"]
12946    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
12947}
12948extern "C" {
12949    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_free"]
12950    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
12951}
12952extern "C" {
12953    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_copy_ex"]
12954    pub fn EVP_MD_CTX_copy_ex(
12955        out: *mut EVP_MD_CTX,
12956        in_: *const EVP_MD_CTX,
12957    ) -> ::std::os::raw::c_int;
12958}
12959extern "C" {
12960    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_move"]
12961    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
12962}
12963extern "C" {
12964    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_reset"]
12965    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
12966}
12967extern "C" {
12968    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestInit_ex"]
12969    pub fn EVP_DigestInit_ex(
12970        ctx: *mut EVP_MD_CTX,
12971        type_: *const EVP_MD,
12972        engine: *mut ENGINE,
12973    ) -> ::std::os::raw::c_int;
12974}
12975extern "C" {
12976    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestInit"]
12977    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
12978}
12979extern "C" {
12980    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestUpdate"]
12981    pub fn EVP_DigestUpdate(
12982        ctx: *mut EVP_MD_CTX,
12983        data: *const ::std::os::raw::c_void,
12984        len: usize,
12985    ) -> ::std::os::raw::c_int;
12986}
12987extern "C" {
12988    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestFinal_ex"]
12989    pub fn EVP_DigestFinal_ex(
12990        ctx: *mut EVP_MD_CTX,
12991        md_out: *mut u8,
12992        out_size: *mut ::std::os::raw::c_uint,
12993    ) -> ::std::os::raw::c_int;
12994}
12995extern "C" {
12996    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestFinal"]
12997    pub fn EVP_DigestFinal(
12998        ctx: *mut EVP_MD_CTX,
12999        md_out: *mut u8,
13000        out_size: *mut ::std::os::raw::c_uint,
13001    ) -> ::std::os::raw::c_int;
13002}
13003extern "C" {
13004    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_Digest"]
13005    pub fn EVP_Digest(
13006        data: *const ::std::os::raw::c_void,
13007        len: usize,
13008        md_out: *mut u8,
13009        out_size: *mut ::std::os::raw::c_uint,
13010        type_: *const EVP_MD,
13011        impl_: *mut ENGINE,
13012    ) -> ::std::os::raw::c_int;
13013}
13014extern "C" {
13015    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_type"]
13016    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
13017}
13018extern "C" {
13019    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_flags"]
13020    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
13021}
13022extern "C" {
13023    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_size"]
13024    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
13025}
13026extern "C" {
13027    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_block_size"]
13028    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
13029}
13030extern "C" {
13031    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_md"]
13032    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
13033}
13034extern "C" {
13035    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_size"]
13036    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
13037}
13038extern "C" {
13039    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_block_size"]
13040    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
13041}
13042extern "C" {
13043    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_type"]
13044    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13045}
13046extern "C" {
13047    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_parse_digest_algorithm"]
13048    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
13049}
13050extern "C" {
13051    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_marshal_digest_algorithm"]
13052    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
13053}
13054extern "C" {
13055    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_copy"]
13056    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
13057}
13058extern "C" {
13059    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_get_digestbyname"]
13060    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
13061}
13062extern "C" {
13063    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_create"]
13064    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
13065}
13066extern "C" {
13067    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_destroy"]
13068    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
13069}
13070extern "C" {
13071    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestFinalXOF"]
13072    pub fn EVP_DigestFinalXOF(
13073        ctx: *mut EVP_MD_CTX,
13074        out: *mut u8,
13075        len: usize,
13076    ) -> ::std::os::raw::c_int;
13077}
13078extern "C" {
13079    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_meth_get_flags"]
13080    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
13081}
13082extern "C" {
13083    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_nid"]
13084    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
13085}
13086extern "C" {
13087    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_set_pkey_ctx"]
13088    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
13089}
13090#[repr(C)]
13091#[derive(Debug, Copy, Clone)]
13092pub struct evp_md_pctx_ops {
13093    _unused: [u8; 0],
13094}
13095#[repr(C)]
13096#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13097pub struct env_md_ctx_st {
13098    pub digest: *const EVP_MD,
13099    pub md_data: *mut ::std::os::raw::c_void,
13100    pub update: ::std::option::Option<
13101        unsafe extern "C" fn(
13102            ctx: *mut EVP_MD_CTX,
13103            data: *const ::std::os::raw::c_void,
13104            count: usize,
13105        ),
13106    >,
13107    pub pctx: *mut EVP_PKEY_CTX,
13108    pub pctx_ops: *const evp_md_pctx_ops,
13109    pub flags: ::std::os::raw::c_ulong,
13110}
13111#[test]
13112fn bindgen_test_layout_env_md_ctx_st() {
13113    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
13114    let ptr = UNINIT.as_ptr();
13115    assert_eq!(
13116        ::std::mem::size_of::<env_md_ctx_st>(),
13117        48usize,
13118        "Size of env_md_ctx_st"
13119    );
13120    assert_eq!(
13121        ::std::mem::align_of::<env_md_ctx_st>(),
13122        8usize,
13123        "Alignment of env_md_ctx_st"
13124    );
13125    assert_eq!(
13126        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
13127        0usize,
13128        "Offset of field: env_md_ctx_st::digest"
13129    );
13130    assert_eq!(
13131        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
13132        8usize,
13133        "Offset of field: env_md_ctx_st::md_data"
13134    );
13135    assert_eq!(
13136        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
13137        16usize,
13138        "Offset of field: env_md_ctx_st::update"
13139    );
13140    assert_eq!(
13141        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
13142        24usize,
13143        "Offset of field: env_md_ctx_st::pctx"
13144    );
13145    assert_eq!(
13146        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
13147        32usize,
13148        "Offset of field: env_md_ctx_st::pctx_ops"
13149    );
13150    assert_eq!(
13151        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13152        40usize,
13153        "Offset of field: env_md_ctx_st::flags"
13154    );
13155}
13156impl Default for env_md_ctx_st {
13157    fn default() -> Self {
13158        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13159        unsafe {
13160            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13161            s.assume_init()
13162        }
13163    }
13164}
13165extern "C" {
13166    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_unstable_sha3_enable"]
13167    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
13168}
13169extern "C" {
13170    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_unstable_sha3_is_enabled"]
13171    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
13172}
13173extern "C" {
13174    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_CTX_set_flags"]
13175    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
13176}
13177extern "C" {
13178    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_add_digest"]
13179    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
13180}
13181extern "C" {
13182    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_md_null"]
13183    pub fn EVP_md_null() -> *const EVP_MD;
13184}
13185extern "C" {
13186    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_new"]
13187    pub fn DSA_new() -> *mut DSA;
13188}
13189extern "C" {
13190    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_free"]
13191    pub fn DSA_free(dsa: *mut DSA);
13192}
13193extern "C" {
13194    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_up_ref"]
13195    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
13196}
13197extern "C" {
13198    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_print"]
13199    pub fn DSA_print(
13200        bio: *mut BIO,
13201        dsa: *const DSA,
13202        indent: ::std::os::raw::c_int,
13203    ) -> ::std::os::raw::c_int;
13204}
13205extern "C" {
13206    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_print_fp"]
13207    pub fn DSA_print_fp(
13208        fp: *mut FILE,
13209        dsa: *const DSA,
13210        indent: ::std::os::raw::c_int,
13211    ) -> ::std::os::raw::c_int;
13212}
13213extern "C" {
13214    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_bits"]
13215    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
13216}
13217extern "C" {
13218    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_pub_key"]
13219    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
13220}
13221extern "C" {
13222    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_priv_key"]
13223    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
13224}
13225extern "C" {
13226    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_p"]
13227    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
13228}
13229extern "C" {
13230    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_q"]
13231    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
13232}
13233extern "C" {
13234    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_g"]
13235    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
13236}
13237extern "C" {
13238    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_key"]
13239    pub fn DSA_get0_key(
13240        dsa: *const DSA,
13241        out_pub_key: *mut *const BIGNUM,
13242        out_priv_key: *mut *const BIGNUM,
13243    );
13244}
13245extern "C" {
13246    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get0_pqg"]
13247    pub fn DSA_get0_pqg(
13248        dsa: *const DSA,
13249        out_p: *mut *const BIGNUM,
13250        out_q: *mut *const BIGNUM,
13251        out_g: *mut *const BIGNUM,
13252    );
13253}
13254extern "C" {
13255    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_set0_key"]
13256    pub fn DSA_set0_key(
13257        dsa: *mut DSA,
13258        pub_key: *mut BIGNUM,
13259        priv_key: *mut BIGNUM,
13260    ) -> ::std::os::raw::c_int;
13261}
13262extern "C" {
13263    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_set0_pqg"]
13264    pub fn DSA_set0_pqg(
13265        dsa: *mut DSA,
13266        p: *mut BIGNUM,
13267        q: *mut BIGNUM,
13268        g: *mut BIGNUM,
13269    ) -> ::std::os::raw::c_int;
13270}
13271extern "C" {
13272    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_generate_parameters_ex"]
13273    pub fn DSA_generate_parameters_ex(
13274        dsa: *mut DSA,
13275        bits: ::std::os::raw::c_uint,
13276        seed: *const u8,
13277        seed_len: usize,
13278        out_counter: *mut ::std::os::raw::c_int,
13279        out_h: *mut ::std::os::raw::c_ulong,
13280        cb: *mut BN_GENCB,
13281    ) -> ::std::os::raw::c_int;
13282}
13283extern "C" {
13284    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSAparams_dup"]
13285    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
13286}
13287extern "C" {
13288    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_generate_key"]
13289    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
13290}
13291#[repr(C)]
13292#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13293pub struct DSA_SIG_st {
13294    pub r: *mut BIGNUM,
13295    pub s: *mut BIGNUM,
13296}
13297#[test]
13298fn bindgen_test_layout_DSA_SIG_st() {
13299    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
13300    let ptr = UNINIT.as_ptr();
13301    assert_eq!(
13302        ::std::mem::size_of::<DSA_SIG_st>(),
13303        16usize,
13304        "Size of DSA_SIG_st"
13305    );
13306    assert_eq!(
13307        ::std::mem::align_of::<DSA_SIG_st>(),
13308        8usize,
13309        "Alignment of DSA_SIG_st"
13310    );
13311    assert_eq!(
13312        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
13313        0usize,
13314        "Offset of field: DSA_SIG_st::r"
13315    );
13316    assert_eq!(
13317        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
13318        8usize,
13319        "Offset of field: DSA_SIG_st::s"
13320    );
13321}
13322impl Default for DSA_SIG_st {
13323    fn default() -> Self {
13324        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13325        unsafe {
13326            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13327            s.assume_init()
13328        }
13329    }
13330}
13331extern "C" {
13332    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_new"]
13333    pub fn DSA_SIG_new() -> *mut DSA_SIG;
13334}
13335extern "C" {
13336    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_free"]
13337    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
13338}
13339extern "C" {
13340    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_get0"]
13341    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
13342}
13343extern "C" {
13344    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_set0"]
13345    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
13346        -> ::std::os::raw::c_int;
13347}
13348extern "C" {
13349    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_do_sign"]
13350    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
13351}
13352extern "C" {
13353    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_do_verify"]
13354    pub fn DSA_do_verify(
13355        digest: *const u8,
13356        digest_len: usize,
13357        sig: *mut DSA_SIG,
13358        dsa: *const DSA,
13359    ) -> ::std::os::raw::c_int;
13360}
13361extern "C" {
13362    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_do_check_signature"]
13363    pub fn DSA_do_check_signature(
13364        out_valid: *mut ::std::os::raw::c_int,
13365        digest: *const u8,
13366        digest_len: usize,
13367        sig: *mut DSA_SIG,
13368        dsa: *const DSA,
13369    ) -> ::std::os::raw::c_int;
13370}
13371extern "C" {
13372    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_sign"]
13373    pub fn DSA_sign(
13374        type_: ::std::os::raw::c_int,
13375        digest: *const u8,
13376        digest_len: usize,
13377        out_sig: *mut u8,
13378        out_siglen: *mut ::std::os::raw::c_uint,
13379        dsa: *const DSA,
13380    ) -> ::std::os::raw::c_int;
13381}
13382extern "C" {
13383    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_verify"]
13384    pub fn DSA_verify(
13385        type_: ::std::os::raw::c_int,
13386        digest: *const u8,
13387        digest_len: usize,
13388        sig: *const u8,
13389        sig_len: usize,
13390        dsa: *const DSA,
13391    ) -> ::std::os::raw::c_int;
13392}
13393extern "C" {
13394    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_check_signature"]
13395    pub fn DSA_check_signature(
13396        out_valid: *mut ::std::os::raw::c_int,
13397        digest: *const u8,
13398        digest_len: usize,
13399        sig: *const u8,
13400        sig_len: usize,
13401        dsa: *const DSA,
13402    ) -> ::std::os::raw::c_int;
13403}
13404extern "C" {
13405    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_size"]
13406    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
13407}
13408extern "C" {
13409    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_parse"]
13410    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
13411}
13412extern "C" {
13413    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_SIG_marshal"]
13414    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
13415}
13416extern "C" {
13417    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_parse_public_key"]
13418    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
13419}
13420extern "C" {
13421    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_marshal_public_key"]
13422    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13423}
13424extern "C" {
13425    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_parse_private_key"]
13426    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
13427}
13428extern "C" {
13429    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_marshal_private_key"]
13430    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13431}
13432extern "C" {
13433    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_parse_parameters"]
13434    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
13435}
13436extern "C" {
13437    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_marshal_parameters"]
13438    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
13439}
13440extern "C" {
13441    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_dup_DH"]
13442    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
13443}
13444extern "C" {
13445    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get_ex_new_index"]
13446    pub fn DSA_get_ex_new_index(
13447        argl: ::std::os::raw::c_long,
13448        argp: *mut ::std::os::raw::c_void,
13449        unused: *mut CRYPTO_EX_unused,
13450        dup_unused: CRYPTO_EX_dup,
13451        free_func: CRYPTO_EX_free,
13452    ) -> ::std::os::raw::c_int;
13453}
13454extern "C" {
13455    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_set_ex_data"]
13456    pub fn DSA_set_ex_data(
13457        dsa: *mut DSA,
13458        idx: ::std::os::raw::c_int,
13459        arg: *mut ::std::os::raw::c_void,
13460    ) -> ::std::os::raw::c_int;
13461}
13462extern "C" {
13463    #[link_name = "\u{1}aws_lc_fips_0_13_14_DSA_get_ex_data"]
13464    pub fn DSA_get_ex_data(
13465        dsa: *const DSA,
13466        idx: ::std::os::raw::c_int,
13467    ) -> *mut ::std::os::raw::c_void;
13468}
13469extern "C" {
13470    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSA_SIG"]
13471    pub fn d2i_DSA_SIG(
13472        out_sig: *mut *mut DSA_SIG,
13473        inp: *mut *const u8,
13474        len: ::std::os::raw::c_long,
13475    ) -> *mut DSA_SIG;
13476}
13477extern "C" {
13478    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSA_SIG"]
13479    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13480}
13481extern "C" {
13482    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSAPublicKey"]
13483    pub fn d2i_DSAPublicKey(
13484        out: *mut *mut DSA,
13485        inp: *mut *const u8,
13486        len: ::std::os::raw::c_long,
13487    ) -> *mut DSA;
13488}
13489extern "C" {
13490    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSAPublicKey"]
13491    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13492}
13493extern "C" {
13494    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSAPrivateKey"]
13495    pub fn d2i_DSAPrivateKey(
13496        out: *mut *mut DSA,
13497        inp: *mut *const u8,
13498        len: ::std::os::raw::c_long,
13499    ) -> *mut DSA;
13500}
13501extern "C" {
13502    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSAPrivateKey"]
13503    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13504}
13505extern "C" {
13506    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSAparams"]
13507    pub fn d2i_DSAparams(
13508        out: *mut *mut DSA,
13509        inp: *mut *const u8,
13510        len: ::std::os::raw::c_long,
13511    ) -> *mut DSA;
13512}
13513extern "C" {
13514    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSAparams"]
13515    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
13516}
13517#[repr(u32)]
13518#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
13519pub enum point_conversion_form_t {
13520    POINT_CONVERSION_COMPRESSED = 2,
13521    POINT_CONVERSION_UNCOMPRESSED = 4,
13522    POINT_CONVERSION_HYBRID = 6,
13523}
13524extern "C" {
13525    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_group_p224"]
13526    pub fn EC_group_p224() -> *const EC_GROUP;
13527}
13528extern "C" {
13529    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_group_p256"]
13530    pub fn EC_group_p256() -> *const EC_GROUP;
13531}
13532extern "C" {
13533    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_group_p384"]
13534    pub fn EC_group_p384() -> *const EC_GROUP;
13535}
13536extern "C" {
13537    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_group_p521"]
13538    pub fn EC_group_p521() -> *const EC_GROUP;
13539}
13540extern "C" {
13541    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_group_secp256k1"]
13542    pub fn EC_group_secp256k1() -> *const EC_GROUP;
13543}
13544extern "C" {
13545    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_new_by_curve_name"]
13546    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
13547}
13548extern "C" {
13549    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_cmp"]
13550    pub fn EC_GROUP_cmp(
13551        a: *const EC_GROUP,
13552        b: *const EC_GROUP,
13553        ignored: *mut BN_CTX,
13554    ) -> ::std::os::raw::c_int;
13555}
13556extern "C" {
13557    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get0_generator"]
13558    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
13559}
13560extern "C" {
13561    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get0_order"]
13562    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
13563}
13564extern "C" {
13565    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_order_bits"]
13566    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
13567}
13568extern "C" {
13569    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_cofactor"]
13570    pub fn EC_GROUP_get_cofactor(
13571        group: *const EC_GROUP,
13572        cofactor: *mut BIGNUM,
13573        ctx: *mut BN_CTX,
13574    ) -> ::std::os::raw::c_int;
13575}
13576extern "C" {
13577    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_curve_GFp"]
13578    pub fn EC_GROUP_get_curve_GFp(
13579        group: *const EC_GROUP,
13580        out_p: *mut BIGNUM,
13581        out_a: *mut BIGNUM,
13582        out_b: *mut BIGNUM,
13583        ctx: *mut BN_CTX,
13584    ) -> ::std::os::raw::c_int;
13585}
13586extern "C" {
13587    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_curve_name"]
13588    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
13589}
13590extern "C" {
13591    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_degree"]
13592    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
13593}
13594extern "C" {
13595    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_curve_nid2nist"]
13596    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
13597}
13598extern "C" {
13599    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_curve_nist2nid"]
13600    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
13601}
13602extern "C" {
13603    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_new"]
13604    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
13605}
13606extern "C" {
13607    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_free"]
13608    pub fn EC_POINT_free(point: *mut EC_POINT);
13609}
13610extern "C" {
13611    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_copy"]
13612    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
13613}
13614extern "C" {
13615    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_dup"]
13616    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
13617}
13618extern "C" {
13619    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_set_to_infinity"]
13620    pub fn EC_POINT_set_to_infinity(
13621        group: *const EC_GROUP,
13622        point: *mut EC_POINT,
13623    ) -> ::std::os::raw::c_int;
13624}
13625extern "C" {
13626    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_is_at_infinity"]
13627    pub fn EC_POINT_is_at_infinity(
13628        group: *const EC_GROUP,
13629        point: *const EC_POINT,
13630    ) -> ::std::os::raw::c_int;
13631}
13632extern "C" {
13633    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_is_on_curve"]
13634    pub fn EC_POINT_is_on_curve(
13635        group: *const EC_GROUP,
13636        point: *const EC_POINT,
13637        ctx: *mut BN_CTX,
13638    ) -> ::std::os::raw::c_int;
13639}
13640extern "C" {
13641    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_cmp"]
13642    pub fn EC_POINT_cmp(
13643        group: *const EC_GROUP,
13644        a: *const EC_POINT,
13645        b: *const EC_POINT,
13646        ctx: *mut BN_CTX,
13647    ) -> ::std::os::raw::c_int;
13648}
13649extern "C" {
13650    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_get_affine_coordinates_GFp"]
13651    pub fn EC_POINT_get_affine_coordinates_GFp(
13652        group: *const EC_GROUP,
13653        point: *const EC_POINT,
13654        x: *mut BIGNUM,
13655        y: *mut BIGNUM,
13656        ctx: *mut BN_CTX,
13657    ) -> ::std::os::raw::c_int;
13658}
13659extern "C" {
13660    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_get_affine_coordinates"]
13661    pub fn EC_POINT_get_affine_coordinates(
13662        group: *const EC_GROUP,
13663        point: *const EC_POINT,
13664        x: *mut BIGNUM,
13665        y: *mut BIGNUM,
13666        ctx: *mut BN_CTX,
13667    ) -> ::std::os::raw::c_int;
13668}
13669extern "C" {
13670    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_set_affine_coordinates_GFp"]
13671    pub fn EC_POINT_set_affine_coordinates_GFp(
13672        group: *const EC_GROUP,
13673        point: *mut EC_POINT,
13674        x: *const BIGNUM,
13675        y: *const BIGNUM,
13676        ctx: *mut BN_CTX,
13677    ) -> ::std::os::raw::c_int;
13678}
13679extern "C" {
13680    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_set_affine_coordinates"]
13681    pub fn EC_POINT_set_affine_coordinates(
13682        group: *const EC_GROUP,
13683        point: *mut EC_POINT,
13684        x: *const BIGNUM,
13685        y: *const BIGNUM,
13686        ctx: *mut BN_CTX,
13687    ) -> ::std::os::raw::c_int;
13688}
13689extern "C" {
13690    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_point2oct"]
13691    pub fn EC_POINT_point2oct(
13692        group: *const EC_GROUP,
13693        point: *const EC_POINT,
13694        form: point_conversion_form_t,
13695        buf: *mut u8,
13696        len: usize,
13697        ctx: *mut BN_CTX,
13698    ) -> usize;
13699}
13700extern "C" {
13701    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_point2cbb"]
13702    pub fn EC_POINT_point2cbb(
13703        out: *mut CBB,
13704        group: *const EC_GROUP,
13705        point: *const EC_POINT,
13706        form: point_conversion_form_t,
13707        ctx: *mut BN_CTX,
13708    ) -> ::std::os::raw::c_int;
13709}
13710extern "C" {
13711    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_oct2point"]
13712    pub fn EC_POINT_oct2point(
13713        group: *const EC_GROUP,
13714        point: *mut EC_POINT,
13715        buf: *const u8,
13716        len: usize,
13717        ctx: *mut BN_CTX,
13718    ) -> ::std::os::raw::c_int;
13719}
13720extern "C" {
13721    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_set_compressed_coordinates_GFp"]
13722    pub fn EC_POINT_set_compressed_coordinates_GFp(
13723        group: *const EC_GROUP,
13724        point: *mut EC_POINT,
13725        x: *const BIGNUM,
13726        y_bit: ::std::os::raw::c_int,
13727        ctx: *mut BN_CTX,
13728    ) -> ::std::os::raw::c_int;
13729}
13730extern "C" {
13731    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_add"]
13732    pub fn EC_POINT_add(
13733        group: *const EC_GROUP,
13734        r: *mut EC_POINT,
13735        a: *const EC_POINT,
13736        b: *const EC_POINT,
13737        ctx: *mut BN_CTX,
13738    ) -> ::std::os::raw::c_int;
13739}
13740extern "C" {
13741    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_dbl"]
13742    pub fn EC_POINT_dbl(
13743        group: *const EC_GROUP,
13744        r: *mut EC_POINT,
13745        a: *const EC_POINT,
13746        ctx: *mut BN_CTX,
13747    ) -> ::std::os::raw::c_int;
13748}
13749extern "C" {
13750    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_invert"]
13751    pub fn EC_POINT_invert(
13752        group: *const EC_GROUP,
13753        a: *mut EC_POINT,
13754        ctx: *mut BN_CTX,
13755    ) -> ::std::os::raw::c_int;
13756}
13757extern "C" {
13758    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_mul"]
13759    pub fn EC_POINT_mul(
13760        group: *const EC_GROUP,
13761        r: *mut EC_POINT,
13762        n: *const BIGNUM,
13763        q: *const EC_POINT,
13764        m: *const BIGNUM,
13765        ctx: *mut BN_CTX,
13766    ) -> ::std::os::raw::c_int;
13767}
13768extern "C" {
13769    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_hash_to_curve_p256_xmd_sha256_sswu"]
13770    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
13771        group: *const EC_GROUP,
13772        out: *mut EC_POINT,
13773        dst: *const u8,
13774        dst_len: usize,
13775        msg: *const u8,
13776        msg_len: usize,
13777    ) -> ::std::os::raw::c_int;
13778}
13779extern "C" {
13780    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_hash_to_curve_p384_xmd_sha384_sswu"]
13781    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
13782        group: *const EC_GROUP,
13783        out: *mut EC_POINT,
13784        dst: *const u8,
13785        dst_len: usize,
13786        msg: *const u8,
13787        msg_len: usize,
13788    ) -> ::std::os::raw::c_int;
13789}
13790extern "C" {
13791    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_free"]
13792    pub fn EC_GROUP_free(group: *mut EC_GROUP);
13793}
13794extern "C" {
13795    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_dup"]
13796    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
13797}
13798extern "C" {
13799    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_new_curve_GFp"]
13800    pub fn EC_GROUP_new_curve_GFp(
13801        p: *const BIGNUM,
13802        a: *const BIGNUM,
13803        b: *const BIGNUM,
13804        ctx: *mut BN_CTX,
13805    ) -> *mut EC_GROUP;
13806}
13807extern "C" {
13808    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_set_generator"]
13809    pub fn EC_GROUP_set_generator(
13810        group: *mut EC_GROUP,
13811        generator: *const EC_POINT,
13812        order: *const BIGNUM,
13813        cofactor: *const BIGNUM,
13814    ) -> ::std::os::raw::c_int;
13815}
13816extern "C" {
13817    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_point2bn"]
13818    pub fn EC_POINT_point2bn(
13819        group: *const EC_GROUP,
13820        point: *const EC_POINT,
13821        form: point_conversion_form_t,
13822        ret: *mut BIGNUM,
13823        ctx: *mut BN_CTX,
13824    ) -> *mut BIGNUM;
13825}
13826extern "C" {
13827    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_bn2point"]
13828    pub fn EC_POINT_bn2point(
13829        group: *const EC_GROUP,
13830        bn: *const BIGNUM,
13831        point: *mut EC_POINT,
13832        ctx: *mut BN_CTX,
13833    ) -> *mut EC_POINT;
13834}
13835extern "C" {
13836    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_order"]
13837    pub fn EC_GROUP_get_order(
13838        group: *const EC_GROUP,
13839        order: *mut BIGNUM,
13840        ctx: *mut BN_CTX,
13841    ) -> ::std::os::raw::c_int;
13842}
13843#[repr(C)]
13844#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13845pub struct EC_builtin_curve {
13846    pub nid: ::std::os::raw::c_int,
13847    pub comment: *const ::std::os::raw::c_char,
13848}
13849#[test]
13850fn bindgen_test_layout_EC_builtin_curve() {
13851    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
13852    let ptr = UNINIT.as_ptr();
13853    assert_eq!(
13854        ::std::mem::size_of::<EC_builtin_curve>(),
13855        16usize,
13856        "Size of EC_builtin_curve"
13857    );
13858    assert_eq!(
13859        ::std::mem::align_of::<EC_builtin_curve>(),
13860        8usize,
13861        "Alignment of EC_builtin_curve"
13862    );
13863    assert_eq!(
13864        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
13865        0usize,
13866        "Offset of field: EC_builtin_curve::nid"
13867    );
13868    assert_eq!(
13869        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
13870        8usize,
13871        "Offset of field: EC_builtin_curve::comment"
13872    );
13873}
13874impl Default for EC_builtin_curve {
13875    fn default() -> Self {
13876        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13877        unsafe {
13878            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13879            s.assume_init()
13880        }
13881    }
13882}
13883extern "C" {
13884    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_get_builtin_curves"]
13885    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
13886        -> usize;
13887}
13888extern "C" {
13889    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_POINT_clear_free"]
13890    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
13891}
13892extern "C" {
13893    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_set_asn1_flag"]
13894    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
13895}
13896extern "C" {
13897    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_asn1_flag"]
13898    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
13899}
13900extern "C" {
13901    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_set_point_conversion_form"]
13902    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
13903}
13904extern "C" {
13905    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_set_seed"]
13906    pub fn EC_GROUP_set_seed(
13907        group: *mut EC_GROUP,
13908        p: *const ::std::os::raw::c_uchar,
13909        len: usize,
13910    ) -> usize;
13911}
13912extern "C" {
13913    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get0_seed"]
13914    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
13915}
13916extern "C" {
13917    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_get_seed_len"]
13918    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
13919}
13920extern "C" {
13921    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECPKParameters_print"]
13922    pub fn ECPKParameters_print(
13923        bio: *mut BIO,
13924        group: *const EC_GROUP,
13925        offset: ::std::os::raw::c_int,
13926    ) -> ::std::os::raw::c_int;
13927}
13928#[repr(C)]
13929#[derive(Debug, Copy, Clone)]
13930pub struct ec_method_st {
13931    _unused: [u8; 0],
13932}
13933pub type EC_METHOD = ec_method_st;
13934extern "C" {
13935    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_GROUP_method_of"]
13936    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
13937}
13938extern "C" {
13939    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_METHOD_get_field_type"]
13940    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
13941}
13942extern "C" {
13943    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_new"]
13944    pub fn ENGINE_new() -> *mut ENGINE;
13945}
13946extern "C" {
13947    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_free"]
13948    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
13949}
13950extern "C" {
13951    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_set_RSA"]
13952    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
13953}
13954extern "C" {
13955    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_get_RSA"]
13956    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
13957}
13958extern "C" {
13959    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_set_EC"]
13960    pub fn ENGINE_set_EC(
13961        engine: *mut ENGINE,
13962        method: *const EC_KEY_METHOD,
13963    ) -> ::std::os::raw::c_int;
13964}
13965extern "C" {
13966    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_get_EC"]
13967    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
13968}
13969extern "C" {
13970    #[link_name = "\u{1}aws_lc_fips_0_13_14_ENGINE_cleanup"]
13971    pub fn ENGINE_cleanup();
13972}
13973extern "C" {
13974    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_new"]
13975    pub fn EC_KEY_new() -> *mut EC_KEY;
13976}
13977extern "C" {
13978    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_new_method"]
13979    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
13980}
13981extern "C" {
13982    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_new_by_curve_name"]
13983    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
13984}
13985extern "C" {
13986    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_free"]
13987    pub fn EC_KEY_free(key: *mut EC_KEY);
13988}
13989extern "C" {
13990    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_dup"]
13991    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
13992}
13993extern "C" {
13994    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_up_ref"]
13995    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
13996}
13997extern "C" {
13998    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_is_opaque"]
13999    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
14000}
14001extern "C" {
14002    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get0_group"]
14003    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
14004}
14005extern "C" {
14006    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_group"]
14007    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14008}
14009extern "C" {
14010    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get0_private_key"]
14011    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
14012}
14013extern "C" {
14014    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_private_key"]
14015    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
14016}
14017extern "C" {
14018    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get0_public_key"]
14019    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
14020}
14021extern "C" {
14022    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_public_key"]
14023    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
14024}
14025extern "C" {
14026    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_enc_flags"]
14027    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
14028}
14029extern "C" {
14030    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_enc_flags"]
14031    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
14032}
14033extern "C" {
14034    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_conv_form"]
14035    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
14036}
14037extern "C" {
14038    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_conv_form"]
14039    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
14040}
14041extern "C" {
14042    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_check_key"]
14043    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
14044}
14045extern "C" {
14046    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_check_fips"]
14047    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
14048}
14049extern "C" {
14050    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_public_key_affine_coordinates"]
14051    pub fn EC_KEY_set_public_key_affine_coordinates(
14052        key: *mut EC_KEY,
14053        x: *const BIGNUM,
14054        y: *const BIGNUM,
14055    ) -> ::std::os::raw::c_int;
14056}
14057extern "C" {
14058    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_key2buf"]
14059    pub fn EC_KEY_key2buf(
14060        key: *const EC_KEY,
14061        form: point_conversion_form_t,
14062        out_buf: *mut *mut ::std::os::raw::c_uchar,
14063        ctx: *mut BN_CTX,
14064    ) -> usize;
14065}
14066extern "C" {
14067    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_generate_key"]
14068    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14069}
14070extern "C" {
14071    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_generate_key_fips"]
14072    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
14073}
14074extern "C" {
14075    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_derive_from_secret"]
14076    pub fn EC_KEY_derive_from_secret(
14077        group: *const EC_GROUP,
14078        secret: *const u8,
14079        secret_len: usize,
14080    ) -> *mut EC_KEY;
14081}
14082extern "C" {
14083    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_parse_private_key"]
14084    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
14085}
14086extern "C" {
14087    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_marshal_private_key"]
14088    pub fn EC_KEY_marshal_private_key(
14089        cbb: *mut CBB,
14090        key: *const EC_KEY,
14091        enc_flags: ::std::os::raw::c_uint,
14092    ) -> ::std::os::raw::c_int;
14093}
14094extern "C" {
14095    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_parse_curve_name"]
14096    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
14097}
14098extern "C" {
14099    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_marshal_curve_name"]
14100    pub fn EC_KEY_marshal_curve_name(
14101        cbb: *mut CBB,
14102        group: *const EC_GROUP,
14103    ) -> ::std::os::raw::c_int;
14104}
14105extern "C" {
14106    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_parse_parameters"]
14107    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
14108}
14109extern "C" {
14110    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_ex_new_index"]
14111    pub fn EC_KEY_get_ex_new_index(
14112        argl: ::std::os::raw::c_long,
14113        argp: *mut ::std::os::raw::c_void,
14114        unused: *mut CRYPTO_EX_unused,
14115        dup_unused: CRYPTO_EX_dup,
14116        free_func: CRYPTO_EX_free,
14117    ) -> ::std::os::raw::c_int;
14118}
14119extern "C" {
14120    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_ex_data"]
14121    pub fn EC_KEY_set_ex_data(
14122        r: *mut EC_KEY,
14123        idx: ::std::os::raw::c_int,
14124        arg: *mut ::std::os::raw::c_void,
14125    ) -> ::std::os::raw::c_int;
14126}
14127extern "C" {
14128    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_ex_data"]
14129    pub fn EC_KEY_get_ex_data(
14130        r: *const EC_KEY,
14131        idx: ::std::os::raw::c_int,
14132    ) -> *mut ::std::os::raw::c_void;
14133}
14134extern "C" {
14135    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECPrivateKey"]
14136    pub fn d2i_ECPrivateKey(
14137        out_key: *mut *mut EC_KEY,
14138        inp: *mut *const u8,
14139        len: ::std::os::raw::c_long,
14140    ) -> *mut EC_KEY;
14141}
14142extern "C" {
14143    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECPrivateKey"]
14144    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14145}
14146extern "C" {
14147    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECParameters"]
14148    pub fn d2i_ECParameters(
14149        out_key: *mut *mut EC_KEY,
14150        inp: *mut *const u8,
14151        len: ::std::os::raw::c_long,
14152    ) -> *mut EC_KEY;
14153}
14154extern "C" {
14155    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECParameters"]
14156    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14157}
14158extern "C" {
14159    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECPKParameters_bio"]
14160    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
14161}
14162extern "C" {
14163    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECPKParameters_bio"]
14164    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
14165}
14166extern "C" {
14167    #[link_name = "\u{1}aws_lc_fips_0_13_14_o2i_ECPublicKey"]
14168    pub fn o2i_ECPublicKey(
14169        out_key: *mut *mut EC_KEY,
14170        inp: *mut *const u8,
14171        len: ::std::os::raw::c_long,
14172    ) -> *mut EC_KEY;
14173}
14174extern "C" {
14175    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2o_ECPublicKey"]
14176    pub fn i2o_ECPublicKey(
14177        key: *const EC_KEY,
14178        outp: *mut *mut ::std::os::raw::c_uchar,
14179    ) -> ::std::os::raw::c_int;
14180}
14181extern "C" {
14182    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_default_method"]
14183    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
14184}
14185extern "C" {
14186    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_OpenSSL"]
14187    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
14188}
14189extern "C" {
14190    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_METHOD_new"]
14191    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
14192}
14193extern "C" {
14194    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_METHOD_free"]
14195    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
14196}
14197extern "C" {
14198    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_method"]
14199    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
14200}
14201extern "C" {
14202    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_get_method"]
14203    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
14204}
14205extern "C" {
14206    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_METHOD_set_sign_awslc"]
14207    pub fn EC_KEY_METHOD_set_sign_awslc(
14208        meth: *mut EC_KEY_METHOD,
14209        sign: ::std::option::Option<
14210            unsafe extern "C" fn(
14211                type_: ::std::os::raw::c_int,
14212                digest: *const u8,
14213                digest_len: ::std::os::raw::c_int,
14214                sig: *mut u8,
14215                siglen: *mut ::std::os::raw::c_uint,
14216                k_inv: *const BIGNUM,
14217                r: *const BIGNUM,
14218                eckey: *mut EC_KEY,
14219            ) -> ::std::os::raw::c_int,
14220        >,
14221        sign_sig: ::std::option::Option<
14222            unsafe extern "C" fn(
14223                digest: *const u8,
14224                digest_len: ::std::os::raw::c_int,
14225                in_kinv: *const BIGNUM,
14226                in_r: *const BIGNUM,
14227                eckey: *mut EC_KEY,
14228            ) -> *mut ECDSA_SIG,
14229        >,
14230    );
14231}
14232extern "C" {
14233    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_METHOD_set_init_awslc"]
14234    pub fn EC_KEY_METHOD_set_init_awslc(
14235        meth: *mut EC_KEY_METHOD,
14236        init: ::std::option::Option<
14237            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
14238        >,
14239        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
14240    );
14241}
14242extern "C" {
14243    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_METHOD_set_flags"]
14244    pub fn EC_KEY_METHOD_set_flags(
14245        meth: *mut EC_KEY_METHOD,
14246        flags: ::std::os::raw::c_int,
14247    ) -> ::std::os::raw::c_int;
14248}
14249extern "C" {
14250    #[link_name = "\u{1}aws_lc_fips_0_13_14_EC_KEY_set_asn1_flag"]
14251    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
14252}
14253extern "C" {
14254    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDH_compute_key"]
14255    pub fn ECDH_compute_key(
14256        out: *mut ::std::os::raw::c_void,
14257        outlen: usize,
14258        pub_key: *const EC_POINT,
14259        priv_key: *const EC_KEY,
14260        kdf: ::std::option::Option<
14261            unsafe extern "C" fn(
14262                in_: *const ::std::os::raw::c_void,
14263                inlen: usize,
14264                out: *mut ::std::os::raw::c_void,
14265                outlen: *mut usize,
14266            ) -> *mut ::std::os::raw::c_void,
14267        >,
14268    ) -> ::std::os::raw::c_int;
14269}
14270extern "C" {
14271    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDH_compute_key_fips"]
14272    pub fn ECDH_compute_key_fips(
14273        out: *mut u8,
14274        out_len: usize,
14275        pub_key: *const EC_POINT,
14276        priv_key: *const EC_KEY,
14277    ) -> ::std::os::raw::c_int;
14278}
14279extern "C" {
14280    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_sign"]
14281    pub fn ECDSA_sign(
14282        type_: ::std::os::raw::c_int,
14283        digest: *const u8,
14284        digest_len: usize,
14285        sig: *mut u8,
14286        sig_len: *mut ::std::os::raw::c_uint,
14287        key: *const EC_KEY,
14288    ) -> ::std::os::raw::c_int;
14289}
14290extern "C" {
14291    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_verify"]
14292    pub fn ECDSA_verify(
14293        type_: ::std::os::raw::c_int,
14294        digest: *const u8,
14295        digest_len: usize,
14296        sig: *const u8,
14297        sig_len: usize,
14298        key: *const EC_KEY,
14299    ) -> ::std::os::raw::c_int;
14300}
14301extern "C" {
14302    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_size"]
14303    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
14304}
14305#[repr(C)]
14306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14307pub struct ecdsa_sig_st {
14308    pub r: *mut BIGNUM,
14309    pub s: *mut BIGNUM,
14310}
14311#[test]
14312fn bindgen_test_layout_ecdsa_sig_st() {
14313    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
14314    let ptr = UNINIT.as_ptr();
14315    assert_eq!(
14316        ::std::mem::size_of::<ecdsa_sig_st>(),
14317        16usize,
14318        "Size of ecdsa_sig_st"
14319    );
14320    assert_eq!(
14321        ::std::mem::align_of::<ecdsa_sig_st>(),
14322        8usize,
14323        "Alignment of ecdsa_sig_st"
14324    );
14325    assert_eq!(
14326        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14327        0usize,
14328        "Offset of field: ecdsa_sig_st::r"
14329    );
14330    assert_eq!(
14331        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14332        8usize,
14333        "Offset of field: ecdsa_sig_st::s"
14334    );
14335}
14336impl Default for ecdsa_sig_st {
14337    fn default() -> Self {
14338        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14339        unsafe {
14340            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14341            s.assume_init()
14342        }
14343    }
14344}
14345extern "C" {
14346    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_new"]
14347    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
14348}
14349extern "C" {
14350    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_free"]
14351    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
14352}
14353extern "C" {
14354    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_get0_r"]
14355    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
14356}
14357extern "C" {
14358    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_get0_s"]
14359    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
14360}
14361extern "C" {
14362    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_get0"]
14363    pub fn ECDSA_SIG_get0(
14364        sig: *const ECDSA_SIG,
14365        out_r: *mut *const BIGNUM,
14366        out_s: *mut *const BIGNUM,
14367    );
14368}
14369extern "C" {
14370    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_set0"]
14371    pub fn ECDSA_SIG_set0(
14372        sig: *mut ECDSA_SIG,
14373        r: *mut BIGNUM,
14374        s: *mut BIGNUM,
14375    ) -> ::std::os::raw::c_int;
14376}
14377extern "C" {
14378    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_do_sign"]
14379    pub fn ECDSA_do_sign(
14380        digest: *const u8,
14381        digest_len: usize,
14382        key: *const EC_KEY,
14383    ) -> *mut ECDSA_SIG;
14384}
14385extern "C" {
14386    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_do_verify"]
14387    pub fn ECDSA_do_verify(
14388        digest: *const u8,
14389        digest_len: usize,
14390        sig: *const ECDSA_SIG,
14391        key: *const EC_KEY,
14392    ) -> ::std::os::raw::c_int;
14393}
14394extern "C" {
14395    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_parse"]
14396    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
14397}
14398extern "C" {
14399    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_from_bytes"]
14400    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
14401}
14402extern "C" {
14403    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_marshal"]
14404    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
14405}
14406extern "C" {
14407    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_to_bytes"]
14408    pub fn ECDSA_SIG_to_bytes(
14409        out_bytes: *mut *mut u8,
14410        out_len: *mut usize,
14411        sig: *const ECDSA_SIG,
14412    ) -> ::std::os::raw::c_int;
14413}
14414extern "C" {
14415    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_SIG_max_len"]
14416    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
14417}
14418extern "C" {
14419    #[link_name = "\u{1}aws_lc_fips_0_13_14_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
14420    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
14421        digest: *const u8,
14422        digest_len: usize,
14423        eckey: *const EC_KEY,
14424        nonce: *const u8,
14425        nonce_len: usize,
14426    ) -> *mut ECDSA_SIG;
14427}
14428extern "C" {
14429    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECDSA_SIG"]
14430    pub fn d2i_ECDSA_SIG(
14431        out: *mut *mut ECDSA_SIG,
14432        inp: *mut *const u8,
14433        len: ::std::os::raw::c_long,
14434    ) -> *mut ECDSA_SIG;
14435}
14436extern "C" {
14437    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECDSA_SIG"]
14438    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14439}
14440extern "C" {
14441    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_gcm"]
14442    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
14443}
14444extern "C" {
14445    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_192_gcm"]
14446    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
14447}
14448extern "C" {
14449    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_gcm"]
14450    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
14451}
14452extern "C" {
14453    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_chacha20_poly1305"]
14454    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
14455}
14456extern "C" {
14457    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_xchacha20_poly1305"]
14458    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
14459}
14460extern "C" {
14461    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_ctr_hmac_sha256"]
14462    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
14463}
14464extern "C" {
14465    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_ctr_hmac_sha256"]
14466    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
14467}
14468extern "C" {
14469    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_gcm_siv"]
14470    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
14471}
14472extern "C" {
14473    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_gcm_siv"]
14474    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
14475}
14476extern "C" {
14477    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_gcm_randnonce"]
14478    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
14479}
14480extern "C" {
14481    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_gcm_randnonce"]
14482    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
14483}
14484extern "C" {
14485    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_ccm_bluetooth"]
14486    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
14487}
14488extern "C" {
14489    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_ccm_bluetooth_8"]
14490    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
14491}
14492extern "C" {
14493    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_ccm_matter"]
14494    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
14495}
14496extern "C" {
14497    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_has_aes_hardware"]
14498    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
14499}
14500extern "C" {
14501    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_key_length"]
14502    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
14503}
14504extern "C" {
14505    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_nonce_length"]
14506    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
14507}
14508extern "C" {
14509    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_max_overhead"]
14510    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
14511}
14512extern "C" {
14513    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_max_tag_len"]
14514    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
14515}
14516#[repr(C)]
14517#[derive(Copy, Clone)]
14518pub union evp_aead_ctx_st_state {
14519    pub opaque: [u8; 564usize],
14520    pub alignment: u64,
14521    pub ptr: *mut ::std::os::raw::c_void,
14522}
14523#[test]
14524fn bindgen_test_layout_evp_aead_ctx_st_state() {
14525    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
14526        ::std::mem::MaybeUninit::uninit();
14527    let ptr = UNINIT.as_ptr();
14528    assert_eq!(
14529        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
14530        568usize,
14531        "Size of evp_aead_ctx_st_state"
14532    );
14533    assert_eq!(
14534        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
14535        8usize,
14536        "Alignment of evp_aead_ctx_st_state"
14537    );
14538    assert_eq!(
14539        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
14540        0usize,
14541        "Offset of field: evp_aead_ctx_st_state::opaque"
14542    );
14543    assert_eq!(
14544        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
14545        0usize,
14546        "Offset of field: evp_aead_ctx_st_state::alignment"
14547    );
14548    assert_eq!(
14549        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
14550        0usize,
14551        "Offset of field: evp_aead_ctx_st_state::ptr"
14552    );
14553}
14554impl Default for evp_aead_ctx_st_state {
14555    fn default() -> Self {
14556        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14557        unsafe {
14558            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14559            s.assume_init()
14560        }
14561    }
14562}
14563#[repr(C)]
14564#[derive(Copy, Clone)]
14565pub struct evp_aead_ctx_st {
14566    pub aead: *const EVP_AEAD,
14567    pub state: evp_aead_ctx_st_state,
14568    pub state_offset: u8,
14569    pub tag_len: u8,
14570}
14571#[test]
14572fn bindgen_test_layout_evp_aead_ctx_st() {
14573    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
14574    let ptr = UNINIT.as_ptr();
14575    assert_eq!(
14576        ::std::mem::size_of::<evp_aead_ctx_st>(),
14577        584usize,
14578        "Size of evp_aead_ctx_st"
14579    );
14580    assert_eq!(
14581        ::std::mem::align_of::<evp_aead_ctx_st>(),
14582        8usize,
14583        "Alignment of evp_aead_ctx_st"
14584    );
14585    assert_eq!(
14586        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
14587        0usize,
14588        "Offset of field: evp_aead_ctx_st::aead"
14589    );
14590    assert_eq!(
14591        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
14592        8usize,
14593        "Offset of field: evp_aead_ctx_st::state"
14594    );
14595    assert_eq!(
14596        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
14597        576usize,
14598        "Offset of field: evp_aead_ctx_st::state_offset"
14599    );
14600    assert_eq!(
14601        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
14602        577usize,
14603        "Offset of field: evp_aead_ctx_st::tag_len"
14604    );
14605}
14606impl Default for evp_aead_ctx_st {
14607    fn default() -> Self {
14608        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14609        unsafe {
14610            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14611            s.assume_init()
14612        }
14613    }
14614}
14615extern "C" {
14616    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_zero"]
14617    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
14618}
14619extern "C" {
14620    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_new"]
14621    pub fn EVP_AEAD_CTX_new(
14622        aead: *const EVP_AEAD,
14623        key: *const u8,
14624        key_len: usize,
14625        tag_len: usize,
14626    ) -> *mut EVP_AEAD_CTX;
14627}
14628extern "C" {
14629    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_free"]
14630    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
14631}
14632extern "C" {
14633    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_init"]
14634    pub fn EVP_AEAD_CTX_init(
14635        ctx: *mut EVP_AEAD_CTX,
14636        aead: *const EVP_AEAD,
14637        key: *const u8,
14638        key_len: usize,
14639        tag_len: usize,
14640        impl_: *mut ENGINE,
14641    ) -> ::std::os::raw::c_int;
14642}
14643extern "C" {
14644    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_cleanup"]
14645    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
14646}
14647extern "C" {
14648    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_seal"]
14649    pub fn EVP_AEAD_CTX_seal(
14650        ctx: *const EVP_AEAD_CTX,
14651        out: *mut u8,
14652        out_len: *mut usize,
14653        max_out_len: usize,
14654        nonce: *const u8,
14655        nonce_len: usize,
14656        in_: *const u8,
14657        in_len: usize,
14658        ad: *const u8,
14659        ad_len: usize,
14660    ) -> ::std::os::raw::c_int;
14661}
14662extern "C" {
14663    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_open"]
14664    pub fn EVP_AEAD_CTX_open(
14665        ctx: *const EVP_AEAD_CTX,
14666        out: *mut u8,
14667        out_len: *mut usize,
14668        max_out_len: usize,
14669        nonce: *const u8,
14670        nonce_len: usize,
14671        in_: *const u8,
14672        in_len: usize,
14673        ad: *const u8,
14674        ad_len: usize,
14675    ) -> ::std::os::raw::c_int;
14676}
14677extern "C" {
14678    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_seal_scatter"]
14679    pub fn EVP_AEAD_CTX_seal_scatter(
14680        ctx: *const EVP_AEAD_CTX,
14681        out: *mut u8,
14682        out_tag: *mut u8,
14683        out_tag_len: *mut usize,
14684        max_out_tag_len: usize,
14685        nonce: *const u8,
14686        nonce_len: usize,
14687        in_: *const u8,
14688        in_len: usize,
14689        extra_in: *const u8,
14690        extra_in_len: usize,
14691        ad: *const u8,
14692        ad_len: usize,
14693    ) -> ::std::os::raw::c_int;
14694}
14695extern "C" {
14696    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_open_gather"]
14697    pub fn EVP_AEAD_CTX_open_gather(
14698        ctx: *const EVP_AEAD_CTX,
14699        out: *mut u8,
14700        nonce: *const u8,
14701        nonce_len: usize,
14702        in_: *const u8,
14703        in_len: usize,
14704        in_tag: *const u8,
14705        in_tag_len: usize,
14706        ad: *const u8,
14707        ad_len: usize,
14708    ) -> ::std::os::raw::c_int;
14709}
14710extern "C" {
14711    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_aead"]
14712    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
14713}
14714extern "C" {
14715    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_cbc_sha1_tls"]
14716    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
14717}
14718extern "C" {
14719    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
14720    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
14721}
14722extern "C" {
14723    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_cbc_sha1_tls"]
14724    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
14725}
14726extern "C" {
14727    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
14728    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
14729}
14730extern "C" {
14731    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_cbc_sha256_tls"]
14732    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
14733}
14734extern "C" {
14735    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
14736    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
14737}
14738extern "C" {
14739    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_cbc_sha384_tls"]
14740    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
14741}
14742extern "C" {
14743    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_des_ede3_cbc_sha1_tls"]
14744    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
14745}
14746extern "C" {
14747    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
14748    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
14749}
14750extern "C" {
14751    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_null_sha1_tls"]
14752    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
14753}
14754extern "C" {
14755    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_gcm_tls12"]
14756    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
14757}
14758extern "C" {
14759    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_gcm_tls12"]
14760    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
14761}
14762extern "C" {
14763    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_128_gcm_tls13"]
14764    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
14765}
14766extern "C" {
14767    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_aead_aes_256_gcm_tls13"]
14768    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
14769}
14770pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
14771pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
14772pub type evp_aead_direction_t = ::std::os::raw::c_uint;
14773extern "C" {
14774    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_init_with_direction"]
14775    pub fn EVP_AEAD_CTX_init_with_direction(
14776        ctx: *mut EVP_AEAD_CTX,
14777        aead: *const EVP_AEAD,
14778        key: *const u8,
14779        key_len: usize,
14780        tag_len: usize,
14781        dir: evp_aead_direction_t,
14782    ) -> ::std::os::raw::c_int;
14783}
14784extern "C" {
14785    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_get_iv"]
14786    pub fn EVP_AEAD_CTX_get_iv(
14787        ctx: *const EVP_AEAD_CTX,
14788        out_iv: *mut *const u8,
14789        out_len: *mut usize,
14790    ) -> ::std::os::raw::c_int;
14791}
14792extern "C" {
14793    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_CTX_tag_len"]
14794    pub fn EVP_AEAD_CTX_tag_len(
14795        ctx: *const EVP_AEAD_CTX,
14796        out_tag_len: *mut usize,
14797        in_len: usize,
14798        extra_in_len: usize,
14799    ) -> ::std::os::raw::c_int;
14800}
14801extern "C" {
14802    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
14803    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
14804        ipv4_address: u32,
14805        nanosecs: u64,
14806        out_iv: *mut u8,
14807    ) -> ::std::os::raw::c_int;
14808}
14809extern "C" {
14810    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_dup"]
14811    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
14812}
14813extern "C" {
14814    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_cmp"]
14815    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
14816}
14817extern "C" {
14818    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_get0_data"]
14819    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
14820}
14821extern "C" {
14822    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_length"]
14823    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
14824}
14825extern "C" {
14826    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_obj2nid"]
14827    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
14828}
14829extern "C" {
14830    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_cbs2nid"]
14831    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
14832}
14833extern "C" {
14834    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_sn2nid"]
14835    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14836}
14837extern "C" {
14838    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_ln2nid"]
14839    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14840}
14841extern "C" {
14842    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_txt2nid"]
14843    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14844}
14845extern "C" {
14846    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_nid2obj"]
14847    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
14848}
14849extern "C" {
14850    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_get_undef"]
14851    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
14852}
14853extern "C" {
14854    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_nid2sn"]
14855    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14856}
14857extern "C" {
14858    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_nid2ln"]
14859    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14860}
14861extern "C" {
14862    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_nid2cbb"]
14863    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14864}
14865extern "C" {
14866    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_txt2obj"]
14867    pub fn OBJ_txt2obj(
14868        s: *const ::std::os::raw::c_char,
14869        dont_search_names: ::std::os::raw::c_int,
14870    ) -> *mut ASN1_OBJECT;
14871}
14872extern "C" {
14873    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_obj2txt"]
14874    pub fn OBJ_obj2txt(
14875        out: *mut ::std::os::raw::c_char,
14876        out_len: ::std::os::raw::c_int,
14877        obj: *const ASN1_OBJECT,
14878        always_return_oid: ::std::os::raw::c_int,
14879    ) -> ::std::os::raw::c_int;
14880}
14881extern "C" {
14882    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_create"]
14883    pub fn OBJ_create(
14884        oid: *const ::std::os::raw::c_char,
14885        short_name: *const ::std::os::raw::c_char,
14886        long_name: *const ::std::os::raw::c_char,
14887    ) -> ::std::os::raw::c_int;
14888}
14889extern "C" {
14890    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_find_sigid_algs"]
14891    pub fn OBJ_find_sigid_algs(
14892        sign_nid: ::std::os::raw::c_int,
14893        out_digest_nid: *mut ::std::os::raw::c_int,
14894        out_pkey_nid: *mut ::std::os::raw::c_int,
14895    ) -> ::std::os::raw::c_int;
14896}
14897extern "C" {
14898    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_find_sigid_by_algs"]
14899    pub fn OBJ_find_sigid_by_algs(
14900        out_sign_nid: *mut ::std::os::raw::c_int,
14901        digest_nid: ::std::os::raw::c_int,
14902        pkey_nid: ::std::os::raw::c_int,
14903    ) -> ::std::os::raw::c_int;
14904}
14905#[repr(C)]
14906#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14907pub struct obj_name_st {
14908    pub type_: ::std::os::raw::c_int,
14909    pub alias: ::std::os::raw::c_int,
14910    pub name: *const ::std::os::raw::c_char,
14911    pub data: *const ::std::os::raw::c_char,
14912}
14913#[test]
14914fn bindgen_test_layout_obj_name_st() {
14915    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
14916    let ptr = UNINIT.as_ptr();
14917    assert_eq!(
14918        ::std::mem::size_of::<obj_name_st>(),
14919        24usize,
14920        "Size of obj_name_st"
14921    );
14922    assert_eq!(
14923        ::std::mem::align_of::<obj_name_st>(),
14924        8usize,
14925        "Alignment of obj_name_st"
14926    );
14927    assert_eq!(
14928        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
14929        0usize,
14930        "Offset of field: obj_name_st::type_"
14931    );
14932    assert_eq!(
14933        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
14934        4usize,
14935        "Offset of field: obj_name_st::alias"
14936    );
14937    assert_eq!(
14938        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
14939        8usize,
14940        "Offset of field: obj_name_st::name"
14941    );
14942    assert_eq!(
14943        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
14944        16usize,
14945        "Offset of field: obj_name_st::data"
14946    );
14947}
14948impl Default for obj_name_st {
14949    fn default() -> Self {
14950        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14951        unsafe {
14952            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14953            s.assume_init()
14954        }
14955    }
14956}
14957pub type OBJ_NAME = obj_name_st;
14958extern "C" {
14959    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_NAME_do_all_sorted"]
14960    pub fn OBJ_NAME_do_all_sorted(
14961        type_: ::std::os::raw::c_int,
14962        callback: ::std::option::Option<
14963            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
14964        >,
14965        arg: *mut ::std::os::raw::c_void,
14966    );
14967}
14968extern "C" {
14969    #[link_name = "\u{1}aws_lc_fips_0_13_14_OBJ_cleanup"]
14970    pub fn OBJ_cleanup();
14971}
14972extern "C" {
14973    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_new"]
14974    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
14975}
14976extern "C" {
14977    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_free"]
14978    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
14979}
14980extern "C" {
14981    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_up_ref"]
14982    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
14983}
14984extern "C" {
14985    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_is_opaque"]
14986    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
14987}
14988extern "C" {
14989    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_cmp"]
14990    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
14991}
14992extern "C" {
14993    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_copy_parameters"]
14994    pub fn EVP_PKEY_copy_parameters(
14995        to: *mut EVP_PKEY,
14996        from: *const EVP_PKEY,
14997    ) -> ::std::os::raw::c_int;
14998}
14999extern "C" {
15000    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_missing_parameters"]
15001    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15002}
15003extern "C" {
15004    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_size"]
15005    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15006}
15007extern "C" {
15008    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_bits"]
15009    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15010}
15011extern "C" {
15012    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_id"]
15013    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15014}
15015extern "C" {
15016    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_type"]
15017    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
15018}
15019extern "C" {
15020    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_get0_name"]
15021    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15022}
15023extern "C" {
15024    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_name"]
15025    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
15026}
15027extern "C" {
15028    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set1_RSA"]
15029    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15030}
15031extern "C" {
15032    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_assign_RSA"]
15033    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
15034}
15035extern "C" {
15036    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get0_RSA"]
15037    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15038}
15039extern "C" {
15040    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get1_RSA"]
15041    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
15042}
15043extern "C" {
15044    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set1_DSA"]
15045    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15046}
15047extern "C" {
15048    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_assign_DSA"]
15049    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
15050}
15051extern "C" {
15052    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get0_DSA"]
15053    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15054}
15055extern "C" {
15056    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get1_DSA"]
15057    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
15058}
15059extern "C" {
15060    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set1_EC_KEY"]
15061    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15062}
15063extern "C" {
15064    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_assign_EC_KEY"]
15065    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
15066}
15067extern "C" {
15068    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get0_EC_KEY"]
15069    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15070}
15071extern "C" {
15072    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get1_EC_KEY"]
15073    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
15074}
15075extern "C" {
15076    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set1_DH"]
15077    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15078}
15079extern "C" {
15080    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_assign_DH"]
15081    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
15082}
15083extern "C" {
15084    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get0_DH"]
15085    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
15086}
15087extern "C" {
15088    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get1_DH"]
15089    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
15090}
15091extern "C" {
15092    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set_type"]
15093    pub fn EVP_PKEY_set_type(
15094        pkey: *mut EVP_PKEY,
15095        type_: ::std::os::raw::c_int,
15096    ) -> ::std::os::raw::c_int;
15097}
15098extern "C" {
15099    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_cmp_parameters"]
15100    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
15101        -> ::std::os::raw::c_int;
15102}
15103extern "C" {
15104    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_parse_public_key"]
15105    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15106}
15107extern "C" {
15108    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_marshal_public_key"]
15109    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15110}
15111extern "C" {
15112    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_parse_private_key"]
15113    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
15114}
15115extern "C" {
15116    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_marshal_private_key"]
15117    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
15118}
15119extern "C" {
15120    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_marshal_private_key_v2"]
15121    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
15122        -> ::std::os::raw::c_int;
15123}
15124extern "C" {
15125    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_new_raw_private_key"]
15126    pub fn EVP_PKEY_new_raw_private_key(
15127        type_: ::std::os::raw::c_int,
15128        unused: *mut ENGINE,
15129        in_: *const u8,
15130        len: usize,
15131    ) -> *mut EVP_PKEY;
15132}
15133extern "C" {
15134    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_new_raw_public_key"]
15135    pub fn EVP_PKEY_new_raw_public_key(
15136        type_: ::std::os::raw::c_int,
15137        unused: *mut ENGINE,
15138        in_: *const u8,
15139        len: usize,
15140    ) -> *mut EVP_PKEY;
15141}
15142extern "C" {
15143    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get_raw_private_key"]
15144    pub fn EVP_PKEY_get_raw_private_key(
15145        pkey: *const EVP_PKEY,
15146        out: *mut u8,
15147        out_len: *mut usize,
15148    ) -> ::std::os::raw::c_int;
15149}
15150extern "C" {
15151    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get_raw_public_key"]
15152    pub fn EVP_PKEY_get_raw_public_key(
15153        pkey: *const EVP_PKEY,
15154        out: *mut u8,
15155        out_len: *mut usize,
15156    ) -> ::std::os::raw::c_int;
15157}
15158extern "C" {
15159    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestSignInit"]
15160    pub fn EVP_DigestSignInit(
15161        ctx: *mut EVP_MD_CTX,
15162        pctx: *mut *mut EVP_PKEY_CTX,
15163        type_: *const EVP_MD,
15164        e: *mut ENGINE,
15165        pkey: *mut EVP_PKEY,
15166    ) -> ::std::os::raw::c_int;
15167}
15168extern "C" {
15169    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestSignUpdate"]
15170    pub fn EVP_DigestSignUpdate(
15171        ctx: *mut EVP_MD_CTX,
15172        data: *const ::std::os::raw::c_void,
15173        len: usize,
15174    ) -> ::std::os::raw::c_int;
15175}
15176extern "C" {
15177    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestSignFinal"]
15178    pub fn EVP_DigestSignFinal(
15179        ctx: *mut EVP_MD_CTX,
15180        out_sig: *mut u8,
15181        out_sig_len: *mut usize,
15182    ) -> ::std::os::raw::c_int;
15183}
15184extern "C" {
15185    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestSign"]
15186    pub fn EVP_DigestSign(
15187        ctx: *mut EVP_MD_CTX,
15188        out_sig: *mut u8,
15189        out_sig_len: *mut usize,
15190        data: *const u8,
15191        data_len: usize,
15192    ) -> ::std::os::raw::c_int;
15193}
15194extern "C" {
15195    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestVerifyInit"]
15196    pub fn EVP_DigestVerifyInit(
15197        ctx: *mut EVP_MD_CTX,
15198        pctx: *mut *mut EVP_PKEY_CTX,
15199        type_: *const EVP_MD,
15200        e: *mut ENGINE,
15201        pkey: *mut EVP_PKEY,
15202    ) -> ::std::os::raw::c_int;
15203}
15204extern "C" {
15205    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestVerifyUpdate"]
15206    pub fn EVP_DigestVerifyUpdate(
15207        ctx: *mut EVP_MD_CTX,
15208        data: *const ::std::os::raw::c_void,
15209        len: usize,
15210    ) -> ::std::os::raw::c_int;
15211}
15212extern "C" {
15213    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestVerifyFinal"]
15214    pub fn EVP_DigestVerifyFinal(
15215        ctx: *mut EVP_MD_CTX,
15216        sig: *const u8,
15217        sig_len: usize,
15218    ) -> ::std::os::raw::c_int;
15219}
15220extern "C" {
15221    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_DigestVerify"]
15222    pub fn EVP_DigestVerify(
15223        ctx: *mut EVP_MD_CTX,
15224        sig: *const u8,
15225        sig_len: usize,
15226        data: *const u8,
15227        len: usize,
15228    ) -> ::std::os::raw::c_int;
15229}
15230extern "C" {
15231    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_SignInit_ex"]
15232    pub fn EVP_SignInit_ex(
15233        ctx: *mut EVP_MD_CTX,
15234        type_: *const EVP_MD,
15235        impl_: *mut ENGINE,
15236    ) -> ::std::os::raw::c_int;
15237}
15238extern "C" {
15239    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_SignInit"]
15240    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
15241}
15242extern "C" {
15243    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_SignUpdate"]
15244    pub fn EVP_SignUpdate(
15245        ctx: *mut EVP_MD_CTX,
15246        data: *const ::std::os::raw::c_void,
15247        len: usize,
15248    ) -> ::std::os::raw::c_int;
15249}
15250extern "C" {
15251    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_SignFinal"]
15252    pub fn EVP_SignFinal(
15253        ctx: *const EVP_MD_CTX,
15254        sig: *mut u8,
15255        out_sig_len: *mut ::std::os::raw::c_uint,
15256        pkey: *mut EVP_PKEY,
15257    ) -> ::std::os::raw::c_int;
15258}
15259extern "C" {
15260    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_VerifyInit_ex"]
15261    pub fn EVP_VerifyInit_ex(
15262        ctx: *mut EVP_MD_CTX,
15263        type_: *const EVP_MD,
15264        impl_: *mut ENGINE,
15265    ) -> ::std::os::raw::c_int;
15266}
15267extern "C" {
15268    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_VerifyInit"]
15269    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
15270}
15271extern "C" {
15272    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_VerifyUpdate"]
15273    pub fn EVP_VerifyUpdate(
15274        ctx: *mut EVP_MD_CTX,
15275        data: *const ::std::os::raw::c_void,
15276        len: usize,
15277    ) -> ::std::os::raw::c_int;
15278}
15279extern "C" {
15280    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_VerifyFinal"]
15281    pub fn EVP_VerifyFinal(
15282        ctx: *mut EVP_MD_CTX,
15283        sig: *const u8,
15284        sig_len: usize,
15285        pkey: *mut EVP_PKEY,
15286    ) -> ::std::os::raw::c_int;
15287}
15288extern "C" {
15289    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_print_public"]
15290    pub fn EVP_PKEY_print_public(
15291        out: *mut BIO,
15292        pkey: *const EVP_PKEY,
15293        indent: ::std::os::raw::c_int,
15294        pctx: *mut ASN1_PCTX,
15295    ) -> ::std::os::raw::c_int;
15296}
15297extern "C" {
15298    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_print_private"]
15299    pub fn EVP_PKEY_print_private(
15300        out: *mut BIO,
15301        pkey: *const EVP_PKEY,
15302        indent: ::std::os::raw::c_int,
15303        pctx: *mut ASN1_PCTX,
15304    ) -> ::std::os::raw::c_int;
15305}
15306extern "C" {
15307    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_print_params"]
15308    pub fn EVP_PKEY_print_params(
15309        out: *mut BIO,
15310        pkey: *const EVP_PKEY,
15311        indent: ::std::os::raw::c_int,
15312        pctx: *mut ASN1_PCTX,
15313    ) -> ::std::os::raw::c_int;
15314}
15315extern "C" {
15316    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS5_PBKDF2_HMAC"]
15317    pub fn PKCS5_PBKDF2_HMAC(
15318        password: *const ::std::os::raw::c_char,
15319        password_len: usize,
15320        salt: *const u8,
15321        salt_len: usize,
15322        iterations: u32,
15323        digest: *const EVP_MD,
15324        key_len: usize,
15325        out_key: *mut u8,
15326    ) -> ::std::os::raw::c_int;
15327}
15328extern "C" {
15329    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS5_PBKDF2_HMAC_SHA1"]
15330    pub fn PKCS5_PBKDF2_HMAC_SHA1(
15331        password: *const ::std::os::raw::c_char,
15332        password_len: usize,
15333        salt: *const u8,
15334        salt_len: usize,
15335        iterations: u32,
15336        key_len: usize,
15337        out_key: *mut u8,
15338    ) -> ::std::os::raw::c_int;
15339}
15340extern "C" {
15341    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PBE_scrypt"]
15342    pub fn EVP_PBE_scrypt(
15343        password: *const ::std::os::raw::c_char,
15344        password_len: usize,
15345        salt: *const u8,
15346        salt_len: usize,
15347        N: u64,
15348        r: u64,
15349        p: u64,
15350        max_mem: usize,
15351        out_key: *mut u8,
15352        key_len: usize,
15353    ) -> ::std::os::raw::c_int;
15354}
15355extern "C" {
15356    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_new"]
15357    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
15358}
15359extern "C" {
15360    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_new_id"]
15361    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
15362}
15363extern "C" {
15364    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_free"]
15365    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
15366}
15367extern "C" {
15368    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_dup"]
15369    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
15370}
15371extern "C" {
15372    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get0_pkey"]
15373    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
15374}
15375extern "C" {
15376    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_sign_init"]
15377    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15378}
15379extern "C" {
15380    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_sign"]
15381    pub fn EVP_PKEY_sign(
15382        ctx: *mut EVP_PKEY_CTX,
15383        sig: *mut u8,
15384        sig_len: *mut usize,
15385        digest: *const u8,
15386        digest_len: usize,
15387    ) -> ::std::os::raw::c_int;
15388}
15389extern "C" {
15390    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_verify_init"]
15391    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15392}
15393extern "C" {
15394    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_verify"]
15395    pub fn EVP_PKEY_verify(
15396        ctx: *mut EVP_PKEY_CTX,
15397        sig: *const u8,
15398        sig_len: usize,
15399        digest: *const u8,
15400        digest_len: usize,
15401    ) -> ::std::os::raw::c_int;
15402}
15403extern "C" {
15404    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_encrypt_init"]
15405    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15406}
15407extern "C" {
15408    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_encrypt"]
15409    pub fn EVP_PKEY_encrypt(
15410        ctx: *mut EVP_PKEY_CTX,
15411        out: *mut u8,
15412        out_len: *mut usize,
15413        in_: *const u8,
15414        in_len: usize,
15415    ) -> ::std::os::raw::c_int;
15416}
15417extern "C" {
15418    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_decrypt_init"]
15419    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15420}
15421extern "C" {
15422    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_decrypt"]
15423    pub fn EVP_PKEY_decrypt(
15424        ctx: *mut EVP_PKEY_CTX,
15425        out: *mut u8,
15426        out_len: *mut usize,
15427        in_: *const u8,
15428        in_len: usize,
15429    ) -> ::std::os::raw::c_int;
15430}
15431extern "C" {
15432    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_verify_recover_init"]
15433    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15434}
15435extern "C" {
15436    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_verify_recover"]
15437    pub fn EVP_PKEY_verify_recover(
15438        ctx: *mut EVP_PKEY_CTX,
15439        out: *mut u8,
15440        out_len: *mut usize,
15441        sig: *const u8,
15442        siglen: usize,
15443    ) -> ::std::os::raw::c_int;
15444}
15445extern "C" {
15446    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_derive_init"]
15447    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15448}
15449extern "C" {
15450    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_derive_set_peer"]
15451    pub fn EVP_PKEY_derive_set_peer(
15452        ctx: *mut EVP_PKEY_CTX,
15453        peer: *mut EVP_PKEY,
15454    ) -> ::std::os::raw::c_int;
15455}
15456extern "C" {
15457    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_derive"]
15458    pub fn EVP_PKEY_derive(
15459        ctx: *mut EVP_PKEY_CTX,
15460        key: *mut u8,
15461        out_key_len: *mut usize,
15462    ) -> ::std::os::raw::c_int;
15463}
15464extern "C" {
15465    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_keygen_init"]
15466    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15467}
15468extern "C" {
15469    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_keygen"]
15470    pub fn EVP_PKEY_keygen(
15471        ctx: *mut EVP_PKEY_CTX,
15472        out_pkey: *mut *mut EVP_PKEY,
15473    ) -> ::std::os::raw::c_int;
15474}
15475extern "C" {
15476    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_encapsulate"]
15477    pub fn EVP_PKEY_encapsulate(
15478        ctx: *mut EVP_PKEY_CTX,
15479        ciphertext: *mut u8,
15480        ciphertext_len: *mut usize,
15481        shared_secret: *mut u8,
15482        shared_secret_len: *mut usize,
15483    ) -> ::std::os::raw::c_int;
15484}
15485extern "C" {
15486    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_decapsulate"]
15487    pub fn EVP_PKEY_decapsulate(
15488        ctx: *mut EVP_PKEY_CTX,
15489        shared_secret: *mut u8,
15490        shared_secret_len: *mut usize,
15491        ciphertext: *const u8,
15492        ciphertext_len: usize,
15493    ) -> ::std::os::raw::c_int;
15494}
15495extern "C" {
15496    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_paramgen_init"]
15497    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
15498}
15499extern "C" {
15500    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_paramgen"]
15501    pub fn EVP_PKEY_paramgen(
15502        ctx: *mut EVP_PKEY_CTX,
15503        out_pkey: *mut *mut EVP_PKEY,
15504    ) -> ::std::os::raw::c_int;
15505}
15506extern "C" {
15507    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_signature_md"]
15508    pub fn EVP_PKEY_CTX_set_signature_md(
15509        ctx: *mut EVP_PKEY_CTX,
15510        md: *const EVP_MD,
15511    ) -> ::std::os::raw::c_int;
15512}
15513extern "C" {
15514    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_signature_md"]
15515    pub fn EVP_PKEY_CTX_get_signature_md(
15516        ctx: *mut EVP_PKEY_CTX,
15517        out_md: *mut *const EVP_MD,
15518    ) -> ::std::os::raw::c_int;
15519}
15520extern "C" {
15521    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_padding"]
15522    pub fn EVP_PKEY_CTX_set_rsa_padding(
15523        ctx: *mut EVP_PKEY_CTX,
15524        padding: ::std::os::raw::c_int,
15525    ) -> ::std::os::raw::c_int;
15526}
15527extern "C" {
15528    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_rsa_padding"]
15529    pub fn EVP_PKEY_CTX_get_rsa_padding(
15530        ctx: *mut EVP_PKEY_CTX,
15531        out_padding: *mut ::std::os::raw::c_int,
15532    ) -> ::std::os::raw::c_int;
15533}
15534extern "C" {
15535    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
15536    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
15537        ctx: *mut EVP_PKEY_CTX,
15538        salt_len: ::std::os::raw::c_int,
15539    ) -> ::std::os::raw::c_int;
15540}
15541extern "C" {
15542    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
15543    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
15544        ctx: *mut EVP_PKEY_CTX,
15545        out_salt_len: *mut ::std::os::raw::c_int,
15546    ) -> ::std::os::raw::c_int;
15547}
15548extern "C" {
15549    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_keygen_bits"]
15550    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
15551        ctx: *mut EVP_PKEY_CTX,
15552        bits: ::std::os::raw::c_int,
15553    ) -> ::std::os::raw::c_int;
15554}
15555extern "C" {
15556    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
15557    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
15558        ctx: *mut EVP_PKEY_CTX,
15559        e: *mut BIGNUM,
15560    ) -> ::std::os::raw::c_int;
15561}
15562extern "C" {
15563    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_oaep_md"]
15564    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
15565        ctx: *mut EVP_PKEY_CTX,
15566        md: *const EVP_MD,
15567    ) -> ::std::os::raw::c_int;
15568}
15569extern "C" {
15570    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_rsa_oaep_md"]
15571    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
15572        ctx: *mut EVP_PKEY_CTX,
15573        out_md: *mut *const EVP_MD,
15574    ) -> ::std::os::raw::c_int;
15575}
15576extern "C" {
15577    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_mgf1_md"]
15578    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
15579        ctx: *mut EVP_PKEY_CTX,
15580        md: *const EVP_MD,
15581    ) -> ::std::os::raw::c_int;
15582}
15583extern "C" {
15584    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_rsa_mgf1_md"]
15585    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
15586        ctx: *mut EVP_PKEY_CTX,
15587        out_md: *mut *const EVP_MD,
15588    ) -> ::std::os::raw::c_int;
15589}
15590extern "C" {
15591    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set0_rsa_oaep_label"]
15592    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
15593        ctx: *mut EVP_PKEY_CTX,
15594        label: *mut u8,
15595        label_len: usize,
15596    ) -> ::std::os::raw::c_int;
15597}
15598extern "C" {
15599    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get0_rsa_oaep_label"]
15600    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
15601        ctx: *mut EVP_PKEY_CTX,
15602        out_label: *mut *const u8,
15603    ) -> ::std::os::raw::c_int;
15604}
15605extern "C" {
15606    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
15607    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
15608        ctx: *mut EVP_PKEY_CTX,
15609        nid: ::std::os::raw::c_int,
15610    ) -> ::std::os::raw::c_int;
15611}
15612extern "C" {
15613    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_kem_set_params"]
15614    pub fn EVP_PKEY_CTX_kem_set_params(
15615        ctx: *mut EVP_PKEY_CTX,
15616        nid: ::std::os::raw::c_int,
15617    ) -> ::std::os::raw::c_int;
15618}
15619extern "C" {
15620    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_kem_new_raw_public_key"]
15621    pub fn EVP_PKEY_kem_new_raw_public_key(
15622        nid: ::std::os::raw::c_int,
15623        in_: *const u8,
15624        len: usize,
15625    ) -> *mut EVP_PKEY;
15626}
15627extern "C" {
15628    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_kem_new_raw_secret_key"]
15629    pub fn EVP_PKEY_kem_new_raw_secret_key(
15630        nid: ::std::os::raw::c_int,
15631        in_: *const u8,
15632        len: usize,
15633    ) -> *mut EVP_PKEY;
15634}
15635extern "C" {
15636    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_kem_new_raw_key"]
15637    pub fn EVP_PKEY_kem_new_raw_key(
15638        nid: ::std::os::raw::c_int,
15639        in_public: *const u8,
15640        len_public: usize,
15641        in_secret: *const u8,
15642        len_secret: usize,
15643    ) -> *mut EVP_PKEY;
15644}
15645extern "C" {
15646    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_kem_check_key"]
15647    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
15648}
15649extern "C" {
15650    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_dh_pad"]
15651    pub fn EVP_PKEY_CTX_set_dh_pad(
15652        ctx: *mut EVP_PKEY_CTX,
15653        pad: ::std::os::raw::c_int,
15654    ) -> ::std::os::raw::c_int;
15655}
15656extern "C" {
15657    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_asn1_get_count"]
15658    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
15659}
15660extern "C" {
15661    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_asn1_get0"]
15662    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
15663}
15664extern "C" {
15665    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_asn1_find"]
15666    pub fn EVP_PKEY_asn1_find(
15667        _pe: *mut *mut ENGINE,
15668        type_: ::std::os::raw::c_int,
15669    ) -> *const EVP_PKEY_ASN1_METHOD;
15670}
15671extern "C" {
15672    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_asn1_find_str"]
15673    pub fn EVP_PKEY_asn1_find_str(
15674        _pe: *mut *mut ENGINE,
15675        name: *const ::std::os::raw::c_char,
15676        len: ::std::os::raw::c_int,
15677    ) -> *const EVP_PKEY_ASN1_METHOD;
15678}
15679extern "C" {
15680    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_asn1_get0_info"]
15681    pub fn EVP_PKEY_asn1_get0_info(
15682        ppkey_id: *mut ::std::os::raw::c_int,
15683        pkey_base_id: *mut ::std::os::raw::c_int,
15684        ppkey_flags: *mut ::std::os::raw::c_int,
15685        pinfo: *mut *const ::std::os::raw::c_char,
15686        ppem_str: *mut *const ::std::os::raw::c_char,
15687        ameth: *const EVP_PKEY_ASN1_METHOD,
15688    ) -> ::std::os::raw::c_int;
15689}
15690extern "C" {
15691    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_get_pkey_type"]
15692    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
15693}
15694extern "C" {
15695    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_pkey_type"]
15696    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
15697}
15698extern "C" {
15699    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_CIPHER_do_all_sorted"]
15700    pub fn EVP_CIPHER_do_all_sorted(
15701        callback: ::std::option::Option<
15702            unsafe extern "C" fn(
15703                cipher: *const EVP_CIPHER,
15704                name: *const ::std::os::raw::c_char,
15705                unused: *const ::std::os::raw::c_char,
15706                arg: *mut ::std::os::raw::c_void,
15707            ),
15708        >,
15709        arg: *mut ::std::os::raw::c_void,
15710    );
15711}
15712extern "C" {
15713    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_do_all_sorted"]
15714    pub fn EVP_MD_do_all_sorted(
15715        callback: ::std::option::Option<
15716            unsafe extern "C" fn(
15717                cipher: *const EVP_MD,
15718                name: *const ::std::os::raw::c_char,
15719                unused: *const ::std::os::raw::c_char,
15720                arg: *mut ::std::os::raw::c_void,
15721            ),
15722        >,
15723        arg: *mut ::std::os::raw::c_void,
15724    );
15725}
15726extern "C" {
15727    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_MD_do_all"]
15728    pub fn EVP_MD_do_all(
15729        callback: ::std::option::Option<
15730            unsafe extern "C" fn(
15731                cipher: *const EVP_MD,
15732                name: *const ::std::os::raw::c_char,
15733                unused: *const ::std::os::raw::c_char,
15734                arg: *mut ::std::os::raw::c_void,
15735            ),
15736        >,
15737        arg: *mut ::std::os::raw::c_void,
15738    );
15739}
15740extern "C" {
15741    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PrivateKey"]
15742    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15743}
15744extern "C" {
15745    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PublicKey"]
15746    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15747}
15748extern "C" {
15749    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PrivateKey"]
15750    pub fn d2i_PrivateKey(
15751        type_: ::std::os::raw::c_int,
15752        out: *mut *mut EVP_PKEY,
15753        inp: *mut *const u8,
15754        len: ::std::os::raw::c_long,
15755    ) -> *mut EVP_PKEY;
15756}
15757extern "C" {
15758    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_AutoPrivateKey"]
15759    pub fn d2i_AutoPrivateKey(
15760        out: *mut *mut EVP_PKEY,
15761        inp: *mut *const u8,
15762        len: ::std::os::raw::c_long,
15763    ) -> *mut EVP_PKEY;
15764}
15765extern "C" {
15766    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PublicKey"]
15767    pub fn d2i_PublicKey(
15768        type_: ::std::os::raw::c_int,
15769        out: *mut *mut EVP_PKEY,
15770        inp: *mut *const u8,
15771        len: ::std::os::raw::c_long,
15772    ) -> *mut EVP_PKEY;
15773}
15774extern "C" {
15775    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_ec_param_enc"]
15776    pub fn EVP_PKEY_CTX_set_ec_param_enc(
15777        ctx: *mut EVP_PKEY_CTX,
15778        encoding: ::std::os::raw::c_int,
15779    ) -> ::std::os::raw::c_int;
15780}
15781extern "C" {
15782    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_set1_tls_encodedpoint"]
15783    pub fn EVP_PKEY_set1_tls_encodedpoint(
15784        pkey: *mut EVP_PKEY,
15785        in_: *const u8,
15786        len: usize,
15787    ) -> ::std::os::raw::c_int;
15788}
15789extern "C" {
15790    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get1_tls_encodedpoint"]
15791    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
15792}
15793extern "C" {
15794    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_base_id"]
15795    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
15796}
15797extern "C" {
15798    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
15799    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
15800        ctx: *mut EVP_PKEY_CTX,
15801        md: *const EVP_MD,
15802    ) -> ::std::os::raw::c_int;
15803}
15804extern "C" {
15805    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
15806    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
15807        ctx: *mut EVP_PKEY_CTX,
15808        salt_len: ::std::os::raw::c_int,
15809    ) -> ::std::os::raw::c_int;
15810}
15811extern "C" {
15812    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
15813    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
15814        ctx: *mut EVP_PKEY_CTX,
15815        md: *const EVP_MD,
15816    ) -> ::std::os::raw::c_int;
15817}
15818extern "C" {
15819    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PUBKEY"]
15820    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15821}
15822extern "C" {
15823    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PUBKEY"]
15824    pub fn d2i_PUBKEY(
15825        out: *mut *mut EVP_PKEY,
15826        inp: *mut *const u8,
15827        len: ::std::os::raw::c_long,
15828    ) -> *mut EVP_PKEY;
15829}
15830extern "C" {
15831    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSA_PUBKEY"]
15832    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15833}
15834extern "C" {
15835    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSA_PUBKEY"]
15836    pub fn d2i_RSA_PUBKEY(
15837        out: *mut *mut RSA,
15838        inp: *mut *const u8,
15839        len: ::std::os::raw::c_long,
15840    ) -> *mut RSA;
15841}
15842extern "C" {
15843    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSA_PUBKEY"]
15844    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15845}
15846extern "C" {
15847    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSA_PUBKEY"]
15848    pub fn d2i_DSA_PUBKEY(
15849        out: *mut *mut DSA,
15850        inp: *mut *const u8,
15851        len: ::std::os::raw::c_long,
15852    ) -> *mut DSA;
15853}
15854extern "C" {
15855    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_EC_PUBKEY"]
15856    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15857}
15858extern "C" {
15859    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_EC_PUBKEY"]
15860    pub fn d2i_EC_PUBKEY(
15861        out: *mut *mut EC_KEY,
15862        inp: *mut *const u8,
15863        len: ::std::os::raw::c_long,
15864    ) -> *mut EC_KEY;
15865}
15866extern "C" {
15867    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_assign"]
15868    pub fn EVP_PKEY_assign(
15869        pkey: *mut EVP_PKEY,
15870        type_: ::std::os::raw::c_int,
15871        key: *mut ::std::os::raw::c_void,
15872    ) -> ::std::os::raw::c_int;
15873}
15874extern "C" {
15875    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_new_mac_key"]
15876    pub fn EVP_PKEY_new_mac_key(
15877        type_: ::std::os::raw::c_int,
15878        engine: *mut ENGINE,
15879        mac_key: *const u8,
15880        mac_key_len: usize,
15881    ) -> *mut EVP_PKEY;
15882}
15883extern "C" {
15884    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_get0"]
15885    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
15886}
15887extern "C" {
15888    #[link_name = "\u{1}aws_lc_fips_0_13_14_OpenSSL_add_all_algorithms"]
15889    pub fn OpenSSL_add_all_algorithms();
15890}
15891extern "C" {
15892    #[link_name = "\u{1}aws_lc_fips_0_13_14_OPENSSL_add_all_algorithms_conf"]
15893    pub fn OPENSSL_add_all_algorithms_conf();
15894}
15895extern "C" {
15896    #[link_name = "\u{1}aws_lc_fips_0_13_14_OpenSSL_add_all_ciphers"]
15897    pub fn OpenSSL_add_all_ciphers();
15898}
15899extern "C" {
15900    #[link_name = "\u{1}aws_lc_fips_0_13_14_OpenSSL_add_all_digests"]
15901    pub fn OpenSSL_add_all_digests();
15902}
15903extern "C" {
15904    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_cleanup"]
15905    pub fn EVP_cleanup();
15906}
15907extern "C" {
15908    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
15909    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
15910        ctx: *mut EVP_PKEY_CTX,
15911        nbits: ::std::os::raw::c_int,
15912    ) -> ::std::os::raw::c_int;
15913}
15914extern "C" {
15915    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
15916    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
15917        ctx: *mut EVP_PKEY_CTX,
15918        qbits: ::std::os::raw::c_int,
15919    ) -> ::std::os::raw::c_int;
15920}
15921extern "C" {
15922    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_ctrl_str"]
15923    pub fn EVP_PKEY_CTX_ctrl_str(
15924        ctx: *mut EVP_PKEY_CTX,
15925        type_: *const ::std::os::raw::c_char,
15926        value: *const ::std::os::raw::c_char,
15927    ) -> ::std::os::raw::c_int;
15928}
15929pub type EVP_PKEY_gen_cb =
15930    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
15931extern "C" {
15932    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_cb"]
15933    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
15934}
15935extern "C" {
15936    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_app_data"]
15937    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
15938}
15939extern "C" {
15940    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_app_data"]
15941    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
15942}
15943extern "C" {
15944    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_get_keygen_info"]
15945    pub fn EVP_PKEY_CTX_get_keygen_info(
15946        ctx: *mut EVP_PKEY_CTX,
15947        idx: ::std::os::raw::c_int,
15948    ) -> ::std::os::raw::c_int;
15949}
15950extern "C" {
15951    #[link_name = "\u{1}aws_lc_fips_0_13_14_HKDF"]
15952    pub fn HKDF(
15953        out_key: *mut u8,
15954        out_len: usize,
15955        digest: *const EVP_MD,
15956        secret: *const u8,
15957        secret_len: usize,
15958        salt: *const u8,
15959        salt_len: usize,
15960        info: *const u8,
15961        info_len: usize,
15962    ) -> ::std::os::raw::c_int;
15963}
15964extern "C" {
15965    #[link_name = "\u{1}aws_lc_fips_0_13_14_HKDF_extract"]
15966    pub fn HKDF_extract(
15967        out_key: *mut u8,
15968        out_len: *mut usize,
15969        digest: *const EVP_MD,
15970        secret: *const u8,
15971        secret_len: usize,
15972        salt: *const u8,
15973        salt_len: usize,
15974    ) -> ::std::os::raw::c_int;
15975}
15976extern "C" {
15977    #[link_name = "\u{1}aws_lc_fips_0_13_14_HKDF_expand"]
15978    pub fn HKDF_expand(
15979        out_key: *mut u8,
15980        out_len: usize,
15981        digest: *const EVP_MD,
15982        prk: *const u8,
15983        prk_len: usize,
15984        info: *const u8,
15985        info_len: usize,
15986    ) -> ::std::os::raw::c_int;
15987}
15988extern "C" {
15989    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD5_Init"]
15990    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
15991}
15992extern "C" {
15993    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD5_Update"]
15994    pub fn MD5_Update(
15995        md5: *mut MD5_CTX,
15996        data: *const ::std::os::raw::c_void,
15997        len: usize,
15998    ) -> ::std::os::raw::c_int;
15999}
16000extern "C" {
16001    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD5_Final"]
16002    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
16003}
16004extern "C" {
16005    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD5"]
16006    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
16007}
16008extern "C" {
16009    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD5_Transform"]
16010    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
16011}
16012#[repr(C)]
16013#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16014pub struct md5_state_st {
16015    pub h: [u32; 4usize],
16016    pub Nl: u32,
16017    pub Nh: u32,
16018    pub data: [u8; 64usize],
16019    pub num: ::std::os::raw::c_uint,
16020}
16021#[test]
16022fn bindgen_test_layout_md5_state_st() {
16023    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
16024    let ptr = UNINIT.as_ptr();
16025    assert_eq!(
16026        ::std::mem::size_of::<md5_state_st>(),
16027        92usize,
16028        "Size of md5_state_st"
16029    );
16030    assert_eq!(
16031        ::std::mem::align_of::<md5_state_st>(),
16032        4usize,
16033        "Alignment of md5_state_st"
16034    );
16035    assert_eq!(
16036        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
16037        0usize,
16038        "Offset of field: md5_state_st::h"
16039    );
16040    assert_eq!(
16041        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
16042        16usize,
16043        "Offset of field: md5_state_st::Nl"
16044    );
16045    assert_eq!(
16046        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
16047        20usize,
16048        "Offset of field: md5_state_st::Nh"
16049    );
16050    assert_eq!(
16051        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16052        24usize,
16053        "Offset of field: md5_state_st::data"
16054    );
16055    assert_eq!(
16056        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
16057        88usize,
16058        "Offset of field: md5_state_st::num"
16059    );
16060}
16061impl Default for md5_state_st {
16062    fn default() -> Self {
16063        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16064        unsafe {
16065            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16066            s.assume_init()
16067        }
16068    }
16069}
16070extern "C" {
16071    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC"]
16072    pub fn HMAC(
16073        evp_md: *const EVP_MD,
16074        key: *const ::std::os::raw::c_void,
16075        key_len: usize,
16076        data: *const u8,
16077        data_len: usize,
16078        out: *mut u8,
16079        out_len: *mut ::std::os::raw::c_uint,
16080    ) -> *mut u8;
16081}
16082extern "C" {
16083    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_init"]
16084    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
16085}
16086extern "C" {
16087    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_new"]
16088    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
16089}
16090extern "C" {
16091    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_cleanup"]
16092    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
16093}
16094extern "C" {
16095    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_cleanse"]
16096    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
16097}
16098extern "C" {
16099    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_free"]
16100    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
16101}
16102extern "C" {
16103    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_Init_ex"]
16104    pub fn HMAC_Init_ex(
16105        ctx: *mut HMAC_CTX,
16106        key: *const ::std::os::raw::c_void,
16107        key_len: usize,
16108        md: *const EVP_MD,
16109        impl_: *mut ENGINE,
16110    ) -> ::std::os::raw::c_int;
16111}
16112extern "C" {
16113    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_Update"]
16114    pub fn HMAC_Update(
16115        ctx: *mut HMAC_CTX,
16116        data: *const u8,
16117        data_len: usize,
16118    ) -> ::std::os::raw::c_int;
16119}
16120extern "C" {
16121    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_Final"]
16122    pub fn HMAC_Final(
16123        ctx: *mut HMAC_CTX,
16124        out: *mut u8,
16125        out_len: *mut ::std::os::raw::c_uint,
16126    ) -> ::std::os::raw::c_int;
16127}
16128extern "C" {
16129    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_size"]
16130    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
16131}
16132extern "C" {
16133    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_get_md"]
16134    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
16135}
16136extern "C" {
16137    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_copy_ex"]
16138    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16139}
16140extern "C" {
16141    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_reset"]
16142    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
16143}
16144extern "C" {
16145    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_set_precomputed_key_export"]
16146    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
16147}
16148extern "C" {
16149    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_get_precomputed_key"]
16150    pub fn HMAC_get_precomputed_key(
16151        ctx: *mut HMAC_CTX,
16152        out: *mut u8,
16153        out_len: *mut usize,
16154    ) -> ::std::os::raw::c_int;
16155}
16156extern "C" {
16157    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_Init_from_precomputed_key"]
16158    pub fn HMAC_Init_from_precomputed_key(
16159        ctx: *mut HMAC_CTX,
16160        precomputed_key: *const u8,
16161        precompute_key_len: usize,
16162        md: *const EVP_MD,
16163    ) -> ::std::os::raw::c_int;
16164}
16165extern "C" {
16166    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_Init"]
16167    pub fn HMAC_Init(
16168        ctx: *mut HMAC_CTX,
16169        key: *const ::std::os::raw::c_void,
16170        key_len: ::std::os::raw::c_int,
16171        md: *const EVP_MD,
16172    ) -> ::std::os::raw::c_int;
16173}
16174extern "C" {
16175    #[link_name = "\u{1}aws_lc_fips_0_13_14_HMAC_CTX_copy"]
16176    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
16177}
16178#[repr(C)]
16179#[derive(Debug, Copy, Clone)]
16180pub struct hmac_methods_st {
16181    _unused: [u8; 0],
16182}
16183pub type HmacMethods = hmac_methods_st;
16184#[repr(C)]
16185#[derive(Copy, Clone)]
16186pub union md_ctx_union {
16187    pub md5: MD5_CTX,
16188    pub sha1: SHA_CTX,
16189    pub sha256: SHA256_CTX,
16190    pub sha512: SHA512_CTX,
16191}
16192#[test]
16193fn bindgen_test_layout_md_ctx_union() {
16194    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
16195    let ptr = UNINIT.as_ptr();
16196    assert_eq!(
16197        ::std::mem::size_of::<md_ctx_union>(),
16198        216usize,
16199        "Size of md_ctx_union"
16200    );
16201    assert_eq!(
16202        ::std::mem::align_of::<md_ctx_union>(),
16203        8usize,
16204        "Alignment of md_ctx_union"
16205    );
16206    assert_eq!(
16207        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
16208        0usize,
16209        "Offset of field: md_ctx_union::md5"
16210    );
16211    assert_eq!(
16212        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
16213        0usize,
16214        "Offset of field: md_ctx_union::sha1"
16215    );
16216    assert_eq!(
16217        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
16218        0usize,
16219        "Offset of field: md_ctx_union::sha256"
16220    );
16221    assert_eq!(
16222        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
16223        0usize,
16224        "Offset of field: md_ctx_union::sha512"
16225    );
16226}
16227impl Default for md_ctx_union {
16228    fn default() -> Self {
16229        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16230        unsafe {
16231            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16232            s.assume_init()
16233        }
16234    }
16235}
16236#[repr(C)]
16237#[derive(Copy, Clone)]
16238pub struct hmac_ctx_st {
16239    pub md: *const EVP_MD,
16240    pub methods: *const HmacMethods,
16241    pub md_ctx: md_ctx_union,
16242    pub i_ctx: md_ctx_union,
16243    pub o_ctx: md_ctx_union,
16244    pub state: i8,
16245}
16246#[test]
16247fn bindgen_test_layout_hmac_ctx_st() {
16248    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
16249    let ptr = UNINIT.as_ptr();
16250    assert_eq!(
16251        ::std::mem::size_of::<hmac_ctx_st>(),
16252        672usize,
16253        "Size of hmac_ctx_st"
16254    );
16255    assert_eq!(
16256        ::std::mem::align_of::<hmac_ctx_st>(),
16257        8usize,
16258        "Alignment of hmac_ctx_st"
16259    );
16260    assert_eq!(
16261        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
16262        0usize,
16263        "Offset of field: hmac_ctx_st::md"
16264    );
16265    assert_eq!(
16266        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
16267        8usize,
16268        "Offset of field: hmac_ctx_st::methods"
16269    );
16270    assert_eq!(
16271        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
16272        16usize,
16273        "Offset of field: hmac_ctx_st::md_ctx"
16274    );
16275    assert_eq!(
16276        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
16277        232usize,
16278        "Offset of field: hmac_ctx_st::i_ctx"
16279    );
16280    assert_eq!(
16281        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
16282        448usize,
16283        "Offset of field: hmac_ctx_st::o_ctx"
16284    );
16285    assert_eq!(
16286        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
16287        664usize,
16288        "Offset of field: hmac_ctx_st::state"
16289    );
16290}
16291impl Default for hmac_ctx_st {
16292    fn default() -> Self {
16293        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16294        unsafe {
16295            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16296            s.assume_init()
16297        }
16298    }
16299}
16300extern "C" {
16301    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_hpke_x25519_hkdf_sha256"]
16302    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
16303}
16304extern "C" {
16305    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEM_id"]
16306    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
16307}
16308extern "C" {
16309    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEM_public_key_len"]
16310    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16311}
16312extern "C" {
16313    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEM_private_key_len"]
16314    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
16315}
16316extern "C" {
16317    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEM_enc_len"]
16318    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
16319}
16320extern "C" {
16321    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_hpke_hkdf_sha256"]
16322    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
16323}
16324extern "C" {
16325    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KDF_id"]
16326    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
16327}
16328extern "C" {
16329    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KDF_hkdf_md"]
16330    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
16331}
16332extern "C" {
16333    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_hpke_aes_128_gcm"]
16334    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
16335}
16336extern "C" {
16337    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_hpke_aes_256_gcm"]
16338    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
16339}
16340extern "C" {
16341    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_hpke_chacha20_poly1305"]
16342    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
16343}
16344extern "C" {
16345    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_AEAD_id"]
16346    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
16347}
16348extern "C" {
16349    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_AEAD_aead"]
16350    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
16351}
16352extern "C" {
16353    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_zero"]
16354    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
16355}
16356extern "C" {
16357    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_cleanup"]
16358    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
16359}
16360extern "C" {
16361    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_new"]
16362    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
16363}
16364extern "C" {
16365    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_free"]
16366    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
16367}
16368extern "C" {
16369    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_copy"]
16370    pub fn EVP_HPKE_KEY_copy(
16371        dst: *mut EVP_HPKE_KEY,
16372        src: *const EVP_HPKE_KEY,
16373    ) -> ::std::os::raw::c_int;
16374}
16375extern "C" {
16376    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_move"]
16377    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
16378}
16379extern "C" {
16380    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_init"]
16381    pub fn EVP_HPKE_KEY_init(
16382        key: *mut EVP_HPKE_KEY,
16383        kem: *const EVP_HPKE_KEM,
16384        priv_key: *const u8,
16385        priv_key_len: usize,
16386    ) -> ::std::os::raw::c_int;
16387}
16388extern "C" {
16389    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_generate"]
16390    pub fn EVP_HPKE_KEY_generate(
16391        key: *mut EVP_HPKE_KEY,
16392        kem: *const EVP_HPKE_KEM,
16393    ) -> ::std::os::raw::c_int;
16394}
16395extern "C" {
16396    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_kem"]
16397    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
16398}
16399extern "C" {
16400    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_public_key"]
16401    pub fn EVP_HPKE_KEY_public_key(
16402        key: *const EVP_HPKE_KEY,
16403        out: *mut u8,
16404        out_len: *mut usize,
16405        max_out: usize,
16406    ) -> ::std::os::raw::c_int;
16407}
16408extern "C" {
16409    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_KEY_private_key"]
16410    pub fn EVP_HPKE_KEY_private_key(
16411        key: *const EVP_HPKE_KEY,
16412        out: *mut u8,
16413        out_len: *mut usize,
16414        max_out: usize,
16415    ) -> ::std::os::raw::c_int;
16416}
16417extern "C" {
16418    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_zero"]
16419    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
16420}
16421extern "C" {
16422    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_cleanup"]
16423    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
16424}
16425extern "C" {
16426    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_new"]
16427    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
16428}
16429extern "C" {
16430    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_free"]
16431    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
16432}
16433extern "C" {
16434    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_sender"]
16435    pub fn EVP_HPKE_CTX_setup_sender(
16436        ctx: *mut EVP_HPKE_CTX,
16437        out_enc: *mut u8,
16438        out_enc_len: *mut usize,
16439        max_enc: usize,
16440        kem: *const EVP_HPKE_KEM,
16441        kdf: *const EVP_HPKE_KDF,
16442        aead: *const EVP_HPKE_AEAD,
16443        peer_public_key: *const u8,
16444        peer_public_key_len: usize,
16445        info: *const u8,
16446        info_len: usize,
16447    ) -> ::std::os::raw::c_int;
16448}
16449extern "C" {
16450    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
16451    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
16452        ctx: *mut EVP_HPKE_CTX,
16453        out_enc: *mut u8,
16454        out_enc_len: *mut usize,
16455        max_enc: usize,
16456        kem: *const EVP_HPKE_KEM,
16457        kdf: *const EVP_HPKE_KDF,
16458        aead: *const EVP_HPKE_AEAD,
16459        peer_public_key: *const u8,
16460        peer_public_key_len: usize,
16461        info: *const u8,
16462        info_len: usize,
16463        seed: *const u8,
16464        seed_len: usize,
16465    ) -> ::std::os::raw::c_int;
16466}
16467extern "C" {
16468    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_recipient"]
16469    pub fn EVP_HPKE_CTX_setup_recipient(
16470        ctx: *mut EVP_HPKE_CTX,
16471        key: *const EVP_HPKE_KEY,
16472        kdf: *const EVP_HPKE_KDF,
16473        aead: *const EVP_HPKE_AEAD,
16474        enc: *const u8,
16475        enc_len: usize,
16476        info: *const u8,
16477        info_len: usize,
16478    ) -> ::std::os::raw::c_int;
16479}
16480extern "C" {
16481    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_auth_sender"]
16482    pub fn EVP_HPKE_CTX_setup_auth_sender(
16483        ctx: *mut EVP_HPKE_CTX,
16484        out_enc: *mut u8,
16485        out_enc_len: *mut usize,
16486        max_enc: usize,
16487        key: *const EVP_HPKE_KEY,
16488        kdf: *const EVP_HPKE_KDF,
16489        aead: *const EVP_HPKE_AEAD,
16490        peer_public_key: *const u8,
16491        peer_public_key_len: usize,
16492        info: *const u8,
16493        info_len: usize,
16494    ) -> ::std::os::raw::c_int;
16495}
16496extern "C" {
16497    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
16498    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
16499        ctx: *mut EVP_HPKE_CTX,
16500        out_enc: *mut u8,
16501        out_enc_len: *mut usize,
16502        max_enc: usize,
16503        key: *const EVP_HPKE_KEY,
16504        kdf: *const EVP_HPKE_KDF,
16505        aead: *const EVP_HPKE_AEAD,
16506        peer_public_key: *const u8,
16507        peer_public_key_len: usize,
16508        info: *const u8,
16509        info_len: usize,
16510        seed: *const u8,
16511        seed_len: usize,
16512    ) -> ::std::os::raw::c_int;
16513}
16514extern "C" {
16515    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_setup_auth_recipient"]
16516    pub fn EVP_HPKE_CTX_setup_auth_recipient(
16517        ctx: *mut EVP_HPKE_CTX,
16518        key: *const EVP_HPKE_KEY,
16519        kdf: *const EVP_HPKE_KDF,
16520        aead: *const EVP_HPKE_AEAD,
16521        enc: *const u8,
16522        enc_len: usize,
16523        info: *const u8,
16524        info_len: usize,
16525        peer_public_key: *const u8,
16526        peer_public_key_len: usize,
16527    ) -> ::std::os::raw::c_int;
16528}
16529extern "C" {
16530    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_open"]
16531    pub fn EVP_HPKE_CTX_open(
16532        ctx: *mut EVP_HPKE_CTX,
16533        out: *mut u8,
16534        out_len: *mut usize,
16535        max_out_len: usize,
16536        in_: *const u8,
16537        in_len: usize,
16538        ad: *const u8,
16539        ad_len: usize,
16540    ) -> ::std::os::raw::c_int;
16541}
16542extern "C" {
16543    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_seal"]
16544    pub fn EVP_HPKE_CTX_seal(
16545        ctx: *mut EVP_HPKE_CTX,
16546        out: *mut u8,
16547        out_len: *mut usize,
16548        max_out_len: usize,
16549        in_: *const u8,
16550        in_len: usize,
16551        ad: *const u8,
16552        ad_len: usize,
16553    ) -> ::std::os::raw::c_int;
16554}
16555extern "C" {
16556    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_export"]
16557    pub fn EVP_HPKE_CTX_export(
16558        ctx: *const EVP_HPKE_CTX,
16559        out: *mut u8,
16560        secret_len: usize,
16561        context: *const u8,
16562        context_len: usize,
16563    ) -> ::std::os::raw::c_int;
16564}
16565extern "C" {
16566    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_max_overhead"]
16567    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
16568}
16569extern "C" {
16570    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_kem"]
16571    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
16572}
16573extern "C" {
16574    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_aead"]
16575    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
16576}
16577extern "C" {
16578    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_HPKE_CTX_kdf"]
16579    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
16580}
16581#[repr(C)]
16582#[derive(Copy, Clone)]
16583pub struct evp_hpke_ctx_st {
16584    pub kem: *const EVP_HPKE_KEM,
16585    pub aead: *const EVP_HPKE_AEAD,
16586    pub kdf: *const EVP_HPKE_KDF,
16587    pub aead_ctx: EVP_AEAD_CTX,
16588    pub base_nonce: [u8; 24usize],
16589    pub exporter_secret: [u8; 64usize],
16590    pub seq: u64,
16591    pub is_sender: ::std::os::raw::c_int,
16592}
16593#[test]
16594fn bindgen_test_layout_evp_hpke_ctx_st() {
16595    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
16596    let ptr = UNINIT.as_ptr();
16597    assert_eq!(
16598        ::std::mem::size_of::<evp_hpke_ctx_st>(),
16599        712usize,
16600        "Size of evp_hpke_ctx_st"
16601    );
16602    assert_eq!(
16603        ::std::mem::align_of::<evp_hpke_ctx_st>(),
16604        8usize,
16605        "Alignment of evp_hpke_ctx_st"
16606    );
16607    assert_eq!(
16608        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
16609        0usize,
16610        "Offset of field: evp_hpke_ctx_st::kem"
16611    );
16612    assert_eq!(
16613        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
16614        8usize,
16615        "Offset of field: evp_hpke_ctx_st::aead"
16616    );
16617    assert_eq!(
16618        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
16619        16usize,
16620        "Offset of field: evp_hpke_ctx_st::kdf"
16621    );
16622    assert_eq!(
16623        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
16624        24usize,
16625        "Offset of field: evp_hpke_ctx_st::aead_ctx"
16626    );
16627    assert_eq!(
16628        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
16629        608usize,
16630        "Offset of field: evp_hpke_ctx_st::base_nonce"
16631    );
16632    assert_eq!(
16633        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
16634        632usize,
16635        "Offset of field: evp_hpke_ctx_st::exporter_secret"
16636    );
16637    assert_eq!(
16638        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
16639        696usize,
16640        "Offset of field: evp_hpke_ctx_st::seq"
16641    );
16642    assert_eq!(
16643        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
16644        704usize,
16645        "Offset of field: evp_hpke_ctx_st::is_sender"
16646    );
16647}
16648impl Default for evp_hpke_ctx_st {
16649    fn default() -> Self {
16650        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16651        unsafe {
16652            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16653            s.assume_init()
16654        }
16655    }
16656}
16657#[repr(C)]
16658#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16659pub struct evp_hpke_key_st {
16660    pub kem: *const EVP_HPKE_KEM,
16661    pub private_key: [u8; 32usize],
16662    pub public_key: [u8; 32usize],
16663}
16664#[test]
16665fn bindgen_test_layout_evp_hpke_key_st() {
16666    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
16667    let ptr = UNINIT.as_ptr();
16668    assert_eq!(
16669        ::std::mem::size_of::<evp_hpke_key_st>(),
16670        72usize,
16671        "Size of evp_hpke_key_st"
16672    );
16673    assert_eq!(
16674        ::std::mem::align_of::<evp_hpke_key_st>(),
16675        8usize,
16676        "Alignment of evp_hpke_key_st"
16677    );
16678    assert_eq!(
16679        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
16680        0usize,
16681        "Offset of field: evp_hpke_key_st::kem"
16682    );
16683    assert_eq!(
16684        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
16685        8usize,
16686        "Offset of field: evp_hpke_key_st::private_key"
16687    );
16688    assert_eq!(
16689        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
16690        40usize,
16691        "Offset of field: evp_hpke_key_st::public_key"
16692    );
16693}
16694impl Default for evp_hpke_key_st {
16695    fn default() -> Self {
16696        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16697        unsafe {
16698            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16699            s.assume_init()
16700        }
16701    }
16702}
16703#[repr(C)]
16704#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16705pub struct HRSS_private_key {
16706    pub opaque: [u8; 1808usize],
16707}
16708#[test]
16709fn bindgen_test_layout_HRSS_private_key() {
16710    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
16711    let ptr = UNINIT.as_ptr();
16712    assert_eq!(
16713        ::std::mem::size_of::<HRSS_private_key>(),
16714        1808usize,
16715        "Size of HRSS_private_key"
16716    );
16717    assert_eq!(
16718        ::std::mem::align_of::<HRSS_private_key>(),
16719        1usize,
16720        "Alignment of HRSS_private_key"
16721    );
16722    assert_eq!(
16723        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
16724        0usize,
16725        "Offset of field: HRSS_private_key::opaque"
16726    );
16727}
16728impl Default for HRSS_private_key {
16729    fn default() -> Self {
16730        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16731        unsafe {
16732            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16733            s.assume_init()
16734        }
16735    }
16736}
16737#[repr(C)]
16738#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16739pub struct HRSS_public_key {
16740    pub opaque: [u8; 1424usize],
16741}
16742#[test]
16743fn bindgen_test_layout_HRSS_public_key() {
16744    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
16745    let ptr = UNINIT.as_ptr();
16746    assert_eq!(
16747        ::std::mem::size_of::<HRSS_public_key>(),
16748        1424usize,
16749        "Size of HRSS_public_key"
16750    );
16751    assert_eq!(
16752        ::std::mem::align_of::<HRSS_public_key>(),
16753        1usize,
16754        "Alignment of HRSS_public_key"
16755    );
16756    assert_eq!(
16757        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
16758        0usize,
16759        "Offset of field: HRSS_public_key::opaque"
16760    );
16761}
16762impl Default for HRSS_public_key {
16763    fn default() -> Self {
16764        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16765        unsafe {
16766            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16767            s.assume_init()
16768        }
16769    }
16770}
16771extern "C" {
16772    #[link_name = "\u{1}aws_lc_fips_0_13_14_HRSS_generate_key"]
16773    pub fn HRSS_generate_key(
16774        out_pub: *mut HRSS_public_key,
16775        out_priv: *mut HRSS_private_key,
16776        input: *const u8,
16777    ) -> ::std::os::raw::c_int;
16778}
16779extern "C" {
16780    #[link_name = "\u{1}aws_lc_fips_0_13_14_HRSS_encap"]
16781    pub fn HRSS_encap(
16782        out_ciphertext: *mut u8,
16783        out_shared_key: *mut u8,
16784        in_pub: *const HRSS_public_key,
16785        in_: *const u8,
16786    ) -> ::std::os::raw::c_int;
16787}
16788extern "C" {
16789    #[link_name = "\u{1}aws_lc_fips_0_13_14_HRSS_decap"]
16790    pub fn HRSS_decap(
16791        out_shared_key: *mut u8,
16792        in_priv: *const HRSS_private_key,
16793        ciphertext: *const u8,
16794        ciphertext_len: usize,
16795    ) -> ::std::os::raw::c_int;
16796}
16797extern "C" {
16798    #[link_name = "\u{1}aws_lc_fips_0_13_14_HRSS_marshal_public_key"]
16799    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
16800}
16801extern "C" {
16802    #[link_name = "\u{1}aws_lc_fips_0_13_14_HRSS_parse_public_key"]
16803    pub fn HRSS_parse_public_key(
16804        out: *mut HRSS_public_key,
16805        in_: *const u8,
16806    ) -> ::std::os::raw::c_int;
16807}
16808extern "C" {
16809    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_tls1_prf"]
16810    pub fn CRYPTO_tls1_prf(
16811        digest: *const EVP_MD,
16812        out: *mut u8,
16813        out_len: usize,
16814        secret: *const u8,
16815        secret_len: usize,
16816        label: *const ::std::os::raw::c_char,
16817        label_len: usize,
16818        seed1: *const u8,
16819        seed1_len: usize,
16820        seed2: *const u8,
16821        seed2_len: usize,
16822    ) -> ::std::os::raw::c_int;
16823}
16824extern "C" {
16825    #[link_name = "\u{1}aws_lc_fips_0_13_14_SSKDF_digest"]
16826    pub fn SSKDF_digest(
16827        out_key: *mut u8,
16828        out_len: usize,
16829        digest: *const EVP_MD,
16830        secret: *const u8,
16831        secret_len: usize,
16832        info: *const u8,
16833        info_len: usize,
16834    ) -> ::std::os::raw::c_int;
16835}
16836extern "C" {
16837    #[link_name = "\u{1}aws_lc_fips_0_13_14_SSKDF_hmac"]
16838    pub fn SSKDF_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        salt: *const u8,
16847        salt_len: usize,
16848    ) -> ::std::os::raw::c_int;
16849}
16850extern "C" {
16851    #[link_name = "\u{1}aws_lc_fips_0_13_14_KBKDF_ctr_hmac"]
16852    pub fn KBKDF_ctr_hmac(
16853        out_key: *mut u8,
16854        out_len: usize,
16855        digest: *const EVP_MD,
16856        secret: *const u8,
16857        secret_len: usize,
16858        info: *const u8,
16859        info_len: usize,
16860    ) -> ::std::os::raw::c_int;
16861}
16862extern "C" {
16863    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_hkdf_mode"]
16864    pub fn EVP_PKEY_CTX_hkdf_mode(
16865        ctx: *mut EVP_PKEY_CTX,
16866        mode: ::std::os::raw::c_int,
16867    ) -> ::std::os::raw::c_int;
16868}
16869extern "C" {
16870    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set_hkdf_md"]
16871    pub fn EVP_PKEY_CTX_set_hkdf_md(
16872        ctx: *mut EVP_PKEY_CTX,
16873        md: *const EVP_MD,
16874    ) -> ::std::os::raw::c_int;
16875}
16876extern "C" {
16877    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set1_hkdf_key"]
16878    pub fn EVP_PKEY_CTX_set1_hkdf_key(
16879        ctx: *mut EVP_PKEY_CTX,
16880        key: *const u8,
16881        key_len: usize,
16882    ) -> ::std::os::raw::c_int;
16883}
16884extern "C" {
16885    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_set1_hkdf_salt"]
16886    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
16887        ctx: *mut EVP_PKEY_CTX,
16888        salt: *const u8,
16889        salt_len: usize,
16890    ) -> ::std::os::raw::c_int;
16891}
16892extern "C" {
16893    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_CTX_add1_hkdf_info"]
16894    pub fn EVP_PKEY_CTX_add1_hkdf_info(
16895        ctx: *mut EVP_PKEY_CTX,
16896        info: *const u8,
16897        info_len: usize,
16898    ) -> ::std::os::raw::c_int;
16899}
16900extern "C" {
16901    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD4_Init"]
16902    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
16903}
16904extern "C" {
16905    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD4_Update"]
16906    pub fn MD4_Update(
16907        md4: *mut MD4_CTX,
16908        data: *const ::std::os::raw::c_void,
16909        len: usize,
16910    ) -> ::std::os::raw::c_int;
16911}
16912extern "C" {
16913    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD4_Final"]
16914    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
16915}
16916extern "C" {
16917    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD4"]
16918    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
16919}
16920extern "C" {
16921    #[link_name = "\u{1}aws_lc_fips_0_13_14_MD4_Transform"]
16922    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
16923}
16924#[repr(C)]
16925#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16926pub struct md4_state_st {
16927    pub h: [u32; 4usize],
16928    pub Nl: u32,
16929    pub Nh: u32,
16930    pub data: [u8; 64usize],
16931    pub num: ::std::os::raw::c_uint,
16932}
16933#[test]
16934fn bindgen_test_layout_md4_state_st() {
16935    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
16936    let ptr = UNINIT.as_ptr();
16937    assert_eq!(
16938        ::std::mem::size_of::<md4_state_st>(),
16939        92usize,
16940        "Size of md4_state_st"
16941    );
16942    assert_eq!(
16943        ::std::mem::align_of::<md4_state_st>(),
16944        4usize,
16945        "Alignment of md4_state_st"
16946    );
16947    assert_eq!(
16948        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
16949        0usize,
16950        "Offset of field: md4_state_st::h"
16951    );
16952    assert_eq!(
16953        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
16954        16usize,
16955        "Offset of field: md4_state_st::Nl"
16956    );
16957    assert_eq!(
16958        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
16959        20usize,
16960        "Offset of field: md4_state_st::Nh"
16961    );
16962    assert_eq!(
16963        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16964        24usize,
16965        "Offset of field: md4_state_st::data"
16966    );
16967    assert_eq!(
16968        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
16969        88usize,
16970        "Offset of field: md4_state_st::num"
16971    );
16972}
16973impl Default for md4_state_st {
16974    fn default() -> Self {
16975        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16976        unsafe {
16977            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16978            s.assume_init()
16979        }
16980    }
16981}
16982#[repr(C)]
16983#[derive(Debug, Copy, Clone)]
16984pub struct stack_st_CRYPTO_BUFFER {
16985    _unused: [u8; 0],
16986}
16987#[repr(C)]
16988#[derive(Debug, Copy, Clone)]
16989pub struct stack_st_X509 {
16990    _unused: [u8; 0],
16991}
16992#[repr(C)]
16993#[derive(Debug, Copy, Clone)]
16994pub struct stack_st_X509_CRL {
16995    _unused: [u8; 0],
16996}
16997extern "C" {
16998    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_raw_certificates"]
16999    pub fn PKCS7_get_raw_certificates(
17000        out_certs: *mut stack_st_CRYPTO_BUFFER,
17001        cbs: *mut CBS,
17002        pool: *mut CRYPTO_BUFFER_POOL,
17003    ) -> ::std::os::raw::c_int;
17004}
17005extern "C" {
17006    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_certificates"]
17007    pub fn PKCS7_get_certificates(
17008        out_certs: *mut stack_st_X509,
17009        cbs: *mut CBS,
17010    ) -> ::std::os::raw::c_int;
17011}
17012extern "C" {
17013    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_bundle_raw_certificates"]
17014    pub fn PKCS7_bundle_raw_certificates(
17015        out: *mut CBB,
17016        certs: *const stack_st_CRYPTO_BUFFER,
17017    ) -> ::std::os::raw::c_int;
17018}
17019extern "C" {
17020    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_bundle_certificates"]
17021    pub fn PKCS7_bundle_certificates(
17022        out: *mut CBB,
17023        certs: *const stack_st_X509,
17024    ) -> ::std::os::raw::c_int;
17025}
17026extern "C" {
17027    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_CRLs"]
17028    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
17029        -> ::std::os::raw::c_int;
17030}
17031extern "C" {
17032    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_bundle_CRLs"]
17033    pub fn PKCS7_bundle_CRLs(
17034        out: *mut CBB,
17035        crls: *const stack_st_X509_CRL,
17036    ) -> ::std::os::raw::c_int;
17037}
17038extern "C" {
17039    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_PEM_certificates"]
17040    pub fn PKCS7_get_PEM_certificates(
17041        out_certs: *mut stack_st_X509,
17042        pem_bio: *mut BIO,
17043    ) -> ::std::os::raw::c_int;
17044}
17045extern "C" {
17046    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_PEM_CRLs"]
17047    pub fn PKCS7_get_PEM_CRLs(
17048        out_crls: *mut stack_st_X509_CRL,
17049        pem_bio: *mut BIO,
17050    ) -> ::std::os::raw::c_int;
17051}
17052#[repr(C)]
17053#[derive(Copy, Clone)]
17054pub struct pkcs7_st {
17055    pub type_: *mut ASN1_OBJECT,
17056    pub d: pkcs7_st__bindgen_ty_1,
17057}
17058#[repr(C)]
17059#[derive(Copy, Clone)]
17060pub union pkcs7_st__bindgen_ty_1 {
17061    pub ptr: *mut ::std::os::raw::c_char,
17062    pub data: *mut ASN1_OCTET_STRING,
17063    pub sign: *mut PKCS7_SIGNED,
17064    pub enveloped: *mut PKCS7_ENVELOPE,
17065    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
17066    pub digest: *mut PKCS7_DIGEST,
17067    pub encrypted: *mut PKCS7_ENCRYPT,
17068    pub other: *mut ASN1_TYPE,
17069}
17070#[test]
17071fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
17072    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
17073        ::std::mem::MaybeUninit::uninit();
17074    let ptr = UNINIT.as_ptr();
17075    assert_eq!(
17076        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
17077        8usize,
17078        "Size of pkcs7_st__bindgen_ty_1"
17079    );
17080    assert_eq!(
17081        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
17082        8usize,
17083        "Alignment of pkcs7_st__bindgen_ty_1"
17084    );
17085    assert_eq!(
17086        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
17087        0usize,
17088        "Offset of field: pkcs7_st__bindgen_ty_1::ptr"
17089    );
17090    assert_eq!(
17091        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17092        0usize,
17093        "Offset of field: pkcs7_st__bindgen_ty_1::data"
17094    );
17095    assert_eq!(
17096        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
17097        0usize,
17098        "Offset of field: pkcs7_st__bindgen_ty_1::sign"
17099    );
17100    assert_eq!(
17101        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
17102        0usize,
17103        "Offset of field: pkcs7_st__bindgen_ty_1::enveloped"
17104    );
17105    assert_eq!(
17106        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
17107        0usize,
17108        "Offset of field: pkcs7_st__bindgen_ty_1::signed_and_enveloped"
17109    );
17110    assert_eq!(
17111        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
17112        0usize,
17113        "Offset of field: pkcs7_st__bindgen_ty_1::digest"
17114    );
17115    assert_eq!(
17116        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
17117        0usize,
17118        "Offset of field: pkcs7_st__bindgen_ty_1::encrypted"
17119    );
17120    assert_eq!(
17121        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
17122        0usize,
17123        "Offset of field: pkcs7_st__bindgen_ty_1::other"
17124    );
17125}
17126impl Default for pkcs7_st__bindgen_ty_1 {
17127    fn default() -> Self {
17128        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17129        unsafe {
17130            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17131            s.assume_init()
17132        }
17133    }
17134}
17135#[test]
17136fn bindgen_test_layout_pkcs7_st() {
17137    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
17138    let ptr = UNINIT.as_ptr();
17139    assert_eq!(
17140        ::std::mem::size_of::<pkcs7_st>(),
17141        16usize,
17142        "Size of pkcs7_st"
17143    );
17144    assert_eq!(
17145        ::std::mem::align_of::<pkcs7_st>(),
17146        8usize,
17147        "Alignment of pkcs7_st"
17148    );
17149    assert_eq!(
17150        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
17151        0usize,
17152        "Offset of field: pkcs7_st::type_"
17153    );
17154    assert_eq!(
17155        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
17156        8usize,
17157        "Offset of field: pkcs7_st::d"
17158    );
17159}
17160impl Default for pkcs7_st {
17161    fn default() -> Self {
17162        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17163        unsafe {
17164            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17165            s.assume_init()
17166        }
17167    }
17168}
17169#[repr(C)]
17170#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17171pub struct pkcs7_signed_st {
17172    pub version: *mut ASN1_INTEGER,
17173    pub md_algs: *mut stack_st_X509_ALGOR,
17174    pub contents: *mut PKCS7,
17175    pub cert: *mut stack_st_X509,
17176    pub crl: *mut stack_st_X509_CRL,
17177    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
17178}
17179#[test]
17180fn bindgen_test_layout_pkcs7_signed_st() {
17181    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
17182    let ptr = UNINIT.as_ptr();
17183    assert_eq!(
17184        ::std::mem::size_of::<pkcs7_signed_st>(),
17185        48usize,
17186        "Size of pkcs7_signed_st"
17187    );
17188    assert_eq!(
17189        ::std::mem::align_of::<pkcs7_signed_st>(),
17190        8usize,
17191        "Alignment of pkcs7_signed_st"
17192    );
17193    assert_eq!(
17194        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
17195        0usize,
17196        "Offset of field: pkcs7_signed_st::version"
17197    );
17198    assert_eq!(
17199        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
17200        8usize,
17201        "Offset of field: pkcs7_signed_st::md_algs"
17202    );
17203    assert_eq!(
17204        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
17205        16usize,
17206        "Offset of field: pkcs7_signed_st::contents"
17207    );
17208    assert_eq!(
17209        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
17210        24usize,
17211        "Offset of field: pkcs7_signed_st::cert"
17212    );
17213    assert_eq!(
17214        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
17215        32usize,
17216        "Offset of field: pkcs7_signed_st::crl"
17217    );
17218    assert_eq!(
17219        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
17220        40usize,
17221        "Offset of field: pkcs7_signed_st::signer_info"
17222    );
17223}
17224impl Default for pkcs7_signed_st {
17225    fn default() -> Self {
17226        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17227        unsafe {
17228            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17229            s.assume_init()
17230        }
17231    }
17232}
17233extern "C" {
17234    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_new"]
17235    pub fn PKCS7_new() -> *mut PKCS7;
17236}
17237extern "C" {
17238    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_free"]
17239    pub fn PKCS7_free(a: *mut PKCS7);
17240}
17241extern "C" {
17242    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS7"]
17243    pub fn d2i_PKCS7(
17244        a: *mut *mut PKCS7,
17245        in_: *mut *const ::std::os::raw::c_uchar,
17246        len: ::std::os::raw::c_long,
17247    ) -> *mut PKCS7;
17248}
17249extern "C" {
17250    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS7"]
17251    pub fn i2d_PKCS7(
17252        a: *mut PKCS7,
17253        out: *mut *mut ::std::os::raw::c_uchar,
17254    ) -> ::std::os::raw::c_int;
17255}
17256extern "C" {
17257    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_it"]
17258    pub static PKCS7_it: ASN1_ITEM;
17259}
17260extern "C" {
17261    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_RECIP_INFO_new"]
17262    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
17263}
17264extern "C" {
17265    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_RECIP_INFO_free"]
17266    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
17267}
17268extern "C" {
17269    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS7_RECIP_INFO"]
17270    pub fn d2i_PKCS7_RECIP_INFO(
17271        a: *mut *mut PKCS7_RECIP_INFO,
17272        in_: *mut *const ::std::os::raw::c_uchar,
17273        len: ::std::os::raw::c_long,
17274    ) -> *mut PKCS7_RECIP_INFO;
17275}
17276extern "C" {
17277    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS7_RECIP_INFO"]
17278    pub fn i2d_PKCS7_RECIP_INFO(
17279        a: *mut PKCS7_RECIP_INFO,
17280        out: *mut *mut ::std::os::raw::c_uchar,
17281    ) -> ::std::os::raw::c_int;
17282}
17283extern "C" {
17284    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_RECIP_INFO_it"]
17285    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
17286}
17287extern "C" {
17288    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_SIGNER_INFO_new"]
17289    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
17290}
17291extern "C" {
17292    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_SIGNER_INFO_free"]
17293    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
17294}
17295extern "C" {
17296    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS7_SIGNER_INFO"]
17297    pub fn d2i_PKCS7_SIGNER_INFO(
17298        a: *mut *mut PKCS7_SIGNER_INFO,
17299        in_: *mut *const ::std::os::raw::c_uchar,
17300        len: ::std::os::raw::c_long,
17301    ) -> *mut PKCS7_SIGNER_INFO;
17302}
17303extern "C" {
17304    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS7_SIGNER_INFO"]
17305    pub fn i2d_PKCS7_SIGNER_INFO(
17306        a: *mut PKCS7_SIGNER_INFO,
17307        out: *mut *mut ::std::os::raw::c_uchar,
17308    ) -> ::std::os::raw::c_int;
17309}
17310extern "C" {
17311    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_SIGNER_INFO_it"]
17312    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
17313}
17314#[repr(C)]
17315#[derive(Debug, Copy, Clone)]
17316pub struct stack_st_PKCS7_RECIP_INFO {
17317    _unused: [u8; 0],
17318}
17319pub type sk_PKCS7_RECIP_INFO_free_func =
17320    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
17321pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
17322    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
17323>;
17324pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
17325    unsafe extern "C" fn(
17326        arg1: *const *const PKCS7_RECIP_INFO,
17327        arg2: *const *const PKCS7_RECIP_INFO,
17328    ) -> ::std::os::raw::c_int,
17329>;
17330pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
17331    unsafe extern "C" fn(
17332        arg1: *mut PKCS7_RECIP_INFO,
17333        arg2: *mut ::std::os::raw::c_void,
17334    ) -> ::std::os::raw::c_int,
17335>;
17336#[repr(C)]
17337#[derive(Debug, Copy, Clone)]
17338pub struct stack_st_PKCS7_SIGNER_INFO {
17339    _unused: [u8; 0],
17340}
17341pub type sk_PKCS7_SIGNER_INFO_free_func =
17342    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
17343pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
17344    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
17345>;
17346pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
17347    unsafe extern "C" fn(
17348        arg1: *const *const PKCS7_SIGNER_INFO,
17349        arg2: *const *const PKCS7_SIGNER_INFO,
17350    ) -> ::std::os::raw::c_int,
17351>;
17352pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
17353    unsafe extern "C" fn(
17354        arg1: *mut PKCS7_SIGNER_INFO,
17355        arg2: *mut ::std::os::raw::c_void,
17356    ) -> ::std::os::raw::c_int,
17357>;
17358extern "C" {
17359    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_dup"]
17360    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
17361}
17362extern "C" {
17363    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS7_bio"]
17364    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
17365}
17366extern "C" {
17367    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS7_bio"]
17368    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
17369}
17370extern "C" {
17371    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_signed_attribute"]
17372    pub fn PKCS7_get_signed_attribute(
17373        si: *const PKCS7_SIGNER_INFO,
17374        nid: ::std::os::raw::c_int,
17375    ) -> *mut ASN1_TYPE;
17376}
17377extern "C" {
17378    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_get_signer_info"]
17379    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
17380}
17381extern "C" {
17382    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_RECIP_INFO_set"]
17383    pub fn PKCS7_RECIP_INFO_set(
17384        p7i: *mut PKCS7_RECIP_INFO,
17385        x509: *mut X509,
17386    ) -> ::std::os::raw::c_int;
17387}
17388extern "C" {
17389    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_SIGNER_INFO_set"]
17390    pub fn PKCS7_SIGNER_INFO_set(
17391        p7i: *mut PKCS7_SIGNER_INFO,
17392        x509: *mut X509,
17393        pkey: *mut EVP_PKEY,
17394        dgst: *const EVP_MD,
17395    ) -> ::std::os::raw::c_int;
17396}
17397extern "C" {
17398    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_add_certificate"]
17399    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
17400}
17401extern "C" {
17402    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_add_crl"]
17403    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
17404}
17405extern "C" {
17406    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_add_recipient_info"]
17407    pub fn PKCS7_add_recipient_info(
17408        p7: *mut PKCS7,
17409        ri: *mut PKCS7_RECIP_INFO,
17410    ) -> ::std::os::raw::c_int;
17411}
17412extern "C" {
17413    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_add_signer"]
17414    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
17415}
17416extern "C" {
17417    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_content_new"]
17418    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17419}
17420extern "C" {
17421    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_set_cipher"]
17422    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
17423}
17424extern "C" {
17425    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_set_content"]
17426    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
17427}
17428extern "C" {
17429    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_set_type"]
17430    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17431}
17432extern "C" {
17433    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_RECIP_INFO_get0_alg"]
17434    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
17435}
17436extern "C" {
17437    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_SIGNER_INFO_get0_algs"]
17438    pub fn PKCS7_SIGNER_INFO_get0_algs(
17439        si: *mut PKCS7_SIGNER_INFO,
17440        pk: *mut *mut EVP_PKEY,
17441        pdig: *mut *mut X509_ALGOR,
17442        psig: *mut *mut X509_ALGOR,
17443    );
17444}
17445extern "C" {
17446    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_data"]
17447    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
17448}
17449extern "C" {
17450    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_digest"]
17451    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
17452}
17453extern "C" {
17454    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_encrypted"]
17455    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
17456}
17457extern "C" {
17458    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_enveloped"]
17459    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17460}
17461extern "C" {
17462    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_signed"]
17463    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
17464}
17465extern "C" {
17466    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_type_is_signedAndEnveloped"]
17467    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
17468}
17469extern "C" {
17470    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS7_sign"]
17471    pub fn PKCS7_sign(
17472        sign_cert: *mut X509,
17473        pkey: *mut EVP_PKEY,
17474        certs: *mut stack_st_X509,
17475        data: *mut BIO,
17476        flags: ::std::os::raw::c_int,
17477    ) -> *mut PKCS7;
17478}
17479pub type sk_CRYPTO_BUFFER_free_func =
17480    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
17481pub type sk_CRYPTO_BUFFER_copy_func =
17482    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
17483pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
17484    unsafe extern "C" fn(
17485        arg1: *const *const CRYPTO_BUFFER,
17486        arg2: *const *const CRYPTO_BUFFER,
17487    ) -> ::std::os::raw::c_int,
17488>;
17489pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
17490    unsafe extern "C" fn(
17491        arg1: *mut CRYPTO_BUFFER,
17492        arg2: *mut ::std::os::raw::c_void,
17493    ) -> ::std::os::raw::c_int,
17494>;
17495extern "C" {
17496    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_POOL_new"]
17497    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
17498}
17499extern "C" {
17500    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_POOL_free"]
17501    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
17502}
17503extern "C" {
17504    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_new"]
17505    pub fn CRYPTO_BUFFER_new(
17506        data: *const u8,
17507        len: usize,
17508        pool: *mut CRYPTO_BUFFER_POOL,
17509    ) -> *mut CRYPTO_BUFFER;
17510}
17511extern "C" {
17512    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_alloc"]
17513    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
17514}
17515extern "C" {
17516    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_new_from_CBS"]
17517    pub fn CRYPTO_BUFFER_new_from_CBS(
17518        cbs: *const CBS,
17519        pool: *mut CRYPTO_BUFFER_POOL,
17520    ) -> *mut CRYPTO_BUFFER;
17521}
17522extern "C" {
17523    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_new_from_static_data_unsafe"]
17524    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
17525        data: *const u8,
17526        len: usize,
17527        pool: *mut CRYPTO_BUFFER_POOL,
17528    ) -> *mut CRYPTO_BUFFER;
17529}
17530extern "C" {
17531    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_free"]
17532    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
17533}
17534extern "C" {
17535    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_up_ref"]
17536    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
17537}
17538extern "C" {
17539    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_data"]
17540    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
17541}
17542extern "C" {
17543    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_len"]
17544    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
17545}
17546extern "C" {
17547    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_BUFFER_init_CBS"]
17548    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
17549}
17550extern "C" {
17551    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_public_key"]
17552    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
17553}
17554extern "C" {
17555    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_private_key"]
17556    pub fn RSA_new_private_key(
17557        n: *const BIGNUM,
17558        e: *const BIGNUM,
17559        d: *const BIGNUM,
17560        p: *const BIGNUM,
17561        q: *const BIGNUM,
17562        dmp1: *const BIGNUM,
17563        dmq1: *const BIGNUM,
17564        iqmp: *const BIGNUM,
17565    ) -> *mut RSA;
17566}
17567extern "C" {
17568    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new"]
17569    pub fn RSA_new() -> *mut RSA;
17570}
17571extern "C" {
17572    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_method"]
17573    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
17574}
17575extern "C" {
17576    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_free"]
17577    pub fn RSA_free(rsa: *mut RSA);
17578}
17579extern "C" {
17580    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_up_ref"]
17581    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
17582}
17583extern "C" {
17584    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_bits"]
17585    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
17586}
17587extern "C" {
17588    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_n"]
17589    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
17590}
17591extern "C" {
17592    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_e"]
17593    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
17594}
17595extern "C" {
17596    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_d"]
17597    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
17598}
17599extern "C" {
17600    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_p"]
17601    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
17602}
17603extern "C" {
17604    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_q"]
17605    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
17606}
17607extern "C" {
17608    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_dmp1"]
17609    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
17610}
17611extern "C" {
17612    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_dmq1"]
17613    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
17614}
17615extern "C" {
17616    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_iqmp"]
17617    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
17618}
17619extern "C" {
17620    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_key"]
17621    pub fn RSA_get0_key(
17622        rsa: *const RSA,
17623        out_n: *mut *const BIGNUM,
17624        out_e: *mut *const BIGNUM,
17625        out_d: *mut *const BIGNUM,
17626    );
17627}
17628extern "C" {
17629    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_factors"]
17630    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
17631}
17632extern "C" {
17633    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_crt_params"]
17634    pub fn RSA_get0_crt_params(
17635        rsa: *const RSA,
17636        out_dmp1: *mut *const BIGNUM,
17637        out_dmq1: *mut *const BIGNUM,
17638        out_iqmp: *mut *const BIGNUM,
17639    );
17640}
17641extern "C" {
17642    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set0_key"]
17643    pub fn RSA_set0_key(
17644        rsa: *mut RSA,
17645        n: *mut BIGNUM,
17646        e: *mut BIGNUM,
17647        d: *mut BIGNUM,
17648    ) -> ::std::os::raw::c_int;
17649}
17650extern "C" {
17651    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set0_factors"]
17652    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
17653        -> ::std::os::raw::c_int;
17654}
17655extern "C" {
17656    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set0_crt_params"]
17657    pub fn RSA_set0_crt_params(
17658        rsa: *mut RSA,
17659        dmp1: *mut BIGNUM,
17660        dmq1: *mut BIGNUM,
17661        iqmp: *mut BIGNUM,
17662    ) -> ::std::os::raw::c_int;
17663}
17664extern "C" {
17665    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get_default_method"]
17666    pub fn RSA_get_default_method() -> *const RSA_METHOD;
17667}
17668extern "C" {
17669    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_new"]
17670    pub fn RSA_meth_new(
17671        name: *const ::std::os::raw::c_char,
17672        flags: ::std::os::raw::c_int,
17673    ) -> *mut RSA_METHOD;
17674}
17675extern "C" {
17676    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set_method"]
17677    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
17678}
17679extern "C" {
17680    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get_method"]
17681    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
17682}
17683extern "C" {
17684    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_free"]
17685    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
17686}
17687extern "C" {
17688    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_init"]
17689    pub fn RSA_meth_set_init(
17690        meth: *mut RSA_METHOD,
17691        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
17692    ) -> ::std::os::raw::c_int;
17693}
17694extern "C" {
17695    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_finish"]
17696    pub fn RSA_meth_set_finish(
17697        meth: *mut RSA_METHOD,
17698        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
17699    ) -> ::std::os::raw::c_int;
17700}
17701extern "C" {
17702    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_priv_dec"]
17703    pub fn RSA_meth_set_priv_dec(
17704        meth: *mut RSA_METHOD,
17705        priv_dec: ::std::option::Option<
17706            unsafe extern "C" fn(
17707                max_out: ::std::os::raw::c_int,
17708                from: *const u8,
17709                to: *mut u8,
17710                rsa: *mut RSA,
17711                padding: ::std::os::raw::c_int,
17712            ) -> ::std::os::raw::c_int,
17713        >,
17714    ) -> ::std::os::raw::c_int;
17715}
17716extern "C" {
17717    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_priv_enc"]
17718    pub fn RSA_meth_set_priv_enc(
17719        meth: *mut RSA_METHOD,
17720        priv_enc: ::std::option::Option<
17721            unsafe extern "C" fn(
17722                max_out: ::std::os::raw::c_int,
17723                from: *const u8,
17724                to: *mut u8,
17725                rsa: *mut RSA,
17726                padding: ::std::os::raw::c_int,
17727            ) -> ::std::os::raw::c_int,
17728        >,
17729    ) -> ::std::os::raw::c_int;
17730}
17731extern "C" {
17732    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_pub_dec"]
17733    pub fn RSA_meth_set_pub_dec(
17734        meth: *mut RSA_METHOD,
17735        pub_dec: ::std::option::Option<
17736            unsafe extern "C" fn(
17737                max_out: ::std::os::raw::c_int,
17738                from: *const u8,
17739                to: *mut u8,
17740                rsa: *mut RSA,
17741                padding: ::std::os::raw::c_int,
17742            ) -> ::std::os::raw::c_int,
17743        >,
17744    ) -> ::std::os::raw::c_int;
17745}
17746extern "C" {
17747    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_pub_enc"]
17748    pub fn RSA_meth_set_pub_enc(
17749        meth: *mut RSA_METHOD,
17750        pub_enc: ::std::option::Option<
17751            unsafe extern "C" fn(
17752                max_out: ::std::os::raw::c_int,
17753                from: *const u8,
17754                to: *mut u8,
17755                rsa: *mut RSA,
17756                padding: ::std::os::raw::c_int,
17757            ) -> ::std::os::raw::c_int,
17758        >,
17759    ) -> ::std::os::raw::c_int;
17760}
17761extern "C" {
17762    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set0_app_data"]
17763    pub fn RSA_meth_set0_app_data(
17764        meth: *mut RSA_METHOD,
17765        app_data: *mut ::std::os::raw::c_void,
17766    ) -> ::std::os::raw::c_int;
17767}
17768extern "C" {
17769    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_meth_set_sign"]
17770    pub fn RSA_meth_set_sign(
17771        meth: *mut RSA_METHOD,
17772        sign: ::std::option::Option<
17773            unsafe extern "C" fn(
17774                type_: ::std::os::raw::c_int,
17775                m: *const ::std::os::raw::c_uchar,
17776                m_length: ::std::os::raw::c_uint,
17777                sigret: *mut ::std::os::raw::c_uchar,
17778                siglen: *mut ::std::os::raw::c_uint,
17779                rsa: *const RSA,
17780            ) -> ::std::os::raw::c_int,
17781        >,
17782    ) -> ::std::os::raw::c_int;
17783}
17784extern "C" {
17785    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_generate_key_ex"]
17786    pub fn RSA_generate_key_ex(
17787        rsa: *mut RSA,
17788        bits: ::std::os::raw::c_int,
17789        e: *const BIGNUM,
17790        cb: *mut BN_GENCB,
17791    ) -> ::std::os::raw::c_int;
17792}
17793extern "C" {
17794    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_generate_key_fips"]
17795    pub fn RSA_generate_key_fips(
17796        rsa: *mut RSA,
17797        bits: ::std::os::raw::c_int,
17798        cb: *mut BN_GENCB,
17799    ) -> ::std::os::raw::c_int;
17800}
17801extern "C" {
17802    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_encrypt"]
17803    pub fn RSA_encrypt(
17804        rsa: *mut RSA,
17805        out_len: *mut usize,
17806        out: *mut u8,
17807        max_out: usize,
17808        in_: *const u8,
17809        in_len: usize,
17810        padding: ::std::os::raw::c_int,
17811    ) -> ::std::os::raw::c_int;
17812}
17813extern "C" {
17814    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_decrypt"]
17815    pub fn RSA_decrypt(
17816        rsa: *mut RSA,
17817        out_len: *mut usize,
17818        out: *mut u8,
17819        max_out: usize,
17820        in_: *const u8,
17821        in_len: usize,
17822        padding: ::std::os::raw::c_int,
17823    ) -> ::std::os::raw::c_int;
17824}
17825extern "C" {
17826    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_public_encrypt"]
17827    pub fn RSA_public_encrypt(
17828        flen: usize,
17829        from: *const u8,
17830        to: *mut u8,
17831        rsa: *mut RSA,
17832        padding: ::std::os::raw::c_int,
17833    ) -> ::std::os::raw::c_int;
17834}
17835extern "C" {
17836    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_private_decrypt"]
17837    pub fn RSA_private_decrypt(
17838        flen: usize,
17839        from: *const u8,
17840        to: *mut u8,
17841        rsa: *mut RSA,
17842        padding: ::std::os::raw::c_int,
17843    ) -> ::std::os::raw::c_int;
17844}
17845extern "C" {
17846    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_sign"]
17847    pub fn RSA_sign(
17848        hash_nid: ::std::os::raw::c_int,
17849        digest: *const u8,
17850        digest_len: usize,
17851        out: *mut u8,
17852        out_len: *mut ::std::os::raw::c_uint,
17853        rsa: *mut RSA,
17854    ) -> ::std::os::raw::c_int;
17855}
17856extern "C" {
17857    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_sign_pss_mgf1"]
17858    pub fn RSA_sign_pss_mgf1(
17859        rsa: *mut RSA,
17860        out_len: *mut usize,
17861        out: *mut u8,
17862        max_out: usize,
17863        digest: *const u8,
17864        digest_len: usize,
17865        md: *const EVP_MD,
17866        mgf1_md: *const EVP_MD,
17867        salt_len: ::std::os::raw::c_int,
17868    ) -> ::std::os::raw::c_int;
17869}
17870extern "C" {
17871    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_sign_raw"]
17872    pub fn RSA_sign_raw(
17873        rsa: *mut RSA,
17874        out_len: *mut usize,
17875        out: *mut u8,
17876        max_out: usize,
17877        in_: *const u8,
17878        in_len: usize,
17879        padding: ::std::os::raw::c_int,
17880    ) -> ::std::os::raw::c_int;
17881}
17882extern "C" {
17883    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_verify"]
17884    pub fn RSA_verify(
17885        hash_nid: ::std::os::raw::c_int,
17886        digest: *const u8,
17887        digest_len: usize,
17888        sig: *const u8,
17889        sig_len: usize,
17890        rsa: *mut RSA,
17891    ) -> ::std::os::raw::c_int;
17892}
17893extern "C" {
17894    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_verify_pss_mgf1"]
17895    pub fn RSA_verify_pss_mgf1(
17896        rsa: *mut RSA,
17897        digest: *const u8,
17898        digest_len: usize,
17899        md: *const EVP_MD,
17900        mgf1_md: *const EVP_MD,
17901        salt_len: ::std::os::raw::c_int,
17902        sig: *const u8,
17903        sig_len: usize,
17904    ) -> ::std::os::raw::c_int;
17905}
17906extern "C" {
17907    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_verify_raw"]
17908    pub fn RSA_verify_raw(
17909        rsa: *mut RSA,
17910        out_len: *mut usize,
17911        out: *mut u8,
17912        max_out: usize,
17913        in_: *const u8,
17914        in_len: usize,
17915        padding: ::std::os::raw::c_int,
17916    ) -> ::std::os::raw::c_int;
17917}
17918extern "C" {
17919    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_private_encrypt"]
17920    pub fn RSA_private_encrypt(
17921        flen: usize,
17922        from: *const u8,
17923        to: *mut u8,
17924        rsa: *mut RSA,
17925        padding: ::std::os::raw::c_int,
17926    ) -> ::std::os::raw::c_int;
17927}
17928extern "C" {
17929    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_public_decrypt"]
17930    pub fn RSA_public_decrypt(
17931        flen: usize,
17932        from: *const u8,
17933        to: *mut u8,
17934        rsa: *mut RSA,
17935        padding: ::std::os::raw::c_int,
17936    ) -> ::std::os::raw::c_int;
17937}
17938extern "C" {
17939    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_size"]
17940    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
17941}
17942extern "C" {
17943    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_is_opaque"]
17944    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
17945}
17946extern "C" {
17947    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSAPublicKey_dup"]
17948    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
17949}
17950extern "C" {
17951    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSAPrivateKey_dup"]
17952    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
17953}
17954extern "C" {
17955    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_check_key"]
17956    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
17957}
17958extern "C" {
17959    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_check_fips"]
17960    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
17961}
17962extern "C" {
17963    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_verify_PKCS1_PSS_mgf1"]
17964    pub fn RSA_verify_PKCS1_PSS_mgf1(
17965        rsa: *const RSA,
17966        mHash: *const u8,
17967        Hash: *const EVP_MD,
17968        mgf1Hash: *const EVP_MD,
17969        EM: *const u8,
17970        sLen: ::std::os::raw::c_int,
17971    ) -> ::std::os::raw::c_int;
17972}
17973extern "C" {
17974    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_padding_add_PKCS1_PSS_mgf1"]
17975    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
17976        rsa: *const RSA,
17977        EM: *mut u8,
17978        mHash: *const u8,
17979        Hash: *const EVP_MD,
17980        mgf1Hash: *const EVP_MD,
17981        sLen: ::std::os::raw::c_int,
17982    ) -> ::std::os::raw::c_int;
17983}
17984extern "C" {
17985    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_padding_add_PKCS1_OAEP_mgf1"]
17986    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
17987        to: *mut u8,
17988        to_len: usize,
17989        from: *const u8,
17990        from_len: usize,
17991        param: *const u8,
17992        param_len: usize,
17993        md: *const EVP_MD,
17994        mgf1md: *const EVP_MD,
17995    ) -> ::std::os::raw::c_int;
17996}
17997extern "C" {
17998    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS1_MGF1"]
17999    pub fn PKCS1_MGF1(
18000        out: *mut u8,
18001        len: usize,
18002        seed: *const u8,
18003        seed_len: usize,
18004        md: *const EVP_MD,
18005    ) -> ::std::os::raw::c_int;
18006}
18007extern "C" {
18008    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_add_pkcs1_prefix"]
18009    pub fn RSA_add_pkcs1_prefix(
18010        out_msg: *mut *mut u8,
18011        out_msg_len: *mut usize,
18012        is_alloced: *mut ::std::os::raw::c_int,
18013        hash_nid: ::std::os::raw::c_int,
18014        digest: *const u8,
18015        digest_len: usize,
18016    ) -> ::std::os::raw::c_int;
18017}
18018extern "C" {
18019    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_parse_public_key"]
18020    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
18021}
18022extern "C" {
18023    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_public_key_from_bytes"]
18024    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18025}
18026extern "C" {
18027    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_marshal_public_key"]
18028    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18029}
18030extern "C" {
18031    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_public_key_to_bytes"]
18032    pub fn RSA_public_key_to_bytes(
18033        out_bytes: *mut *mut u8,
18034        out_len: *mut usize,
18035        rsa: *const RSA,
18036    ) -> ::std::os::raw::c_int;
18037}
18038extern "C" {
18039    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_parse_private_key"]
18040    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
18041}
18042extern "C" {
18043    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_private_key_from_bytes"]
18044    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
18045}
18046extern "C" {
18047    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_marshal_private_key"]
18048    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
18049}
18050extern "C" {
18051    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_private_key_to_bytes"]
18052    pub fn RSA_private_key_to_bytes(
18053        out_bytes: *mut *mut u8,
18054        out_len: *mut usize,
18055        rsa: *const RSA,
18056    ) -> ::std::os::raw::c_int;
18057}
18058extern "C" {
18059    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_private_key_no_crt"]
18060    pub fn RSA_new_private_key_no_crt(
18061        n: *const BIGNUM,
18062        e: *const BIGNUM,
18063        d: *const BIGNUM,
18064    ) -> *mut RSA;
18065}
18066extern "C" {
18067    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_private_key_no_e"]
18068    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
18069}
18070extern "C" {
18071    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_public_key_large_e"]
18072    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
18073}
18074extern "C" {
18075    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_private_key_large_e"]
18076    pub fn RSA_new_private_key_large_e(
18077        n: *const BIGNUM,
18078        e: *const BIGNUM,
18079        d: *const BIGNUM,
18080        p: *const BIGNUM,
18081        q: *const BIGNUM,
18082        dmp1: *const BIGNUM,
18083        dmq1: *const BIGNUM,
18084        iqmp: *const BIGNUM,
18085    ) -> *mut RSA;
18086}
18087extern "C" {
18088    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get_ex_new_index"]
18089    pub fn RSA_get_ex_new_index(
18090        argl: ::std::os::raw::c_long,
18091        argp: *mut ::std::os::raw::c_void,
18092        unused: *mut CRYPTO_EX_unused,
18093        dup_unused: CRYPTO_EX_dup,
18094        free_func: CRYPTO_EX_free,
18095    ) -> ::std::os::raw::c_int;
18096}
18097extern "C" {
18098    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set_ex_data"]
18099    pub fn RSA_set_ex_data(
18100        rsa: *mut RSA,
18101        idx: ::std::os::raw::c_int,
18102        arg: *mut ::std::os::raw::c_void,
18103    ) -> ::std::os::raw::c_int;
18104}
18105extern "C" {
18106    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get_ex_data"]
18107    pub fn RSA_get_ex_data(
18108        rsa: *const RSA,
18109        idx: ::std::os::raw::c_int,
18110    ) -> *mut ::std::os::raw::c_void;
18111}
18112extern "C" {
18113    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_flags"]
18114    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
18115}
18116extern "C" {
18117    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_set_flags"]
18118    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
18119}
18120extern "C" {
18121    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_test_flags"]
18122    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
18123}
18124extern "C" {
18125    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_blinding_on"]
18126    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
18127}
18128extern "C" {
18129    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_blinding_off_temp_for_accp_compatibility"]
18130    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
18131}
18132extern "C" {
18133    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_pkey_ctx_ctrl"]
18134    pub fn RSA_pkey_ctx_ctrl(
18135        ctx: *mut EVP_PKEY_CTX,
18136        optype: ::std::os::raw::c_int,
18137        cmd: ::std::os::raw::c_int,
18138        p1: ::std::os::raw::c_int,
18139        p2: *mut ::std::os::raw::c_void,
18140    ) -> ::std::os::raw::c_int;
18141}
18142extern "C" {
18143    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_generate_key"]
18144    pub fn RSA_generate_key(
18145        bits: ::std::os::raw::c_int,
18146        e: u64,
18147        callback: *mut ::std::os::raw::c_void,
18148        cb_arg: *mut ::std::os::raw::c_void,
18149    ) -> *mut RSA;
18150}
18151extern "C" {
18152    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPublicKey"]
18153    pub fn d2i_RSAPublicKey(
18154        out: *mut *mut RSA,
18155        inp: *mut *const u8,
18156        len: ::std::os::raw::c_long,
18157    ) -> *mut RSA;
18158}
18159extern "C" {
18160    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPublicKey"]
18161    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18162}
18163extern "C" {
18164    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPrivateKey"]
18165    pub fn d2i_RSAPrivateKey(
18166        out: *mut *mut RSA,
18167        inp: *mut *const u8,
18168        len: ::std::os::raw::c_long,
18169    ) -> *mut RSA;
18170}
18171extern "C" {
18172    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPrivateKey"]
18173    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18174}
18175extern "C" {
18176    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_padding_add_PKCS1_PSS"]
18177    pub fn RSA_padding_add_PKCS1_PSS(
18178        rsa: *const RSA,
18179        EM: *mut u8,
18180        mHash: *const u8,
18181        Hash: *const EVP_MD,
18182        sLen: ::std::os::raw::c_int,
18183    ) -> ::std::os::raw::c_int;
18184}
18185extern "C" {
18186    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_verify_PKCS1_PSS"]
18187    pub fn RSA_verify_PKCS1_PSS(
18188        rsa: *const RSA,
18189        mHash: *const u8,
18190        Hash: *const EVP_MD,
18191        EM: *const u8,
18192        sLen: ::std::os::raw::c_int,
18193    ) -> ::std::os::raw::c_int;
18194}
18195extern "C" {
18196    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_padding_add_PKCS1_OAEP"]
18197    pub fn RSA_padding_add_PKCS1_OAEP(
18198        to: *mut u8,
18199        to_len: usize,
18200        from: *const u8,
18201        from_len: usize,
18202        param: *const u8,
18203        param_len: usize,
18204    ) -> ::std::os::raw::c_int;
18205}
18206extern "C" {
18207    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_print"]
18208    pub fn RSA_print(
18209        bio: *mut BIO,
18210        rsa: *const RSA,
18211        indent: ::std::os::raw::c_int,
18212    ) -> ::std::os::raw::c_int;
18213}
18214extern "C" {
18215    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_print_fp"]
18216    pub fn RSA_print_fp(
18217        fp: *mut FILE,
18218        rsa: *const RSA,
18219        indent: ::std::os::raw::c_int,
18220    ) -> ::std::os::raw::c_int;
18221}
18222extern "C" {
18223    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_get0_pss_params"]
18224    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
18225}
18226extern "C" {
18227    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_new_method_no_e"]
18228    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
18229}
18230pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
18231pub type sk_X509_copy_func =
18232    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
18233pub type sk_X509_cmp_func = ::std::option::Option<
18234    unsafe extern "C" fn(
18235        arg1: *const *const X509,
18236        arg2: *const *const X509,
18237    ) -> ::std::os::raw::c_int,
18238>;
18239pub type sk_X509_delete_if_func = ::std::option::Option<
18240    unsafe extern "C" fn(
18241        arg1: *mut X509,
18242        arg2: *mut ::std::os::raw::c_void,
18243    ) -> ::std::os::raw::c_int,
18244>;
18245extern "C" {
18246    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_it"]
18247    pub static X509_it: ASN1_ITEM;
18248}
18249extern "C" {
18250    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_up_ref"]
18251    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
18252}
18253extern "C" {
18254    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_chain_up_ref"]
18255    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
18256}
18257extern "C" {
18258    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_dup"]
18259    pub fn X509_dup(x509: *mut X509) -> *mut X509;
18260}
18261extern "C" {
18262    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_free"]
18263    pub fn X509_free(x509: *mut X509);
18264}
18265extern "C" {
18266    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509"]
18267    pub fn d2i_X509(
18268        out: *mut *mut X509,
18269        inp: *mut *const u8,
18270        len: ::std::os::raw::c_long,
18271    ) -> *mut X509;
18272}
18273extern "C" {
18274    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_parse_from_buffer"]
18275    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
18276}
18277extern "C" {
18278    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509"]
18279    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18280}
18281extern "C" {
18282    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_version"]
18283    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
18284}
18285extern "C" {
18286    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_serialNumber"]
18287    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
18288}
18289extern "C" {
18290    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_notBefore"]
18291    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
18292}
18293extern "C" {
18294    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_notAfter"]
18295    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
18296}
18297extern "C" {
18298    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_issuer_name"]
18299    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
18300}
18301extern "C" {
18302    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_subject_name"]
18303    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
18304}
18305extern "C" {
18306    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_X509_PUBKEY"]
18307    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
18308}
18309extern "C" {
18310    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_pubkey"]
18311    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
18312}
18313extern "C" {
18314    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_pubkey"]
18315    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
18316}
18317extern "C" {
18318    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_pubkey_bitstr"]
18319    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
18320}
18321extern "C" {
18322    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_private_key"]
18323    pub fn X509_check_private_key(
18324        x509: *const X509,
18325        pkey: *const EVP_PKEY,
18326    ) -> ::std::os::raw::c_int;
18327}
18328extern "C" {
18329    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_uids"]
18330    pub fn X509_get0_uids(
18331        x509: *const X509,
18332        out_issuer_uid: *mut *const ASN1_BIT_STRING,
18333        out_subject_uid: *mut *const ASN1_BIT_STRING,
18334    );
18335}
18336extern "C" {
18337    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_extension_flags"]
18338    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
18339}
18340extern "C" {
18341    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_pathlen"]
18342    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
18343}
18344extern "C" {
18345    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_key_usage"]
18346    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
18347}
18348extern "C" {
18349    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_extended_key_usage"]
18350    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
18351}
18352extern "C" {
18353    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_subject_key_id"]
18354    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
18355}
18356extern "C" {
18357    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_authority_key_id"]
18358    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
18359}
18360#[repr(C)]
18361#[derive(Debug, Copy, Clone)]
18362pub struct stack_st_GENERAL_NAME {
18363    _unused: [u8; 0],
18364}
18365pub type sk_GENERAL_NAME_free_func =
18366    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
18367pub type sk_GENERAL_NAME_copy_func =
18368    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
18369pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
18370    unsafe extern "C" fn(
18371        arg1: *const *const GENERAL_NAME,
18372        arg2: *const *const GENERAL_NAME,
18373    ) -> ::std::os::raw::c_int,
18374>;
18375pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
18376    unsafe extern "C" fn(
18377        arg1: *mut GENERAL_NAME,
18378        arg2: *mut ::std::os::raw::c_void,
18379    ) -> ::std::os::raw::c_int,
18380>;
18381pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
18382extern "C" {
18383    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_authority_issuer"]
18384    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
18385}
18386extern "C" {
18387    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_authority_serial"]
18388    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
18389}
18390#[repr(C)]
18391#[derive(Debug, Copy, Clone)]
18392pub struct stack_st_X509_EXTENSION {
18393    _unused: [u8; 0],
18394}
18395extern "C" {
18396    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_extensions"]
18397    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
18398}
18399extern "C" {
18400    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext_count"]
18401    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
18402}
18403extern "C" {
18404    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext_by_NID"]
18405    pub fn X509_get_ext_by_NID(
18406        x: *const X509,
18407        nid: ::std::os::raw::c_int,
18408        lastpos: ::std::os::raw::c_int,
18409    ) -> ::std::os::raw::c_int;
18410}
18411extern "C" {
18412    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext_by_OBJ"]
18413    pub fn X509_get_ext_by_OBJ(
18414        x: *const X509,
18415        obj: *const ASN1_OBJECT,
18416        lastpos: ::std::os::raw::c_int,
18417    ) -> ::std::os::raw::c_int;
18418}
18419extern "C" {
18420    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext_by_critical"]
18421    pub fn X509_get_ext_by_critical(
18422        x: *const X509,
18423        crit: ::std::os::raw::c_int,
18424        lastpos: ::std::os::raw::c_int,
18425    ) -> ::std::os::raw::c_int;
18426}
18427extern "C" {
18428    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext"]
18429    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
18430}
18431extern "C" {
18432    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ext_d2i"]
18433    pub fn X509_get_ext_d2i(
18434        x509: *const X509,
18435        nid: ::std::os::raw::c_int,
18436        out_critical: *mut ::std::os::raw::c_int,
18437        out_idx: *mut ::std::os::raw::c_int,
18438    ) -> *mut ::std::os::raw::c_void;
18439}
18440extern "C" {
18441    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_tbs_sigalg"]
18442    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
18443}
18444extern "C" {
18445    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_signature_info"]
18446    pub fn X509_get_signature_info(
18447        x509: *mut X509,
18448        digest_nid: *mut ::std::os::raw::c_int,
18449        pubkey_nid: *mut ::std::os::raw::c_int,
18450        sec_bits: *mut ::std::os::raw::c_int,
18451        flags: *mut u32,
18452    ) -> ::std::os::raw::c_int;
18453}
18454extern "C" {
18455    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get0_signature"]
18456    pub fn X509_get0_signature(
18457        out_sig: *mut *const ASN1_BIT_STRING,
18458        out_alg: *mut *const X509_ALGOR,
18459        x509: *const X509,
18460    );
18461}
18462extern "C" {
18463    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_signature_nid"]
18464    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
18465}
18466extern "C" {
18467    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_tbs"]
18468    pub fn i2d_X509_tbs(
18469        x509: *mut X509,
18470        outp: *mut *mut ::std::os::raw::c_uchar,
18471    ) -> ::std::os::raw::c_int;
18472}
18473extern "C" {
18474    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_verify"]
18475    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
18476}
18477extern "C" {
18478    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get1_email"]
18479    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
18480}
18481extern "C" {
18482    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get1_ocsp"]
18483    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
18484}
18485extern "C" {
18486    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_email_free"]
18487    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
18488}
18489extern "C" {
18490    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_new"]
18491    pub fn X509_new() -> *mut X509;
18492}
18493extern "C" {
18494    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_version"]
18495    pub fn X509_set_version(
18496        x509: *mut X509,
18497        version: ::std::os::raw::c_long,
18498    ) -> ::std::os::raw::c_int;
18499}
18500extern "C" {
18501    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_serialNumber"]
18502    pub fn X509_set_serialNumber(
18503        x509: *mut X509,
18504        serial: *const ASN1_INTEGER,
18505    ) -> ::std::os::raw::c_int;
18506}
18507extern "C" {
18508    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set1_notBefore"]
18509    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
18510}
18511extern "C" {
18512    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set1_notAfter"]
18513    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
18514}
18515extern "C" {
18516    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_getm_notBefore"]
18517    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
18518}
18519extern "C" {
18520    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_getm_notAfter"]
18521    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
18522}
18523extern "C" {
18524    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_issuer_name"]
18525    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
18526}
18527extern "C" {
18528    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_subject_name"]
18529    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
18530}
18531extern "C" {
18532    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_pubkey"]
18533    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
18534}
18535extern "C" {
18536    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_delete_ext"]
18537    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
18538}
18539extern "C" {
18540    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_add_ext"]
18541    pub fn X509_add_ext(
18542        x: *mut X509,
18543        ex: *const X509_EXTENSION,
18544        loc: ::std::os::raw::c_int,
18545    ) -> ::std::os::raw::c_int;
18546}
18547extern "C" {
18548    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_add1_ext_i2d"]
18549    pub fn X509_add1_ext_i2d(
18550        x: *mut X509,
18551        nid: ::std::os::raw::c_int,
18552        value: *mut ::std::os::raw::c_void,
18553        crit: ::std::os::raw::c_int,
18554        flags: ::std::os::raw::c_ulong,
18555    ) -> ::std::os::raw::c_int;
18556}
18557extern "C" {
18558    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_sign"]
18559    pub fn X509_sign(
18560        x509: *mut X509,
18561        pkey: *mut EVP_PKEY,
18562        md: *const EVP_MD,
18563    ) -> ::std::os::raw::c_int;
18564}
18565extern "C" {
18566    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_sign_ctx"]
18567    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
18568}
18569extern "C" {
18570    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_re_X509_tbs"]
18571    pub fn i2d_re_X509_tbs(
18572        x509: *mut X509,
18573        outp: *mut *mut ::std::os::raw::c_uchar,
18574    ) -> ::std::os::raw::c_int;
18575}
18576extern "C" {
18577    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set1_signature_algo"]
18578    pub fn X509_set1_signature_algo(
18579        x509: *mut X509,
18580        algo: *const X509_ALGOR,
18581    ) -> ::std::os::raw::c_int;
18582}
18583extern "C" {
18584    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set1_signature_value"]
18585    pub fn X509_set1_signature_value(
18586        x509: *mut X509,
18587        sig: *const u8,
18588        sig_len: usize,
18589    ) -> ::std::os::raw::c_int;
18590}
18591extern "C" {
18592    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_AUX"]
18593    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18594}
18595extern "C" {
18596    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_AUX"]
18597    pub fn d2i_X509_AUX(
18598        x509: *mut *mut X509,
18599        inp: *mut *const u8,
18600        length: ::std::os::raw::c_long,
18601    ) -> *mut X509;
18602}
18603extern "C" {
18604    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_alias_set1"]
18605    pub fn X509_alias_set1(
18606        x509: *mut X509,
18607        name: *const u8,
18608        len: ossl_ssize_t,
18609    ) -> ::std::os::raw::c_int;
18610}
18611extern "C" {
18612    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_keyid_set1"]
18613    pub fn X509_keyid_set1(
18614        x509: *mut X509,
18615        id: *const u8,
18616        len: ossl_ssize_t,
18617    ) -> ::std::os::raw::c_int;
18618}
18619extern "C" {
18620    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_alias_get0"]
18621    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
18622}
18623extern "C" {
18624    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_keyid_get0"]
18625    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
18626}
18627extern "C" {
18628    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_add1_trust_object"]
18629    pub fn X509_add1_trust_object(
18630        x509: *mut X509,
18631        obj: *const ASN1_OBJECT,
18632    ) -> ::std::os::raw::c_int;
18633}
18634extern "C" {
18635    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_add1_reject_object"]
18636    pub fn X509_add1_reject_object(
18637        x509: *mut X509,
18638        obj: *const ASN1_OBJECT,
18639    ) -> ::std::os::raw::c_int;
18640}
18641extern "C" {
18642    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_trust_clear"]
18643    pub fn X509_trust_clear(x509: *mut X509);
18644}
18645extern "C" {
18646    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_reject_clear"]
18647    pub fn X509_reject_clear(x509: *mut X509);
18648}
18649pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
18650pub type sk_X509_CRL_copy_func =
18651    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
18652pub type sk_X509_CRL_cmp_func = ::std::option::Option<
18653    unsafe extern "C" fn(
18654        arg1: *const *const X509_CRL,
18655        arg2: *const *const X509_CRL,
18656    ) -> ::std::os::raw::c_int,
18657>;
18658pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
18659    unsafe extern "C" fn(
18660        arg1: *mut X509_CRL,
18661        arg2: *mut ::std::os::raw::c_void,
18662    ) -> ::std::os::raw::c_int,
18663>;
18664#[repr(C)]
18665#[derive(Debug, Copy, Clone)]
18666pub struct stack_st_X509_REVOKED {
18667    _unused: [u8; 0],
18668}
18669pub type sk_X509_REVOKED_free_func =
18670    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
18671pub type sk_X509_REVOKED_copy_func =
18672    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
18673pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
18674    unsafe extern "C" fn(
18675        arg1: *const *const X509_REVOKED,
18676        arg2: *const *const X509_REVOKED,
18677    ) -> ::std::os::raw::c_int,
18678>;
18679pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
18680    unsafe extern "C" fn(
18681        arg1: *mut X509_REVOKED,
18682        arg2: *mut ::std::os::raw::c_void,
18683    ) -> ::std::os::raw::c_int,
18684>;
18685extern "C" {
18686    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_it"]
18687    pub static X509_CRL_it: ASN1_ITEM;
18688}
18689extern "C" {
18690    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_up_ref"]
18691    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
18692}
18693extern "C" {
18694    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_dup"]
18695    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
18696}
18697extern "C" {
18698    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_free"]
18699    pub fn X509_CRL_free(crl: *mut X509_CRL);
18700}
18701extern "C" {
18702    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_CRL"]
18703    pub fn d2i_X509_CRL(
18704        out: *mut *mut X509_CRL,
18705        inp: *mut *const u8,
18706        len: ::std::os::raw::c_long,
18707    ) -> *mut X509_CRL;
18708}
18709extern "C" {
18710    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_CRL"]
18711    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18712}
18713extern "C" {
18714    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_version"]
18715    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
18716}
18717extern "C" {
18718    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_lastUpdate"]
18719    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
18720}
18721extern "C" {
18722    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_nextUpdate"]
18723    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
18724}
18725extern "C" {
18726    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_issuer"]
18727    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
18728}
18729extern "C" {
18730    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_by_serial"]
18731    pub fn X509_CRL_get0_by_serial(
18732        crl: *mut X509_CRL,
18733        out: *mut *mut X509_REVOKED,
18734        serial: *const ASN1_INTEGER,
18735    ) -> ::std::os::raw::c_int;
18736}
18737extern "C" {
18738    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_by_cert"]
18739    pub fn X509_CRL_get0_by_cert(
18740        crl: *mut X509_CRL,
18741        out: *mut *mut X509_REVOKED,
18742        x509: *mut X509,
18743    ) -> ::std::os::raw::c_int;
18744}
18745extern "C" {
18746    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_REVOKED"]
18747    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
18748}
18749extern "C" {
18750    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_extensions"]
18751    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
18752}
18753extern "C" {
18754    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext_count"]
18755    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
18756}
18757extern "C" {
18758    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext_by_NID"]
18759    pub fn X509_CRL_get_ext_by_NID(
18760        x: *const X509_CRL,
18761        nid: ::std::os::raw::c_int,
18762        lastpos: ::std::os::raw::c_int,
18763    ) -> ::std::os::raw::c_int;
18764}
18765extern "C" {
18766    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext_by_OBJ"]
18767    pub fn X509_CRL_get_ext_by_OBJ(
18768        x: *const X509_CRL,
18769        obj: *const ASN1_OBJECT,
18770        lastpos: ::std::os::raw::c_int,
18771    ) -> ::std::os::raw::c_int;
18772}
18773extern "C" {
18774    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext_by_critical"]
18775    pub fn X509_CRL_get_ext_by_critical(
18776        x: *const X509_CRL,
18777        crit: ::std::os::raw::c_int,
18778        lastpos: ::std::os::raw::c_int,
18779    ) -> ::std::os::raw::c_int;
18780}
18781extern "C" {
18782    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext"]
18783    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
18784}
18785extern "C" {
18786    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_ext_d2i"]
18787    pub fn X509_CRL_get_ext_d2i(
18788        crl: *const X509_CRL,
18789        nid: ::std::os::raw::c_int,
18790        out_critical: *mut ::std::os::raw::c_int,
18791        out_idx: *mut ::std::os::raw::c_int,
18792    ) -> *mut ::std::os::raw::c_void;
18793}
18794extern "C" {
18795    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get0_signature"]
18796    pub fn X509_CRL_get0_signature(
18797        crl: *const X509_CRL,
18798        out_sig: *mut *const ASN1_BIT_STRING,
18799        out_alg: *mut *const X509_ALGOR,
18800    );
18801}
18802extern "C" {
18803    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_signature_nid"]
18804    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
18805}
18806extern "C" {
18807    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_CRL_tbs"]
18808    pub fn i2d_X509_CRL_tbs(
18809        crl: *mut X509_CRL,
18810        outp: *mut *mut ::std::os::raw::c_uchar,
18811    ) -> ::std::os::raw::c_int;
18812}
18813extern "C" {
18814    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_verify"]
18815    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
18816}
18817extern "C" {
18818    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_new"]
18819    pub fn X509_CRL_new() -> *mut X509_CRL;
18820}
18821extern "C" {
18822    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set_version"]
18823    pub fn X509_CRL_set_version(
18824        crl: *mut X509_CRL,
18825        version: ::std::os::raw::c_long,
18826    ) -> ::std::os::raw::c_int;
18827}
18828extern "C" {
18829    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set_issuer_name"]
18830    pub fn X509_CRL_set_issuer_name(
18831        crl: *mut X509_CRL,
18832        name: *mut X509_NAME,
18833    ) -> ::std::os::raw::c_int;
18834}
18835extern "C" {
18836    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set1_lastUpdate"]
18837    pub fn X509_CRL_set1_lastUpdate(
18838        crl: *mut X509_CRL,
18839        tm: *const ASN1_TIME,
18840    ) -> ::std::os::raw::c_int;
18841}
18842extern "C" {
18843    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set1_nextUpdate"]
18844    pub fn X509_CRL_set1_nextUpdate(
18845        crl: *mut X509_CRL,
18846        tm: *const ASN1_TIME,
18847    ) -> ::std::os::raw::c_int;
18848}
18849extern "C" {
18850    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_add0_revoked"]
18851    pub fn X509_CRL_add0_revoked(
18852        crl: *mut X509_CRL,
18853        rev: *mut X509_REVOKED,
18854    ) -> ::std::os::raw::c_int;
18855}
18856extern "C" {
18857    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_sort"]
18858    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
18859}
18860extern "C" {
18861    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_delete_ext"]
18862    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
18863        -> *mut X509_EXTENSION;
18864}
18865extern "C" {
18866    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_add_ext"]
18867    pub fn X509_CRL_add_ext(
18868        x: *mut X509_CRL,
18869        ex: *const X509_EXTENSION,
18870        loc: ::std::os::raw::c_int,
18871    ) -> ::std::os::raw::c_int;
18872}
18873extern "C" {
18874    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_add1_ext_i2d"]
18875    pub fn X509_CRL_add1_ext_i2d(
18876        x: *mut X509_CRL,
18877        nid: ::std::os::raw::c_int,
18878        value: *mut ::std::os::raw::c_void,
18879        crit: ::std::os::raw::c_int,
18880        flags: ::std::os::raw::c_ulong,
18881    ) -> ::std::os::raw::c_int;
18882}
18883extern "C" {
18884    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_sign"]
18885    pub fn X509_CRL_sign(
18886        crl: *mut X509_CRL,
18887        pkey: *mut EVP_PKEY,
18888        md: *const EVP_MD,
18889    ) -> ::std::os::raw::c_int;
18890}
18891extern "C" {
18892    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_sign_ctx"]
18893    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
18894}
18895extern "C" {
18896    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_re_X509_CRL_tbs"]
18897    pub fn i2d_re_X509_CRL_tbs(
18898        crl: *mut X509_CRL,
18899        outp: *mut *mut ::std::os::raw::c_uchar,
18900    ) -> ::std::os::raw::c_int;
18901}
18902extern "C" {
18903    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set1_signature_algo"]
18904    pub fn X509_CRL_set1_signature_algo(
18905        crl: *mut X509_CRL,
18906        algo: *const X509_ALGOR,
18907    ) -> ::std::os::raw::c_int;
18908}
18909extern "C" {
18910    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_set1_signature_value"]
18911    pub fn X509_CRL_set1_signature_value(
18912        crl: *mut X509_CRL,
18913        sig: *const u8,
18914        sig_len: usize,
18915    ) -> ::std::os::raw::c_int;
18916}
18917extern "C" {
18918    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_http_nbio"]
18919    pub fn X509_CRL_http_nbio(
18920        rctx: *mut OCSP_REQ_CTX,
18921        pcrl: *mut *mut X509_CRL,
18922    ) -> ::std::os::raw::c_int;
18923}
18924extern "C" {
18925    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_it"]
18926    pub static X509_REVOKED_it: ASN1_ITEM;
18927}
18928extern "C" {
18929    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_new"]
18930    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
18931}
18932extern "C" {
18933    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_free"]
18934    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
18935}
18936extern "C" {
18937    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_REVOKED"]
18938    pub fn d2i_X509_REVOKED(
18939        out: *mut *mut X509_REVOKED,
18940        inp: *mut *const u8,
18941        len: ::std::os::raw::c_long,
18942    ) -> *mut X509_REVOKED;
18943}
18944extern "C" {
18945    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_REVOKED"]
18946    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
18947}
18948extern "C" {
18949    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_dup"]
18950    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
18951}
18952extern "C" {
18953    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get0_serialNumber"]
18954    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
18955}
18956extern "C" {
18957    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_set_serialNumber"]
18958    pub fn X509_REVOKED_set_serialNumber(
18959        revoked: *mut X509_REVOKED,
18960        serial: *const ASN1_INTEGER,
18961    ) -> ::std::os::raw::c_int;
18962}
18963extern "C" {
18964    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get0_revocationDate"]
18965    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
18966}
18967extern "C" {
18968    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_set_revocationDate"]
18969    pub fn X509_REVOKED_set_revocationDate(
18970        revoked: *mut X509_REVOKED,
18971        tm: *const ASN1_TIME,
18972    ) -> ::std::os::raw::c_int;
18973}
18974extern "C" {
18975    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get0_extensions"]
18976    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
18977}
18978extern "C" {
18979    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext_count"]
18980    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
18981}
18982extern "C" {
18983    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext_by_NID"]
18984    pub fn X509_REVOKED_get_ext_by_NID(
18985        x: *const X509_REVOKED,
18986        nid: ::std::os::raw::c_int,
18987        lastpos: ::std::os::raw::c_int,
18988    ) -> ::std::os::raw::c_int;
18989}
18990extern "C" {
18991    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext_by_OBJ"]
18992    pub fn X509_REVOKED_get_ext_by_OBJ(
18993        x: *const X509_REVOKED,
18994        obj: *const ASN1_OBJECT,
18995        lastpos: ::std::os::raw::c_int,
18996    ) -> ::std::os::raw::c_int;
18997}
18998extern "C" {
18999    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext_by_critical"]
19000    pub fn X509_REVOKED_get_ext_by_critical(
19001        x: *const X509_REVOKED,
19002        crit: ::std::os::raw::c_int,
19003        lastpos: ::std::os::raw::c_int,
19004    ) -> ::std::os::raw::c_int;
19005}
19006extern "C" {
19007    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext"]
19008    pub fn X509_REVOKED_get_ext(
19009        x: *const X509_REVOKED,
19010        loc: ::std::os::raw::c_int,
19011    ) -> *mut X509_EXTENSION;
19012}
19013extern "C" {
19014    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_delete_ext"]
19015    pub fn X509_REVOKED_delete_ext(
19016        x: *mut X509_REVOKED,
19017        loc: ::std::os::raw::c_int,
19018    ) -> *mut X509_EXTENSION;
19019}
19020extern "C" {
19021    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_add_ext"]
19022    pub fn X509_REVOKED_add_ext(
19023        x: *mut X509_REVOKED,
19024        ex: *const X509_EXTENSION,
19025        loc: ::std::os::raw::c_int,
19026    ) -> ::std::os::raw::c_int;
19027}
19028extern "C" {
19029    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_get_ext_d2i"]
19030    pub fn X509_REVOKED_get_ext_d2i(
19031        revoked: *const X509_REVOKED,
19032        nid: ::std::os::raw::c_int,
19033        out_critical: *mut ::std::os::raw::c_int,
19034        out_idx: *mut ::std::os::raw::c_int,
19035    ) -> *mut ::std::os::raw::c_void;
19036}
19037extern "C" {
19038    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REVOKED_add1_ext_i2d"]
19039    pub fn X509_REVOKED_add1_ext_i2d(
19040        x: *mut X509_REVOKED,
19041        nid: ::std::os::raw::c_int,
19042        value: *mut ::std::os::raw::c_void,
19043        crit: ::std::os::raw::c_int,
19044        flags: ::std::os::raw::c_ulong,
19045    ) -> ::std::os::raw::c_int;
19046}
19047extern "C" {
19048    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_it"]
19049    pub static X509_REQ_it: ASN1_ITEM;
19050}
19051extern "C" {
19052    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_dup"]
19053    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
19054}
19055extern "C" {
19056    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_free"]
19057    pub fn X509_REQ_free(req: *mut X509_REQ);
19058}
19059extern "C" {
19060    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_REQ"]
19061    pub fn d2i_X509_REQ(
19062        out: *mut *mut X509_REQ,
19063        inp: *mut *const u8,
19064        len: ::std::os::raw::c_long,
19065    ) -> *mut X509_REQ;
19066}
19067extern "C" {
19068    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_REQ"]
19069    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19070}
19071extern "C" {
19072    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_version"]
19073    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
19074}
19075extern "C" {
19076    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_subject_name"]
19077    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
19078}
19079extern "C" {
19080    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get0_pubkey"]
19081    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
19082}
19083extern "C" {
19084    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_pubkey"]
19085    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
19086}
19087extern "C" {
19088    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_check_private_key"]
19089    pub fn X509_REQ_check_private_key(
19090        req: *const X509_REQ,
19091        pkey: *const EVP_PKEY,
19092    ) -> ::std::os::raw::c_int;
19093}
19094extern "C" {
19095    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_attr_count"]
19096    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
19097}
19098extern "C" {
19099    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_attr"]
19100    pub fn X509_REQ_get_attr(
19101        req: *const X509_REQ,
19102        loc: ::std::os::raw::c_int,
19103    ) -> *mut X509_ATTRIBUTE;
19104}
19105extern "C" {
19106    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_attr_by_NID"]
19107    pub fn X509_REQ_get_attr_by_NID(
19108        req: *const X509_REQ,
19109        nid: ::std::os::raw::c_int,
19110        lastpos: ::std::os::raw::c_int,
19111    ) -> ::std::os::raw::c_int;
19112}
19113extern "C" {
19114    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_attr_by_OBJ"]
19115    pub fn X509_REQ_get_attr_by_OBJ(
19116        req: *const X509_REQ,
19117        obj: *const ASN1_OBJECT,
19118        lastpos: ::std::os::raw::c_int,
19119    ) -> ::std::os::raw::c_int;
19120}
19121extern "C" {
19122    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_extension_nid"]
19123    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19124}
19125extern "C" {
19126    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_extensions"]
19127    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
19128}
19129extern "C" {
19130    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get0_signature"]
19131    pub fn X509_REQ_get0_signature(
19132        req: *const X509_REQ,
19133        out_sig: *mut *const ASN1_BIT_STRING,
19134        out_alg: *mut *const X509_ALGOR,
19135    );
19136}
19137extern "C" {
19138    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get_signature_nid"]
19139    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
19140}
19141extern "C" {
19142    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_verify"]
19143    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19144}
19145extern "C" {
19146    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_get1_email"]
19147    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
19148}
19149extern "C" {
19150    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_new"]
19151    pub fn X509_REQ_new() -> *mut X509_REQ;
19152}
19153extern "C" {
19154    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_set_version"]
19155    pub fn X509_REQ_set_version(
19156        req: *mut X509_REQ,
19157        version: ::std::os::raw::c_long,
19158    ) -> ::std::os::raw::c_int;
19159}
19160extern "C" {
19161    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_set_subject_name"]
19162    pub fn X509_REQ_set_subject_name(
19163        req: *mut X509_REQ,
19164        name: *mut X509_NAME,
19165    ) -> ::std::os::raw::c_int;
19166}
19167extern "C" {
19168    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_set_pubkey"]
19169    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19170}
19171extern "C" {
19172    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_delete_attr"]
19173    pub fn X509_REQ_delete_attr(
19174        req: *mut X509_REQ,
19175        loc: ::std::os::raw::c_int,
19176    ) -> *mut X509_ATTRIBUTE;
19177}
19178extern "C" {
19179    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add1_attr"]
19180    pub fn X509_REQ_add1_attr(
19181        req: *mut X509_REQ,
19182        attr: *const X509_ATTRIBUTE,
19183    ) -> ::std::os::raw::c_int;
19184}
19185extern "C" {
19186    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add1_attr_by_OBJ"]
19187    pub fn X509_REQ_add1_attr_by_OBJ(
19188        req: *mut X509_REQ,
19189        obj: *const ASN1_OBJECT,
19190        attrtype: ::std::os::raw::c_int,
19191        data: *const ::std::os::raw::c_uchar,
19192        len: ::std::os::raw::c_int,
19193    ) -> ::std::os::raw::c_int;
19194}
19195extern "C" {
19196    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add1_attr_by_NID"]
19197    pub fn X509_REQ_add1_attr_by_NID(
19198        req: *mut X509_REQ,
19199        nid: ::std::os::raw::c_int,
19200        attrtype: ::std::os::raw::c_int,
19201        data: *const ::std::os::raw::c_uchar,
19202        len: ::std::os::raw::c_int,
19203    ) -> ::std::os::raw::c_int;
19204}
19205extern "C" {
19206    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add1_attr_by_txt"]
19207    pub fn X509_REQ_add1_attr_by_txt(
19208        req: *mut X509_REQ,
19209        attrname: *const ::std::os::raw::c_char,
19210        attrtype: ::std::os::raw::c_int,
19211        data: *const ::std::os::raw::c_uchar,
19212        len: ::std::os::raw::c_int,
19213    ) -> ::std::os::raw::c_int;
19214}
19215extern "C" {
19216    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add_extensions_nid"]
19217    pub fn X509_REQ_add_extensions_nid(
19218        req: *mut X509_REQ,
19219        exts: *const stack_st_X509_EXTENSION,
19220        nid: ::std::os::raw::c_int,
19221    ) -> ::std::os::raw::c_int;
19222}
19223extern "C" {
19224    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_add_extensions"]
19225    pub fn X509_REQ_add_extensions(
19226        req: *mut X509_REQ,
19227        exts: *const stack_st_X509_EXTENSION,
19228    ) -> ::std::os::raw::c_int;
19229}
19230extern "C" {
19231    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_sign"]
19232    pub fn X509_REQ_sign(
19233        req: *mut X509_REQ,
19234        pkey: *mut EVP_PKEY,
19235        md: *const EVP_MD,
19236    ) -> ::std::os::raw::c_int;
19237}
19238extern "C" {
19239    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_sign_ctx"]
19240    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
19241}
19242extern "C" {
19243    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_re_X509_REQ_tbs"]
19244    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19245}
19246extern "C" {
19247    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_set1_signature_algo"]
19248    pub fn X509_REQ_set1_signature_algo(
19249        req: *mut X509_REQ,
19250        algo: *const X509_ALGOR,
19251    ) -> ::std::os::raw::c_int;
19252}
19253extern "C" {
19254    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_set1_signature_value"]
19255    pub fn X509_REQ_set1_signature_value(
19256        req: *mut X509_REQ,
19257        sig: *const u8,
19258        sig_len: usize,
19259    ) -> ::std::os::raw::c_int;
19260}
19261#[repr(C)]
19262#[derive(Debug, Copy, Clone)]
19263pub struct stack_st_X509_NAME_ENTRY {
19264    _unused: [u8; 0],
19265}
19266pub type sk_X509_NAME_ENTRY_free_func =
19267    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
19268pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
19269    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
19270>;
19271pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
19272    unsafe extern "C" fn(
19273        arg1: *const *const X509_NAME_ENTRY,
19274        arg2: *const *const X509_NAME_ENTRY,
19275    ) -> ::std::os::raw::c_int,
19276>;
19277pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
19278    unsafe extern "C" fn(
19279        arg1: *mut X509_NAME_ENTRY,
19280        arg2: *mut ::std::os::raw::c_void,
19281    ) -> ::std::os::raw::c_int,
19282>;
19283#[repr(C)]
19284#[derive(Debug, Copy, Clone)]
19285pub struct stack_st_X509_NAME {
19286    _unused: [u8; 0],
19287}
19288pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
19289pub type sk_X509_NAME_copy_func =
19290    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
19291pub type sk_X509_NAME_cmp_func = ::std::option::Option<
19292    unsafe extern "C" fn(
19293        arg1: *const *const X509_NAME,
19294        arg2: *const *const X509_NAME,
19295    ) -> ::std::os::raw::c_int,
19296>;
19297pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
19298    unsafe extern "C" fn(
19299        arg1: *mut X509_NAME,
19300        arg2: *mut ::std::os::raw::c_void,
19301    ) -> ::std::os::raw::c_int,
19302>;
19303extern "C" {
19304    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_it"]
19305    pub static X509_NAME_it: ASN1_ITEM;
19306}
19307extern "C" {
19308    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_new"]
19309    pub fn X509_NAME_new() -> *mut X509_NAME;
19310}
19311extern "C" {
19312    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_free"]
19313    pub fn X509_NAME_free(name: *mut X509_NAME);
19314}
19315extern "C" {
19316    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_NAME"]
19317    pub fn d2i_X509_NAME(
19318        out: *mut *mut X509_NAME,
19319        inp: *mut *const u8,
19320        len: ::std::os::raw::c_long,
19321    ) -> *mut X509_NAME;
19322}
19323extern "C" {
19324    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_NAME"]
19325    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19326}
19327extern "C" {
19328    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_dup"]
19329    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
19330}
19331extern "C" {
19332    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_cmp"]
19333    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
19334}
19335extern "C" {
19336    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get0_der"]
19337    pub fn X509_NAME_get0_der(
19338        name: *mut X509_NAME,
19339        out_der: *mut *const u8,
19340        out_der_len: *mut usize,
19341    ) -> ::std::os::raw::c_int;
19342}
19343extern "C" {
19344    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_set"]
19345    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
19346}
19347extern "C" {
19348    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_entry_count"]
19349    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
19350}
19351extern "C" {
19352    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get_index_by_NID"]
19353    pub fn X509_NAME_get_index_by_NID(
19354        name: *const X509_NAME,
19355        nid: ::std::os::raw::c_int,
19356        lastpos: ::std::os::raw::c_int,
19357    ) -> ::std::os::raw::c_int;
19358}
19359extern "C" {
19360    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get_index_by_OBJ"]
19361    pub fn X509_NAME_get_index_by_OBJ(
19362        name: *const X509_NAME,
19363        obj: *const ASN1_OBJECT,
19364        lastpos: ::std::os::raw::c_int,
19365    ) -> ::std::os::raw::c_int;
19366}
19367extern "C" {
19368    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get_entry"]
19369    pub fn X509_NAME_get_entry(
19370        name: *const X509_NAME,
19371        loc: ::std::os::raw::c_int,
19372    ) -> *mut X509_NAME_ENTRY;
19373}
19374extern "C" {
19375    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_delete_entry"]
19376    pub fn X509_NAME_delete_entry(
19377        name: *mut X509_NAME,
19378        loc: ::std::os::raw::c_int,
19379    ) -> *mut X509_NAME_ENTRY;
19380}
19381extern "C" {
19382    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_add_entry"]
19383    pub fn X509_NAME_add_entry(
19384        name: *mut X509_NAME,
19385        entry: *const X509_NAME_ENTRY,
19386        loc: ::std::os::raw::c_int,
19387        set: ::std::os::raw::c_int,
19388    ) -> ::std::os::raw::c_int;
19389}
19390extern "C" {
19391    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_add_entry_by_OBJ"]
19392    pub fn X509_NAME_add_entry_by_OBJ(
19393        name: *mut X509_NAME,
19394        obj: *const ASN1_OBJECT,
19395        type_: ::std::os::raw::c_int,
19396        bytes: *const u8,
19397        len: ossl_ssize_t,
19398        loc: ::std::os::raw::c_int,
19399        set: ::std::os::raw::c_int,
19400    ) -> ::std::os::raw::c_int;
19401}
19402extern "C" {
19403    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_add_entry_by_NID"]
19404    pub fn X509_NAME_add_entry_by_NID(
19405        name: *mut X509_NAME,
19406        nid: ::std::os::raw::c_int,
19407        type_: ::std::os::raw::c_int,
19408        bytes: *const u8,
19409        len: ossl_ssize_t,
19410        loc: ::std::os::raw::c_int,
19411        set: ::std::os::raw::c_int,
19412    ) -> ::std::os::raw::c_int;
19413}
19414extern "C" {
19415    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_add_entry_by_txt"]
19416    pub fn X509_NAME_add_entry_by_txt(
19417        name: *mut X509_NAME,
19418        field: *const ::std::os::raw::c_char,
19419        type_: ::std::os::raw::c_int,
19420        bytes: *const u8,
19421        len: ossl_ssize_t,
19422        loc: ::std::os::raw::c_int,
19423        set: ::std::os::raw::c_int,
19424    ) -> ::std::os::raw::c_int;
19425}
19426extern "C" {
19427    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_it"]
19428    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
19429}
19430extern "C" {
19431    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_new"]
19432    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
19433}
19434extern "C" {
19435    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_free"]
19436    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
19437}
19438extern "C" {
19439    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_NAME_ENTRY"]
19440    pub fn d2i_X509_NAME_ENTRY(
19441        out: *mut *mut X509_NAME_ENTRY,
19442        inp: *mut *const u8,
19443        len: ::std::os::raw::c_long,
19444    ) -> *mut X509_NAME_ENTRY;
19445}
19446extern "C" {
19447    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_NAME_ENTRY"]
19448    pub fn i2d_X509_NAME_ENTRY(
19449        in_: *const X509_NAME_ENTRY,
19450        outp: *mut *mut u8,
19451    ) -> ::std::os::raw::c_int;
19452}
19453extern "C" {
19454    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_dup"]
19455    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
19456}
19457extern "C" {
19458    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_get_object"]
19459    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
19460}
19461extern "C" {
19462    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_set_object"]
19463    pub fn X509_NAME_ENTRY_set_object(
19464        entry: *mut X509_NAME_ENTRY,
19465        obj: *const ASN1_OBJECT,
19466    ) -> ::std::os::raw::c_int;
19467}
19468extern "C" {
19469    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_get_data"]
19470    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
19471}
19472extern "C" {
19473    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_set_data"]
19474    pub fn X509_NAME_ENTRY_set_data(
19475        entry: *mut X509_NAME_ENTRY,
19476        type_: ::std::os::raw::c_int,
19477        bytes: *const u8,
19478        len: ossl_ssize_t,
19479    ) -> ::std::os::raw::c_int;
19480}
19481extern "C" {
19482    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_set"]
19483    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
19484}
19485extern "C" {
19486    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_create_by_OBJ"]
19487    pub fn X509_NAME_ENTRY_create_by_OBJ(
19488        out: *mut *mut X509_NAME_ENTRY,
19489        obj: *const ASN1_OBJECT,
19490        type_: ::std::os::raw::c_int,
19491        bytes: *const u8,
19492        len: ossl_ssize_t,
19493    ) -> *mut X509_NAME_ENTRY;
19494}
19495extern "C" {
19496    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_create_by_NID"]
19497    pub fn X509_NAME_ENTRY_create_by_NID(
19498        out: *mut *mut X509_NAME_ENTRY,
19499        nid: ::std::os::raw::c_int,
19500        type_: ::std::os::raw::c_int,
19501        bytes: *const u8,
19502        len: ossl_ssize_t,
19503    ) -> *mut X509_NAME_ENTRY;
19504}
19505extern "C" {
19506    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_ENTRY_create_by_txt"]
19507    pub fn X509_NAME_ENTRY_create_by_txt(
19508        out: *mut *mut X509_NAME_ENTRY,
19509        field: *const ::std::os::raw::c_char,
19510        type_: ::std::os::raw::c_int,
19511        bytes: *const u8,
19512        len: ossl_ssize_t,
19513    ) -> *mut X509_NAME_ENTRY;
19514}
19515extern "C" {
19516    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_it"]
19517    pub static X509_PUBKEY_it: ASN1_ITEM;
19518}
19519extern "C" {
19520    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_new"]
19521    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
19522}
19523extern "C" {
19524    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_free"]
19525    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
19526}
19527extern "C" {
19528    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_PUBKEY"]
19529    pub fn d2i_X509_PUBKEY(
19530        out: *mut *mut X509_PUBKEY,
19531        inp: *mut *const u8,
19532        len: ::std::os::raw::c_long,
19533    ) -> *mut X509_PUBKEY;
19534}
19535extern "C" {
19536    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_PUBKEY"]
19537    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19538}
19539extern "C" {
19540    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_set"]
19541    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
19542}
19543extern "C" {
19544    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_get0"]
19545    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
19546}
19547extern "C" {
19548    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_get"]
19549    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
19550}
19551extern "C" {
19552    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_set0_param"]
19553    pub fn X509_PUBKEY_set0_param(
19554        pub_: *mut X509_PUBKEY,
19555        obj: *mut ASN1_OBJECT,
19556        param_type: ::std::os::raw::c_int,
19557        param_value: *mut ::std::os::raw::c_void,
19558        key: *mut u8,
19559        key_len: ::std::os::raw::c_int,
19560    ) -> ::std::os::raw::c_int;
19561}
19562extern "C" {
19563    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_get0_param"]
19564    pub fn X509_PUBKEY_get0_param(
19565        out_obj: *mut *mut ASN1_OBJECT,
19566        out_key: *mut *const u8,
19567        out_key_len: *mut ::std::os::raw::c_int,
19568        out_alg: *mut *mut X509_ALGOR,
19569        pub_: *mut X509_PUBKEY,
19570    ) -> ::std::os::raw::c_int;
19571}
19572extern "C" {
19573    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PUBKEY_get0_public_key"]
19574    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
19575}
19576extern "C" {
19577    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_it"]
19578    pub static X509_EXTENSION_it: ASN1_ITEM;
19579}
19580extern "C" {
19581    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_new"]
19582    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
19583}
19584extern "C" {
19585    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_free"]
19586    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
19587}
19588extern "C" {
19589    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_EXTENSION"]
19590    pub fn d2i_X509_EXTENSION(
19591        out: *mut *mut X509_EXTENSION,
19592        inp: *mut *const u8,
19593        len: ::std::os::raw::c_long,
19594    ) -> *mut X509_EXTENSION;
19595}
19596extern "C" {
19597    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_EXTENSION"]
19598    pub fn i2d_X509_EXTENSION(
19599        ex: *const X509_EXTENSION,
19600        outp: *mut *mut u8,
19601    ) -> ::std::os::raw::c_int;
19602}
19603extern "C" {
19604    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_dup"]
19605    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
19606}
19607extern "C" {
19608    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_create_by_NID"]
19609    pub fn X509_EXTENSION_create_by_NID(
19610        ex: *mut *mut X509_EXTENSION,
19611        nid: ::std::os::raw::c_int,
19612        crit: ::std::os::raw::c_int,
19613        data: *const ASN1_OCTET_STRING,
19614    ) -> *mut X509_EXTENSION;
19615}
19616extern "C" {
19617    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_create_by_OBJ"]
19618    pub fn X509_EXTENSION_create_by_OBJ(
19619        ex: *mut *mut X509_EXTENSION,
19620        obj: *const ASN1_OBJECT,
19621        crit: ::std::os::raw::c_int,
19622        data: *const ASN1_OCTET_STRING,
19623    ) -> *mut X509_EXTENSION;
19624}
19625extern "C" {
19626    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_get_object"]
19627    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
19628}
19629extern "C" {
19630    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_get_data"]
19631    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
19632}
19633extern "C" {
19634    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_get_critical"]
19635    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
19636}
19637extern "C" {
19638    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_set_object"]
19639    pub fn X509_EXTENSION_set_object(
19640        ex: *mut X509_EXTENSION,
19641        obj: *const ASN1_OBJECT,
19642    ) -> ::std::os::raw::c_int;
19643}
19644extern "C" {
19645    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_set_critical"]
19646    pub fn X509_EXTENSION_set_critical(
19647        ex: *mut X509_EXTENSION,
19648        crit: ::std::os::raw::c_int,
19649    ) -> ::std::os::raw::c_int;
19650}
19651extern "C" {
19652    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSION_set_data"]
19653    pub fn X509_EXTENSION_set_data(
19654        ex: *mut X509_EXTENSION,
19655        data: *const ASN1_OCTET_STRING,
19656    ) -> ::std::os::raw::c_int;
19657}
19658pub type sk_X509_EXTENSION_free_func =
19659    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
19660pub type sk_X509_EXTENSION_copy_func =
19661    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
19662pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
19663    unsafe extern "C" fn(
19664        arg1: *const *const X509_EXTENSION,
19665        arg2: *const *const X509_EXTENSION,
19666    ) -> ::std::os::raw::c_int,
19667>;
19668pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
19669    unsafe extern "C" fn(
19670        arg1: *mut X509_EXTENSION,
19671        arg2: *mut ::std::os::raw::c_void,
19672    ) -> ::std::os::raw::c_int,
19673>;
19674pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
19675extern "C" {
19676    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_EXTENSIONS_it"]
19677    pub static X509_EXTENSIONS_it: ASN1_ITEM;
19678}
19679extern "C" {
19680    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_EXTENSIONS"]
19681    pub fn d2i_X509_EXTENSIONS(
19682        out: *mut *mut X509_EXTENSIONS,
19683        inp: *mut *const u8,
19684        len: ::std::os::raw::c_long,
19685    ) -> *mut X509_EXTENSIONS;
19686}
19687extern "C" {
19688    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_EXTENSIONS"]
19689    pub fn i2d_X509_EXTENSIONS(
19690        alg: *const X509_EXTENSIONS,
19691        outp: *mut *mut u8,
19692    ) -> ::std::os::raw::c_int;
19693}
19694extern "C" {
19695    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_get_ext_count"]
19696    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
19697}
19698extern "C" {
19699    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_get_ext_by_NID"]
19700    pub fn X509v3_get_ext_by_NID(
19701        x: *const stack_st_X509_EXTENSION,
19702        nid: ::std::os::raw::c_int,
19703        lastpos: ::std::os::raw::c_int,
19704    ) -> ::std::os::raw::c_int;
19705}
19706extern "C" {
19707    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_get_ext_by_OBJ"]
19708    pub fn X509v3_get_ext_by_OBJ(
19709        x: *const stack_st_X509_EXTENSION,
19710        obj: *const ASN1_OBJECT,
19711        lastpos: ::std::os::raw::c_int,
19712    ) -> ::std::os::raw::c_int;
19713}
19714extern "C" {
19715    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_get_ext_by_critical"]
19716    pub fn X509v3_get_ext_by_critical(
19717        x: *const stack_st_X509_EXTENSION,
19718        crit: ::std::os::raw::c_int,
19719        lastpos: ::std::os::raw::c_int,
19720    ) -> ::std::os::raw::c_int;
19721}
19722extern "C" {
19723    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_get_ext"]
19724    pub fn X509v3_get_ext(
19725        x: *const stack_st_X509_EXTENSION,
19726        loc: ::std::os::raw::c_int,
19727    ) -> *mut X509_EXTENSION;
19728}
19729extern "C" {
19730    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_delete_ext"]
19731    pub fn X509v3_delete_ext(
19732        x: *mut stack_st_X509_EXTENSION,
19733        loc: ::std::os::raw::c_int,
19734    ) -> *mut X509_EXTENSION;
19735}
19736extern "C" {
19737    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509v3_add_ext"]
19738    pub fn X509v3_add_ext(
19739        x: *mut *mut stack_st_X509_EXTENSION,
19740        ex: *const X509_EXTENSION,
19741        loc: ::std::os::raw::c_int,
19742    ) -> *mut stack_st_X509_EXTENSION;
19743}
19744#[repr(C)]
19745#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19746pub struct otherName_st {
19747    pub type_id: *mut ASN1_OBJECT,
19748    pub value: *mut ASN1_TYPE,
19749}
19750#[test]
19751fn bindgen_test_layout_otherName_st() {
19752    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
19753    let ptr = UNINIT.as_ptr();
19754    assert_eq!(
19755        ::std::mem::size_of::<otherName_st>(),
19756        16usize,
19757        "Size of otherName_st"
19758    );
19759    assert_eq!(
19760        ::std::mem::align_of::<otherName_st>(),
19761        8usize,
19762        "Alignment of otherName_st"
19763    );
19764    assert_eq!(
19765        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
19766        0usize,
19767        "Offset of field: otherName_st::type_id"
19768    );
19769    assert_eq!(
19770        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
19771        8usize,
19772        "Offset of field: otherName_st::value"
19773    );
19774}
19775impl Default for otherName_st {
19776    fn default() -> Self {
19777        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19778        unsafe {
19779            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19780            s.assume_init()
19781        }
19782    }
19783}
19784pub type OTHERNAME = otherName_st;
19785#[repr(C)]
19786#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19787pub struct EDIPartyName_st {
19788    pub nameAssigner: *mut ASN1_STRING,
19789    pub partyName: *mut ASN1_STRING,
19790}
19791#[test]
19792fn bindgen_test_layout_EDIPartyName_st() {
19793    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
19794    let ptr = UNINIT.as_ptr();
19795    assert_eq!(
19796        ::std::mem::size_of::<EDIPartyName_st>(),
19797        16usize,
19798        "Size of EDIPartyName_st"
19799    );
19800    assert_eq!(
19801        ::std::mem::align_of::<EDIPartyName_st>(),
19802        8usize,
19803        "Alignment of EDIPartyName_st"
19804    );
19805    assert_eq!(
19806        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
19807        0usize,
19808        "Offset of field: EDIPartyName_st::nameAssigner"
19809    );
19810    assert_eq!(
19811        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
19812        8usize,
19813        "Offset of field: EDIPartyName_st::partyName"
19814    );
19815}
19816impl Default for EDIPartyName_st {
19817    fn default() -> Self {
19818        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19819        unsafe {
19820            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19821            s.assume_init()
19822        }
19823    }
19824}
19825pub type EDIPARTYNAME = EDIPartyName_st;
19826#[repr(C)]
19827#[derive(Copy, Clone)]
19828pub struct GENERAL_NAME_st {
19829    pub type_: ::std::os::raw::c_int,
19830    pub d: GENERAL_NAME_st__bindgen_ty_1,
19831}
19832#[repr(C)]
19833#[derive(Copy, Clone)]
19834pub union GENERAL_NAME_st__bindgen_ty_1 {
19835    pub ptr: *mut ::std::os::raw::c_char,
19836    pub otherName: *mut OTHERNAME,
19837    pub rfc822Name: *mut ASN1_IA5STRING,
19838    pub dNSName: *mut ASN1_IA5STRING,
19839    pub x400Address: *mut ASN1_STRING,
19840    pub directoryName: *mut X509_NAME,
19841    pub ediPartyName: *mut EDIPARTYNAME,
19842    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
19843    pub iPAddress: *mut ASN1_OCTET_STRING,
19844    pub registeredID: *mut ASN1_OBJECT,
19845    pub ip: *mut ASN1_OCTET_STRING,
19846    pub dirn: *mut X509_NAME,
19847    pub ia5: *mut ASN1_IA5STRING,
19848    pub rid: *mut ASN1_OBJECT,
19849}
19850#[test]
19851fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
19852    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
19853        ::std::mem::MaybeUninit::uninit();
19854    let ptr = UNINIT.as_ptr();
19855    assert_eq!(
19856        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
19857        8usize,
19858        "Size of GENERAL_NAME_st__bindgen_ty_1"
19859    );
19860    assert_eq!(
19861        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
19862        8usize,
19863        "Alignment of GENERAL_NAME_st__bindgen_ty_1"
19864    );
19865    assert_eq!(
19866        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
19867        0usize,
19868        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ptr"
19869    );
19870    assert_eq!(
19871        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
19872        0usize,
19873        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::otherName"
19874    );
19875    assert_eq!(
19876        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
19877        0usize,
19878        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rfc822Name"
19879    );
19880    assert_eq!(
19881        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
19882        0usize,
19883        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dNSName"
19884    );
19885    assert_eq!(
19886        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
19887        0usize,
19888        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::x400Address"
19889    );
19890    assert_eq!(
19891        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
19892        0usize,
19893        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::directoryName"
19894    );
19895    assert_eq!(
19896        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
19897        0usize,
19898        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ediPartyName"
19899    );
19900    assert_eq!(
19901        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
19902        0usize,
19903        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::uniformResourceIdentifier"
19904    );
19905    assert_eq!(
19906        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
19907        0usize,
19908        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::iPAddress"
19909    );
19910    assert_eq!(
19911        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
19912        0usize,
19913        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::registeredID"
19914    );
19915    assert_eq!(
19916        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
19917        0usize,
19918        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ip"
19919    );
19920    assert_eq!(
19921        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
19922        0usize,
19923        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::dirn"
19924    );
19925    assert_eq!(
19926        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
19927        0usize,
19928        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::ia5"
19929    );
19930    assert_eq!(
19931        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
19932        0usize,
19933        "Offset of field: GENERAL_NAME_st__bindgen_ty_1::rid"
19934    );
19935}
19936impl Default for GENERAL_NAME_st__bindgen_ty_1 {
19937    fn default() -> Self {
19938        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19939        unsafe {
19940            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19941            s.assume_init()
19942        }
19943    }
19944}
19945#[test]
19946fn bindgen_test_layout_GENERAL_NAME_st() {
19947    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
19948    let ptr = UNINIT.as_ptr();
19949    assert_eq!(
19950        ::std::mem::size_of::<GENERAL_NAME_st>(),
19951        16usize,
19952        "Size of GENERAL_NAME_st"
19953    );
19954    assert_eq!(
19955        ::std::mem::align_of::<GENERAL_NAME_st>(),
19956        8usize,
19957        "Alignment of GENERAL_NAME_st"
19958    );
19959    assert_eq!(
19960        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
19961        0usize,
19962        "Offset of field: GENERAL_NAME_st::type_"
19963    );
19964    assert_eq!(
19965        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
19966        8usize,
19967        "Offset of field: GENERAL_NAME_st::d"
19968    );
19969}
19970impl Default for GENERAL_NAME_st {
19971    fn default() -> Self {
19972        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19973        unsafe {
19974            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19975            s.assume_init()
19976        }
19977    }
19978}
19979extern "C" {
19980    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_new"]
19981    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
19982}
19983extern "C" {
19984    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_free"]
19985    pub fn GENERAL_NAME_free(gen_: *mut GENERAL_NAME);
19986}
19987extern "C" {
19988    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_GENERAL_NAME"]
19989    pub fn d2i_GENERAL_NAME(
19990        out: *mut *mut GENERAL_NAME,
19991        inp: *mut *const u8,
19992        len: ::std::os::raw::c_long,
19993    ) -> *mut GENERAL_NAME;
19994}
19995extern "C" {
19996    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_GENERAL_NAME"]
19997    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
19998}
19999extern "C" {
20000    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_dup"]
20001    pub fn GENERAL_NAME_dup(gen_: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
20002}
20003extern "C" {
20004    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAMES_new"]
20005    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
20006}
20007extern "C" {
20008    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAMES_free"]
20009    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
20010}
20011extern "C" {
20012    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_GENERAL_NAMES"]
20013    pub fn d2i_GENERAL_NAMES(
20014        out: *mut *mut GENERAL_NAMES,
20015        inp: *mut *const u8,
20016        len: ::std::os::raw::c_long,
20017    ) -> *mut GENERAL_NAMES;
20018}
20019extern "C" {
20020    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_GENERAL_NAMES"]
20021    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20022}
20023extern "C" {
20024    #[link_name = "\u{1}aws_lc_fips_0_13_14_OTHERNAME_new"]
20025    pub fn OTHERNAME_new() -> *mut OTHERNAME;
20026}
20027extern "C" {
20028    #[link_name = "\u{1}aws_lc_fips_0_13_14_OTHERNAME_free"]
20029    pub fn OTHERNAME_free(name: *mut OTHERNAME);
20030}
20031extern "C" {
20032    #[link_name = "\u{1}aws_lc_fips_0_13_14_EDIPARTYNAME_new"]
20033    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
20034}
20035extern "C" {
20036    #[link_name = "\u{1}aws_lc_fips_0_13_14_EDIPARTYNAME_free"]
20037    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
20038}
20039extern "C" {
20040    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_set0_value"]
20041    pub fn GENERAL_NAME_set0_value(
20042        gen_: *mut GENERAL_NAME,
20043        type_: ::std::os::raw::c_int,
20044        value: *mut ::std::os::raw::c_void,
20045    );
20046}
20047extern "C" {
20048    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_get0_value"]
20049    pub fn GENERAL_NAME_get0_value(
20050        gen_: *const GENERAL_NAME,
20051        out_type: *mut ::std::os::raw::c_int,
20052    ) -> *mut ::std::os::raw::c_void;
20053}
20054extern "C" {
20055    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_set0_othername"]
20056    pub fn GENERAL_NAME_set0_othername(
20057        gen_: *mut GENERAL_NAME,
20058        oid: *mut ASN1_OBJECT,
20059        value: *mut ASN1_TYPE,
20060    ) -> ::std::os::raw::c_int;
20061}
20062extern "C" {
20063    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_get0_otherName"]
20064    pub fn GENERAL_NAME_get0_otherName(
20065        gen_: *const GENERAL_NAME,
20066        out_oid: *mut *mut ASN1_OBJECT,
20067        out_value: *mut *mut ASN1_TYPE,
20068    ) -> ::std::os::raw::c_int;
20069}
20070#[repr(C)]
20071#[derive(Debug, Copy, Clone)]
20072pub struct stack_st_X509_ALGOR {
20073    _unused: [u8; 0],
20074}
20075pub type sk_X509_ALGOR_free_func =
20076    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
20077pub type sk_X509_ALGOR_copy_func =
20078    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
20079pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
20080    unsafe extern "C" fn(
20081        arg1: *const *const X509_ALGOR,
20082        arg2: *const *const X509_ALGOR,
20083    ) -> ::std::os::raw::c_int,
20084>;
20085pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
20086    unsafe extern "C" fn(
20087        arg1: *mut X509_ALGOR,
20088        arg2: *mut ::std::os::raw::c_void,
20089    ) -> ::std::os::raw::c_int,
20090>;
20091extern "C" {
20092    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_it"]
20093    pub static X509_ALGOR_it: ASN1_ITEM;
20094}
20095extern "C" {
20096    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_new"]
20097    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
20098}
20099extern "C" {
20100    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_dup"]
20101    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
20102}
20103extern "C" {
20104    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_free"]
20105    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
20106}
20107extern "C" {
20108    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_ALGOR"]
20109    pub fn d2i_X509_ALGOR(
20110        out: *mut *mut X509_ALGOR,
20111        inp: *mut *const u8,
20112        len: ::std::os::raw::c_long,
20113    ) -> *mut X509_ALGOR;
20114}
20115extern "C" {
20116    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_ALGOR"]
20117    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20118}
20119extern "C" {
20120    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_set0"]
20121    pub fn X509_ALGOR_set0(
20122        alg: *mut X509_ALGOR,
20123        obj: *mut ASN1_OBJECT,
20124        param_type: ::std::os::raw::c_int,
20125        param_value: *mut ::std::os::raw::c_void,
20126    ) -> ::std::os::raw::c_int;
20127}
20128extern "C" {
20129    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_get0"]
20130    pub fn X509_ALGOR_get0(
20131        out_obj: *mut *const ASN1_OBJECT,
20132        out_param_type: *mut ::std::os::raw::c_int,
20133        out_param_value: *mut *const ::std::os::raw::c_void,
20134        alg: *const X509_ALGOR,
20135    );
20136}
20137extern "C" {
20138    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_set_md"]
20139    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD);
20140}
20141extern "C" {
20142    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ALGOR_cmp"]
20143    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
20144}
20145#[repr(C)]
20146#[derive(Debug, Copy, Clone)]
20147pub struct stack_st_X509_ATTRIBUTE {
20148    _unused: [u8; 0],
20149}
20150pub type sk_X509_ATTRIBUTE_free_func =
20151    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
20152pub type sk_X509_ATTRIBUTE_copy_func =
20153    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
20154pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
20155    unsafe extern "C" fn(
20156        arg1: *const *const X509_ATTRIBUTE,
20157        arg2: *const *const X509_ATTRIBUTE,
20158    ) -> ::std::os::raw::c_int,
20159>;
20160pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
20161    unsafe extern "C" fn(
20162        arg1: *mut X509_ATTRIBUTE,
20163        arg2: *mut ::std::os::raw::c_void,
20164    ) -> ::std::os::raw::c_int,
20165>;
20166extern "C" {
20167    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_it"]
20168    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
20169}
20170extern "C" {
20171    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_new"]
20172    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
20173}
20174extern "C" {
20175    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_dup"]
20176    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
20177}
20178extern "C" {
20179    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_free"]
20180    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
20181}
20182extern "C" {
20183    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_ATTRIBUTE"]
20184    pub fn d2i_X509_ATTRIBUTE(
20185        out: *mut *mut X509_ATTRIBUTE,
20186        inp: *mut *const u8,
20187        len: ::std::os::raw::c_long,
20188    ) -> *mut X509_ATTRIBUTE;
20189}
20190extern "C" {
20191    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_ATTRIBUTE"]
20192    pub fn i2d_X509_ATTRIBUTE(
20193        alg: *const X509_ATTRIBUTE,
20194        outp: *mut *mut u8,
20195    ) -> ::std::os::raw::c_int;
20196}
20197extern "C" {
20198    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_create"]
20199    pub fn X509_ATTRIBUTE_create(
20200        nid: ::std::os::raw::c_int,
20201        attrtype: ::std::os::raw::c_int,
20202        value: *mut ::std::os::raw::c_void,
20203    ) -> *mut X509_ATTRIBUTE;
20204}
20205extern "C" {
20206    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_create_by_NID"]
20207    pub fn X509_ATTRIBUTE_create_by_NID(
20208        attr: *mut *mut X509_ATTRIBUTE,
20209        nid: ::std::os::raw::c_int,
20210        attrtype: ::std::os::raw::c_int,
20211        data: *const ::std::os::raw::c_void,
20212        len: ::std::os::raw::c_int,
20213    ) -> *mut X509_ATTRIBUTE;
20214}
20215extern "C" {
20216    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_create_by_OBJ"]
20217    pub fn X509_ATTRIBUTE_create_by_OBJ(
20218        attr: *mut *mut X509_ATTRIBUTE,
20219        obj: *const ASN1_OBJECT,
20220        attrtype: ::std::os::raw::c_int,
20221        data: *const ::std::os::raw::c_void,
20222        len: ::std::os::raw::c_int,
20223    ) -> *mut X509_ATTRIBUTE;
20224}
20225extern "C" {
20226    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_create_by_txt"]
20227    pub fn X509_ATTRIBUTE_create_by_txt(
20228        attr: *mut *mut X509_ATTRIBUTE,
20229        attrname: *const ::std::os::raw::c_char,
20230        type_: ::std::os::raw::c_int,
20231        bytes: *const ::std::os::raw::c_uchar,
20232        len: ::std::os::raw::c_int,
20233    ) -> *mut X509_ATTRIBUTE;
20234}
20235extern "C" {
20236    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_set1_object"]
20237    pub fn X509_ATTRIBUTE_set1_object(
20238        attr: *mut X509_ATTRIBUTE,
20239        obj: *const ASN1_OBJECT,
20240    ) -> ::std::os::raw::c_int;
20241}
20242extern "C" {
20243    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_set1_data"]
20244    pub fn X509_ATTRIBUTE_set1_data(
20245        attr: *mut X509_ATTRIBUTE,
20246        attrtype: ::std::os::raw::c_int,
20247        data: *const ::std::os::raw::c_void,
20248        len: ::std::os::raw::c_int,
20249    ) -> ::std::os::raw::c_int;
20250}
20251extern "C" {
20252    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_get0_data"]
20253    pub fn X509_ATTRIBUTE_get0_data(
20254        attr: *mut X509_ATTRIBUTE,
20255        idx: ::std::os::raw::c_int,
20256        attrtype: ::std::os::raw::c_int,
20257        unused: *mut ::std::os::raw::c_void,
20258    ) -> *mut ::std::os::raw::c_void;
20259}
20260extern "C" {
20261    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_count"]
20262    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
20263}
20264extern "C" {
20265    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_get0_object"]
20266    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
20267}
20268extern "C" {
20269    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_ATTRIBUTE_get0_type"]
20270    pub fn X509_ATTRIBUTE_get0_type(
20271        attr: *mut X509_ATTRIBUTE,
20272        idx: ::std::os::raw::c_int,
20273    ) -> *mut ASN1_TYPE;
20274}
20275extern "C" {
20276    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_new"]
20277    pub fn X509_STORE_new() -> *mut X509_STORE;
20278}
20279extern "C" {
20280    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_up_ref"]
20281    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
20282}
20283extern "C" {
20284    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_free"]
20285    pub fn X509_STORE_free(store: *mut X509_STORE);
20286}
20287extern "C" {
20288    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_add_cert"]
20289    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
20290}
20291extern "C" {
20292    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_add_crl"]
20293    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20294}
20295extern "C" {
20296    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get0_param"]
20297    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
20298}
20299extern "C" {
20300    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set1_param"]
20301    pub fn X509_STORE_set1_param(
20302        store: *mut X509_STORE,
20303        param: *const X509_VERIFY_PARAM,
20304    ) -> ::std::os::raw::c_int;
20305}
20306extern "C" {
20307    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_flags"]
20308    pub fn X509_STORE_set_flags(
20309        store: *mut X509_STORE,
20310        flags: ::std::os::raw::c_ulong,
20311    ) -> ::std::os::raw::c_int;
20312}
20313extern "C" {
20314    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_depth"]
20315    pub fn X509_STORE_set_depth(
20316        store: *mut X509_STORE,
20317        depth: ::std::os::raw::c_int,
20318    ) -> ::std::os::raw::c_int;
20319}
20320extern "C" {
20321    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_purpose"]
20322    pub fn X509_STORE_set_purpose(
20323        store: *mut X509_STORE,
20324        purpose: ::std::os::raw::c_int,
20325    ) -> ::std::os::raw::c_int;
20326}
20327extern "C" {
20328    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_trust"]
20329    pub fn X509_STORE_set_trust(
20330        store: *mut X509_STORE,
20331        trust: ::std::os::raw::c_int,
20332    ) -> ::std::os::raw::c_int;
20333}
20334pub type X509_STORE_CTX_lookup_crls_fn = ::std::option::Option<
20335    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, nm: *mut X509_NAME) -> *mut stack_st_X509_CRL,
20336>;
20337extern "C" {
20338    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get_lookup_crls"]
20339    pub fn X509_STORE_get_lookup_crls(ctx: *mut X509_STORE) -> X509_STORE_CTX_lookup_crls_fn;
20340}
20341extern "C" {
20342    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_lookup_crls"]
20343    pub fn X509_STORE_set_lookup_crls(
20344        ctx: *mut X509_STORE,
20345        lookup_crls: X509_STORE_CTX_lookup_crls_fn,
20346    );
20347}
20348extern "C" {
20349    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_new"]
20350    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
20351}
20352extern "C" {
20353    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_free"]
20354    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
20355}
20356extern "C" {
20357    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_init"]
20358    pub fn X509_STORE_CTX_init(
20359        ctx: *mut X509_STORE_CTX,
20360        store: *mut X509_STORE,
20361        x509: *mut X509,
20362        chain: *mut stack_st_X509,
20363    ) -> ::std::os::raw::c_int;
20364}
20365extern "C" {
20366    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_verify_cert"]
20367    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
20368}
20369extern "C" {
20370    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_chain"]
20371    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
20372}
20373extern "C" {
20374    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get1_chain"]
20375    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
20376}
20377extern "C" {
20378    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_cert"]
20379    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
20380}
20381extern "C" {
20382    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_error"]
20383    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
20384}
20385extern "C" {
20386    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_error"]
20387    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
20388}
20389extern "C" {
20390    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_verify_cert_error_string"]
20391    pub fn X509_verify_cert_error_string(
20392        err: ::std::os::raw::c_long,
20393    ) -> *const ::std::os::raw::c_char;
20394}
20395extern "C" {
20396    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_error_depth"]
20397    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
20398}
20399extern "C" {
20400    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_current_cert"]
20401    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
20402}
20403extern "C" {
20404    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_current_issuer"]
20405    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
20406}
20407extern "C" {
20408    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_current_crl"]
20409    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
20410}
20411extern "C" {
20412    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_store"]
20413    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
20414}
20415extern "C" {
20416    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_cert"]
20417    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
20418}
20419extern "C" {
20420    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_untrusted"]
20421    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
20422}
20423extern "C" {
20424    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set0_trusted_stack"]
20425    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
20426}
20427extern "C" {
20428    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set0_crls"]
20429    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
20430}
20431extern "C" {
20432    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_default"]
20433    pub fn X509_STORE_CTX_set_default(
20434        ctx: *mut X509_STORE_CTX,
20435        name: *const ::std::os::raw::c_char,
20436    ) -> ::std::os::raw::c_int;
20437}
20438extern "C" {
20439    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_param"]
20440    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
20441}
20442extern "C" {
20443    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set0_param"]
20444    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
20445}
20446extern "C" {
20447    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_flags"]
20448    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
20449}
20450extern "C" {
20451    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_time"]
20452    pub fn X509_STORE_CTX_set_time(
20453        ctx: *mut X509_STORE_CTX,
20454        flags: ::std::os::raw::c_ulong,
20455        t: time_t,
20456    );
20457}
20458extern "C" {
20459    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_time_posix"]
20460    pub fn X509_STORE_CTX_set_time_posix(
20461        ctx: *mut X509_STORE_CTX,
20462        flags: ::std::os::raw::c_ulong,
20463        t: i64,
20464    );
20465}
20466extern "C" {
20467    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_depth"]
20468    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
20469}
20470extern "C" {
20471    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_purpose"]
20472    pub fn X509_STORE_CTX_set_purpose(
20473        ctx: *mut X509_STORE_CTX,
20474        purpose: ::std::os::raw::c_int,
20475    ) -> ::std::os::raw::c_int;
20476}
20477extern "C" {
20478    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_trust"]
20479    pub fn X509_STORE_CTX_set_trust(
20480        ctx: *mut X509_STORE_CTX,
20481        trust: ::std::os::raw::c_int,
20482    ) -> ::std::os::raw::c_int;
20483}
20484extern "C" {
20485    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_add_custom_crit_oid"]
20486    pub fn X509_STORE_CTX_add_custom_crit_oid(
20487        ctx: *mut X509_STORE_CTX,
20488        oid: *mut ASN1_OBJECT,
20489    ) -> ::std::os::raw::c_int;
20490}
20491pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
20492    unsafe extern "C" fn(
20493        ctx: *mut X509_STORE_CTX,
20494        x509: *mut X509,
20495        oids: *mut stack_st_ASN1_OBJECT,
20496    ) -> ::std::os::raw::c_int,
20497>;
20498extern "C" {
20499    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_verify_crit_oids"]
20500    pub fn X509_STORE_CTX_set_verify_crit_oids(
20501        ctx: *mut X509_STORE_CTX,
20502        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
20503    );
20504}
20505extern "C" {
20506    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_new"]
20507    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
20508}
20509extern "C" {
20510    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_free"]
20511    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
20512}
20513extern "C" {
20514    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_inherit"]
20515    pub fn X509_VERIFY_PARAM_inherit(
20516        to: *mut X509_VERIFY_PARAM,
20517        from: *const X509_VERIFY_PARAM,
20518    ) -> ::std::os::raw::c_int;
20519}
20520extern "C" {
20521    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1"]
20522    pub fn X509_VERIFY_PARAM_set1(
20523        to: *mut X509_VERIFY_PARAM,
20524        from: *const X509_VERIFY_PARAM,
20525    ) -> ::std::os::raw::c_int;
20526}
20527extern "C" {
20528    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_flags"]
20529    pub fn X509_VERIFY_PARAM_set_flags(
20530        param: *mut X509_VERIFY_PARAM,
20531        flags: ::std::os::raw::c_ulong,
20532    ) -> ::std::os::raw::c_int;
20533}
20534extern "C" {
20535    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_clear_flags"]
20536    pub fn X509_VERIFY_PARAM_clear_flags(
20537        param: *mut X509_VERIFY_PARAM,
20538        flags: ::std::os::raw::c_ulong,
20539    ) -> ::std::os::raw::c_int;
20540}
20541extern "C" {
20542    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_get_flags"]
20543    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
20544}
20545extern "C" {
20546    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_depth"]
20547    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
20548}
20549extern "C" {
20550    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_get_depth"]
20551    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
20552}
20553extern "C" {
20554    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_time"]
20555    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
20556}
20557extern "C" {
20558    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_time_posix"]
20559    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
20560}
20561extern "C" {
20562    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_add0_policy"]
20563    pub fn X509_VERIFY_PARAM_add0_policy(
20564        param: *mut X509_VERIFY_PARAM,
20565        policy: *mut ASN1_OBJECT,
20566    ) -> ::std::os::raw::c_int;
20567}
20568extern "C" {
20569    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1_policies"]
20570    pub fn X509_VERIFY_PARAM_set1_policies(
20571        param: *mut X509_VERIFY_PARAM,
20572        policies: *const stack_st_ASN1_OBJECT,
20573    ) -> ::std::os::raw::c_int;
20574}
20575extern "C" {
20576    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1_host"]
20577    pub fn X509_VERIFY_PARAM_set1_host(
20578        param: *mut X509_VERIFY_PARAM,
20579        name: *const ::std::os::raw::c_char,
20580        name_len: usize,
20581    ) -> ::std::os::raw::c_int;
20582}
20583extern "C" {
20584    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_add1_host"]
20585    pub fn X509_VERIFY_PARAM_add1_host(
20586        param: *mut X509_VERIFY_PARAM,
20587        name: *const ::std::os::raw::c_char,
20588        name_len: usize,
20589    ) -> ::std::os::raw::c_int;
20590}
20591extern "C" {
20592    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_hostflags"]
20593    pub fn X509_VERIFY_PARAM_set_hostflags(
20594        param: *mut X509_VERIFY_PARAM,
20595        flags: ::std::os::raw::c_uint,
20596    );
20597}
20598extern "C" {
20599    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1_email"]
20600    pub fn X509_VERIFY_PARAM_set1_email(
20601        param: *mut X509_VERIFY_PARAM,
20602        email: *const ::std::os::raw::c_char,
20603        email_len: usize,
20604    ) -> ::std::os::raw::c_int;
20605}
20606extern "C" {
20607    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1_ip"]
20608    pub fn X509_VERIFY_PARAM_set1_ip(
20609        param: *mut X509_VERIFY_PARAM,
20610        ip: *const u8,
20611        ip_len: usize,
20612    ) -> ::std::os::raw::c_int;
20613}
20614extern "C" {
20615    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set1_ip_asc"]
20616    pub fn X509_VERIFY_PARAM_set1_ip_asc(
20617        param: *mut X509_VERIFY_PARAM,
20618        ipasc: *const ::std::os::raw::c_char,
20619    ) -> ::std::os::raw::c_int;
20620}
20621extern "C" {
20622    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_purpose"]
20623    pub fn X509_VERIFY_PARAM_set_purpose(
20624        param: *mut X509_VERIFY_PARAM,
20625        purpose: ::std::os::raw::c_int,
20626    ) -> ::std::os::raw::c_int;
20627}
20628extern "C" {
20629    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_VERIFY_PARAM_set_trust"]
20630    pub fn X509_VERIFY_PARAM_set_trust(
20631        param: *mut X509_VERIFY_PARAM,
20632        trust: ::std::os::raw::c_int,
20633    ) -> ::std::os::raw::c_int;
20634}
20635#[repr(C)]
20636#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20637pub struct Netscape_spki_st {
20638    pub spkac: *mut NETSCAPE_SPKAC,
20639    pub sig_algor: *mut X509_ALGOR,
20640    pub signature: *mut ASN1_BIT_STRING,
20641}
20642#[test]
20643fn bindgen_test_layout_Netscape_spki_st() {
20644    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
20645    let ptr = UNINIT.as_ptr();
20646    assert_eq!(
20647        ::std::mem::size_of::<Netscape_spki_st>(),
20648        24usize,
20649        "Size of Netscape_spki_st"
20650    );
20651    assert_eq!(
20652        ::std::mem::align_of::<Netscape_spki_st>(),
20653        8usize,
20654        "Alignment of Netscape_spki_st"
20655    );
20656    assert_eq!(
20657        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
20658        0usize,
20659        "Offset of field: Netscape_spki_st::spkac"
20660    );
20661    assert_eq!(
20662        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
20663        8usize,
20664        "Offset of field: Netscape_spki_st::sig_algor"
20665    );
20666    assert_eq!(
20667        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
20668        16usize,
20669        "Offset of field: Netscape_spki_st::signature"
20670    );
20671}
20672impl Default for Netscape_spki_st {
20673    fn default() -> Self {
20674        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20675        unsafe {
20676            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20677            s.assume_init()
20678        }
20679    }
20680}
20681extern "C" {
20682    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_it"]
20683    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
20684}
20685extern "C" {
20686    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_new"]
20687    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
20688}
20689extern "C" {
20690    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_free"]
20691    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
20692}
20693extern "C" {
20694    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_NETSCAPE_SPKI"]
20695    pub fn d2i_NETSCAPE_SPKI(
20696        out: *mut *mut NETSCAPE_SPKI,
20697        inp: *mut *const u8,
20698        len: ::std::os::raw::c_long,
20699    ) -> *mut NETSCAPE_SPKI;
20700}
20701extern "C" {
20702    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_NETSCAPE_SPKI"]
20703    pub fn i2d_NETSCAPE_SPKI(
20704        spki: *const NETSCAPE_SPKI,
20705        outp: *mut *mut u8,
20706    ) -> ::std::os::raw::c_int;
20707}
20708extern "C" {
20709    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_verify"]
20710    pub fn NETSCAPE_SPKI_verify(
20711        spki: *mut NETSCAPE_SPKI,
20712        pkey: *mut EVP_PKEY,
20713    ) -> ::std::os::raw::c_int;
20714}
20715extern "C" {
20716    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_b64_decode"]
20717    pub fn NETSCAPE_SPKI_b64_decode(
20718        str_: *const ::std::os::raw::c_char,
20719        len: ossl_ssize_t,
20720    ) -> *mut NETSCAPE_SPKI;
20721}
20722extern "C" {
20723    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_b64_encode"]
20724    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
20725}
20726extern "C" {
20727    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_get_pubkey"]
20728    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
20729}
20730extern "C" {
20731    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_set_pubkey"]
20732    pub fn NETSCAPE_SPKI_set_pubkey(
20733        spki: *mut NETSCAPE_SPKI,
20734        pkey: *mut EVP_PKEY,
20735    ) -> ::std::os::raw::c_int;
20736}
20737extern "C" {
20738    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_sign"]
20739    pub fn NETSCAPE_SPKI_sign(
20740        spki: *mut NETSCAPE_SPKI,
20741        pkey: *mut EVP_PKEY,
20742        md: *const EVP_MD,
20743    ) -> ::std::os::raw::c_int;
20744}
20745#[repr(C)]
20746#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20747pub struct Netscape_spkac_st {
20748    pub pubkey: *mut X509_PUBKEY,
20749    pub challenge: *mut ASN1_IA5STRING,
20750}
20751#[test]
20752fn bindgen_test_layout_Netscape_spkac_st() {
20753    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
20754    let ptr = UNINIT.as_ptr();
20755    assert_eq!(
20756        ::std::mem::size_of::<Netscape_spkac_st>(),
20757        16usize,
20758        "Size of Netscape_spkac_st"
20759    );
20760    assert_eq!(
20761        ::std::mem::align_of::<Netscape_spkac_st>(),
20762        8usize,
20763        "Alignment of Netscape_spkac_st"
20764    );
20765    assert_eq!(
20766        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
20767        0usize,
20768        "Offset of field: Netscape_spkac_st::pubkey"
20769    );
20770    assert_eq!(
20771        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
20772        8usize,
20773        "Offset of field: Netscape_spkac_st::challenge"
20774    );
20775}
20776impl Default for Netscape_spkac_st {
20777    fn default() -> Self {
20778        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20779        unsafe {
20780            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20781            s.assume_init()
20782        }
20783    }
20784}
20785extern "C" {
20786    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKAC_it"]
20787    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
20788}
20789extern "C" {
20790    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKAC_new"]
20791    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
20792}
20793extern "C" {
20794    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKAC_free"]
20795    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
20796}
20797extern "C" {
20798    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_NETSCAPE_SPKAC"]
20799    pub fn d2i_NETSCAPE_SPKAC(
20800        out: *mut *mut NETSCAPE_SPKAC,
20801        inp: *mut *const u8,
20802        len: ::std::os::raw::c_long,
20803    ) -> *mut NETSCAPE_SPKAC;
20804}
20805extern "C" {
20806    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_NETSCAPE_SPKAC"]
20807    pub fn i2d_NETSCAPE_SPKAC(
20808        spkac: *const NETSCAPE_SPKAC,
20809        outp: *mut *mut u8,
20810    ) -> ::std::os::raw::c_int;
20811}
20812extern "C" {
20813    #[link_name = "\u{1}aws_lc_fips_0_13_14_NETSCAPE_SPKI_print"]
20814    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
20815}
20816#[repr(C)]
20817#[derive(Debug, Copy, Clone, PartialEq, Eq)]
20818pub struct rsa_pss_params_st {
20819    pub hashAlgorithm: *mut X509_ALGOR,
20820    pub maskGenAlgorithm: *mut X509_ALGOR,
20821    pub saltLength: *mut ASN1_INTEGER,
20822    pub trailerField: *mut ASN1_INTEGER,
20823    pub maskHash: *mut X509_ALGOR,
20824}
20825#[test]
20826fn bindgen_test_layout_rsa_pss_params_st() {
20827    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
20828    let ptr = UNINIT.as_ptr();
20829    assert_eq!(
20830        ::std::mem::size_of::<rsa_pss_params_st>(),
20831        40usize,
20832        "Size of rsa_pss_params_st"
20833    );
20834    assert_eq!(
20835        ::std::mem::align_of::<rsa_pss_params_st>(),
20836        8usize,
20837        "Alignment of rsa_pss_params_st"
20838    );
20839    assert_eq!(
20840        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
20841        0usize,
20842        "Offset of field: rsa_pss_params_st::hashAlgorithm"
20843    );
20844    assert_eq!(
20845        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
20846        8usize,
20847        "Offset of field: rsa_pss_params_st::maskGenAlgorithm"
20848    );
20849    assert_eq!(
20850        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
20851        16usize,
20852        "Offset of field: rsa_pss_params_st::saltLength"
20853    );
20854    assert_eq!(
20855        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
20856        24usize,
20857        "Offset of field: rsa_pss_params_st::trailerField"
20858    );
20859    assert_eq!(
20860        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
20861        32usize,
20862        "Offset of field: rsa_pss_params_st::maskHash"
20863    );
20864}
20865impl Default for rsa_pss_params_st {
20866    fn default() -> Self {
20867        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
20868        unsafe {
20869            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
20870            s.assume_init()
20871        }
20872    }
20873}
20874extern "C" {
20875    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_PSS_PARAMS_it"]
20876    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
20877}
20878extern "C" {
20879    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_PSS_PARAMS_new"]
20880    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
20881}
20882extern "C" {
20883    #[link_name = "\u{1}aws_lc_fips_0_13_14_RSA_PSS_PARAMS_free"]
20884    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
20885}
20886extern "C" {
20887    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSA_PSS_PARAMS"]
20888    pub fn d2i_RSA_PSS_PARAMS(
20889        out: *mut *mut RSA_PSS_PARAMS,
20890        inp: *mut *const u8,
20891        len: ::std::os::raw::c_long,
20892    ) -> *mut RSA_PSS_PARAMS;
20893}
20894extern "C" {
20895    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSA_PSS_PARAMS"]
20896    pub fn i2d_RSA_PSS_PARAMS(
20897        in_: *const RSA_PSS_PARAMS,
20898        outp: *mut *mut u8,
20899    ) -> ::std::os::raw::c_int;
20900}
20901extern "C" {
20902    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_PRIV_KEY_INFO_it"]
20903    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
20904}
20905extern "C" {
20906    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_PRIV_KEY_INFO_new"]
20907    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
20908}
20909extern "C" {
20910    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_PRIV_KEY_INFO_free"]
20911    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
20912}
20913extern "C" {
20914    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8_PRIV_KEY_INFO"]
20915    pub fn d2i_PKCS8_PRIV_KEY_INFO(
20916        out: *mut *mut PKCS8_PRIV_KEY_INFO,
20917        inp: *mut *const u8,
20918        len: ::std::os::raw::c_long,
20919    ) -> *mut PKCS8_PRIV_KEY_INFO;
20920}
20921extern "C" {
20922    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8_PRIV_KEY_INFO"]
20923    pub fn i2d_PKCS8_PRIV_KEY_INFO(
20924        key: *const PKCS8_PRIV_KEY_INFO,
20925        outp: *mut *mut u8,
20926    ) -> ::std::os::raw::c_int;
20927}
20928extern "C" {
20929    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKCS82PKEY"]
20930    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
20931}
20932extern "C" {
20933    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY2PKCS8"]
20934    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
20935}
20936extern "C" {
20937    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_SIG_it"]
20938    pub static X509_SIG_it: ASN1_ITEM;
20939}
20940extern "C" {
20941    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_SIG_new"]
20942    pub fn X509_SIG_new() -> *mut X509_SIG;
20943}
20944extern "C" {
20945    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_SIG_free"]
20946    pub fn X509_SIG_free(key: *mut X509_SIG);
20947}
20948extern "C" {
20949    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_SIG"]
20950    pub fn d2i_X509_SIG(
20951        out: *mut *mut X509_SIG,
20952        inp: *mut *const u8,
20953        len: ::std::os::raw::c_long,
20954    ) -> *mut X509_SIG;
20955}
20956extern "C" {
20957    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_SIG"]
20958    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20959}
20960extern "C" {
20961    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_SIG_get0"]
20962    pub fn X509_SIG_get0(
20963        sig: *const X509_SIG,
20964        out_alg: *mut *const X509_ALGOR,
20965        out_digest: *mut *const ASN1_OCTET_STRING,
20966    );
20967}
20968extern "C" {
20969    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_SIG_getm"]
20970    pub fn X509_SIG_getm(
20971        sig: *mut X509_SIG,
20972        out_alg: *mut *mut X509_ALGOR,
20973        out_digest: *mut *mut ASN1_OCTET_STRING,
20974    );
20975}
20976extern "C" {
20977    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_print_ex"]
20978    pub fn X509_print_ex(
20979        bp: *mut BIO,
20980        x: *mut X509,
20981        nmflag: ::std::os::raw::c_ulong,
20982        cflag: ::std::os::raw::c_ulong,
20983    ) -> ::std::os::raw::c_int;
20984}
20985extern "C" {
20986    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_print_ex_fp"]
20987    pub fn X509_print_ex_fp(
20988        fp: *mut FILE,
20989        x: *mut X509,
20990        nmflag: ::std::os::raw::c_ulong,
20991        cflag: ::std::os::raw::c_ulong,
20992    ) -> ::std::os::raw::c_int;
20993}
20994extern "C" {
20995    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_print"]
20996    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
20997}
20998extern "C" {
20999    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_print_fp"]
21000    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
21001}
21002extern "C" {
21003    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_print"]
21004    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
21005}
21006extern "C" {
21007    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_print_fp"]
21008    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
21009}
21010extern "C" {
21011    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_print_ex"]
21012    pub fn X509_REQ_print_ex(
21013        bp: *mut BIO,
21014        x: *mut X509_REQ,
21015        nmflag: ::std::os::raw::c_ulong,
21016        cflag: ::std::os::raw::c_ulong,
21017    ) -> ::std::os::raw::c_int;
21018}
21019extern "C" {
21020    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_print"]
21021    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
21022}
21023extern "C" {
21024    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_print_fp"]
21025    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
21026}
21027extern "C" {
21028    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_print_ex"]
21029    pub fn X509_NAME_print_ex(
21030        out: *mut BIO,
21031        nm: *const X509_NAME,
21032        indent: ::std::os::raw::c_int,
21033        flags: ::std::os::raw::c_ulong,
21034    ) -> ::std::os::raw::c_int;
21035}
21036extern "C" {
21037    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_print"]
21038    pub fn X509_NAME_print(
21039        bp: *mut BIO,
21040        name: *const X509_NAME,
21041        obase: ::std::os::raw::c_int,
21042    ) -> ::std::os::raw::c_int;
21043}
21044extern "C" {
21045    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_oneline"]
21046    pub fn X509_NAME_oneline(
21047        name: *const X509_NAME,
21048        buf: *mut ::std::os::raw::c_char,
21049        size: ::std::os::raw::c_int,
21050    ) -> *mut ::std::os::raw::c_char;
21051}
21052extern "C" {
21053    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_print_ex_fp"]
21054    pub fn X509_NAME_print_ex_fp(
21055        fp: *mut FILE,
21056        nm: *const X509_NAME,
21057        indent: ::std::os::raw::c_int,
21058        flags: ::std::os::raw::c_ulong,
21059    ) -> ::std::os::raw::c_int;
21060}
21061extern "C" {
21062    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_signature_dump"]
21063    pub fn X509_signature_dump(
21064        bio: *mut BIO,
21065        sig: *const ASN1_STRING,
21066        indent: ::std::os::raw::c_int,
21067    ) -> ::std::os::raw::c_int;
21068}
21069extern "C" {
21070    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_signature_print"]
21071    pub fn X509_signature_print(
21072        bio: *mut BIO,
21073        alg: *const X509_ALGOR,
21074        sig: *const ASN1_STRING,
21075    ) -> ::std::os::raw::c_int;
21076}
21077extern "C" {
21078    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_print"]
21079    pub fn X509V3_EXT_print(
21080        out: *mut BIO,
21081        ext: *const X509_EXTENSION,
21082        flag: ::std::os::raw::c_ulong,
21083        indent: ::std::os::raw::c_int,
21084    ) -> ::std::os::raw::c_int;
21085}
21086extern "C" {
21087    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_print_fp"]
21088    pub fn X509V3_EXT_print_fp(
21089        out: *mut FILE,
21090        ext: *const X509_EXTENSION,
21091        flag: ::std::os::raw::c_int,
21092        indent: ::std::os::raw::c_int,
21093    ) -> ::std::os::raw::c_int;
21094}
21095extern "C" {
21096    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_extensions_print"]
21097    pub fn X509V3_extensions_print(
21098        out: *mut BIO,
21099        title: *const ::std::os::raw::c_char,
21100        exts: *const stack_st_X509_EXTENSION,
21101        flag: ::std::os::raw::c_ulong,
21102        indent: ::std::os::raw::c_int,
21103    ) -> ::std::os::raw::c_int;
21104}
21105extern "C" {
21106    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_NAME_print"]
21107    pub fn GENERAL_NAME_print(out: *mut BIO, gen_: *const GENERAL_NAME) -> ::std::os::raw::c_int;
21108}
21109extern "C" {
21110    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_pubkey_digest"]
21111    pub fn X509_pubkey_digest(
21112        x509: *const X509,
21113        md: *const EVP_MD,
21114        out: *mut u8,
21115        out_len: *mut ::std::os::raw::c_uint,
21116    ) -> ::std::os::raw::c_int;
21117}
21118extern "C" {
21119    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_digest"]
21120    pub fn X509_digest(
21121        x509: *const X509,
21122        md: *const EVP_MD,
21123        out: *mut u8,
21124        out_len: *mut ::std::os::raw::c_uint,
21125    ) -> ::std::os::raw::c_int;
21126}
21127extern "C" {
21128    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_digest"]
21129    pub fn X509_CRL_digest(
21130        crl: *const X509_CRL,
21131        md: *const EVP_MD,
21132        out: *mut u8,
21133        out_len: *mut ::std::os::raw::c_uint,
21134    ) -> ::std::os::raw::c_int;
21135}
21136extern "C" {
21137    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_REQ_digest"]
21138    pub fn X509_REQ_digest(
21139        req: *const X509_REQ,
21140        md: *const EVP_MD,
21141        out: *mut u8,
21142        out_len: *mut ::std::os::raw::c_uint,
21143    ) -> ::std::os::raw::c_int;
21144}
21145extern "C" {
21146    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_digest"]
21147    pub fn X509_NAME_digest(
21148        name: *const X509_NAME,
21149        md: *const EVP_MD,
21150        out: *mut u8,
21151        out_len: *mut ::std::os::raw::c_uint,
21152    ) -> ::std::os::raw::c_int;
21153}
21154extern "C" {
21155    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_bio"]
21156    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
21157}
21158extern "C" {
21159    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_CRL_bio"]
21160    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21161}
21162extern "C" {
21163    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_REQ_bio"]
21164    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21165}
21166extern "C" {
21167    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPrivateKey_bio"]
21168    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21169}
21170extern "C" {
21171    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPublicKey_bio"]
21172    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21173}
21174extern "C" {
21175    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSA_PUBKEY_bio"]
21176    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
21177}
21178extern "C" {
21179    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSA_PUBKEY_bio"]
21180    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21181}
21182extern "C" {
21183    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSAPrivateKey_bio"]
21184    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
21185}
21186extern "C" {
21187    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_EC_PUBKEY_bio"]
21188    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21189}
21190extern "C" {
21191    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECPrivateKey_bio"]
21192    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21193}
21194extern "C" {
21195    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8_bio"]
21196    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21197}
21198extern "C" {
21199    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8_PRIV_KEY_INFO_bio"]
21200    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
21201        bp: *mut BIO,
21202        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21203    ) -> *mut PKCS8_PRIV_KEY_INFO;
21204}
21205extern "C" {
21206    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PUBKEY_bio"]
21207    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21208}
21209extern "C" {
21210    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DHparams_bio"]
21211    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
21212}
21213extern "C" {
21214    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PrivateKey_bio"]
21215    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21216}
21217extern "C" {
21218    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_bio"]
21219    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
21220}
21221extern "C" {
21222    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_CRL_bio"]
21223    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21224}
21225extern "C" {
21226    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_REQ_bio"]
21227    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
21228}
21229extern "C" {
21230    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPrivateKey_bio"]
21231    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
21232}
21233extern "C" {
21234    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPublicKey_bio"]
21235    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
21236}
21237extern "C" {
21238    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSA_PUBKEY_bio"]
21239    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
21240}
21241extern "C" {
21242    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSA_PUBKEY_bio"]
21243    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
21244}
21245extern "C" {
21246    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSAPrivateKey_bio"]
21247    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
21248}
21249extern "C" {
21250    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_EC_PUBKEY_bio"]
21251    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
21252}
21253extern "C" {
21254    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECPrivateKey_bio"]
21255    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
21256}
21257extern "C" {
21258    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8_bio"]
21259    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
21260}
21261extern "C" {
21262    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8_PRIV_KEY_INFO_bio"]
21263    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
21264        bp: *mut BIO,
21265        p8inf: *mut PKCS8_PRIV_KEY_INFO,
21266    ) -> ::std::os::raw::c_int;
21267}
21268extern "C" {
21269    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PrivateKey_bio"]
21270    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21271}
21272extern "C" {
21273    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PUBKEY_bio"]
21274    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21275}
21276extern "C" {
21277    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DHparams_bio"]
21278    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
21279}
21280extern "C" {
21281    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKeyInfo_bio"]
21282    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21283}
21284extern "C" {
21285    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_fp"]
21286    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
21287}
21288extern "C" {
21289    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_CRL_fp"]
21290    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
21291}
21292extern "C" {
21293    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_X509_REQ_fp"]
21294    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
21295}
21296extern "C" {
21297    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPrivateKey_fp"]
21298    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21299}
21300extern "C" {
21301    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSAPublicKey_fp"]
21302    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21303}
21304extern "C" {
21305    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_RSA_PUBKEY_fp"]
21306    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
21307}
21308extern "C" {
21309    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSA_PUBKEY_fp"]
21310    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21311}
21312extern "C" {
21313    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DSAPrivateKey_fp"]
21314    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
21315}
21316extern "C" {
21317    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_EC_PUBKEY_fp"]
21318    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21319}
21320extern "C" {
21321    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ECPrivateKey_fp"]
21322    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
21323}
21324extern "C" {
21325    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8_fp"]
21326    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
21327}
21328extern "C" {
21329    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8_PRIV_KEY_INFO_fp"]
21330    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
21331        fp: *mut FILE,
21332        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
21333    ) -> *mut PKCS8_PRIV_KEY_INFO;
21334}
21335extern "C" {
21336    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PrivateKey_fp"]
21337    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21338}
21339extern "C" {
21340    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PUBKEY_fp"]
21341    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
21342}
21343extern "C" {
21344    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_fp"]
21345    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
21346}
21347extern "C" {
21348    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_CRL_fp"]
21349    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21350}
21351extern "C" {
21352    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_X509_REQ_fp"]
21353    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
21354}
21355extern "C" {
21356    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPrivateKey_fp"]
21357    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
21358}
21359extern "C" {
21360    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSAPublicKey_fp"]
21361    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
21362}
21363extern "C" {
21364    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_RSA_PUBKEY_fp"]
21365    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
21366}
21367extern "C" {
21368    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSA_PUBKEY_fp"]
21369    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
21370}
21371extern "C" {
21372    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DSAPrivateKey_fp"]
21373    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
21374}
21375extern "C" {
21376    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_EC_PUBKEY_fp"]
21377    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
21378}
21379extern "C" {
21380    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ECPrivateKey_fp"]
21381    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
21382}
21383extern "C" {
21384    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8_fp"]
21385    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
21386}
21387extern "C" {
21388    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8_PRIV_KEY_INFO_fp"]
21389    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
21390        fp: *mut FILE,
21391        p8inf: *mut PKCS8_PRIV_KEY_INFO,
21392    ) -> ::std::os::raw::c_int;
21393}
21394extern "C" {
21395    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKeyInfo_fp"]
21396    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21397}
21398extern "C" {
21399    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PrivateKey_fp"]
21400    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21401}
21402extern "C" {
21403    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PUBKEY_fp"]
21404    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21405}
21406extern "C" {
21407    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_find_by_issuer_and_serial"]
21408    pub fn X509_find_by_issuer_and_serial(
21409        sk: *const stack_st_X509,
21410        name: *mut X509_NAME,
21411        serial: *const ASN1_INTEGER,
21412    ) -> *mut X509;
21413}
21414extern "C" {
21415    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_find_by_subject"]
21416    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
21417}
21418extern "C" {
21419    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_cmp_time"]
21420    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
21421}
21422extern "C" {
21423    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_cmp_time_posix"]
21424    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
21425}
21426extern "C" {
21427    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_cmp_current_time"]
21428    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
21429}
21430extern "C" {
21431    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_time_adj"]
21432    pub fn X509_time_adj(
21433        s: *mut ASN1_TIME,
21434        offset_sec: ::std::os::raw::c_long,
21435        t: *const time_t,
21436    ) -> *mut ASN1_TIME;
21437}
21438extern "C" {
21439    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_time_adj_ex"]
21440    pub fn X509_time_adj_ex(
21441        s: *mut ASN1_TIME,
21442        offset_day: ::std::os::raw::c_int,
21443        offset_sec: ::std::os::raw::c_long,
21444        t: *const time_t,
21445    ) -> *mut ASN1_TIME;
21446}
21447extern "C" {
21448    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_gmtime_adj"]
21449    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
21450        -> *mut ASN1_TIME;
21451}
21452extern "C" {
21453    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_issuer_name_cmp"]
21454    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
21455}
21456extern "C" {
21457    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_subject_name_cmp"]
21458    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
21459}
21460extern "C" {
21461    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_cmp"]
21462    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
21463}
21464extern "C" {
21465    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_issuer_name_hash"]
21466    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
21467}
21468extern "C" {
21469    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_subject_name_hash"]
21470    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
21471}
21472extern "C" {
21473    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_issuer_name_hash_old"]
21474    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
21475}
21476extern "C" {
21477    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_subject_name_hash_old"]
21478    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
21479}
21480extern "C" {
21481    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ex_new_index"]
21482    pub fn X509_get_ex_new_index(
21483        argl: ::std::os::raw::c_long,
21484        argp: *mut ::std::os::raw::c_void,
21485        unused: *mut CRYPTO_EX_unused,
21486        dup_unused: CRYPTO_EX_dup,
21487        free_func: CRYPTO_EX_free,
21488    ) -> ::std::os::raw::c_int;
21489}
21490extern "C" {
21491    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_ex_data"]
21492    pub fn X509_set_ex_data(
21493        r: *mut X509,
21494        idx: ::std::os::raw::c_int,
21495        arg: *mut ::std::os::raw::c_void,
21496    ) -> ::std::os::raw::c_int;
21497}
21498extern "C" {
21499    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_ex_data"]
21500    pub fn X509_get_ex_data(
21501        r: *mut X509,
21502        idx: ::std::os::raw::c_int,
21503    ) -> *mut ::std::os::raw::c_void;
21504}
21505extern "C" {
21506    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_ex_new_index"]
21507    pub fn X509_STORE_CTX_get_ex_new_index(
21508        argl: ::std::os::raw::c_long,
21509        argp: *mut ::std::os::raw::c_void,
21510        unused: *mut CRYPTO_EX_unused,
21511        dup_unused: CRYPTO_EX_dup,
21512        free_func: CRYPTO_EX_free,
21513    ) -> ::std::os::raw::c_int;
21514}
21515extern "C" {
21516    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_ex_data"]
21517    pub fn X509_STORE_CTX_set_ex_data(
21518        ctx: *mut X509_STORE_CTX,
21519        idx: ::std::os::raw::c_int,
21520        data: *mut ::std::os::raw::c_void,
21521    ) -> ::std::os::raw::c_int;
21522}
21523extern "C" {
21524    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_ex_data"]
21525    pub fn X509_STORE_CTX_get_ex_data(
21526        ctx: *mut X509_STORE_CTX,
21527        idx: ::std::os::raw::c_int,
21528    ) -> *mut ::std::os::raw::c_void;
21529}
21530extern "C" {
21531    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get_ex_new_index"]
21532    pub fn X509_STORE_get_ex_new_index(
21533        argl: ::std::os::raw::c_long,
21534        argp: *mut ::std::os::raw::c_void,
21535        unused: *mut CRYPTO_EX_unused,
21536        dup_unused: CRYPTO_EX_dup,
21537        free_func: CRYPTO_EX_free,
21538    ) -> ::std::os::raw::c_int;
21539}
21540extern "C" {
21541    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_ex_data"]
21542    pub fn X509_STORE_set_ex_data(
21543        ctx: *mut X509_STORE,
21544        idx: ::std::os::raw::c_int,
21545        data: *mut ::std::os::raw::c_void,
21546    ) -> ::std::os::raw::c_int;
21547}
21548extern "C" {
21549    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get_ex_data"]
21550    pub fn X509_STORE_get_ex_data(
21551        ctx: *mut X509_STORE,
21552        idx: ::std::os::raw::c_int,
21553    ) -> *mut ::std::os::raw::c_void;
21554}
21555extern "C" {
21556    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_digest"]
21557    pub fn ASN1_digest(
21558        i2d: i2d_of_void,
21559        type_: *const EVP_MD,
21560        data: *mut ::std::os::raw::c_char,
21561        md: *mut ::std::os::raw::c_uchar,
21562        len: *mut ::std::os::raw::c_uint,
21563    ) -> ::std::os::raw::c_int;
21564}
21565extern "C" {
21566    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_digest"]
21567    pub fn ASN1_item_digest(
21568        it: *const ASN1_ITEM,
21569        type_: *const EVP_MD,
21570        data: *mut ::std::os::raw::c_void,
21571        md: *mut ::std::os::raw::c_uchar,
21572        len: *mut ::std::os::raw::c_uint,
21573    ) -> ::std::os::raw::c_int;
21574}
21575extern "C" {
21576    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_verify"]
21577    pub fn ASN1_item_verify(
21578        it: *const ASN1_ITEM,
21579        algor1: *const X509_ALGOR,
21580        signature: *const ASN1_BIT_STRING,
21581        data: *mut ::std::os::raw::c_void,
21582        pkey: *mut EVP_PKEY,
21583    ) -> ::std::os::raw::c_int;
21584}
21585extern "C" {
21586    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_sign"]
21587    pub fn ASN1_item_sign(
21588        it: *const ASN1_ITEM,
21589        algor1: *mut X509_ALGOR,
21590        algor2: *mut X509_ALGOR,
21591        signature: *mut ASN1_BIT_STRING,
21592        data: *mut ::std::os::raw::c_void,
21593        pkey: *mut EVP_PKEY,
21594        type_: *const EVP_MD,
21595    ) -> ::std::os::raw::c_int;
21596}
21597extern "C" {
21598    #[link_name = "\u{1}aws_lc_fips_0_13_14_ASN1_item_sign_ctx"]
21599    pub fn ASN1_item_sign_ctx(
21600        it: *const ASN1_ITEM,
21601        algor1: *mut X509_ALGOR,
21602        algor2: *mut X509_ALGOR,
21603        signature: *mut ASN1_BIT_STRING,
21604        asn: *mut ::std::os::raw::c_void,
21605        ctx: *mut EVP_MD_CTX,
21606    ) -> ::std::os::raw::c_int;
21607}
21608extern "C" {
21609    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_supported_extension"]
21610    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21611}
21612extern "C" {
21613    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_ca"]
21614    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
21615}
21616extern "C" {
21617    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_issued"]
21618    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
21619}
21620extern "C" {
21621    #[link_name = "\u{1}aws_lc_fips_0_13_14_NAME_CONSTRAINTS_check"]
21622    pub fn NAME_CONSTRAINTS_check(
21623        x509: *mut X509,
21624        nc: *mut NAME_CONSTRAINTS,
21625    ) -> ::std::os::raw::c_int;
21626}
21627extern "C" {
21628    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_host"]
21629    pub fn X509_check_host(
21630        x509: *const X509,
21631        chk: *const ::std::os::raw::c_char,
21632        chklen: usize,
21633        flags: ::std::os::raw::c_uint,
21634        out_peername: *mut *mut ::std::os::raw::c_char,
21635    ) -> ::std::os::raw::c_int;
21636}
21637extern "C" {
21638    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_email"]
21639    pub fn X509_check_email(
21640        x509: *const X509,
21641        chk: *const ::std::os::raw::c_char,
21642        chklen: usize,
21643        flags: ::std::os::raw::c_uint,
21644    ) -> ::std::os::raw::c_int;
21645}
21646extern "C" {
21647    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_ip"]
21648    pub fn X509_check_ip(
21649        x509: *const X509,
21650        chk: *const u8,
21651        chklen: usize,
21652        flags: ::std::os::raw::c_uint,
21653    ) -> ::std::os::raw::c_int;
21654}
21655extern "C" {
21656    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_ip_asc"]
21657    pub fn X509_check_ip_asc(
21658        x509: *const X509,
21659        ipasc: *const ::std::os::raw::c_char,
21660        flags: ::std::os::raw::c_uint,
21661    ) -> ::std::os::raw::c_int;
21662}
21663extern "C" {
21664    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get1_issuer"]
21665    pub fn X509_STORE_CTX_get1_issuer(
21666        out_issuer: *mut *mut X509,
21667        ctx: *mut X509_STORE_CTX,
21668        x509: *mut X509,
21669    ) -> ::std::os::raw::c_int;
21670}
21671extern "C" {
21672    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_purpose"]
21673    pub fn X509_check_purpose(
21674        x509: *mut X509,
21675        purpose: ::std::os::raw::c_int,
21676        ca: ::std::os::raw::c_int,
21677    ) -> ::std::os::raw::c_int;
21678}
21679extern "C" {
21680    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_check_trust"]
21681    pub fn X509_check_trust(
21682        x509: *mut X509,
21683        id: ::std::os::raw::c_int,
21684        flags: ::std::os::raw::c_int,
21685    ) -> ::std::os::raw::c_int;
21686}
21687#[repr(C)]
21688#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21689pub struct private_key_st {
21690    pub dec_pkey: *mut EVP_PKEY,
21691}
21692#[test]
21693fn bindgen_test_layout_private_key_st() {
21694    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
21695    let ptr = UNINIT.as_ptr();
21696    assert_eq!(
21697        ::std::mem::size_of::<private_key_st>(),
21698        8usize,
21699        "Size of private_key_st"
21700    );
21701    assert_eq!(
21702        ::std::mem::align_of::<private_key_st>(),
21703        8usize,
21704        "Alignment of private_key_st"
21705    );
21706    assert_eq!(
21707        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
21708        0usize,
21709        "Offset of field: private_key_st::dec_pkey"
21710    );
21711}
21712impl Default for private_key_st {
21713    fn default() -> Self {
21714        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21715        unsafe {
21716            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21717            s.assume_init()
21718        }
21719    }
21720}
21721#[repr(C)]
21722#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21723pub struct X509_info_st {
21724    pub x509: *mut X509,
21725    pub crl: *mut X509_CRL,
21726    pub x_pkey: *mut X509_PKEY,
21727    pub enc_cipher: EVP_CIPHER_INFO,
21728    pub enc_len: ::std::os::raw::c_int,
21729    pub enc_data: *mut ::std::os::raw::c_char,
21730}
21731#[test]
21732fn bindgen_test_layout_X509_info_st() {
21733    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
21734    let ptr = UNINIT.as_ptr();
21735    assert_eq!(
21736        ::std::mem::size_of::<X509_info_st>(),
21737        64usize,
21738        "Size of X509_info_st"
21739    );
21740    assert_eq!(
21741        ::std::mem::align_of::<X509_info_st>(),
21742        8usize,
21743        "Alignment of X509_info_st"
21744    );
21745    assert_eq!(
21746        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
21747        0usize,
21748        "Offset of field: X509_info_st::x509"
21749    );
21750    assert_eq!(
21751        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
21752        8usize,
21753        "Offset of field: X509_info_st::crl"
21754    );
21755    assert_eq!(
21756        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
21757        16usize,
21758        "Offset of field: X509_info_st::x_pkey"
21759    );
21760    assert_eq!(
21761        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
21762        24usize,
21763        "Offset of field: X509_info_st::enc_cipher"
21764    );
21765    assert_eq!(
21766        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
21767        48usize,
21768        "Offset of field: X509_info_st::enc_len"
21769    );
21770    assert_eq!(
21771        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
21772        56usize,
21773        "Offset of field: X509_info_st::enc_data"
21774    );
21775}
21776impl Default for X509_info_st {
21777    fn default() -> Self {
21778        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21779        unsafe {
21780            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21781            s.assume_init()
21782        }
21783    }
21784}
21785#[repr(C)]
21786#[derive(Debug, Copy, Clone)]
21787pub struct stack_st_X509_INFO {
21788    _unused: [u8; 0],
21789}
21790pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
21791pub type sk_X509_INFO_copy_func =
21792    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
21793pub type sk_X509_INFO_cmp_func = ::std::option::Option<
21794    unsafe extern "C" fn(
21795        arg1: *const *const X509_INFO,
21796        arg2: *const *const X509_INFO,
21797    ) -> ::std::os::raw::c_int,
21798>;
21799pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
21800    unsafe extern "C" fn(
21801        arg1: *mut X509_INFO,
21802        arg2: *mut ::std::os::raw::c_void,
21803    ) -> ::std::os::raw::c_int,
21804>;
21805extern "C" {
21806    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_INFO_free"]
21807    pub fn X509_INFO_free(info: *mut X509_INFO);
21808}
21809#[repr(C)]
21810#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21811pub struct v3_ext_ctx {
21812    pub flags: ::std::os::raw::c_int,
21813    pub issuer_cert: *const X509,
21814    pub subject_cert: *const X509,
21815    pub subject_req: *const X509_REQ,
21816    pub crl: *const X509_CRL,
21817    pub db: *const CONF,
21818}
21819#[test]
21820fn bindgen_test_layout_v3_ext_ctx() {
21821    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
21822    let ptr = UNINIT.as_ptr();
21823    assert_eq!(
21824        ::std::mem::size_of::<v3_ext_ctx>(),
21825        48usize,
21826        "Size of v3_ext_ctx"
21827    );
21828    assert_eq!(
21829        ::std::mem::align_of::<v3_ext_ctx>(),
21830        8usize,
21831        "Alignment of v3_ext_ctx"
21832    );
21833    assert_eq!(
21834        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
21835        0usize,
21836        "Offset of field: v3_ext_ctx::flags"
21837    );
21838    assert_eq!(
21839        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
21840        8usize,
21841        "Offset of field: v3_ext_ctx::issuer_cert"
21842    );
21843    assert_eq!(
21844        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
21845        16usize,
21846        "Offset of field: v3_ext_ctx::subject_cert"
21847    );
21848    assert_eq!(
21849        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
21850        24usize,
21851        "Offset of field: v3_ext_ctx::subject_req"
21852    );
21853    assert_eq!(
21854        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
21855        32usize,
21856        "Offset of field: v3_ext_ctx::crl"
21857    );
21858    assert_eq!(
21859        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
21860        40usize,
21861        "Offset of field: v3_ext_ctx::db"
21862    );
21863}
21864impl Default for v3_ext_ctx {
21865    fn default() -> Self {
21866        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21867        unsafe {
21868            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21869            s.assume_init()
21870        }
21871    }
21872}
21873extern "C" {
21874    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_set_ctx"]
21875    pub fn X509V3_set_ctx(
21876        ctx: *mut X509V3_CTX,
21877        issuer: *const X509,
21878        subject: *const X509,
21879        req: *const X509_REQ,
21880        crl: *const X509_CRL,
21881        flags: ::std::os::raw::c_int,
21882    );
21883}
21884extern "C" {
21885    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_set_nconf"]
21886    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
21887}
21888extern "C" {
21889    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_nconf"]
21890    pub fn X509V3_EXT_nconf(
21891        conf: *const CONF,
21892        ctx: *const X509V3_CTX,
21893        name: *const ::std::os::raw::c_char,
21894        value: *const ::std::os::raw::c_char,
21895    ) -> *mut X509_EXTENSION;
21896}
21897extern "C" {
21898    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_nconf_nid"]
21899    pub fn X509V3_EXT_nconf_nid(
21900        conf: *const CONF,
21901        ctx: *const X509V3_CTX,
21902        ext_nid: ::std::os::raw::c_int,
21903        value: *const ::std::os::raw::c_char,
21904    ) -> *mut X509_EXTENSION;
21905}
21906extern "C" {
21907    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_conf_nid"]
21908    pub fn X509V3_EXT_conf_nid(
21909        conf: *mut lhash_st_CONF_VALUE,
21910        ctx: *const X509V3_CTX,
21911        ext_nid: ::std::os::raw::c_int,
21912        value: *const ::std::os::raw::c_char,
21913    ) -> *mut X509_EXTENSION;
21914}
21915extern "C" {
21916    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_add_nconf_sk"]
21917    pub fn X509V3_EXT_add_nconf_sk(
21918        conf: *const CONF,
21919        ctx: *const X509V3_CTX,
21920        section: *const ::std::os::raw::c_char,
21921        sk: *mut *mut stack_st_X509_EXTENSION,
21922    ) -> ::std::os::raw::c_int;
21923}
21924extern "C" {
21925    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_add_nconf"]
21926    pub fn X509V3_EXT_add_nconf(
21927        conf: *const CONF,
21928        ctx: *const X509V3_CTX,
21929        section: *const ::std::os::raw::c_char,
21930        cert: *mut X509,
21931    ) -> ::std::os::raw::c_int;
21932}
21933extern "C" {
21934    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_REQ_add_nconf"]
21935    pub fn X509V3_EXT_REQ_add_nconf(
21936        conf: *const CONF,
21937        ctx: *const X509V3_CTX,
21938        section: *const ::std::os::raw::c_char,
21939        req: *mut X509_REQ,
21940    ) -> ::std::os::raw::c_int;
21941}
21942extern "C" {
21943    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_CRL_add_nconf"]
21944    pub fn X509V3_EXT_CRL_add_nconf(
21945        conf: *const CONF,
21946        ctx: *const X509V3_CTX,
21947        section: *const ::std::os::raw::c_char,
21948        crl: *mut X509_CRL,
21949    ) -> ::std::os::raw::c_int;
21950}
21951extern "C" {
21952    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_conf"]
21953    pub fn X509V3_EXT_conf(
21954        conf: *mut lhash_st_CONF_VALUE,
21955        ctx: *mut X509V3_CTX,
21956        name: *const ::std::os::raw::c_char,
21957        value: *const ::std::os::raw::c_char,
21958    ) -> *mut X509_EXTENSION;
21959}
21960extern "C" {
21961    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2s_ASN1_OCTET_STRING"]
21962    pub fn i2s_ASN1_OCTET_STRING(
21963        method: *const X509V3_EXT_METHOD,
21964        oct: *const ASN1_OCTET_STRING,
21965    ) -> *mut ::std::os::raw::c_char;
21966}
21967extern "C" {
21968    #[link_name = "\u{1}aws_lc_fips_0_13_14_s2i_ASN1_OCTET_STRING"]
21969    pub fn s2i_ASN1_OCTET_STRING(
21970        method: *const X509V3_EXT_METHOD,
21971        ctx: *const X509V3_CTX,
21972        str_: *const ::std::os::raw::c_char,
21973    ) -> *mut ASN1_OCTET_STRING;
21974}
21975extern "C" {
21976    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2s_ASN1_INTEGER"]
21977    pub fn i2s_ASN1_INTEGER(
21978        method: *const X509V3_EXT_METHOD,
21979        aint: *const ASN1_INTEGER,
21980    ) -> *mut ::std::os::raw::c_char;
21981}
21982extern "C" {
21983    #[link_name = "\u{1}aws_lc_fips_0_13_14_s2i_ASN1_INTEGER"]
21984    pub fn s2i_ASN1_INTEGER(
21985        method: *const X509V3_EXT_METHOD,
21986        value: *const ::std::os::raw::c_char,
21987    ) -> *mut ASN1_INTEGER;
21988}
21989extern "C" {
21990    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2s_ASN1_ENUMERATED"]
21991    pub fn i2s_ASN1_ENUMERATED(
21992        method: *const X509V3_EXT_METHOD,
21993        aint: *const ASN1_ENUMERATED,
21994    ) -> *mut ::std::os::raw::c_char;
21995}
21996extern "C" {
21997    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_conf_free"]
21998    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
21999}
22000extern "C" {
22001    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2v_GENERAL_NAME"]
22002    pub fn i2v_GENERAL_NAME(
22003        method: *const X509V3_EXT_METHOD,
22004        gen_: *const GENERAL_NAME,
22005        ret: *mut stack_st_CONF_VALUE,
22006    ) -> *mut stack_st_CONF_VALUE;
22007}
22008extern "C" {
22009    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2v_GENERAL_NAMES"]
22010    pub fn i2v_GENERAL_NAMES(
22011        method: *const X509V3_EXT_METHOD,
22012        gen_: *const GENERAL_NAMES,
22013        extlist: *mut stack_st_CONF_VALUE,
22014    ) -> *mut stack_st_CONF_VALUE;
22015}
22016extern "C" {
22017    #[link_name = "\u{1}aws_lc_fips_0_13_14_a2i_IPADDRESS"]
22018    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
22019}
22020extern "C" {
22021    #[link_name = "\u{1}aws_lc_fips_0_13_14_a2i_IPADDRESS_NC"]
22022    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
22023}
22024extern "C" {
22025    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_notBefore"]
22026    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
22027}
22028extern "C" {
22029    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_notAfter"]
22030    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
22031}
22032extern "C" {
22033    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_notBefore"]
22034    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
22035}
22036extern "C" {
22037    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_set_notAfter"]
22038    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
22039}
22040extern "C" {
22041    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_lastUpdate"]
22042    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22043}
22044extern "C" {
22045    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_get_nextUpdate"]
22046    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
22047}
22048extern "C" {
22049    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_serialNumber"]
22050    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
22051}
22052extern "C" {
22053    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get_text_by_OBJ"]
22054    pub fn X509_NAME_get_text_by_OBJ(
22055        name: *const X509_NAME,
22056        obj: *const ASN1_OBJECT,
22057        buf: *mut ::std::os::raw::c_char,
22058        len: ::std::os::raw::c_int,
22059    ) -> ::std::os::raw::c_int;
22060}
22061extern "C" {
22062    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_get_text_by_NID"]
22063    pub fn X509_NAME_get_text_by_NID(
22064        name: *const X509_NAME,
22065        nid: ::std::os::raw::c_int,
22066        buf: *mut ::std::os::raw::c_char,
22067        len: ::std::os::raw::c_int,
22068    ) -> ::std::os::raw::c_int;
22069}
22070extern "C" {
22071    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get0_parent_ctx"]
22072    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
22073}
22074extern "C" {
22075    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_free"]
22076    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
22077}
22078extern "C" {
22079    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_cleanup"]
22080    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
22081}
22082extern "C" {
22083    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_add_standard_extensions"]
22084    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
22085}
22086extern "C" {
22087    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_parse_list"]
22088    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
22089}
22090extern "C" {
22091    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_chain"]
22092    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22093}
22094extern "C" {
22095    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_trusted_stack"]
22096    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22097}
22098pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
22099    unsafe extern "C" fn(
22100        arg1: ::std::os::raw::c_int,
22101        arg2: *mut X509_STORE_CTX,
22102    ) -> ::std::os::raw::c_int,
22103>;
22104extern "C" {
22105    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_verify_cb"]
22106    pub fn X509_STORE_CTX_set_verify_cb(
22107        ctx: *mut X509_STORE_CTX,
22108        verify_cb: ::std::option::Option<
22109            unsafe extern "C" fn(
22110                ok: ::std::os::raw::c_int,
22111                ctx: *mut X509_STORE_CTX,
22112            ) -> ::std::os::raw::c_int,
22113        >,
22114    );
22115}
22116extern "C" {
22117    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get_verify_cb"]
22118    pub fn X509_STORE_get_verify_cb(ctx: *mut X509_STORE) -> X509_STORE_CTX_verify_cb;
22119}
22120extern "C" {
22121    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_verify_cb"]
22122    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
22123}
22124pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
22125    unsafe extern "C" fn(
22126        ctx: *mut X509_STORE_CTX,
22127        crl: *mut *mut X509_CRL,
22128        x: *mut X509,
22129    ) -> ::std::os::raw::c_int,
22130>;
22131pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
22132    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
22133>;
22134extern "C" {
22135    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_get_crl"]
22136    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
22137}
22138extern "C" {
22139    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_check_crl"]
22140    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
22141}
22142extern "C" {
22143    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_set_chain"]
22144    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22145}
22146#[repr(C)]
22147#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22148pub struct X509_algor_st {
22149    pub algorithm: *mut ASN1_OBJECT,
22150    pub parameter: *mut ASN1_TYPE,
22151}
22152#[test]
22153fn bindgen_test_layout_X509_algor_st() {
22154    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
22155    let ptr = UNINIT.as_ptr();
22156    assert_eq!(
22157        ::std::mem::size_of::<X509_algor_st>(),
22158        16usize,
22159        "Size of X509_algor_st"
22160    );
22161    assert_eq!(
22162        ::std::mem::align_of::<X509_algor_st>(),
22163        8usize,
22164        "Alignment of X509_algor_st"
22165    );
22166    assert_eq!(
22167        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
22168        0usize,
22169        "Offset of field: X509_algor_st::algorithm"
22170    );
22171    assert_eq!(
22172        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
22173        8usize,
22174        "Offset of field: X509_algor_st::parameter"
22175    );
22176}
22177impl Default for X509_algor_st {
22178    fn default() -> Self {
22179        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22180        unsafe {
22181            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22182            s.assume_init()
22183        }
22184    }
22185}
22186#[repr(C)]
22187#[derive(Debug, Copy, Clone)]
22188pub struct stack_st_DIST_POINT {
22189    _unused: [u8; 0],
22190}
22191#[repr(C)]
22192#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22193pub struct x509_trust_st {
22194    pub trust: ::std::os::raw::c_int,
22195    pub flags: ::std::os::raw::c_int,
22196    pub check_trust: ::std::option::Option<
22197        unsafe extern "C" fn(
22198            arg1: *const X509_TRUST,
22199            arg2: *mut X509,
22200            arg3: ::std::os::raw::c_int,
22201        ) -> ::std::os::raw::c_int,
22202    >,
22203    pub name: *mut ::std::os::raw::c_char,
22204    pub arg1: ::std::os::raw::c_int,
22205    pub arg2: *mut ::std::os::raw::c_void,
22206}
22207#[test]
22208fn bindgen_test_layout_x509_trust_st() {
22209    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
22210    let ptr = UNINIT.as_ptr();
22211    assert_eq!(
22212        ::std::mem::size_of::<x509_trust_st>(),
22213        40usize,
22214        "Size of x509_trust_st"
22215    );
22216    assert_eq!(
22217        ::std::mem::align_of::<x509_trust_st>(),
22218        8usize,
22219        "Alignment of x509_trust_st"
22220    );
22221    assert_eq!(
22222        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
22223        0usize,
22224        "Offset of field: x509_trust_st::trust"
22225    );
22226    assert_eq!(
22227        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
22228        4usize,
22229        "Offset of field: x509_trust_st::flags"
22230    );
22231    assert_eq!(
22232        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
22233        8usize,
22234        "Offset of field: x509_trust_st::check_trust"
22235    );
22236    assert_eq!(
22237        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
22238        16usize,
22239        "Offset of field: x509_trust_st::name"
22240    );
22241    assert_eq!(
22242        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
22243        24usize,
22244        "Offset of field: x509_trust_st::arg1"
22245    );
22246    assert_eq!(
22247        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
22248        32usize,
22249        "Offset of field: x509_trust_st::arg2"
22250    );
22251}
22252impl Default for x509_trust_st {
22253    fn default() -> Self {
22254        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22255        unsafe {
22256            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22257            s.assume_init()
22258        }
22259    }
22260}
22261#[repr(C)]
22262#[derive(Debug, Copy, Clone)]
22263pub struct stack_st_X509_TRUST {
22264    _unused: [u8; 0],
22265}
22266pub type sk_X509_TRUST_free_func =
22267    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
22268pub type sk_X509_TRUST_copy_func =
22269    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
22270pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
22271    unsafe extern "C" fn(
22272        arg1: *const *const X509_TRUST,
22273        arg2: *const *const X509_TRUST,
22274    ) -> ::std::os::raw::c_int,
22275>;
22276pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
22277    unsafe extern "C" fn(
22278        arg1: *mut X509_TRUST,
22279        arg2: *mut ::std::os::raw::c_void,
22280    ) -> ::std::os::raw::c_int,
22281>;
22282extern "C" {
22283    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_cert_area"]
22284    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
22285}
22286extern "C" {
22287    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_cert_dir"]
22288    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
22289}
22290extern "C" {
22291    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_cert_file"]
22292    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
22293}
22294extern "C" {
22295    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_cert_dir_env"]
22296    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
22297}
22298extern "C" {
22299    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_cert_file_env"]
22300    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
22301}
22302extern "C" {
22303    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_get_default_private_dir"]
22304    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
22305}
22306extern "C" {
22307    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_set"]
22308    pub fn X509_TRUST_set(
22309        t: *mut ::std::os::raw::c_int,
22310        trust: ::std::os::raw::c_int,
22311    ) -> ::std::os::raw::c_int;
22312}
22313extern "C" {
22314    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_cmp"]
22315    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
22316}
22317extern "C" {
22318    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_hash"]
22319    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
22320}
22321extern "C" {
22322    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_NAME_hash_old"]
22323    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
22324}
22325extern "C" {
22326    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_CRL_match"]
22327    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
22328}
22329extern "C" {
22330    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get_count"]
22331    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
22332}
22333extern "C" {
22334    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get0"]
22335    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
22336}
22337extern "C" {
22338    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get_by_id"]
22339    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
22340}
22341extern "C" {
22342    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get_flags"]
22343    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
22344}
22345extern "C" {
22346    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get0_name"]
22347    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
22348}
22349extern "C" {
22350    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_TRUST_get_trust"]
22351    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
22352}
22353#[repr(C)]
22354#[derive(Debug, Copy, Clone)]
22355pub struct stack_st_X509_OBJECT {
22356    _unused: [u8; 0],
22357}
22358pub type sk_X509_OBJECT_free_func =
22359    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
22360pub type sk_X509_OBJECT_copy_func =
22361    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
22362pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
22363    unsafe extern "C" fn(
22364        arg1: *const *const X509_OBJECT,
22365        arg2: *const *const X509_OBJECT,
22366    ) -> ::std::os::raw::c_int,
22367>;
22368pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
22369    unsafe extern "C" fn(
22370        arg1: *mut X509_OBJECT,
22371        arg2: *mut ::std::os::raw::c_void,
22372    ) -> ::std::os::raw::c_int,
22373>;
22374extern "C" {
22375    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_load_file"]
22376    pub fn X509_LOOKUP_load_file(
22377        lookup: *mut X509_LOOKUP,
22378        path: *const ::std::os::raw::c_char,
22379        type_: ::std::os::raw::c_int,
22380    ) -> ::std::os::raw::c_int;
22381}
22382extern "C" {
22383    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_add_dir"]
22384    pub fn X509_LOOKUP_add_dir(
22385        lookup: *mut X509_LOOKUP,
22386        path: *const ::std::os::raw::c_char,
22387        type_: ::std::os::raw::c_int,
22388    ) -> ::std::os::raw::c_int;
22389}
22390extern "C" {
22391    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_new"]
22392    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
22393}
22394extern "C" {
22395    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_free"]
22396    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
22397}
22398extern "C" {
22399    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_get_type"]
22400    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
22401}
22402extern "C" {
22403    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_get0_X509"]
22404    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
22405}
22406extern "C" {
22407    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_get0_X509_CRL"]
22408    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
22409}
22410extern "C" {
22411    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_set1_X509"]
22412    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
22413}
22414extern "C" {
22415    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_OBJECT_set1_X509_CRL"]
22416    pub fn X509_OBJECT_set1_X509_CRL(
22417        a: *mut X509_OBJECT,
22418        obj: *mut X509_CRL,
22419    ) -> ::std::os::raw::c_int;
22420}
22421extern "C" {
22422    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_lock"]
22423    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
22424}
22425extern "C" {
22426    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_unlock"]
22427    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
22428}
22429extern "C" {
22430    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_get0_objects"]
22431    pub fn X509_STORE_get0_objects(st: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
22432}
22433extern "C" {
22434    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get1_certs"]
22435    pub fn X509_STORE_CTX_get1_certs(
22436        st: *mut X509_STORE_CTX,
22437        nm: *mut X509_NAME,
22438    ) -> *mut stack_st_X509;
22439}
22440extern "C" {
22441    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get1_crls"]
22442    pub fn X509_STORE_CTX_get1_crls(
22443        st: *mut X509_STORE_CTX,
22444        nm: *mut X509_NAME,
22445    ) -> *mut stack_st_X509_CRL;
22446}
22447extern "C" {
22448    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_add_lookup"]
22449    pub fn X509_STORE_add_lookup(
22450        v: *mut X509_STORE,
22451        m: *const X509_LOOKUP_METHOD,
22452    ) -> *mut X509_LOOKUP;
22453}
22454extern "C" {
22455    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_hash_dir"]
22456    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
22457}
22458extern "C" {
22459    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_file"]
22460    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
22461}
22462extern "C" {
22463    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_CTX_get_by_subject"]
22464    pub fn X509_STORE_CTX_get_by_subject(
22465        vs: *mut X509_STORE_CTX,
22466        type_: ::std::os::raw::c_int,
22467        name: *mut X509_NAME,
22468        ret: *mut X509_OBJECT,
22469    ) -> ::std::os::raw::c_int;
22470}
22471extern "C" {
22472    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_LOOKUP_ctrl"]
22473    pub fn X509_LOOKUP_ctrl(
22474        ctx: *mut X509_LOOKUP,
22475        cmd: ::std::os::raw::c_int,
22476        argc: *const ::std::os::raw::c_char,
22477        argl: ::std::os::raw::c_long,
22478        ret: *mut *mut ::std::os::raw::c_char,
22479    ) -> ::std::os::raw::c_int;
22480}
22481extern "C" {
22482    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_load_cert_file"]
22483    pub fn X509_load_cert_file(
22484        ctx: *mut X509_LOOKUP,
22485        file: *const ::std::os::raw::c_char,
22486        type_: ::std::os::raw::c_int,
22487    ) -> ::std::os::raw::c_int;
22488}
22489extern "C" {
22490    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_load_crl_file"]
22491    pub fn X509_load_crl_file(
22492        ctx: *mut X509_LOOKUP,
22493        file: *const ::std::os::raw::c_char,
22494        type_: ::std::os::raw::c_int,
22495    ) -> ::std::os::raw::c_int;
22496}
22497extern "C" {
22498    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_load_cert_crl_file"]
22499    pub fn X509_load_cert_crl_file(
22500        ctx: *mut X509_LOOKUP,
22501        file: *const ::std::os::raw::c_char,
22502        type_: ::std::os::raw::c_int,
22503    ) -> ::std::os::raw::c_int;
22504}
22505extern "C" {
22506    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_load_locations"]
22507    pub fn X509_STORE_load_locations(
22508        ctx: *mut X509_STORE,
22509        file: *const ::std::os::raw::c_char,
22510        dir: *const ::std::os::raw::c_char,
22511    ) -> ::std::os::raw::c_int;
22512}
22513extern "C" {
22514    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_STORE_set_default_paths"]
22515    pub fn X509_STORE_set_default_paths(ctx: *mut X509_STORE) -> ::std::os::raw::c_int;
22516}
22517pub type X509V3_EXT_NEW =
22518    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
22519pub type X509V3_EXT_FREE =
22520    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
22521pub type X509V3_EXT_D2I = ::std::option::Option<
22522    unsafe extern "C" fn(
22523        arg1: *mut ::std::os::raw::c_void,
22524        arg2: *mut *const ::std::os::raw::c_uchar,
22525        arg3: ::std::os::raw::c_long,
22526    ) -> *mut ::std::os::raw::c_void,
22527>;
22528pub type X509V3_EXT_I2D = ::std::option::Option<
22529    unsafe extern "C" fn(
22530        arg1: *mut ::std::os::raw::c_void,
22531        arg2: *mut *mut ::std::os::raw::c_uchar,
22532    ) -> ::std::os::raw::c_int,
22533>;
22534pub type X509V3_EXT_I2V = ::std::option::Option<
22535    unsafe extern "C" fn(
22536        method: *const X509V3_EXT_METHOD,
22537        ext: *mut ::std::os::raw::c_void,
22538        extlist: *mut stack_st_CONF_VALUE,
22539    ) -> *mut stack_st_CONF_VALUE,
22540>;
22541pub type X509V3_EXT_V2I = ::std::option::Option<
22542    unsafe extern "C" fn(
22543        method: *const X509V3_EXT_METHOD,
22544        ctx: *const X509V3_CTX,
22545        values: *const stack_st_CONF_VALUE,
22546    ) -> *mut ::std::os::raw::c_void,
22547>;
22548pub type X509V3_EXT_I2S = ::std::option::Option<
22549    unsafe extern "C" fn(
22550        method: *const X509V3_EXT_METHOD,
22551        ext: *mut ::std::os::raw::c_void,
22552    ) -> *mut ::std::os::raw::c_char,
22553>;
22554pub type X509V3_EXT_S2I = ::std::option::Option<
22555    unsafe extern "C" fn(
22556        method: *const X509V3_EXT_METHOD,
22557        ctx: *const X509V3_CTX,
22558        str_: *const ::std::os::raw::c_char,
22559    ) -> *mut ::std::os::raw::c_void,
22560>;
22561pub type X509V3_EXT_I2R = ::std::option::Option<
22562    unsafe extern "C" fn(
22563        method: *const X509V3_EXT_METHOD,
22564        ext: *mut ::std::os::raw::c_void,
22565        out: *mut BIO,
22566        indent: ::std::os::raw::c_int,
22567    ) -> ::std::os::raw::c_int,
22568>;
22569pub type X509V3_EXT_R2I = ::std::option::Option<
22570    unsafe extern "C" fn(
22571        method: *const X509V3_EXT_METHOD,
22572        ctx: *const X509V3_CTX,
22573        str_: *const ::std::os::raw::c_char,
22574    ) -> *mut ::std::os::raw::c_void,
22575>;
22576#[repr(C)]
22577#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22578pub struct v3_ext_method {
22579    pub ext_nid: ::std::os::raw::c_int,
22580    pub ext_flags: ::std::os::raw::c_int,
22581    pub it: *const ASN1_ITEM_st,
22582    pub ext_new: X509V3_EXT_NEW,
22583    pub ext_free: X509V3_EXT_FREE,
22584    pub d2i: X509V3_EXT_D2I,
22585    pub i2d: X509V3_EXT_I2D,
22586    pub i2s: X509V3_EXT_I2S,
22587    pub s2i: X509V3_EXT_S2I,
22588    pub i2v: X509V3_EXT_I2V,
22589    pub v2i: X509V3_EXT_V2I,
22590    pub i2r: X509V3_EXT_I2R,
22591    pub r2i: X509V3_EXT_R2I,
22592    pub usr_data: *mut ::std::os::raw::c_void,
22593}
22594#[test]
22595fn bindgen_test_layout_v3_ext_method() {
22596    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
22597    let ptr = UNINIT.as_ptr();
22598    assert_eq!(
22599        ::std::mem::size_of::<v3_ext_method>(),
22600        104usize,
22601        "Size of v3_ext_method"
22602    );
22603    assert_eq!(
22604        ::std::mem::align_of::<v3_ext_method>(),
22605        8usize,
22606        "Alignment of v3_ext_method"
22607    );
22608    assert_eq!(
22609        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
22610        0usize,
22611        "Offset of field: v3_ext_method::ext_nid"
22612    );
22613    assert_eq!(
22614        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
22615        4usize,
22616        "Offset of field: v3_ext_method::ext_flags"
22617    );
22618    assert_eq!(
22619        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
22620        8usize,
22621        "Offset of field: v3_ext_method::it"
22622    );
22623    assert_eq!(
22624        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
22625        16usize,
22626        "Offset of field: v3_ext_method::ext_new"
22627    );
22628    assert_eq!(
22629        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
22630        24usize,
22631        "Offset of field: v3_ext_method::ext_free"
22632    );
22633    assert_eq!(
22634        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
22635        32usize,
22636        "Offset of field: v3_ext_method::d2i"
22637    );
22638    assert_eq!(
22639        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
22640        40usize,
22641        "Offset of field: v3_ext_method::i2d"
22642    );
22643    assert_eq!(
22644        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
22645        48usize,
22646        "Offset of field: v3_ext_method::i2s"
22647    );
22648    assert_eq!(
22649        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
22650        56usize,
22651        "Offset of field: v3_ext_method::s2i"
22652    );
22653    assert_eq!(
22654        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
22655        64usize,
22656        "Offset of field: v3_ext_method::i2v"
22657    );
22658    assert_eq!(
22659        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
22660        72usize,
22661        "Offset of field: v3_ext_method::v2i"
22662    );
22663    assert_eq!(
22664        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
22665        80usize,
22666        "Offset of field: v3_ext_method::i2r"
22667    );
22668    assert_eq!(
22669        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
22670        88usize,
22671        "Offset of field: v3_ext_method::r2i"
22672    );
22673    assert_eq!(
22674        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
22675        96usize,
22676        "Offset of field: v3_ext_method::usr_data"
22677    );
22678}
22679impl Default for v3_ext_method {
22680    fn default() -> Self {
22681        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22682        unsafe {
22683            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22684            s.assume_init()
22685        }
22686    }
22687}
22688#[repr(C)]
22689#[derive(Debug, Copy, Clone)]
22690pub struct stack_st_X509V3_EXT_METHOD {
22691    _unused: [u8; 0],
22692}
22693pub type sk_X509V3_EXT_METHOD_free_func =
22694    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509V3_EXT_METHOD)>;
22695pub type sk_X509V3_EXT_METHOD_copy_func = ::std::option::Option<
22696    unsafe extern "C" fn(arg1: *const X509V3_EXT_METHOD) -> *mut X509V3_EXT_METHOD,
22697>;
22698pub type sk_X509V3_EXT_METHOD_cmp_func = ::std::option::Option<
22699    unsafe extern "C" fn(
22700        arg1: *const *const X509V3_EXT_METHOD,
22701        arg2: *const *const X509V3_EXT_METHOD,
22702    ) -> ::std::os::raw::c_int,
22703>;
22704pub type sk_X509V3_EXT_METHOD_delete_if_func = ::std::option::Option<
22705    unsafe extern "C" fn(
22706        arg1: *mut X509V3_EXT_METHOD,
22707        arg2: *mut ::std::os::raw::c_void,
22708    ) -> ::std::os::raw::c_int,
22709>;
22710#[repr(C)]
22711#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22712pub struct BASIC_CONSTRAINTS_st {
22713    pub ca: ::std::os::raw::c_int,
22714    pub pathlen: *mut ASN1_INTEGER,
22715}
22716#[test]
22717fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
22718    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
22719    let ptr = UNINIT.as_ptr();
22720    assert_eq!(
22721        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
22722        16usize,
22723        "Size of BASIC_CONSTRAINTS_st"
22724    );
22725    assert_eq!(
22726        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
22727        8usize,
22728        "Alignment of BASIC_CONSTRAINTS_st"
22729    );
22730    assert_eq!(
22731        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
22732        0usize,
22733        "Offset of field: BASIC_CONSTRAINTS_st::ca"
22734    );
22735    assert_eq!(
22736        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
22737        8usize,
22738        "Offset of field: BASIC_CONSTRAINTS_st::pathlen"
22739    );
22740}
22741impl Default for BASIC_CONSTRAINTS_st {
22742    fn default() -> Self {
22743        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22744        unsafe {
22745            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22746            s.assume_init()
22747        }
22748    }
22749}
22750#[repr(C)]
22751#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22752pub struct ACCESS_DESCRIPTION_st {
22753    pub method: *mut ASN1_OBJECT,
22754    pub location: *mut GENERAL_NAME,
22755}
22756#[test]
22757fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
22758    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
22759        ::std::mem::MaybeUninit::uninit();
22760    let ptr = UNINIT.as_ptr();
22761    assert_eq!(
22762        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
22763        16usize,
22764        "Size of ACCESS_DESCRIPTION_st"
22765    );
22766    assert_eq!(
22767        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
22768        8usize,
22769        "Alignment of ACCESS_DESCRIPTION_st"
22770    );
22771    assert_eq!(
22772        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
22773        0usize,
22774        "Offset of field: ACCESS_DESCRIPTION_st::method"
22775    );
22776    assert_eq!(
22777        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
22778        8usize,
22779        "Offset of field: ACCESS_DESCRIPTION_st::location"
22780    );
22781}
22782impl Default for ACCESS_DESCRIPTION_st {
22783    fn default() -> Self {
22784        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22785        unsafe {
22786            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22787            s.assume_init()
22788        }
22789    }
22790}
22791pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
22792#[repr(C)]
22793#[derive(Debug, Copy, Clone)]
22794pub struct stack_st_ACCESS_DESCRIPTION {
22795    _unused: [u8; 0],
22796}
22797pub type sk_ACCESS_DESCRIPTION_free_func =
22798    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
22799pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
22800    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
22801>;
22802pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
22803    unsafe extern "C" fn(
22804        arg1: *const *const ACCESS_DESCRIPTION,
22805        arg2: *const *const ACCESS_DESCRIPTION,
22806    ) -> ::std::os::raw::c_int,
22807>;
22808pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
22809    unsafe extern "C" fn(
22810        arg1: *mut ACCESS_DESCRIPTION,
22811        arg2: *mut ::std::os::raw::c_void,
22812    ) -> ::std::os::raw::c_int,
22813>;
22814pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
22815pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
22816#[repr(C)]
22817#[derive(Copy, Clone)]
22818pub struct DIST_POINT_NAME_st {
22819    pub type_: ::std::os::raw::c_int,
22820    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
22821    pub dpname: *mut X509_NAME,
22822}
22823#[repr(C)]
22824#[derive(Copy, Clone)]
22825pub union DIST_POINT_NAME_st__bindgen_ty_1 {
22826    pub fullname: *mut GENERAL_NAMES,
22827    pub relativename: *mut stack_st_X509_NAME_ENTRY,
22828}
22829#[test]
22830fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
22831    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
22832        ::std::mem::MaybeUninit::uninit();
22833    let ptr = UNINIT.as_ptr();
22834    assert_eq!(
22835        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
22836        8usize,
22837        "Size of DIST_POINT_NAME_st__bindgen_ty_1"
22838    );
22839    assert_eq!(
22840        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
22841        8usize,
22842        "Alignment of DIST_POINT_NAME_st__bindgen_ty_1"
22843    );
22844    assert_eq!(
22845        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
22846        0usize,
22847        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::fullname"
22848    );
22849    assert_eq!(
22850        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
22851        0usize,
22852        "Offset of field: DIST_POINT_NAME_st__bindgen_ty_1::relativename"
22853    );
22854}
22855impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
22856    fn default() -> Self {
22857        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22858        unsafe {
22859            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22860            s.assume_init()
22861        }
22862    }
22863}
22864#[test]
22865fn bindgen_test_layout_DIST_POINT_NAME_st() {
22866    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
22867    let ptr = UNINIT.as_ptr();
22868    assert_eq!(
22869        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
22870        24usize,
22871        "Size of DIST_POINT_NAME_st"
22872    );
22873    assert_eq!(
22874        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
22875        8usize,
22876        "Alignment of DIST_POINT_NAME_st"
22877    );
22878    assert_eq!(
22879        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
22880        0usize,
22881        "Offset of field: DIST_POINT_NAME_st::type_"
22882    );
22883    assert_eq!(
22884        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
22885        8usize,
22886        "Offset of field: DIST_POINT_NAME_st::name"
22887    );
22888    assert_eq!(
22889        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
22890        16usize,
22891        "Offset of field: DIST_POINT_NAME_st::dpname"
22892    );
22893}
22894impl Default for DIST_POINT_NAME_st {
22895    fn default() -> Self {
22896        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22897        unsafe {
22898            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22899            s.assume_init()
22900        }
22901    }
22902}
22903pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
22904#[repr(C)]
22905#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22906pub struct DIST_POINT_st {
22907    pub distpoint: *mut DIST_POINT_NAME,
22908    pub reasons: *mut ASN1_BIT_STRING,
22909    pub CRLissuer: *mut GENERAL_NAMES,
22910}
22911#[test]
22912fn bindgen_test_layout_DIST_POINT_st() {
22913    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
22914    let ptr = UNINIT.as_ptr();
22915    assert_eq!(
22916        ::std::mem::size_of::<DIST_POINT_st>(),
22917        24usize,
22918        "Size of DIST_POINT_st"
22919    );
22920    assert_eq!(
22921        ::std::mem::align_of::<DIST_POINT_st>(),
22922        8usize,
22923        "Alignment of DIST_POINT_st"
22924    );
22925    assert_eq!(
22926        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
22927        0usize,
22928        "Offset of field: DIST_POINT_st::distpoint"
22929    );
22930    assert_eq!(
22931        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
22932        8usize,
22933        "Offset of field: DIST_POINT_st::reasons"
22934    );
22935    assert_eq!(
22936        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
22937        16usize,
22938        "Offset of field: DIST_POINT_st::CRLissuer"
22939    );
22940}
22941impl Default for DIST_POINT_st {
22942    fn default() -> Self {
22943        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22944        unsafe {
22945            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22946            s.assume_init()
22947        }
22948    }
22949}
22950pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
22951pub type sk_DIST_POINT_free_func =
22952    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
22953pub type sk_DIST_POINT_copy_func =
22954    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
22955pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
22956    unsafe extern "C" fn(
22957        arg1: *const *const DIST_POINT,
22958        arg2: *const *const DIST_POINT,
22959    ) -> ::std::os::raw::c_int,
22960>;
22961pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
22962    unsafe extern "C" fn(
22963        arg1: *mut DIST_POINT,
22964        arg2: *mut ::std::os::raw::c_void,
22965    ) -> ::std::os::raw::c_int,
22966>;
22967#[repr(C)]
22968#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22969pub struct AUTHORITY_KEYID_st {
22970    pub keyid: *mut ASN1_OCTET_STRING,
22971    pub issuer: *mut GENERAL_NAMES,
22972    pub serial: *mut ASN1_INTEGER,
22973}
22974#[test]
22975fn bindgen_test_layout_AUTHORITY_KEYID_st() {
22976    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
22977    let ptr = UNINIT.as_ptr();
22978    assert_eq!(
22979        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
22980        24usize,
22981        "Size of AUTHORITY_KEYID_st"
22982    );
22983    assert_eq!(
22984        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
22985        8usize,
22986        "Alignment of AUTHORITY_KEYID_st"
22987    );
22988    assert_eq!(
22989        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
22990        0usize,
22991        "Offset of field: AUTHORITY_KEYID_st::keyid"
22992    );
22993    assert_eq!(
22994        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
22995        8usize,
22996        "Offset of field: AUTHORITY_KEYID_st::issuer"
22997    );
22998    assert_eq!(
22999        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
23000        16usize,
23001        "Offset of field: AUTHORITY_KEYID_st::serial"
23002    );
23003}
23004impl Default for AUTHORITY_KEYID_st {
23005    fn default() -> Self {
23006        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23007        unsafe {
23008            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23009            s.assume_init()
23010        }
23011    }
23012}
23013#[repr(C)]
23014#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23015pub struct NOTICEREF_st {
23016    pub organization: *mut ASN1_STRING,
23017    pub noticenos: *mut stack_st_ASN1_INTEGER,
23018}
23019#[test]
23020fn bindgen_test_layout_NOTICEREF_st() {
23021    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
23022    let ptr = UNINIT.as_ptr();
23023    assert_eq!(
23024        ::std::mem::size_of::<NOTICEREF_st>(),
23025        16usize,
23026        "Size of NOTICEREF_st"
23027    );
23028    assert_eq!(
23029        ::std::mem::align_of::<NOTICEREF_st>(),
23030        8usize,
23031        "Alignment of NOTICEREF_st"
23032    );
23033    assert_eq!(
23034        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
23035        0usize,
23036        "Offset of field: NOTICEREF_st::organization"
23037    );
23038    assert_eq!(
23039        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
23040        8usize,
23041        "Offset of field: NOTICEREF_st::noticenos"
23042    );
23043}
23044impl Default for NOTICEREF_st {
23045    fn default() -> Self {
23046        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23047        unsafe {
23048            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23049            s.assume_init()
23050        }
23051    }
23052}
23053pub type NOTICEREF = NOTICEREF_st;
23054#[repr(C)]
23055#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23056pub struct USERNOTICE_st {
23057    pub noticeref: *mut NOTICEREF,
23058    pub exptext: *mut ASN1_STRING,
23059}
23060#[test]
23061fn bindgen_test_layout_USERNOTICE_st() {
23062    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
23063    let ptr = UNINIT.as_ptr();
23064    assert_eq!(
23065        ::std::mem::size_of::<USERNOTICE_st>(),
23066        16usize,
23067        "Size of USERNOTICE_st"
23068    );
23069    assert_eq!(
23070        ::std::mem::align_of::<USERNOTICE_st>(),
23071        8usize,
23072        "Alignment of USERNOTICE_st"
23073    );
23074    assert_eq!(
23075        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
23076        0usize,
23077        "Offset of field: USERNOTICE_st::noticeref"
23078    );
23079    assert_eq!(
23080        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
23081        8usize,
23082        "Offset of field: USERNOTICE_st::exptext"
23083    );
23084}
23085impl Default for USERNOTICE_st {
23086    fn default() -> Self {
23087        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23088        unsafe {
23089            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23090            s.assume_init()
23091        }
23092    }
23093}
23094pub type USERNOTICE = USERNOTICE_st;
23095#[repr(C)]
23096#[derive(Copy, Clone)]
23097pub struct POLICYQUALINFO_st {
23098    pub pqualid: *mut ASN1_OBJECT,
23099    pub d: POLICYQUALINFO_st__bindgen_ty_1,
23100}
23101#[repr(C)]
23102#[derive(Copy, Clone)]
23103pub union POLICYQUALINFO_st__bindgen_ty_1 {
23104    pub cpsuri: *mut ASN1_IA5STRING,
23105    pub usernotice: *mut USERNOTICE,
23106    pub other: *mut ASN1_TYPE,
23107}
23108#[test]
23109fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
23110    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
23111        ::std::mem::MaybeUninit::uninit();
23112    let ptr = UNINIT.as_ptr();
23113    assert_eq!(
23114        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
23115        8usize,
23116        "Size of POLICYQUALINFO_st__bindgen_ty_1"
23117    );
23118    assert_eq!(
23119        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
23120        8usize,
23121        "Alignment of POLICYQUALINFO_st__bindgen_ty_1"
23122    );
23123    assert_eq!(
23124        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
23125        0usize,
23126        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::cpsuri"
23127    );
23128    assert_eq!(
23129        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
23130        0usize,
23131        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::usernotice"
23132    );
23133    assert_eq!(
23134        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
23135        0usize,
23136        "Offset of field: POLICYQUALINFO_st__bindgen_ty_1::other"
23137    );
23138}
23139impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
23140    fn default() -> Self {
23141        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23142        unsafe {
23143            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23144            s.assume_init()
23145        }
23146    }
23147}
23148#[test]
23149fn bindgen_test_layout_POLICYQUALINFO_st() {
23150    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
23151    let ptr = UNINIT.as_ptr();
23152    assert_eq!(
23153        ::std::mem::size_of::<POLICYQUALINFO_st>(),
23154        16usize,
23155        "Size of POLICYQUALINFO_st"
23156    );
23157    assert_eq!(
23158        ::std::mem::align_of::<POLICYQUALINFO_st>(),
23159        8usize,
23160        "Alignment of POLICYQUALINFO_st"
23161    );
23162    assert_eq!(
23163        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
23164        0usize,
23165        "Offset of field: POLICYQUALINFO_st::pqualid"
23166    );
23167    assert_eq!(
23168        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
23169        8usize,
23170        "Offset of field: POLICYQUALINFO_st::d"
23171    );
23172}
23173impl Default for POLICYQUALINFO_st {
23174    fn default() -> Self {
23175        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23176        unsafe {
23177            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23178            s.assume_init()
23179        }
23180    }
23181}
23182pub type POLICYQUALINFO = POLICYQUALINFO_st;
23183#[repr(C)]
23184#[derive(Debug, Copy, Clone)]
23185pub struct stack_st_POLICYQUALINFO {
23186    _unused: [u8; 0],
23187}
23188pub type sk_POLICYQUALINFO_free_func =
23189    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
23190pub type sk_POLICYQUALINFO_copy_func =
23191    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
23192pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
23193    unsafe extern "C" fn(
23194        arg1: *const *const POLICYQUALINFO,
23195        arg2: *const *const POLICYQUALINFO,
23196    ) -> ::std::os::raw::c_int,
23197>;
23198pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
23199    unsafe extern "C" fn(
23200        arg1: *mut POLICYQUALINFO,
23201        arg2: *mut ::std::os::raw::c_void,
23202    ) -> ::std::os::raw::c_int,
23203>;
23204#[repr(C)]
23205#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23206pub struct POLICYINFO_st {
23207    pub policyid: *mut ASN1_OBJECT,
23208    pub qualifiers: *mut stack_st_POLICYQUALINFO,
23209}
23210#[test]
23211fn bindgen_test_layout_POLICYINFO_st() {
23212    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
23213    let ptr = UNINIT.as_ptr();
23214    assert_eq!(
23215        ::std::mem::size_of::<POLICYINFO_st>(),
23216        16usize,
23217        "Size of POLICYINFO_st"
23218    );
23219    assert_eq!(
23220        ::std::mem::align_of::<POLICYINFO_st>(),
23221        8usize,
23222        "Alignment of POLICYINFO_st"
23223    );
23224    assert_eq!(
23225        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
23226        0usize,
23227        "Offset of field: POLICYINFO_st::policyid"
23228    );
23229    assert_eq!(
23230        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
23231        8usize,
23232        "Offset of field: POLICYINFO_st::qualifiers"
23233    );
23234}
23235impl Default for POLICYINFO_st {
23236    fn default() -> Self {
23237        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23238        unsafe {
23239            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23240            s.assume_init()
23241        }
23242    }
23243}
23244pub type POLICYINFO = POLICYINFO_st;
23245#[repr(C)]
23246#[derive(Debug, Copy, Clone)]
23247pub struct stack_st_POLICYINFO {
23248    _unused: [u8; 0],
23249}
23250pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
23251pub type sk_POLICYINFO_free_func =
23252    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
23253pub type sk_POLICYINFO_copy_func =
23254    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
23255pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
23256    unsafe extern "C" fn(
23257        arg1: *const *const POLICYINFO,
23258        arg2: *const *const POLICYINFO,
23259    ) -> ::std::os::raw::c_int,
23260>;
23261pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
23262    unsafe extern "C" fn(
23263        arg1: *mut POLICYINFO,
23264        arg2: *mut ::std::os::raw::c_void,
23265    ) -> ::std::os::raw::c_int,
23266>;
23267#[repr(C)]
23268#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23269pub struct POLICY_MAPPING_st {
23270    pub issuerDomainPolicy: *mut ASN1_OBJECT,
23271    pub subjectDomainPolicy: *mut ASN1_OBJECT,
23272}
23273#[test]
23274fn bindgen_test_layout_POLICY_MAPPING_st() {
23275    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
23276    let ptr = UNINIT.as_ptr();
23277    assert_eq!(
23278        ::std::mem::size_of::<POLICY_MAPPING_st>(),
23279        16usize,
23280        "Size of POLICY_MAPPING_st"
23281    );
23282    assert_eq!(
23283        ::std::mem::align_of::<POLICY_MAPPING_st>(),
23284        8usize,
23285        "Alignment of POLICY_MAPPING_st"
23286    );
23287    assert_eq!(
23288        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
23289        0usize,
23290        "Offset of field: POLICY_MAPPING_st::issuerDomainPolicy"
23291    );
23292    assert_eq!(
23293        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
23294        8usize,
23295        "Offset of field: POLICY_MAPPING_st::subjectDomainPolicy"
23296    );
23297}
23298impl Default for POLICY_MAPPING_st {
23299    fn default() -> Self {
23300        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23301        unsafe {
23302            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23303            s.assume_init()
23304        }
23305    }
23306}
23307pub type POLICY_MAPPING = POLICY_MAPPING_st;
23308#[repr(C)]
23309#[derive(Debug, Copy, Clone)]
23310pub struct stack_st_POLICY_MAPPING {
23311    _unused: [u8; 0],
23312}
23313pub type sk_POLICY_MAPPING_free_func =
23314    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
23315pub type sk_POLICY_MAPPING_copy_func =
23316    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
23317pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
23318    unsafe extern "C" fn(
23319        arg1: *const *const POLICY_MAPPING,
23320        arg2: *const *const POLICY_MAPPING,
23321    ) -> ::std::os::raw::c_int,
23322>;
23323pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
23324    unsafe extern "C" fn(
23325        arg1: *mut POLICY_MAPPING,
23326        arg2: *mut ::std::os::raw::c_void,
23327    ) -> ::std::os::raw::c_int,
23328>;
23329pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
23330#[repr(C)]
23331#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23332pub struct GENERAL_SUBTREE_st {
23333    pub base: *mut GENERAL_NAME,
23334    pub minimum: *mut ASN1_INTEGER,
23335    pub maximum: *mut ASN1_INTEGER,
23336}
23337#[test]
23338fn bindgen_test_layout_GENERAL_SUBTREE_st() {
23339    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
23340    let ptr = UNINIT.as_ptr();
23341    assert_eq!(
23342        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
23343        24usize,
23344        "Size of GENERAL_SUBTREE_st"
23345    );
23346    assert_eq!(
23347        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
23348        8usize,
23349        "Alignment of GENERAL_SUBTREE_st"
23350    );
23351    assert_eq!(
23352        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
23353        0usize,
23354        "Offset of field: GENERAL_SUBTREE_st::base"
23355    );
23356    assert_eq!(
23357        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
23358        8usize,
23359        "Offset of field: GENERAL_SUBTREE_st::minimum"
23360    );
23361    assert_eq!(
23362        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
23363        16usize,
23364        "Offset of field: GENERAL_SUBTREE_st::maximum"
23365    );
23366}
23367impl Default for GENERAL_SUBTREE_st {
23368    fn default() -> Self {
23369        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23370        unsafe {
23371            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23372            s.assume_init()
23373        }
23374    }
23375}
23376pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
23377#[repr(C)]
23378#[derive(Debug, Copy, Clone)]
23379pub struct stack_st_GENERAL_SUBTREE {
23380    _unused: [u8; 0],
23381}
23382pub type sk_GENERAL_SUBTREE_free_func =
23383    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
23384pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
23385    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
23386>;
23387pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
23388    unsafe extern "C" fn(
23389        arg1: *const *const GENERAL_SUBTREE,
23390        arg2: *const *const GENERAL_SUBTREE,
23391    ) -> ::std::os::raw::c_int,
23392>;
23393pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
23394    unsafe extern "C" fn(
23395        arg1: *mut GENERAL_SUBTREE,
23396        arg2: *mut ::std::os::raw::c_void,
23397    ) -> ::std::os::raw::c_int,
23398>;
23399#[repr(C)]
23400#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23401pub struct NAME_CONSTRAINTS_st {
23402    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
23403    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
23404}
23405#[test]
23406fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
23407    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
23408    let ptr = UNINIT.as_ptr();
23409    assert_eq!(
23410        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
23411        16usize,
23412        "Size of NAME_CONSTRAINTS_st"
23413    );
23414    assert_eq!(
23415        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
23416        8usize,
23417        "Alignment of NAME_CONSTRAINTS_st"
23418    );
23419    assert_eq!(
23420        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
23421        0usize,
23422        "Offset of field: NAME_CONSTRAINTS_st::permittedSubtrees"
23423    );
23424    assert_eq!(
23425        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
23426        8usize,
23427        "Offset of field: NAME_CONSTRAINTS_st::excludedSubtrees"
23428    );
23429}
23430impl Default for NAME_CONSTRAINTS_st {
23431    fn default() -> Self {
23432        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23433        unsafe {
23434            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23435            s.assume_init()
23436        }
23437    }
23438}
23439#[repr(C)]
23440#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23441pub struct POLICY_CONSTRAINTS_st {
23442    pub requireExplicitPolicy: *mut ASN1_INTEGER,
23443    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
23444}
23445#[test]
23446fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
23447    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
23448        ::std::mem::MaybeUninit::uninit();
23449    let ptr = UNINIT.as_ptr();
23450    assert_eq!(
23451        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
23452        16usize,
23453        "Size of POLICY_CONSTRAINTS_st"
23454    );
23455    assert_eq!(
23456        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
23457        8usize,
23458        "Alignment of POLICY_CONSTRAINTS_st"
23459    );
23460    assert_eq!(
23461        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
23462        0usize,
23463        "Offset of field: POLICY_CONSTRAINTS_st::requireExplicitPolicy"
23464    );
23465    assert_eq!(
23466        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
23467        8usize,
23468        "Offset of field: POLICY_CONSTRAINTS_st::inhibitPolicyMapping"
23469    );
23470}
23471impl Default for POLICY_CONSTRAINTS_st {
23472    fn default() -> Self {
23473        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23474        unsafe {
23475            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23476            s.assume_init()
23477        }
23478    }
23479}
23480pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
23481#[repr(C)]
23482#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23483pub struct ISSUING_DIST_POINT_st {
23484    pub distpoint: *mut DIST_POINT_NAME,
23485    pub onlyuser: ASN1_BOOLEAN,
23486    pub onlyCA: ASN1_BOOLEAN,
23487    pub onlysomereasons: *mut ASN1_BIT_STRING,
23488    pub indirectCRL: ASN1_BOOLEAN,
23489    pub onlyattr: ASN1_BOOLEAN,
23490}
23491#[test]
23492fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
23493    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
23494        ::std::mem::MaybeUninit::uninit();
23495    let ptr = UNINIT.as_ptr();
23496    assert_eq!(
23497        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
23498        32usize,
23499        "Size of ISSUING_DIST_POINT_st"
23500    );
23501    assert_eq!(
23502        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
23503        8usize,
23504        "Alignment of ISSUING_DIST_POINT_st"
23505    );
23506    assert_eq!(
23507        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
23508        0usize,
23509        "Offset of field: ISSUING_DIST_POINT_st::distpoint"
23510    );
23511    assert_eq!(
23512        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
23513        8usize,
23514        "Offset of field: ISSUING_DIST_POINT_st::onlyuser"
23515    );
23516    assert_eq!(
23517        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
23518        12usize,
23519        "Offset of field: ISSUING_DIST_POINT_st::onlyCA"
23520    );
23521    assert_eq!(
23522        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
23523        16usize,
23524        "Offset of field: ISSUING_DIST_POINT_st::onlysomereasons"
23525    );
23526    assert_eq!(
23527        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
23528        24usize,
23529        "Offset of field: ISSUING_DIST_POINT_st::indirectCRL"
23530    );
23531    assert_eq!(
23532        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
23533        28usize,
23534        "Offset of field: ISSUING_DIST_POINT_st::onlyattr"
23535    );
23536}
23537impl Default for ISSUING_DIST_POINT_st {
23538    fn default() -> Self {
23539        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23540        unsafe {
23541            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23542            s.assume_init()
23543        }
23544    }
23545}
23546#[repr(C)]
23547#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23548pub struct x509_purpose_st {
23549    pub purpose: ::std::os::raw::c_int,
23550    pub trust: ::std::os::raw::c_int,
23551    pub flags: ::std::os::raw::c_int,
23552    pub check_purpose: ::std::option::Option<
23553        unsafe extern "C" fn(
23554            arg1: *const x509_purpose_st,
23555            arg2: *const X509,
23556            arg3: ::std::os::raw::c_int,
23557        ) -> ::std::os::raw::c_int,
23558    >,
23559    pub name: *mut ::std::os::raw::c_char,
23560    pub sname: *mut ::std::os::raw::c_char,
23561    pub usr_data: *mut ::std::os::raw::c_void,
23562}
23563#[test]
23564fn bindgen_test_layout_x509_purpose_st() {
23565    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
23566    let ptr = UNINIT.as_ptr();
23567    assert_eq!(
23568        ::std::mem::size_of::<x509_purpose_st>(),
23569        48usize,
23570        "Size of x509_purpose_st"
23571    );
23572    assert_eq!(
23573        ::std::mem::align_of::<x509_purpose_st>(),
23574        8usize,
23575        "Alignment of x509_purpose_st"
23576    );
23577    assert_eq!(
23578        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
23579        0usize,
23580        "Offset of field: x509_purpose_st::purpose"
23581    );
23582    assert_eq!(
23583        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
23584        4usize,
23585        "Offset of field: x509_purpose_st::trust"
23586    );
23587    assert_eq!(
23588        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
23589        8usize,
23590        "Offset of field: x509_purpose_st::flags"
23591    );
23592    assert_eq!(
23593        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
23594        16usize,
23595        "Offset of field: x509_purpose_st::check_purpose"
23596    );
23597    assert_eq!(
23598        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
23599        24usize,
23600        "Offset of field: x509_purpose_st::name"
23601    );
23602    assert_eq!(
23603        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
23604        32usize,
23605        "Offset of field: x509_purpose_st::sname"
23606    );
23607    assert_eq!(
23608        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
23609        40usize,
23610        "Offset of field: x509_purpose_st::usr_data"
23611    );
23612}
23613impl Default for x509_purpose_st {
23614    fn default() -> Self {
23615        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23616        unsafe {
23617            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23618            s.assume_init()
23619        }
23620    }
23621}
23622pub type X509_PURPOSE = x509_purpose_st;
23623#[repr(C)]
23624#[derive(Debug, Copy, Clone)]
23625pub struct stack_st_X509_PURPOSE {
23626    _unused: [u8; 0],
23627}
23628pub type sk_X509_PURPOSE_free_func =
23629    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
23630pub type sk_X509_PURPOSE_copy_func =
23631    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
23632pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
23633    unsafe extern "C" fn(
23634        arg1: *const *const X509_PURPOSE,
23635        arg2: *const *const X509_PURPOSE,
23636    ) -> ::std::os::raw::c_int,
23637>;
23638pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
23639    unsafe extern "C" fn(
23640        arg1: *mut X509_PURPOSE,
23641        arg2: *mut ::std::os::raw::c_void,
23642    ) -> ::std::os::raw::c_int,
23643>;
23644extern "C" {
23645    #[link_name = "\u{1}aws_lc_fips_0_13_14_BASIC_CONSTRAINTS_new"]
23646    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
23647}
23648extern "C" {
23649    #[link_name = "\u{1}aws_lc_fips_0_13_14_BASIC_CONSTRAINTS_free"]
23650    pub fn BASIC_CONSTRAINTS_free(a: *mut BASIC_CONSTRAINTS);
23651}
23652extern "C" {
23653    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_BASIC_CONSTRAINTS"]
23654    pub fn d2i_BASIC_CONSTRAINTS(
23655        a: *mut *mut BASIC_CONSTRAINTS,
23656        in_: *mut *const ::std::os::raw::c_uchar,
23657        len: ::std::os::raw::c_long,
23658    ) -> *mut BASIC_CONSTRAINTS;
23659}
23660extern "C" {
23661    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_BASIC_CONSTRAINTS"]
23662    pub fn i2d_BASIC_CONSTRAINTS(
23663        a: *const BASIC_CONSTRAINTS,
23664        out: *mut *mut ::std::os::raw::c_uchar,
23665    ) -> ::std::os::raw::c_int;
23666}
23667extern "C" {
23668    #[link_name = "\u{1}aws_lc_fips_0_13_14_BASIC_CONSTRAINTS_it"]
23669    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
23670}
23671extern "C" {
23672    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_KEYID_new"]
23673    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
23674}
23675extern "C" {
23676    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_KEYID_free"]
23677    pub fn AUTHORITY_KEYID_free(a: *mut AUTHORITY_KEYID);
23678}
23679extern "C" {
23680    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_AUTHORITY_KEYID"]
23681    pub fn d2i_AUTHORITY_KEYID(
23682        a: *mut *mut AUTHORITY_KEYID,
23683        in_: *mut *const ::std::os::raw::c_uchar,
23684        len: ::std::os::raw::c_long,
23685    ) -> *mut AUTHORITY_KEYID;
23686}
23687extern "C" {
23688    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_AUTHORITY_KEYID"]
23689    pub fn i2d_AUTHORITY_KEYID(
23690        a: *mut AUTHORITY_KEYID,
23691        out: *mut *mut ::std::os::raw::c_uchar,
23692    ) -> ::std::os::raw::c_int;
23693}
23694extern "C" {
23695    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_KEYID_it"]
23696    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
23697}
23698extern "C" {
23699    #[link_name = "\u{1}aws_lc_fips_0_13_14_EXTENDED_KEY_USAGE_new"]
23700    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
23701}
23702extern "C" {
23703    #[link_name = "\u{1}aws_lc_fips_0_13_14_EXTENDED_KEY_USAGE_free"]
23704    pub fn EXTENDED_KEY_USAGE_free(a: *mut EXTENDED_KEY_USAGE);
23705}
23706extern "C" {
23707    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_EXTENDED_KEY_USAGE"]
23708    pub fn d2i_EXTENDED_KEY_USAGE(
23709        a: *mut *mut EXTENDED_KEY_USAGE,
23710        in_: *mut *const ::std::os::raw::c_uchar,
23711        len: ::std::os::raw::c_long,
23712    ) -> *mut EXTENDED_KEY_USAGE;
23713}
23714extern "C" {
23715    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_EXTENDED_KEY_USAGE"]
23716    pub fn i2d_EXTENDED_KEY_USAGE(
23717        a: *const EXTENDED_KEY_USAGE,
23718        out: *mut *mut ::std::os::raw::c_uchar,
23719    ) -> ::std::os::raw::c_int;
23720}
23721extern "C" {
23722    #[link_name = "\u{1}aws_lc_fips_0_13_14_EXTENDED_KEY_USAGE_it"]
23723    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
23724}
23725extern "C" {
23726    #[link_name = "\u{1}aws_lc_fips_0_13_14_CERTIFICATEPOLICIES_new"]
23727    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
23728}
23729extern "C" {
23730    #[link_name = "\u{1}aws_lc_fips_0_13_14_CERTIFICATEPOLICIES_free"]
23731    pub fn CERTIFICATEPOLICIES_free(a: *mut CERTIFICATEPOLICIES);
23732}
23733extern "C" {
23734    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_CERTIFICATEPOLICIES"]
23735    pub fn d2i_CERTIFICATEPOLICIES(
23736        a: *mut *mut CERTIFICATEPOLICIES,
23737        in_: *mut *const ::std::os::raw::c_uchar,
23738        len: ::std::os::raw::c_long,
23739    ) -> *mut CERTIFICATEPOLICIES;
23740}
23741extern "C" {
23742    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_CERTIFICATEPOLICIES"]
23743    pub fn i2d_CERTIFICATEPOLICIES(
23744        a: *const CERTIFICATEPOLICIES,
23745        out: *mut *mut ::std::os::raw::c_uchar,
23746    ) -> ::std::os::raw::c_int;
23747}
23748extern "C" {
23749    #[link_name = "\u{1}aws_lc_fips_0_13_14_CERTIFICATEPOLICIES_it"]
23750    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
23751}
23752extern "C" {
23753    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYINFO_new"]
23754    pub fn POLICYINFO_new() -> *mut POLICYINFO;
23755}
23756extern "C" {
23757    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYINFO_free"]
23758    pub fn POLICYINFO_free(a: *mut POLICYINFO);
23759}
23760extern "C" {
23761    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_POLICYINFO"]
23762    pub fn d2i_POLICYINFO(
23763        a: *mut *mut POLICYINFO,
23764        in_: *mut *const ::std::os::raw::c_uchar,
23765        len: ::std::os::raw::c_long,
23766    ) -> *mut POLICYINFO;
23767}
23768extern "C" {
23769    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_POLICYINFO"]
23770    pub fn i2d_POLICYINFO(
23771        a: *const POLICYINFO,
23772        out: *mut *mut ::std::os::raw::c_uchar,
23773    ) -> ::std::os::raw::c_int;
23774}
23775extern "C" {
23776    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYINFO_it"]
23777    pub static POLICYINFO_it: ASN1_ITEM;
23778}
23779extern "C" {
23780    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYQUALINFO_new"]
23781    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
23782}
23783extern "C" {
23784    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYQUALINFO_free"]
23785    pub fn POLICYQUALINFO_free(a: *mut POLICYQUALINFO);
23786}
23787extern "C" {
23788    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_POLICYQUALINFO"]
23789    pub fn d2i_POLICYQUALINFO(
23790        a: *mut *mut POLICYQUALINFO,
23791        in_: *mut *const ::std::os::raw::c_uchar,
23792        len: ::std::os::raw::c_long,
23793    ) -> *mut POLICYQUALINFO;
23794}
23795extern "C" {
23796    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_POLICYQUALINFO"]
23797    pub fn i2d_POLICYQUALINFO(
23798        a: *const POLICYQUALINFO,
23799        out: *mut *mut ::std::os::raw::c_uchar,
23800    ) -> ::std::os::raw::c_int;
23801}
23802extern "C" {
23803    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICYQUALINFO_it"]
23804    pub static POLICYQUALINFO_it: ASN1_ITEM;
23805}
23806extern "C" {
23807    #[link_name = "\u{1}aws_lc_fips_0_13_14_USERNOTICE_new"]
23808    pub fn USERNOTICE_new() -> *mut USERNOTICE;
23809}
23810extern "C" {
23811    #[link_name = "\u{1}aws_lc_fips_0_13_14_USERNOTICE_free"]
23812    pub fn USERNOTICE_free(a: *mut USERNOTICE);
23813}
23814extern "C" {
23815    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_USERNOTICE"]
23816    pub fn d2i_USERNOTICE(
23817        a: *mut *mut USERNOTICE,
23818        in_: *mut *const ::std::os::raw::c_uchar,
23819        len: ::std::os::raw::c_long,
23820    ) -> *mut USERNOTICE;
23821}
23822extern "C" {
23823    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_USERNOTICE"]
23824    pub fn i2d_USERNOTICE(
23825        a: *const USERNOTICE,
23826        out: *mut *mut ::std::os::raw::c_uchar,
23827    ) -> ::std::os::raw::c_int;
23828}
23829extern "C" {
23830    #[link_name = "\u{1}aws_lc_fips_0_13_14_USERNOTICE_it"]
23831    pub static USERNOTICE_it: ASN1_ITEM;
23832}
23833extern "C" {
23834    #[link_name = "\u{1}aws_lc_fips_0_13_14_NOTICEREF_new"]
23835    pub fn NOTICEREF_new() -> *mut NOTICEREF;
23836}
23837extern "C" {
23838    #[link_name = "\u{1}aws_lc_fips_0_13_14_NOTICEREF_free"]
23839    pub fn NOTICEREF_free(a: *mut NOTICEREF);
23840}
23841extern "C" {
23842    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_NOTICEREF"]
23843    pub fn d2i_NOTICEREF(
23844        a: *mut *mut NOTICEREF,
23845        in_: *mut *const ::std::os::raw::c_uchar,
23846        len: ::std::os::raw::c_long,
23847    ) -> *mut NOTICEREF;
23848}
23849extern "C" {
23850    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_NOTICEREF"]
23851    pub fn i2d_NOTICEREF(
23852        a: *const NOTICEREF,
23853        out: *mut *mut ::std::os::raw::c_uchar,
23854    ) -> ::std::os::raw::c_int;
23855}
23856extern "C" {
23857    #[link_name = "\u{1}aws_lc_fips_0_13_14_NOTICEREF_it"]
23858    pub static NOTICEREF_it: ASN1_ITEM;
23859}
23860extern "C" {
23861    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRL_DIST_POINTS_new"]
23862    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
23863}
23864extern "C" {
23865    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRL_DIST_POINTS_free"]
23866    pub fn CRL_DIST_POINTS_free(a: *mut CRL_DIST_POINTS);
23867}
23868extern "C" {
23869    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_CRL_DIST_POINTS"]
23870    pub fn d2i_CRL_DIST_POINTS(
23871        a: *mut *mut CRL_DIST_POINTS,
23872        in_: *mut *const ::std::os::raw::c_uchar,
23873        len: ::std::os::raw::c_long,
23874    ) -> *mut CRL_DIST_POINTS;
23875}
23876extern "C" {
23877    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_CRL_DIST_POINTS"]
23878    pub fn i2d_CRL_DIST_POINTS(
23879        a: *mut CRL_DIST_POINTS,
23880        out: *mut *mut ::std::os::raw::c_uchar,
23881    ) -> ::std::os::raw::c_int;
23882}
23883extern "C" {
23884    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRL_DIST_POINTS_it"]
23885    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
23886}
23887extern "C" {
23888    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_new"]
23889    pub fn DIST_POINT_new() -> *mut DIST_POINT;
23890}
23891extern "C" {
23892    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_free"]
23893    pub fn DIST_POINT_free(a: *mut DIST_POINT);
23894}
23895extern "C" {
23896    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DIST_POINT"]
23897    pub fn d2i_DIST_POINT(
23898        a: *mut *mut DIST_POINT,
23899        in_: *mut *const ::std::os::raw::c_uchar,
23900        len: ::std::os::raw::c_long,
23901    ) -> *mut DIST_POINT;
23902}
23903extern "C" {
23904    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DIST_POINT"]
23905    pub fn i2d_DIST_POINT(
23906        a: *mut DIST_POINT,
23907        out: *mut *mut ::std::os::raw::c_uchar,
23908    ) -> ::std::os::raw::c_int;
23909}
23910extern "C" {
23911    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_it"]
23912    pub static DIST_POINT_it: ASN1_ITEM;
23913}
23914extern "C" {
23915    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_NAME_new"]
23916    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
23917}
23918extern "C" {
23919    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_NAME_free"]
23920    pub fn DIST_POINT_NAME_free(a: *mut DIST_POINT_NAME);
23921}
23922extern "C" {
23923    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_DIST_POINT_NAME"]
23924    pub fn d2i_DIST_POINT_NAME(
23925        a: *mut *mut DIST_POINT_NAME,
23926        in_: *mut *const ::std::os::raw::c_uchar,
23927        len: ::std::os::raw::c_long,
23928    ) -> *mut DIST_POINT_NAME;
23929}
23930extern "C" {
23931    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_DIST_POINT_NAME"]
23932    pub fn i2d_DIST_POINT_NAME(
23933        a: *mut DIST_POINT_NAME,
23934        out: *mut *mut ::std::os::raw::c_uchar,
23935    ) -> ::std::os::raw::c_int;
23936}
23937extern "C" {
23938    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_NAME_it"]
23939    pub static DIST_POINT_NAME_it: ASN1_ITEM;
23940}
23941extern "C" {
23942    #[link_name = "\u{1}aws_lc_fips_0_13_14_ISSUING_DIST_POINT_new"]
23943    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
23944}
23945extern "C" {
23946    #[link_name = "\u{1}aws_lc_fips_0_13_14_ISSUING_DIST_POINT_free"]
23947    pub fn ISSUING_DIST_POINT_free(a: *mut ISSUING_DIST_POINT);
23948}
23949extern "C" {
23950    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ISSUING_DIST_POINT"]
23951    pub fn d2i_ISSUING_DIST_POINT(
23952        a: *mut *mut ISSUING_DIST_POINT,
23953        in_: *mut *const ::std::os::raw::c_uchar,
23954        len: ::std::os::raw::c_long,
23955    ) -> *mut ISSUING_DIST_POINT;
23956}
23957extern "C" {
23958    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ISSUING_DIST_POINT"]
23959    pub fn i2d_ISSUING_DIST_POINT(
23960        a: *mut ISSUING_DIST_POINT,
23961        out: *mut *mut ::std::os::raw::c_uchar,
23962    ) -> ::std::os::raw::c_int;
23963}
23964extern "C" {
23965    #[link_name = "\u{1}aws_lc_fips_0_13_14_ISSUING_DIST_POINT_it"]
23966    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
23967}
23968extern "C" {
23969    #[link_name = "\u{1}aws_lc_fips_0_13_14_DIST_POINT_set_dpname"]
23970    pub fn DIST_POINT_set_dpname(
23971        dpn: *mut DIST_POINT_NAME,
23972        iname: *mut X509_NAME,
23973    ) -> ::std::os::raw::c_int;
23974}
23975extern "C" {
23976    #[link_name = "\u{1}aws_lc_fips_0_13_14_ACCESS_DESCRIPTION_new"]
23977    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
23978}
23979extern "C" {
23980    #[link_name = "\u{1}aws_lc_fips_0_13_14_ACCESS_DESCRIPTION_free"]
23981    pub fn ACCESS_DESCRIPTION_free(a: *mut ACCESS_DESCRIPTION);
23982}
23983extern "C" {
23984    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_ACCESS_DESCRIPTION"]
23985    pub fn d2i_ACCESS_DESCRIPTION(
23986        a: *mut *mut ACCESS_DESCRIPTION,
23987        in_: *mut *const ::std::os::raw::c_uchar,
23988        len: ::std::os::raw::c_long,
23989    ) -> *mut ACCESS_DESCRIPTION;
23990}
23991extern "C" {
23992    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_ACCESS_DESCRIPTION"]
23993    pub fn i2d_ACCESS_DESCRIPTION(
23994        a: *mut ACCESS_DESCRIPTION,
23995        out: *mut *mut ::std::os::raw::c_uchar,
23996    ) -> ::std::os::raw::c_int;
23997}
23998extern "C" {
23999    #[link_name = "\u{1}aws_lc_fips_0_13_14_ACCESS_DESCRIPTION_it"]
24000    pub static ACCESS_DESCRIPTION_it: ASN1_ITEM;
24001}
24002extern "C" {
24003    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_INFO_ACCESS_new"]
24004    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
24005}
24006extern "C" {
24007    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_INFO_ACCESS_free"]
24008    pub fn AUTHORITY_INFO_ACCESS_free(a: *mut AUTHORITY_INFO_ACCESS);
24009}
24010extern "C" {
24011    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_AUTHORITY_INFO_ACCESS"]
24012    pub fn d2i_AUTHORITY_INFO_ACCESS(
24013        a: *mut *mut AUTHORITY_INFO_ACCESS,
24014        in_: *mut *const ::std::os::raw::c_uchar,
24015        len: ::std::os::raw::c_long,
24016    ) -> *mut AUTHORITY_INFO_ACCESS;
24017}
24018extern "C" {
24019    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_AUTHORITY_INFO_ACCESS"]
24020    pub fn i2d_AUTHORITY_INFO_ACCESS(
24021        a: *mut AUTHORITY_INFO_ACCESS,
24022        out: *mut *mut ::std::os::raw::c_uchar,
24023    ) -> ::std::os::raw::c_int;
24024}
24025extern "C" {
24026    #[link_name = "\u{1}aws_lc_fips_0_13_14_AUTHORITY_INFO_ACCESS_it"]
24027    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
24028}
24029extern "C" {
24030    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_MAPPING_it"]
24031    pub static POLICY_MAPPING_it: ASN1_ITEM;
24032}
24033extern "C" {
24034    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_MAPPING_new"]
24035    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
24036}
24037extern "C" {
24038    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_MAPPING_free"]
24039    pub fn POLICY_MAPPING_free(a: *mut POLICY_MAPPING);
24040}
24041extern "C" {
24042    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_MAPPINGS_it"]
24043    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
24044}
24045extern "C" {
24046    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_SUBTREE_it"]
24047    pub static GENERAL_SUBTREE_it: ASN1_ITEM;
24048}
24049extern "C" {
24050    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_SUBTREE_new"]
24051    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
24052}
24053extern "C" {
24054    #[link_name = "\u{1}aws_lc_fips_0_13_14_GENERAL_SUBTREE_free"]
24055    pub fn GENERAL_SUBTREE_free(a: *mut GENERAL_SUBTREE);
24056}
24057extern "C" {
24058    #[link_name = "\u{1}aws_lc_fips_0_13_14_NAME_CONSTRAINTS_it"]
24059    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
24060}
24061extern "C" {
24062    #[link_name = "\u{1}aws_lc_fips_0_13_14_NAME_CONSTRAINTS_new"]
24063    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
24064}
24065extern "C" {
24066    #[link_name = "\u{1}aws_lc_fips_0_13_14_NAME_CONSTRAINTS_free"]
24067    pub fn NAME_CONSTRAINTS_free(a: *mut NAME_CONSTRAINTS);
24068}
24069extern "C" {
24070    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_CONSTRAINTS_new"]
24071    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
24072}
24073extern "C" {
24074    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_CONSTRAINTS_free"]
24075    pub fn POLICY_CONSTRAINTS_free(a: *mut POLICY_CONSTRAINTS);
24076}
24077extern "C" {
24078    #[link_name = "\u{1}aws_lc_fips_0_13_14_POLICY_CONSTRAINTS_it"]
24079    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
24080}
24081extern "C" {
24082    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_add"]
24083    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
24084}
24085extern "C" {
24086    pub fn X509V3_EXT_add_list(extlist: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
24087}
24088extern "C" {
24089    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_add_alias"]
24090    pub fn X509V3_EXT_add_alias(
24091        nid_to: ::std::os::raw::c_int,
24092        nid_from: ::std::os::raw::c_int,
24093    ) -> ::std::os::raw::c_int;
24094}
24095extern "C" {
24096    pub fn X509V3_EXT_cleanup();
24097}
24098extern "C" {
24099    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_get"]
24100    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
24101}
24102extern "C" {
24103    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_get_nid"]
24104    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
24105}
24106extern "C" {
24107    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_d2i"]
24108    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
24109}
24110extern "C" {
24111    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_get_d2i"]
24112    pub fn X509V3_get_d2i(
24113        extensions: *const stack_st_X509_EXTENSION,
24114        nid: ::std::os::raw::c_int,
24115        out_critical: *mut ::std::os::raw::c_int,
24116        out_idx: *mut ::std::os::raw::c_int,
24117    ) -> *mut ::std::os::raw::c_void;
24118}
24119extern "C" {
24120    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_free"]
24121    pub fn X509V3_EXT_free(
24122        nid: ::std::os::raw::c_int,
24123        ext_data: *mut ::std::os::raw::c_void,
24124    ) -> ::std::os::raw::c_int;
24125}
24126extern "C" {
24127    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_EXT_i2d"]
24128    pub fn X509V3_EXT_i2d(
24129        ext_nid: ::std::os::raw::c_int,
24130        crit: ::std::os::raw::c_int,
24131        ext_struc: *mut ::std::os::raw::c_void,
24132    ) -> *mut X509_EXTENSION;
24133}
24134extern "C" {
24135    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509V3_add1_i2d"]
24136    pub fn X509V3_add1_i2d(
24137        x: *mut *mut stack_st_X509_EXTENSION,
24138        nid: ::std::os::raw::c_int,
24139        value: *mut ::std::os::raw::c_void,
24140        crit: ::std::os::raw::c_int,
24141        flags: ::std::os::raw::c_ulong,
24142    ) -> ::std::os::raw::c_int;
24143}
24144extern "C" {
24145    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_set"]
24146    pub fn X509_PURPOSE_set(
24147        p: *mut ::std::os::raw::c_int,
24148        purpose: ::std::os::raw::c_int,
24149    ) -> ::std::os::raw::c_int;
24150}
24151extern "C" {
24152    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get_count"]
24153    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
24154}
24155extern "C" {
24156    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get0"]
24157    pub fn X509_PURPOSE_get0(idx: ::std::os::raw::c_int) -> *const X509_PURPOSE;
24158}
24159extern "C" {
24160    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get_by_sname"]
24161    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
24162        -> ::std::os::raw::c_int;
24163}
24164extern "C" {
24165    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get_by_id"]
24166    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
24167}
24168extern "C" {
24169    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get0_name"]
24170    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24171}
24172extern "C" {
24173    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get0_sname"]
24174    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
24175}
24176extern "C" {
24177    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get_trust"]
24178    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24179}
24180extern "C" {
24181    #[link_name = "\u{1}aws_lc_fips_0_13_14_X509_PURPOSE_get_id"]
24182    pub fn X509_PURPOSE_get_id(arg1: *const X509_PURPOSE) -> ::std::os::raw::c_int;
24183}
24184#[repr(C)]
24185#[derive(Debug, Copy, Clone)]
24186pub struct ocsp_cert_id_st {
24187    _unused: [u8; 0],
24188}
24189pub type OCSP_CERTID = ocsp_cert_id_st;
24190#[repr(C)]
24191#[derive(Debug, Copy, Clone)]
24192pub struct ocsp_one_request_st {
24193    _unused: [u8; 0],
24194}
24195pub type OCSP_ONEREQ = ocsp_one_request_st;
24196#[repr(C)]
24197#[derive(Debug, Copy, Clone)]
24198pub struct ocsp_req_info_st {
24199    _unused: [u8; 0],
24200}
24201pub type OCSP_REQINFO = ocsp_req_info_st;
24202#[repr(C)]
24203#[derive(Debug, Copy, Clone)]
24204pub struct ocsp_signature_st {
24205    _unused: [u8; 0],
24206}
24207pub type OCSP_SIGNATURE = ocsp_signature_st;
24208#[repr(C)]
24209#[derive(Debug, Copy, Clone)]
24210pub struct ocsp_request_st {
24211    _unused: [u8; 0],
24212}
24213pub type OCSP_REQUEST = ocsp_request_st;
24214#[repr(C)]
24215#[derive(Debug, Copy, Clone)]
24216pub struct ocsp_resp_bytes_st {
24217    _unused: [u8; 0],
24218}
24219pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
24220#[repr(C)]
24221#[derive(Debug, Copy, Clone)]
24222pub struct ocsp_revoked_info_st {
24223    _unused: [u8; 0],
24224}
24225pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
24226#[repr(C)]
24227#[derive(Debug, Copy, Clone)]
24228pub struct ocsp_cert_status_st {
24229    _unused: [u8; 0],
24230}
24231pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
24232#[repr(C)]
24233#[derive(Debug, Copy, Clone)]
24234pub struct ocsp_single_response_st {
24235    _unused: [u8; 0],
24236}
24237pub type OCSP_SINGLERESP = ocsp_single_response_st;
24238#[repr(C)]
24239#[derive(Debug, Copy, Clone)]
24240pub struct ocsp_response_data_st {
24241    _unused: [u8; 0],
24242}
24243pub type OCSP_RESPDATA = ocsp_response_data_st;
24244#[repr(C)]
24245#[derive(Debug, Copy, Clone)]
24246pub struct ocsp_response_st {
24247    _unused: [u8; 0],
24248}
24249pub type OCSP_RESPONSE = ocsp_response_st;
24250#[repr(C)]
24251#[derive(Debug, Copy, Clone)]
24252pub struct ocsp_responder_id_st {
24253    _unused: [u8; 0],
24254}
24255pub type OCSP_RESPID = ocsp_responder_id_st;
24256#[repr(C)]
24257#[derive(Debug, Copy, Clone)]
24258pub struct ocsp_basic_response_st {
24259    _unused: [u8; 0],
24260}
24261pub type OCSP_BASICRESP = ocsp_basic_response_st;
24262#[repr(C)]
24263#[derive(Debug, Copy, Clone)]
24264pub struct stack_st_OCSP_CERTID {
24265    _unused: [u8; 0],
24266}
24267pub type sk_OCSP_CERTID_free_func =
24268    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
24269pub type sk_OCSP_CERTID_copy_func =
24270    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
24271pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
24272    unsafe extern "C" fn(
24273        arg1: *const *const OCSP_CERTID,
24274        arg2: *const *const OCSP_CERTID,
24275    ) -> ::std::os::raw::c_int,
24276>;
24277pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
24278    unsafe extern "C" fn(
24279        arg1: *mut OCSP_CERTID,
24280        arg2: *mut ::std::os::raw::c_void,
24281    ) -> ::std::os::raw::c_int,
24282>;
24283#[repr(C)]
24284#[derive(Debug, Copy, Clone)]
24285pub struct stack_st_OCSP_ONEREQ {
24286    _unused: [u8; 0],
24287}
24288pub type sk_OCSP_ONEREQ_free_func =
24289    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
24290pub type sk_OCSP_ONEREQ_copy_func =
24291    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
24292pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
24293    unsafe extern "C" fn(
24294        arg1: *const *const OCSP_ONEREQ,
24295        arg2: *const *const OCSP_ONEREQ,
24296    ) -> ::std::os::raw::c_int,
24297>;
24298pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
24299    unsafe extern "C" fn(
24300        arg1: *mut OCSP_ONEREQ,
24301        arg2: *mut ::std::os::raw::c_void,
24302    ) -> ::std::os::raw::c_int,
24303>;
24304#[repr(C)]
24305#[derive(Debug, Copy, Clone)]
24306pub struct stack_st_OCSP_RESPID {
24307    _unused: [u8; 0],
24308}
24309pub type sk_OCSP_RESPID_free_func =
24310    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
24311pub type sk_OCSP_RESPID_copy_func =
24312    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
24313pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
24314    unsafe extern "C" fn(
24315        arg1: *const *const OCSP_RESPID,
24316        arg2: *const *const OCSP_RESPID,
24317    ) -> ::std::os::raw::c_int,
24318>;
24319pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
24320    unsafe extern "C" fn(
24321        arg1: *mut OCSP_RESPID,
24322        arg2: *mut ::std::os::raw::c_void,
24323    ) -> ::std::os::raw::c_int,
24324>;
24325#[repr(C)]
24326#[derive(Debug, Copy, Clone)]
24327pub struct stack_st_OCSP_SINGLERESP {
24328    _unused: [u8; 0],
24329}
24330pub type sk_OCSP_SINGLERESP_free_func =
24331    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
24332pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
24333    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
24334>;
24335pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
24336    unsafe extern "C" fn(
24337        arg1: *const *const OCSP_SINGLERESP,
24338        arg2: *const *const OCSP_SINGLERESP,
24339    ) -> ::std::os::raw::c_int,
24340>;
24341pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
24342    unsafe extern "C" fn(
24343        arg1: *mut OCSP_SINGLERESP,
24344        arg2: *mut ::std::os::raw::c_void,
24345    ) -> ::std::os::raw::c_int,
24346>;
24347extern "C" {
24348    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_new"]
24349    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
24350}
24351extern "C" {
24352    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_free"]
24353    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
24354}
24355extern "C" {
24356    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_BASICRESP"]
24357    pub fn d2i_OCSP_BASICRESP(
24358        a: *mut *mut OCSP_BASICRESP,
24359        in_: *mut *const ::std::os::raw::c_uchar,
24360        len: ::std::os::raw::c_long,
24361    ) -> *mut OCSP_BASICRESP;
24362}
24363extern "C" {
24364    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_BASICRESP"]
24365    pub fn i2d_OCSP_BASICRESP(
24366        a: *mut OCSP_BASICRESP,
24367        out: *mut *mut ::std::os::raw::c_uchar,
24368    ) -> ::std::os::raw::c_int;
24369}
24370extern "C" {
24371    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_it"]
24372    pub static OCSP_BASICRESP_it: ASN1_ITEM;
24373}
24374extern "C" {
24375    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_RESPONSE_new"]
24376    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
24377}
24378extern "C" {
24379    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_RESPONSE_free"]
24380    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
24381}
24382extern "C" {
24383    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_RESPONSE"]
24384    pub fn d2i_OCSP_RESPONSE(
24385        a: *mut *mut OCSP_RESPONSE,
24386        in_: *mut *const ::std::os::raw::c_uchar,
24387        len: ::std::os::raw::c_long,
24388    ) -> *mut OCSP_RESPONSE;
24389}
24390extern "C" {
24391    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_RESPONSE"]
24392    pub fn i2d_OCSP_RESPONSE(
24393        a: *mut OCSP_RESPONSE,
24394        out: *mut *mut ::std::os::raw::c_uchar,
24395    ) -> ::std::os::raw::c_int;
24396}
24397extern "C" {
24398    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_RESPONSE_it"]
24399    pub static OCSP_RESPONSE_it: ASN1_ITEM;
24400}
24401extern "C" {
24402    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_CERTID_new"]
24403    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
24404}
24405extern "C" {
24406    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_CERTID_free"]
24407    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
24408}
24409extern "C" {
24410    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_CERTID"]
24411    pub fn d2i_OCSP_CERTID(
24412        a: *mut *mut OCSP_CERTID,
24413        in_: *mut *const ::std::os::raw::c_uchar,
24414        len: ::std::os::raw::c_long,
24415    ) -> *mut OCSP_CERTID;
24416}
24417extern "C" {
24418    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_CERTID"]
24419    pub fn i2d_OCSP_CERTID(
24420        a: *mut OCSP_CERTID,
24421        out: *mut *mut ::std::os::raw::c_uchar,
24422    ) -> ::std::os::raw::c_int;
24423}
24424extern "C" {
24425    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_CERTID_it"]
24426    pub static OCSP_CERTID_it: ASN1_ITEM;
24427}
24428extern "C" {
24429    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQUEST_new"]
24430    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
24431}
24432extern "C" {
24433    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQUEST_free"]
24434    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
24435}
24436extern "C" {
24437    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_REQUEST"]
24438    pub fn d2i_OCSP_REQUEST(
24439        a: *mut *mut OCSP_REQUEST,
24440        in_: *mut *const ::std::os::raw::c_uchar,
24441        len: ::std::os::raw::c_long,
24442    ) -> *mut OCSP_REQUEST;
24443}
24444extern "C" {
24445    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_REQUEST"]
24446    pub fn i2d_OCSP_REQUEST(
24447        a: *mut OCSP_REQUEST,
24448        out: *mut *mut ::std::os::raw::c_uchar,
24449    ) -> ::std::os::raw::c_int;
24450}
24451extern "C" {
24452    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQUEST_it"]
24453    pub static OCSP_REQUEST_it: ASN1_ITEM;
24454}
24455extern "C" {
24456    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_new"]
24457    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
24458}
24459extern "C" {
24460    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_free"]
24461    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
24462}
24463extern "C" {
24464    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_SINGLERESP"]
24465    pub fn d2i_OCSP_SINGLERESP(
24466        a: *mut *mut OCSP_SINGLERESP,
24467        in_: *mut *const ::std::os::raw::c_uchar,
24468        len: ::std::os::raw::c_long,
24469    ) -> *mut OCSP_SINGLERESP;
24470}
24471extern "C" {
24472    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_SINGLERESP"]
24473    pub fn i2d_OCSP_SINGLERESP(
24474        a: *mut OCSP_SINGLERESP,
24475        out: *mut *mut ::std::os::raw::c_uchar,
24476    ) -> ::std::os::raw::c_int;
24477}
24478extern "C" {
24479    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_it"]
24480    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
24481}
24482extern "C" {
24483    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_ONEREQ_new"]
24484    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
24485}
24486extern "C" {
24487    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_ONEREQ_free"]
24488    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
24489}
24490extern "C" {
24491    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_ONEREQ"]
24492    pub fn d2i_OCSP_ONEREQ(
24493        a: *mut *mut OCSP_ONEREQ,
24494        in_: *mut *const ::std::os::raw::c_uchar,
24495        len: ::std::os::raw::c_long,
24496    ) -> *mut OCSP_ONEREQ;
24497}
24498extern "C" {
24499    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_ONEREQ"]
24500    pub fn i2d_OCSP_ONEREQ(
24501        a: *mut OCSP_ONEREQ,
24502        out: *mut *mut ::std::os::raw::c_uchar,
24503    ) -> ::std::os::raw::c_int;
24504}
24505extern "C" {
24506    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_ONEREQ_it"]
24507    pub static OCSP_ONEREQ_it: ASN1_ITEM;
24508}
24509extern "C" {
24510    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_REQUEST_bio"]
24511    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
24512}
24513extern "C" {
24514    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_OCSP_RESPONSE_bio"]
24515    pub fn d2i_OCSP_RESPONSE_bio(
24516        bp: *mut BIO,
24517        presp: *mut *mut OCSP_RESPONSE,
24518    ) -> *mut OCSP_RESPONSE;
24519}
24520extern "C" {
24521    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_RESPONSE_bio"]
24522    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
24523}
24524extern "C" {
24525    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_OCSP_REQUEST_bio"]
24526    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
24527}
24528extern "C" {
24529    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_CERTID_dup"]
24530    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
24531}
24532extern "C" {
24533    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_sendreq_bio"]
24534    pub fn OCSP_sendreq_bio(
24535        b: *mut BIO,
24536        path: *const ::std::os::raw::c_char,
24537        req: *mut OCSP_REQUEST,
24538    ) -> *mut OCSP_RESPONSE;
24539}
24540extern "C" {
24541    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_sendreq_new"]
24542    pub fn OCSP_sendreq_new(
24543        io: *mut BIO,
24544        path: *const ::std::os::raw::c_char,
24545        req: *mut OCSP_REQUEST,
24546        maxline: ::std::os::raw::c_int,
24547    ) -> *mut OCSP_REQ_CTX;
24548}
24549extern "C" {
24550    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_sendreq_nbio"]
24551    pub fn OCSP_sendreq_nbio(
24552        presp: *mut *mut OCSP_RESPONSE,
24553        rctx: *mut OCSP_REQ_CTX,
24554    ) -> ::std::os::raw::c_int;
24555}
24556extern "C" {
24557    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_new"]
24558    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
24559}
24560extern "C" {
24561    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_free"]
24562    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
24563}
24564extern "C" {
24565    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_set_max_response_length"]
24566    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
24567}
24568extern "C" {
24569    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_http"]
24570    pub fn OCSP_REQ_CTX_http(
24571        rctx: *mut OCSP_REQ_CTX,
24572        op: *const ::std::os::raw::c_char,
24573        path: *const ::std::os::raw::c_char,
24574    ) -> ::std::os::raw::c_int;
24575}
24576extern "C" {
24577    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_set1_req"]
24578    pub fn OCSP_REQ_CTX_set1_req(
24579        rctx: *mut OCSP_REQ_CTX,
24580        req: *mut OCSP_REQUEST,
24581    ) -> ::std::os::raw::c_int;
24582}
24583extern "C" {
24584    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_add1_header"]
24585    pub fn OCSP_REQ_CTX_add1_header(
24586        rctx: *mut OCSP_REQ_CTX,
24587        name: *const ::std::os::raw::c_char,
24588        value: *const ::std::os::raw::c_char,
24589    ) -> ::std::os::raw::c_int;
24590}
24591extern "C" {
24592    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQ_CTX_i2d"]
24593    pub fn OCSP_REQ_CTX_i2d(
24594        rctx: *mut OCSP_REQ_CTX,
24595        it: *const ASN1_ITEM,
24596        val: *mut ASN1_VALUE,
24597    ) -> ::std::os::raw::c_int;
24598}
24599extern "C" {
24600    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_add0_id"]
24601    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
24602}
24603extern "C" {
24604    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_onereq_get0_id"]
24605    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
24606}
24607extern "C" {
24608    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_add1_nonce"]
24609    pub fn OCSP_request_add1_nonce(
24610        req: *mut OCSP_REQUEST,
24611        val: *mut ::std::os::raw::c_uchar,
24612        len: ::std::os::raw::c_int,
24613    ) -> ::std::os::raw::c_int;
24614}
24615extern "C" {
24616    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_basic_add1_nonce"]
24617    pub fn OCSP_basic_add1_nonce(
24618        resp: *mut OCSP_BASICRESP,
24619        val: *mut ::std::os::raw::c_uchar,
24620        len: ::std::os::raw::c_int,
24621    ) -> ::std::os::raw::c_int;
24622}
24623extern "C" {
24624    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_check_nonce"]
24625    pub fn OCSP_check_nonce(
24626        req: *mut OCSP_REQUEST,
24627        bs: *mut OCSP_BASICRESP,
24628    ) -> ::std::os::raw::c_int;
24629}
24630extern "C" {
24631    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_copy_nonce"]
24632    pub fn OCSP_copy_nonce(
24633        resp: *mut OCSP_BASICRESP,
24634        req: *mut OCSP_REQUEST,
24635    ) -> ::std::os::raw::c_int;
24636}
24637extern "C" {
24638    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_set1_name"]
24639    pub fn OCSP_request_set1_name(
24640        req: *mut OCSP_REQUEST,
24641        nm: *mut X509_NAME,
24642    ) -> ::std::os::raw::c_int;
24643}
24644extern "C" {
24645    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_add1_cert"]
24646    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
24647        -> ::std::os::raw::c_int;
24648}
24649extern "C" {
24650    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_is_signed"]
24651    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
24652}
24653extern "C" {
24654    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_onereq_count"]
24655    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
24656}
24657extern "C" {
24658    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_onereq_get0"]
24659    pub fn OCSP_request_onereq_get0(
24660        req: *mut OCSP_REQUEST,
24661        i: ::std::os::raw::c_int,
24662    ) -> *mut OCSP_ONEREQ;
24663}
24664extern "C" {
24665    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_sign"]
24666    pub fn OCSP_request_sign(
24667        req: *mut OCSP_REQUEST,
24668        signer: *mut X509,
24669        key: *mut EVP_PKEY,
24670        dgst: *const EVP_MD,
24671        certs: *mut stack_st_X509,
24672        flags: ::std::os::raw::c_ulong,
24673    ) -> ::std::os::raw::c_int;
24674}
24675extern "C" {
24676    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_response_status"]
24677    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
24678}
24679extern "C" {
24680    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_response_get1_basic"]
24681    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
24682}
24683extern "C" {
24684    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_resp_count"]
24685    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
24686}
24687extern "C" {
24688    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_resp_get0"]
24689    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
24690}
24691extern "C" {
24692    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_single_get0_status"]
24693    pub fn OCSP_single_get0_status(
24694        single: *mut OCSP_SINGLERESP,
24695        reason: *mut ::std::os::raw::c_int,
24696        revtime: *mut *mut ASN1_GENERALIZEDTIME,
24697        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
24698        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
24699    ) -> ::std::os::raw::c_int;
24700}
24701extern "C" {
24702    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_resp_find"]
24703    pub fn OCSP_resp_find(
24704        bs: *mut OCSP_BASICRESP,
24705        id: *mut OCSP_CERTID,
24706        last: ::std::os::raw::c_int,
24707    ) -> ::std::os::raw::c_int;
24708}
24709extern "C" {
24710    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_resp_find_status"]
24711    pub fn OCSP_resp_find_status(
24712        bs: *mut OCSP_BASICRESP,
24713        id: *mut OCSP_CERTID,
24714        status: *mut ::std::os::raw::c_int,
24715        reason: *mut ::std::os::raw::c_int,
24716        revtime: *mut *mut ASN1_GENERALIZEDTIME,
24717        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
24718        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
24719    ) -> ::std::os::raw::c_int;
24720}
24721extern "C" {
24722    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_check_validity"]
24723    pub fn OCSP_check_validity(
24724        thisUpdate: *mut ASN1_GENERALIZEDTIME,
24725        nextUpdate: *mut ASN1_GENERALIZEDTIME,
24726        drift_num_seconds: ::std::os::raw::c_long,
24727        max_age_seconds: ::std::os::raw::c_long,
24728    ) -> ::std::os::raw::c_int;
24729}
24730extern "C" {
24731    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_basic_verify"]
24732    pub fn OCSP_basic_verify(
24733        bs: *mut OCSP_BASICRESP,
24734        certs: *mut stack_st_X509,
24735        st: *mut X509_STORE,
24736        flags: ::std::os::raw::c_ulong,
24737    ) -> ::std::os::raw::c_int;
24738}
24739extern "C" {
24740    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_request_verify"]
24741    pub fn OCSP_request_verify(
24742        req: *mut OCSP_REQUEST,
24743        certs: *mut stack_st_X509,
24744        st: *mut X509_STORE,
24745        flags: ::std::os::raw::c_ulong,
24746    ) -> ::std::os::raw::c_int;
24747}
24748extern "C" {
24749    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_cert_id_new"]
24750    pub fn OCSP_cert_id_new(
24751        dgst: *const EVP_MD,
24752        issuerName: *const X509_NAME,
24753        issuerKey: *const ASN1_BIT_STRING,
24754        serialNumber: *const ASN1_INTEGER,
24755    ) -> *mut OCSP_CERTID;
24756}
24757extern "C" {
24758    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_cert_to_id"]
24759    pub fn OCSP_cert_to_id(
24760        dgst: *const EVP_MD,
24761        subject: *const X509,
24762        issuer: *const X509,
24763    ) -> *mut OCSP_CERTID;
24764}
24765extern "C" {
24766    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_parse_url"]
24767    pub fn OCSP_parse_url(
24768        url: *const ::std::os::raw::c_char,
24769        phost: *mut *mut ::std::os::raw::c_char,
24770        pport: *mut *mut ::std::os::raw::c_char,
24771        ppath: *mut *mut ::std::os::raw::c_char,
24772        pssl: *mut ::std::os::raw::c_int,
24773    ) -> ::std::os::raw::c_int;
24774}
24775extern "C" {
24776    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_id_issuer_cmp"]
24777    pub fn OCSP_id_issuer_cmp(
24778        a: *const OCSP_CERTID,
24779        b: *const OCSP_CERTID,
24780    ) -> ::std::os::raw::c_int;
24781}
24782extern "C" {
24783    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_id_cmp"]
24784    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
24785}
24786extern "C" {
24787    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_id_get0_info"]
24788    pub fn OCSP_id_get0_info(
24789        nameHash: *mut *mut ASN1_OCTET_STRING,
24790        algor: *mut *mut ASN1_OBJECT,
24791        keyHash: *mut *mut ASN1_OCTET_STRING,
24792        serial: *mut *mut ASN1_INTEGER,
24793        cid: *mut OCSP_CERTID,
24794    ) -> ::std::os::raw::c_int;
24795}
24796extern "C" {
24797    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_basic_add1_cert"]
24798    pub fn OCSP_basic_add1_cert(
24799        resp: *mut OCSP_BASICRESP,
24800        cert: *mut X509,
24801    ) -> ::std::os::raw::c_int;
24802}
24803extern "C" {
24804    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_basic_add1_status"]
24805    pub fn OCSP_basic_add1_status(
24806        resp: *mut OCSP_BASICRESP,
24807        cid: *mut OCSP_CERTID,
24808        status: ::std::os::raw::c_int,
24809        revoked_reason: ::std::os::raw::c_int,
24810        revoked_time: *mut ASN1_TIME,
24811        this_update: *mut ASN1_TIME,
24812        next_update: *mut ASN1_TIME,
24813    ) -> *mut OCSP_SINGLERESP;
24814}
24815extern "C" {
24816    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_basic_sign"]
24817    pub fn OCSP_basic_sign(
24818        resp: *mut OCSP_BASICRESP,
24819        signer: *mut X509,
24820        key: *mut EVP_PKEY,
24821        dgst: *const EVP_MD,
24822        certs: *mut stack_st_X509,
24823        flags: ::std::os::raw::c_ulong,
24824    ) -> ::std::os::raw::c_int;
24825}
24826extern "C" {
24827    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_response_create"]
24828    pub fn OCSP_response_create(
24829        status: ::std::os::raw::c_int,
24830        bs: *mut OCSP_BASICRESP,
24831    ) -> *mut OCSP_RESPONSE;
24832}
24833extern "C" {
24834    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_get0_id"]
24835    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
24836}
24837extern "C" {
24838    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_response_status_str"]
24839    pub fn OCSP_response_status_str(
24840        status_code: ::std::os::raw::c_long,
24841    ) -> *const ::std::os::raw::c_char;
24842}
24843extern "C" {
24844    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_cert_status_str"]
24845    pub fn OCSP_cert_status_str(
24846        status_code: ::std::os::raw::c_long,
24847    ) -> *const ::std::os::raw::c_char;
24848}
24849extern "C" {
24850    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_crl_reason_str"]
24851    pub fn OCSP_crl_reason_str(
24852        status_code: ::std::os::raw::c_long,
24853    ) -> *const ::std::os::raw::c_char;
24854}
24855extern "C" {
24856    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_REQUEST_print"]
24857    pub fn OCSP_REQUEST_print(
24858        bp: *mut BIO,
24859        req: *mut OCSP_REQUEST,
24860        flags: ::std::os::raw::c_ulong,
24861    ) -> ::std::os::raw::c_int;
24862}
24863extern "C" {
24864    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_RESPONSE_print"]
24865    pub fn OCSP_RESPONSE_print(
24866        bp: *mut BIO,
24867        resp: *mut OCSP_RESPONSE,
24868        flags: ::std::os::raw::c_ulong,
24869    ) -> ::std::os::raw::c_int;
24870}
24871extern "C" {
24872    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_get_ext_by_NID"]
24873    pub fn OCSP_BASICRESP_get_ext_by_NID(
24874        bs: *mut OCSP_BASICRESP,
24875        nid: ::std::os::raw::c_int,
24876        lastpos: ::std::os::raw::c_int,
24877    ) -> ::std::os::raw::c_int;
24878}
24879extern "C" {
24880    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_get_ext"]
24881    pub fn OCSP_BASICRESP_get_ext(
24882        bs: *mut OCSP_BASICRESP,
24883        loc: ::std::os::raw::c_int,
24884    ) -> *mut X509_EXTENSION;
24885}
24886extern "C" {
24887    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_BASICRESP_delete_ext"]
24888    pub fn OCSP_BASICRESP_delete_ext(
24889        x: *mut OCSP_BASICRESP,
24890        loc: ::std::os::raw::c_int,
24891    ) -> *mut X509_EXTENSION;
24892}
24893extern "C" {
24894    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_add_ext"]
24895    pub fn OCSP_SINGLERESP_add_ext(
24896        sresp: *mut OCSP_SINGLERESP,
24897        ex: *mut X509_EXTENSION,
24898        loc: ::std::os::raw::c_int,
24899    ) -> ::std::os::raw::c_int;
24900}
24901extern "C" {
24902    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_get_ext_count"]
24903    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
24904}
24905extern "C" {
24906    #[link_name = "\u{1}aws_lc_fips_0_13_14_OCSP_SINGLERESP_get_ext"]
24907    pub fn OCSP_SINGLERESP_get_ext(
24908        sresp: *mut OCSP_SINGLERESP,
24909        loc: ::std::os::raw::c_int,
24910    ) -> *mut X509_EXTENSION;
24911}
24912pub type pem_password_cb = ::std::option::Option<
24913    unsafe extern "C" fn(
24914        buf: *mut ::std::os::raw::c_char,
24915        size: ::std::os::raw::c_int,
24916        rwflag: ::std::os::raw::c_int,
24917        userdata: *mut ::std::os::raw::c_void,
24918    ) -> ::std::os::raw::c_int,
24919>;
24920extern "C" {
24921    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_get_EVP_CIPHER_INFO"]
24922    pub fn PEM_get_EVP_CIPHER_INFO(
24923        header: *mut ::std::os::raw::c_char,
24924        cipher: *mut EVP_CIPHER_INFO,
24925    ) -> ::std::os::raw::c_int;
24926}
24927extern "C" {
24928    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_do_header"]
24929    pub fn PEM_do_header(
24930        cipher: *mut EVP_CIPHER_INFO,
24931        data: *mut ::std::os::raw::c_uchar,
24932        len: *mut ::std::os::raw::c_long,
24933        callback: pem_password_cb,
24934        u: *mut ::std::os::raw::c_void,
24935    ) -> ::std::os::raw::c_int;
24936}
24937extern "C" {
24938    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio"]
24939    pub fn PEM_read_bio(
24940        bp: *mut BIO,
24941        name: *mut *mut ::std::os::raw::c_char,
24942        header: *mut *mut ::std::os::raw::c_char,
24943        data: *mut *mut ::std::os::raw::c_uchar,
24944        len: *mut ::std::os::raw::c_long,
24945    ) -> ::std::os::raw::c_int;
24946}
24947extern "C" {
24948    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio"]
24949    pub fn PEM_write_bio(
24950        bp: *mut BIO,
24951        name: *const ::std::os::raw::c_char,
24952        hdr: *const ::std::os::raw::c_char,
24953        data: *const ::std::os::raw::c_uchar,
24954        len: ::std::os::raw::c_long,
24955    ) -> ::std::os::raw::c_int;
24956}
24957extern "C" {
24958    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_bytes_read_bio"]
24959    pub fn PEM_bytes_read_bio(
24960        pdata: *mut *mut ::std::os::raw::c_uchar,
24961        plen: *mut ::std::os::raw::c_long,
24962        pnm: *mut *mut ::std::os::raw::c_char,
24963        name: *const ::std::os::raw::c_char,
24964        bp: *mut BIO,
24965        cb: pem_password_cb,
24966        u: *mut ::std::os::raw::c_void,
24967    ) -> ::std::os::raw::c_int;
24968}
24969extern "C" {
24970    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_ASN1_read_bio"]
24971    pub fn PEM_ASN1_read_bio(
24972        d2i: d2i_of_void,
24973        name: *const ::std::os::raw::c_char,
24974        bp: *mut BIO,
24975        x: *mut *mut ::std::os::raw::c_void,
24976        cb: pem_password_cb,
24977        u: *mut ::std::os::raw::c_void,
24978    ) -> *mut ::std::os::raw::c_void;
24979}
24980extern "C" {
24981    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_ASN1_write_bio"]
24982    pub fn PEM_ASN1_write_bio(
24983        i2d: i2d_of_void,
24984        name: *const ::std::os::raw::c_char,
24985        bp: *mut BIO,
24986        x: *mut ::std::os::raw::c_void,
24987        enc: *const EVP_CIPHER,
24988        kstr: *mut ::std::os::raw::c_uchar,
24989        klen: ::std::os::raw::c_int,
24990        cb: pem_password_cb,
24991        u: *mut ::std::os::raw::c_void,
24992    ) -> ::std::os::raw::c_int;
24993}
24994extern "C" {
24995    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_X509_INFO_read_bio"]
24996    pub fn PEM_X509_INFO_read_bio(
24997        bp: *mut BIO,
24998        sk: *mut stack_st_X509_INFO,
24999        cb: pem_password_cb,
25000        u: *mut ::std::os::raw::c_void,
25001    ) -> *mut stack_st_X509_INFO;
25002}
25003extern "C" {
25004    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_X509_INFO_read"]
25005    pub fn PEM_X509_INFO_read(
25006        fp: *mut FILE,
25007        sk: *mut stack_st_X509_INFO,
25008        cb: pem_password_cb,
25009        u: *mut ::std::os::raw::c_void,
25010    ) -> *mut stack_st_X509_INFO;
25011}
25012extern "C" {
25013    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read"]
25014    pub fn PEM_read(
25015        fp: *mut FILE,
25016        name: *mut *mut ::std::os::raw::c_char,
25017        header: *mut *mut ::std::os::raw::c_char,
25018        data: *mut *mut ::std::os::raw::c_uchar,
25019        len: *mut ::std::os::raw::c_long,
25020    ) -> ::std::os::raw::c_int;
25021}
25022extern "C" {
25023    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write"]
25024    pub fn PEM_write(
25025        fp: *mut FILE,
25026        name: *const ::std::os::raw::c_char,
25027        hdr: *const ::std::os::raw::c_char,
25028        data: *const ::std::os::raw::c_uchar,
25029        len: ::std::os::raw::c_long,
25030    ) -> ::std::os::raw::c_int;
25031}
25032extern "C" {
25033    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_ASN1_read"]
25034    pub fn PEM_ASN1_read(
25035        d2i: d2i_of_void,
25036        name: *const ::std::os::raw::c_char,
25037        fp: *mut FILE,
25038        x: *mut *mut ::std::os::raw::c_void,
25039        cb: pem_password_cb,
25040        u: *mut ::std::os::raw::c_void,
25041    ) -> *mut ::std::os::raw::c_void;
25042}
25043extern "C" {
25044    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_ASN1_write"]
25045    pub fn PEM_ASN1_write(
25046        i2d: i2d_of_void,
25047        name: *const ::std::os::raw::c_char,
25048        fp: *mut FILE,
25049        x: *mut ::std::os::raw::c_void,
25050        enc: *const EVP_CIPHER,
25051        kstr: *mut ::std::os::raw::c_uchar,
25052        klen: ::std::os::raw::c_int,
25053        callback: pem_password_cb,
25054        u: *mut ::std::os::raw::c_void,
25055    ) -> ::std::os::raw::c_int;
25056}
25057extern "C" {
25058    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_def_callback"]
25059    pub fn PEM_def_callback(
25060        buf: *mut ::std::os::raw::c_char,
25061        size: ::std::os::raw::c_int,
25062        rwflag: ::std::os::raw::c_int,
25063        userdata: *mut ::std::os::raw::c_void,
25064    ) -> ::std::os::raw::c_int;
25065}
25066extern "C" {
25067    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_X509"]
25068    pub fn PEM_read_bio_X509(
25069        bp: *mut BIO,
25070        x: *mut *mut X509,
25071        cb: pem_password_cb,
25072        u: *mut ::std::os::raw::c_void,
25073    ) -> *mut X509;
25074}
25075extern "C" {
25076    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_X509"]
25077    pub fn PEM_read_X509(
25078        fp: *mut FILE,
25079        x: *mut *mut X509,
25080        cb: pem_password_cb,
25081        u: *mut ::std::os::raw::c_void,
25082    ) -> *mut X509;
25083}
25084extern "C" {
25085    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_X509"]
25086    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25087}
25088extern "C" {
25089    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_X509"]
25090    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25091}
25092extern "C" {
25093    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_X509_AUX"]
25094    pub fn PEM_read_bio_X509_AUX(
25095        bp: *mut BIO,
25096        x: *mut *mut X509,
25097        cb: pem_password_cb,
25098        u: *mut ::std::os::raw::c_void,
25099    ) -> *mut X509;
25100}
25101extern "C" {
25102    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_X509_AUX"]
25103    pub fn PEM_read_X509_AUX(
25104        fp: *mut FILE,
25105        x: *mut *mut X509,
25106        cb: pem_password_cb,
25107        u: *mut ::std::os::raw::c_void,
25108    ) -> *mut X509;
25109}
25110extern "C" {
25111    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_X509_AUX"]
25112    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
25113}
25114extern "C" {
25115    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_X509_AUX"]
25116    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
25117}
25118extern "C" {
25119    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_X509_REQ"]
25120    pub fn PEM_read_bio_X509_REQ(
25121        bp: *mut BIO,
25122        x: *mut *mut X509_REQ,
25123        cb: pem_password_cb,
25124        u: *mut ::std::os::raw::c_void,
25125    ) -> *mut X509_REQ;
25126}
25127extern "C" {
25128    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_X509_REQ"]
25129    pub fn PEM_read_X509_REQ(
25130        fp: *mut FILE,
25131        x: *mut *mut X509_REQ,
25132        cb: pem_password_cb,
25133        u: *mut ::std::os::raw::c_void,
25134    ) -> *mut X509_REQ;
25135}
25136extern "C" {
25137    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_X509_REQ"]
25138    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25139}
25140extern "C" {
25141    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_X509_REQ"]
25142    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25143}
25144extern "C" {
25145    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_X509_REQ_NEW"]
25146    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25147}
25148extern "C" {
25149    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_X509_REQ_NEW"]
25150    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
25151}
25152extern "C" {
25153    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_X509_CRL"]
25154    pub fn PEM_read_bio_X509_CRL(
25155        bp: *mut BIO,
25156        x: *mut *mut X509_CRL,
25157        cb: pem_password_cb,
25158        u: *mut ::std::os::raw::c_void,
25159    ) -> *mut X509_CRL;
25160}
25161extern "C" {
25162    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_X509_CRL"]
25163    pub fn PEM_read_X509_CRL(
25164        fp: *mut FILE,
25165        x: *mut *mut X509_CRL,
25166        cb: pem_password_cb,
25167        u: *mut ::std::os::raw::c_void,
25168    ) -> *mut X509_CRL;
25169}
25170extern "C" {
25171    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_X509_CRL"]
25172    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25173}
25174extern "C" {
25175    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_X509_CRL"]
25176    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
25177}
25178extern "C" {
25179    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_PKCS7"]
25180    pub fn PEM_read_bio_PKCS7(
25181        bp: *mut BIO,
25182        x: *mut *mut PKCS7,
25183        cb: pem_password_cb,
25184        u: *mut ::std::os::raw::c_void,
25185    ) -> *mut PKCS7;
25186}
25187extern "C" {
25188    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_PKCS7"]
25189    pub fn PEM_read_PKCS7(
25190        fp: *mut FILE,
25191        x: *mut *mut PKCS7,
25192        cb: pem_password_cb,
25193        u: *mut ::std::os::raw::c_void,
25194    ) -> *mut PKCS7;
25195}
25196extern "C" {
25197    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PKCS7"]
25198    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
25199}
25200extern "C" {
25201    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PKCS7"]
25202    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
25203}
25204extern "C" {
25205    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_PKCS8"]
25206    pub fn PEM_read_bio_PKCS8(
25207        bp: *mut BIO,
25208        x: *mut *mut X509_SIG,
25209        cb: pem_password_cb,
25210        u: *mut ::std::os::raw::c_void,
25211    ) -> *mut X509_SIG;
25212}
25213extern "C" {
25214    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_PKCS8"]
25215    pub fn PEM_read_PKCS8(
25216        fp: *mut FILE,
25217        x: *mut *mut X509_SIG,
25218        cb: pem_password_cb,
25219        u: *mut ::std::os::raw::c_void,
25220    ) -> *mut X509_SIG;
25221}
25222extern "C" {
25223    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PKCS8"]
25224    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
25225}
25226extern "C" {
25227    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PKCS8"]
25228    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
25229}
25230extern "C" {
25231    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
25232    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
25233        bp: *mut BIO,
25234        x: *mut *mut PKCS8_PRIV_KEY_INFO,
25235        cb: pem_password_cb,
25236        u: *mut ::std::os::raw::c_void,
25237    ) -> *mut PKCS8_PRIV_KEY_INFO;
25238}
25239extern "C" {
25240    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_PKCS8_PRIV_KEY_INFO"]
25241    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
25242        fp: *mut FILE,
25243        x: *mut *mut PKCS8_PRIV_KEY_INFO,
25244        cb: pem_password_cb,
25245        u: *mut ::std::os::raw::c_void,
25246    ) -> *mut PKCS8_PRIV_KEY_INFO;
25247}
25248extern "C" {
25249    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
25250    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
25251        bp: *mut BIO,
25252        x: *mut PKCS8_PRIV_KEY_INFO,
25253    ) -> ::std::os::raw::c_int;
25254}
25255extern "C" {
25256    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PKCS8_PRIV_KEY_INFO"]
25257    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
25258        fp: *mut FILE,
25259        x: *mut PKCS8_PRIV_KEY_INFO,
25260    ) -> ::std::os::raw::c_int;
25261}
25262extern "C" {
25263    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_RSAPrivateKey"]
25264    pub fn PEM_read_bio_RSAPrivateKey(
25265        bp: *mut BIO,
25266        x: *mut *mut RSA,
25267        cb: pem_password_cb,
25268        u: *mut ::std::os::raw::c_void,
25269    ) -> *mut RSA;
25270}
25271extern "C" {
25272    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_RSAPrivateKey"]
25273    pub fn PEM_read_RSAPrivateKey(
25274        fp: *mut FILE,
25275        x: *mut *mut RSA,
25276        cb: pem_password_cb,
25277        u: *mut ::std::os::raw::c_void,
25278    ) -> *mut RSA;
25279}
25280extern "C" {
25281    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_RSAPrivateKey"]
25282    pub fn PEM_write_bio_RSAPrivateKey(
25283        bp: *mut BIO,
25284        x: *mut RSA,
25285        enc: *const EVP_CIPHER,
25286        kstr: *mut ::std::os::raw::c_uchar,
25287        klen: ::std::os::raw::c_int,
25288        cb: pem_password_cb,
25289        u: *mut ::std::os::raw::c_void,
25290    ) -> ::std::os::raw::c_int;
25291}
25292extern "C" {
25293    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_RSAPrivateKey"]
25294    pub fn PEM_write_RSAPrivateKey(
25295        fp: *mut FILE,
25296        x: *mut RSA,
25297        enc: *const EVP_CIPHER,
25298        kstr: *mut ::std::os::raw::c_uchar,
25299        klen: ::std::os::raw::c_int,
25300        cb: pem_password_cb,
25301        u: *mut ::std::os::raw::c_void,
25302    ) -> ::std::os::raw::c_int;
25303}
25304extern "C" {
25305    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_RSAPublicKey"]
25306    pub fn PEM_read_bio_RSAPublicKey(
25307        bp: *mut BIO,
25308        x: *mut *mut RSA,
25309        cb: pem_password_cb,
25310        u: *mut ::std::os::raw::c_void,
25311    ) -> *mut RSA;
25312}
25313extern "C" {
25314    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_RSAPublicKey"]
25315    pub fn PEM_read_RSAPublicKey(
25316        fp: *mut FILE,
25317        x: *mut *mut RSA,
25318        cb: pem_password_cb,
25319        u: *mut ::std::os::raw::c_void,
25320    ) -> *mut RSA;
25321}
25322extern "C" {
25323    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_RSAPublicKey"]
25324    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
25325}
25326extern "C" {
25327    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_RSAPublicKey"]
25328    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
25329}
25330extern "C" {
25331    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_RSA_PUBKEY"]
25332    pub fn PEM_read_bio_RSA_PUBKEY(
25333        bp: *mut BIO,
25334        x: *mut *mut RSA,
25335        cb: pem_password_cb,
25336        u: *mut ::std::os::raw::c_void,
25337    ) -> *mut RSA;
25338}
25339extern "C" {
25340    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_RSA_PUBKEY"]
25341    pub fn PEM_read_RSA_PUBKEY(
25342        fp: *mut FILE,
25343        x: *mut *mut RSA,
25344        cb: pem_password_cb,
25345        u: *mut ::std::os::raw::c_void,
25346    ) -> *mut RSA;
25347}
25348extern "C" {
25349    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_RSA_PUBKEY"]
25350    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
25351}
25352extern "C" {
25353    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_RSA_PUBKEY"]
25354    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
25355}
25356extern "C" {
25357    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_DSAPrivateKey"]
25358    pub fn PEM_read_bio_DSAPrivateKey(
25359        bp: *mut BIO,
25360        x: *mut *mut DSA,
25361        cb: pem_password_cb,
25362        u: *mut ::std::os::raw::c_void,
25363    ) -> *mut DSA;
25364}
25365extern "C" {
25366    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_DSAPrivateKey"]
25367    pub fn PEM_read_DSAPrivateKey(
25368        fp: *mut FILE,
25369        x: *mut *mut DSA,
25370        cb: pem_password_cb,
25371        u: *mut ::std::os::raw::c_void,
25372    ) -> *mut DSA;
25373}
25374extern "C" {
25375    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_DSAPrivateKey"]
25376    pub fn PEM_write_bio_DSAPrivateKey(
25377        bp: *mut BIO,
25378        x: *mut DSA,
25379        enc: *const EVP_CIPHER,
25380        kstr: *mut ::std::os::raw::c_uchar,
25381        klen: ::std::os::raw::c_int,
25382        cb: pem_password_cb,
25383        u: *mut ::std::os::raw::c_void,
25384    ) -> ::std::os::raw::c_int;
25385}
25386extern "C" {
25387    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_DSAPrivateKey"]
25388    pub fn PEM_write_DSAPrivateKey(
25389        fp: *mut FILE,
25390        x: *mut DSA,
25391        enc: *const EVP_CIPHER,
25392        kstr: *mut ::std::os::raw::c_uchar,
25393        klen: ::std::os::raw::c_int,
25394        cb: pem_password_cb,
25395        u: *mut ::std::os::raw::c_void,
25396    ) -> ::std::os::raw::c_int;
25397}
25398extern "C" {
25399    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_DSA_PUBKEY"]
25400    pub fn PEM_read_bio_DSA_PUBKEY(
25401        bp: *mut BIO,
25402        x: *mut *mut DSA,
25403        cb: pem_password_cb,
25404        u: *mut ::std::os::raw::c_void,
25405    ) -> *mut DSA;
25406}
25407extern "C" {
25408    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_DSA_PUBKEY"]
25409    pub fn PEM_read_DSA_PUBKEY(
25410        fp: *mut FILE,
25411        x: *mut *mut DSA,
25412        cb: pem_password_cb,
25413        u: *mut ::std::os::raw::c_void,
25414    ) -> *mut DSA;
25415}
25416extern "C" {
25417    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_DSA_PUBKEY"]
25418    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
25419}
25420extern "C" {
25421    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_DSA_PUBKEY"]
25422    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
25423}
25424extern "C" {
25425    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_DSAparams"]
25426    pub fn PEM_read_bio_DSAparams(
25427        bp: *mut BIO,
25428        x: *mut *mut DSA,
25429        cb: pem_password_cb,
25430        u: *mut ::std::os::raw::c_void,
25431    ) -> *mut DSA;
25432}
25433extern "C" {
25434    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_DSAparams"]
25435    pub fn PEM_read_DSAparams(
25436        fp: *mut FILE,
25437        x: *mut *mut DSA,
25438        cb: pem_password_cb,
25439        u: *mut ::std::os::raw::c_void,
25440    ) -> *mut DSA;
25441}
25442extern "C" {
25443    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_DSAparams"]
25444    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
25445}
25446extern "C" {
25447    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_DSAparams"]
25448    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
25449}
25450extern "C" {
25451    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_ECPrivateKey"]
25452    pub fn PEM_read_bio_ECPrivateKey(
25453        bp: *mut BIO,
25454        x: *mut *mut EC_KEY,
25455        cb: pem_password_cb,
25456        u: *mut ::std::os::raw::c_void,
25457    ) -> *mut EC_KEY;
25458}
25459extern "C" {
25460    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_ECPrivateKey"]
25461    pub fn PEM_read_ECPrivateKey(
25462        fp: *mut FILE,
25463        x: *mut *mut EC_KEY,
25464        cb: pem_password_cb,
25465        u: *mut ::std::os::raw::c_void,
25466    ) -> *mut EC_KEY;
25467}
25468extern "C" {
25469    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_ECPrivateKey"]
25470    pub fn PEM_write_bio_ECPrivateKey(
25471        bp: *mut BIO,
25472        x: *mut EC_KEY,
25473        enc: *const EVP_CIPHER,
25474        kstr: *mut ::std::os::raw::c_uchar,
25475        klen: ::std::os::raw::c_int,
25476        cb: pem_password_cb,
25477        u: *mut ::std::os::raw::c_void,
25478    ) -> ::std::os::raw::c_int;
25479}
25480extern "C" {
25481    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_ECPrivateKey"]
25482    pub fn PEM_write_ECPrivateKey(
25483        fp: *mut FILE,
25484        x: *mut EC_KEY,
25485        enc: *const EVP_CIPHER,
25486        kstr: *mut ::std::os::raw::c_uchar,
25487        klen: ::std::os::raw::c_int,
25488        cb: pem_password_cb,
25489        u: *mut ::std::os::raw::c_void,
25490    ) -> ::std::os::raw::c_int;
25491}
25492extern "C" {
25493    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_EC_PUBKEY"]
25494    pub fn PEM_read_bio_EC_PUBKEY(
25495        bp: *mut BIO,
25496        x: *mut *mut EC_KEY,
25497        cb: pem_password_cb,
25498        u: *mut ::std::os::raw::c_void,
25499    ) -> *mut EC_KEY;
25500}
25501extern "C" {
25502    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_EC_PUBKEY"]
25503    pub fn PEM_read_EC_PUBKEY(
25504        fp: *mut FILE,
25505        x: *mut *mut EC_KEY,
25506        cb: pem_password_cb,
25507        u: *mut ::std::os::raw::c_void,
25508    ) -> *mut EC_KEY;
25509}
25510extern "C" {
25511    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_EC_PUBKEY"]
25512    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
25513}
25514extern "C" {
25515    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_EC_PUBKEY"]
25516    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
25517}
25518extern "C" {
25519    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_DHparams"]
25520    pub fn PEM_read_bio_DHparams(
25521        bp: *mut BIO,
25522        x: *mut *mut DH,
25523        cb: pem_password_cb,
25524        u: *mut ::std::os::raw::c_void,
25525    ) -> *mut DH;
25526}
25527extern "C" {
25528    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_DHparams"]
25529    pub fn PEM_read_DHparams(
25530        fp: *mut FILE,
25531        x: *mut *mut DH,
25532        cb: pem_password_cb,
25533        u: *mut ::std::os::raw::c_void,
25534    ) -> *mut DH;
25535}
25536extern "C" {
25537    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_DHparams"]
25538    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
25539}
25540extern "C" {
25541    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_DHparams"]
25542    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
25543}
25544extern "C" {
25545    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_PrivateKey"]
25546    pub fn PEM_read_bio_PrivateKey(
25547        bp: *mut BIO,
25548        x: *mut *mut EVP_PKEY,
25549        cb: pem_password_cb,
25550        u: *mut ::std::os::raw::c_void,
25551    ) -> *mut EVP_PKEY;
25552}
25553extern "C" {
25554    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_PrivateKey"]
25555    pub fn PEM_read_PrivateKey(
25556        fp: *mut FILE,
25557        x: *mut *mut EVP_PKEY,
25558        cb: pem_password_cb,
25559        u: *mut ::std::os::raw::c_void,
25560    ) -> *mut EVP_PKEY;
25561}
25562extern "C" {
25563    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PrivateKey"]
25564    pub fn PEM_write_bio_PrivateKey(
25565        bp: *mut BIO,
25566        x: *mut EVP_PKEY,
25567        enc: *const EVP_CIPHER,
25568        kstr: *mut ::std::os::raw::c_uchar,
25569        klen: ::std::os::raw::c_int,
25570        cb: pem_password_cb,
25571        u: *mut ::std::os::raw::c_void,
25572    ) -> ::std::os::raw::c_int;
25573}
25574extern "C" {
25575    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PrivateKey"]
25576    pub fn PEM_write_PrivateKey(
25577        fp: *mut FILE,
25578        x: *mut EVP_PKEY,
25579        enc: *const EVP_CIPHER,
25580        kstr: *mut ::std::os::raw::c_uchar,
25581        klen: ::std::os::raw::c_int,
25582        cb: pem_password_cb,
25583        u: *mut ::std::os::raw::c_void,
25584    ) -> ::std::os::raw::c_int;
25585}
25586extern "C" {
25587    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_PUBKEY"]
25588    pub fn PEM_read_bio_PUBKEY(
25589        bp: *mut BIO,
25590        x: *mut *mut EVP_PKEY,
25591        cb: pem_password_cb,
25592        u: *mut ::std::os::raw::c_void,
25593    ) -> *mut EVP_PKEY;
25594}
25595extern "C" {
25596    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_PUBKEY"]
25597    pub fn PEM_read_PUBKEY(
25598        fp: *mut FILE,
25599        x: *mut *mut EVP_PKEY,
25600        cb: pem_password_cb,
25601        u: *mut ::std::os::raw::c_void,
25602    ) -> *mut EVP_PKEY;
25603}
25604extern "C" {
25605    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PUBKEY"]
25606    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
25607}
25608extern "C" {
25609    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PUBKEY"]
25610    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
25611}
25612extern "C" {
25613    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PKCS8PrivateKey_nid"]
25614    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
25615        bp: *mut BIO,
25616        x: *const EVP_PKEY,
25617        nid: ::std::os::raw::c_int,
25618        kstr: *mut ::std::os::raw::c_char,
25619        klen: ::std::os::raw::c_int,
25620        cb: pem_password_cb,
25621        u: *mut ::std::os::raw::c_void,
25622    ) -> ::std::os::raw::c_int;
25623}
25624extern "C" {
25625    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PKCS8PrivateKey"]
25626    pub fn PEM_write_bio_PKCS8PrivateKey(
25627        arg1: *mut BIO,
25628        arg2: *const EVP_PKEY,
25629        arg3: *const EVP_CIPHER,
25630        arg4: *mut ::std::os::raw::c_char,
25631        arg5: ::std::os::raw::c_int,
25632        arg6: pem_password_cb,
25633        arg7: *mut ::std::os::raw::c_void,
25634    ) -> ::std::os::raw::c_int;
25635}
25636extern "C" {
25637    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKey_bio"]
25638    pub fn i2d_PKCS8PrivateKey_bio(
25639        bp: *mut BIO,
25640        x: *const EVP_PKEY,
25641        enc: *const EVP_CIPHER,
25642        kstr: *mut ::std::os::raw::c_char,
25643        klen: ::std::os::raw::c_int,
25644        cb: pem_password_cb,
25645        u: *mut ::std::os::raw::c_void,
25646    ) -> ::std::os::raw::c_int;
25647}
25648extern "C" {
25649    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKey_nid_bio"]
25650    pub fn i2d_PKCS8PrivateKey_nid_bio(
25651        bp: *mut BIO,
25652        x: *const EVP_PKEY,
25653        nid: ::std::os::raw::c_int,
25654        kstr: *mut ::std::os::raw::c_char,
25655        klen: ::std::os::raw::c_int,
25656        cb: pem_password_cb,
25657        u: *mut ::std::os::raw::c_void,
25658    ) -> ::std::os::raw::c_int;
25659}
25660extern "C" {
25661    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8PrivateKey_bio"]
25662    pub fn d2i_PKCS8PrivateKey_bio(
25663        bp: *mut BIO,
25664        x: *mut *mut EVP_PKEY,
25665        cb: pem_password_cb,
25666        u: *mut ::std::os::raw::c_void,
25667    ) -> *mut EVP_PKEY;
25668}
25669extern "C" {
25670    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKey_fp"]
25671    pub fn i2d_PKCS8PrivateKey_fp(
25672        fp: *mut FILE,
25673        x: *const EVP_PKEY,
25674        enc: *const EVP_CIPHER,
25675        kstr: *mut ::std::os::raw::c_char,
25676        klen: ::std::os::raw::c_int,
25677        cb: pem_password_cb,
25678        u: *mut ::std::os::raw::c_void,
25679    ) -> ::std::os::raw::c_int;
25680}
25681extern "C" {
25682    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS8PrivateKey_nid_fp"]
25683    pub fn i2d_PKCS8PrivateKey_nid_fp(
25684        fp: *mut FILE,
25685        x: *const EVP_PKEY,
25686        nid: ::std::os::raw::c_int,
25687        kstr: *mut ::std::os::raw::c_char,
25688        klen: ::std::os::raw::c_int,
25689        cb: pem_password_cb,
25690        u: *mut ::std::os::raw::c_void,
25691    ) -> ::std::os::raw::c_int;
25692}
25693extern "C" {
25694    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PKCS8PrivateKey_nid"]
25695    pub fn PEM_write_PKCS8PrivateKey_nid(
25696        fp: *mut FILE,
25697        x: *const EVP_PKEY,
25698        nid: ::std::os::raw::c_int,
25699        kstr: *mut ::std::os::raw::c_char,
25700        klen: ::std::os::raw::c_int,
25701        cb: pem_password_cb,
25702        u: *mut ::std::os::raw::c_void,
25703    ) -> ::std::os::raw::c_int;
25704}
25705extern "C" {
25706    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS8PrivateKey_fp"]
25707    pub fn d2i_PKCS8PrivateKey_fp(
25708        fp: *mut FILE,
25709        x: *mut *mut EVP_PKEY,
25710        cb: pem_password_cb,
25711        u: *mut ::std::os::raw::c_void,
25712    ) -> *mut EVP_PKEY;
25713}
25714extern "C" {
25715    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_PKCS8PrivateKey"]
25716    pub fn PEM_write_PKCS8PrivateKey(
25717        fp: *mut FILE,
25718        x: *const EVP_PKEY,
25719        enc: *const EVP_CIPHER,
25720        kstr: *mut ::std::os::raw::c_char,
25721        klen: ::std::os::raw::c_int,
25722        cd: pem_password_cb,
25723        u: *mut ::std::os::raw::c_void,
25724    ) -> ::std::os::raw::c_int;
25725}
25726extern "C" {
25727    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_Parameters"]
25728    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
25729}
25730extern "C" {
25731    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_Parameters"]
25732    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
25733}
25734extern "C" {
25735    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_read_bio_ECPKParameters"]
25736    pub fn PEM_read_bio_ECPKParameters(
25737        bio: *mut BIO,
25738        out_group: *mut *mut EC_GROUP,
25739        cb: pem_password_cb,
25740        u: *mut ::std::os::raw::c_void,
25741    ) -> *mut EC_GROUP;
25742}
25743extern "C" {
25744    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_ECPKParameters"]
25745    pub fn PEM_write_bio_ECPKParameters(
25746        out: *mut BIO,
25747        group: *const EC_GROUP,
25748    ) -> ::std::os::raw::c_int;
25749}
25750extern "C" {
25751    #[link_name = "\u{1}aws_lc_fips_0_13_14_PEM_write_bio_PrivateKey_traditional"]
25752    pub fn PEM_write_bio_PrivateKey_traditional(
25753        bp: *mut BIO,
25754        x: *mut EVP_PKEY,
25755        enc: *const EVP_CIPHER,
25756        kstr: *mut ::std::os::raw::c_uchar,
25757        klen: ::std::os::raw::c_int,
25758        cb: pem_password_cb,
25759        u: *mut ::std::os::raw::c_void,
25760    ) -> ::std::os::raw::c_int;
25761}
25762extern "C" {
25763    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_encrypt"]
25764    pub fn PKCS8_encrypt(
25765        pbe_nid: ::std::os::raw::c_int,
25766        cipher: *const EVP_CIPHER,
25767        pass: *const ::std::os::raw::c_char,
25768        pass_len: ::std::os::raw::c_int,
25769        salt: *const u8,
25770        salt_len: usize,
25771        iterations: ::std::os::raw::c_int,
25772        p8inf: *mut PKCS8_PRIV_KEY_INFO,
25773    ) -> *mut X509_SIG;
25774}
25775extern "C" {
25776    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_marshal_encrypted_private_key"]
25777    pub fn PKCS8_marshal_encrypted_private_key(
25778        out: *mut CBB,
25779        pbe_nid: ::std::os::raw::c_int,
25780        cipher: *const EVP_CIPHER,
25781        pass: *const ::std::os::raw::c_char,
25782        pass_len: usize,
25783        salt: *const u8,
25784        salt_len: usize,
25785        iterations: ::std::os::raw::c_int,
25786        pkey: *const EVP_PKEY,
25787    ) -> ::std::os::raw::c_int;
25788}
25789extern "C" {
25790    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_decrypt"]
25791    pub fn PKCS8_decrypt(
25792        pkcs8: *mut X509_SIG,
25793        pass: *const ::std::os::raw::c_char,
25794        pass_len: ::std::os::raw::c_int,
25795    ) -> *mut PKCS8_PRIV_KEY_INFO;
25796}
25797extern "C" {
25798    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS8_parse_encrypted_private_key"]
25799    pub fn PKCS8_parse_encrypted_private_key(
25800        cbs: *mut CBS,
25801        pass: *const ::std::os::raw::c_char,
25802        pass_len: usize,
25803    ) -> *mut EVP_PKEY;
25804}
25805extern "C" {
25806    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_get_key_and_certs"]
25807    pub fn PKCS12_get_key_and_certs(
25808        out_key: *mut *mut EVP_PKEY,
25809        out_certs: *mut stack_st_X509,
25810        in_: *mut CBS,
25811        password: *const ::std::os::raw::c_char,
25812    ) -> ::std::os::raw::c_int;
25813}
25814extern "C" {
25815    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_PBE_add"]
25816    pub fn PKCS12_PBE_add();
25817}
25818extern "C" {
25819    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS12"]
25820    pub fn d2i_PKCS12(
25821        out_p12: *mut *mut PKCS12,
25822        ber_bytes: *mut *const u8,
25823        ber_len: usize,
25824    ) -> *mut PKCS12;
25825}
25826extern "C" {
25827    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS12_bio"]
25828    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
25829}
25830extern "C" {
25831    #[link_name = "\u{1}aws_lc_fips_0_13_14_d2i_PKCS12_fp"]
25832    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
25833}
25834extern "C" {
25835    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS12"]
25836    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
25837}
25838extern "C" {
25839    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS12_bio"]
25840    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
25841}
25842extern "C" {
25843    #[link_name = "\u{1}aws_lc_fips_0_13_14_i2d_PKCS12_fp"]
25844    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
25845}
25846extern "C" {
25847    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_parse"]
25848    pub fn PKCS12_parse(
25849        p12: *const PKCS12,
25850        password: *const ::std::os::raw::c_char,
25851        out_pkey: *mut *mut EVP_PKEY,
25852        out_cert: *mut *mut X509,
25853        out_ca_certs: *mut *mut stack_st_X509,
25854    ) -> ::std::os::raw::c_int;
25855}
25856extern "C" {
25857    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_verify_mac"]
25858    pub fn PKCS12_verify_mac(
25859        p12: *const PKCS12,
25860        password: *const ::std::os::raw::c_char,
25861        password_len: ::std::os::raw::c_int,
25862    ) -> ::std::os::raw::c_int;
25863}
25864extern "C" {
25865    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_create"]
25866    pub fn PKCS12_create(
25867        password: *const ::std::os::raw::c_char,
25868        name: *const ::std::os::raw::c_char,
25869        pkey: *const EVP_PKEY,
25870        cert: *mut X509,
25871        chain: *const stack_st_X509,
25872        key_nid: ::std::os::raw::c_int,
25873        cert_nid: ::std::os::raw::c_int,
25874        iterations: ::std::os::raw::c_int,
25875        mac_iterations: ::std::os::raw::c_int,
25876        key_type: ::std::os::raw::c_int,
25877    ) -> *mut PKCS12;
25878}
25879extern "C" {
25880    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_new"]
25881    pub fn PKCS12_new() -> *mut PKCS12;
25882}
25883extern "C" {
25884    #[link_name = "\u{1}aws_lc_fips_0_13_14_PKCS12_free"]
25885    pub fn PKCS12_free(p12: *mut PKCS12);
25886}
25887pub type poly1305_state = [u8; 512usize];
25888extern "C" {
25889    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_poly1305_init"]
25890    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
25891}
25892extern "C" {
25893    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_poly1305_update"]
25894    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
25895}
25896extern "C" {
25897    #[link_name = "\u{1}aws_lc_fips_0_13_14_CRYPTO_poly1305_finish"]
25898    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
25899}
25900extern "C" {
25901    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_bytes"]
25902    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
25903}
25904extern "C" {
25905    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_priv_bytes"]
25906    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
25907}
25908extern "C" {
25909    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_enable_fork_unsafe_buffering"]
25910    pub fn RAND_enable_fork_unsafe_buffering(fd: ::std::os::raw::c_int);
25911}
25912extern "C" {
25913    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_get_system_entropy_for_custom_prng"]
25914    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
25915}
25916extern "C" {
25917    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_pseudo_bytes"]
25918    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
25919}
25920extern "C" {
25921    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_seed"]
25922    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
25923}
25924extern "C" {
25925    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_load_file"]
25926    pub fn RAND_load_file(
25927        path: *const ::std::os::raw::c_char,
25928        num: ::std::os::raw::c_long,
25929    ) -> ::std::os::raw::c_int;
25930}
25931extern "C" {
25932    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_write_file"]
25933    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
25934}
25935extern "C" {
25936    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_file_name"]
25937    pub fn RAND_file_name(
25938        buf: *mut ::std::os::raw::c_char,
25939        num: usize,
25940    ) -> *const ::std::os::raw::c_char;
25941}
25942extern "C" {
25943    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_add"]
25944    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
25945}
25946extern "C" {
25947    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_egd"]
25948    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
25949}
25950extern "C" {
25951    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_egd_bytes"]
25952    pub fn RAND_egd_bytes(
25953        arg1: *const ::std::os::raw::c_char,
25954        bytes: ::std::os::raw::c_int,
25955    ) -> ::std::os::raw::c_int;
25956}
25957extern "C" {
25958    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_poll"]
25959    pub fn RAND_poll() -> ::std::os::raw::c_int;
25960}
25961extern "C" {
25962    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_status"]
25963    pub fn RAND_status() -> ::std::os::raw::c_int;
25964}
25965extern "C" {
25966    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_cleanup"]
25967    pub fn RAND_cleanup();
25968}
25969#[repr(C)]
25970#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
25971pub struct rand_meth_st {
25972    pub seed: ::std::option::Option<
25973        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
25974    >,
25975    pub bytes: ::std::option::Option<
25976        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
25977    >,
25978    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
25979    pub add: ::std::option::Option<
25980        unsafe extern "C" fn(
25981            buf: *const ::std::os::raw::c_void,
25982            num: ::std::os::raw::c_int,
25983            entropy: f64,
25984        ),
25985    >,
25986    pub pseudorand: ::std::option::Option<
25987        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
25988    >,
25989    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
25990}
25991#[test]
25992fn bindgen_test_layout_rand_meth_st() {
25993    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
25994    let ptr = UNINIT.as_ptr();
25995    assert_eq!(
25996        ::std::mem::size_of::<rand_meth_st>(),
25997        48usize,
25998        "Size of rand_meth_st"
25999    );
26000    assert_eq!(
26001        ::std::mem::align_of::<rand_meth_st>(),
26002        8usize,
26003        "Alignment of rand_meth_st"
26004    );
26005    assert_eq!(
26006        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
26007        0usize,
26008        "Offset of field: rand_meth_st::seed"
26009    );
26010    assert_eq!(
26011        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
26012        8usize,
26013        "Offset of field: rand_meth_st::bytes"
26014    );
26015    assert_eq!(
26016        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
26017        16usize,
26018        "Offset of field: rand_meth_st::cleanup"
26019    );
26020    assert_eq!(
26021        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
26022        24usize,
26023        "Offset of field: rand_meth_st::add"
26024    );
26025    assert_eq!(
26026        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
26027        32usize,
26028        "Offset of field: rand_meth_st::pseudorand"
26029    );
26030    assert_eq!(
26031        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
26032        40usize,
26033        "Offset of field: rand_meth_st::status"
26034    );
26035}
26036extern "C" {
26037    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_SSLeay"]
26038    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
26039}
26040extern "C" {
26041    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_OpenSSL"]
26042    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
26043}
26044extern "C" {
26045    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_get_rand_method"]
26046    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
26047}
26048extern "C" {
26049    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_set_rand_method"]
26050    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
26051}
26052extern "C" {
26053    #[link_name = "\u{1}aws_lc_fips_0_13_14_RAND_keep_random_devices_open"]
26054    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
26055}
26056#[repr(C)]
26057#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26058pub struct rc4_key_st {
26059    pub x: u32,
26060    pub y: u32,
26061    pub data: [u32; 256usize],
26062}
26063#[test]
26064fn bindgen_test_layout_rc4_key_st() {
26065    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
26066    let ptr = UNINIT.as_ptr();
26067    assert_eq!(
26068        ::std::mem::size_of::<rc4_key_st>(),
26069        1032usize,
26070        "Size of rc4_key_st"
26071    );
26072    assert_eq!(
26073        ::std::mem::align_of::<rc4_key_st>(),
26074        4usize,
26075        "Alignment of rc4_key_st"
26076    );
26077    assert_eq!(
26078        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
26079        0usize,
26080        "Offset of field: rc4_key_st::x"
26081    );
26082    assert_eq!(
26083        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
26084        4usize,
26085        "Offset of field: rc4_key_st::y"
26086    );
26087    assert_eq!(
26088        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26089        8usize,
26090        "Offset of field: rc4_key_st::data"
26091    );
26092}
26093impl Default for rc4_key_st {
26094    fn default() -> Self {
26095        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26096        unsafe {
26097            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26098            s.assume_init()
26099        }
26100    }
26101}
26102extern "C" {
26103    #[link_name = "\u{1}aws_lc_fips_0_13_14_RC4_set_key"]
26104    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
26105}
26106extern "C" {
26107    #[link_name = "\u{1}aws_lc_fips_0_13_14_RC4"]
26108    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
26109}
26110#[repr(C)]
26111#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26112pub struct RIPEMD160state_st {
26113    pub h: [u32; 5usize],
26114    pub Nl: u32,
26115    pub Nh: u32,
26116    pub data: [u8; 64usize],
26117    pub num: ::std::os::raw::c_uint,
26118}
26119#[test]
26120fn bindgen_test_layout_RIPEMD160state_st() {
26121    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
26122    let ptr = UNINIT.as_ptr();
26123    assert_eq!(
26124        ::std::mem::size_of::<RIPEMD160state_st>(),
26125        96usize,
26126        "Size of RIPEMD160state_st"
26127    );
26128    assert_eq!(
26129        ::std::mem::align_of::<RIPEMD160state_st>(),
26130        4usize,
26131        "Alignment of RIPEMD160state_st"
26132    );
26133    assert_eq!(
26134        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
26135        0usize,
26136        "Offset of field: RIPEMD160state_st::h"
26137    );
26138    assert_eq!(
26139        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
26140        20usize,
26141        "Offset of field: RIPEMD160state_st::Nl"
26142    );
26143    assert_eq!(
26144        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
26145        24usize,
26146        "Offset of field: RIPEMD160state_st::Nh"
26147    );
26148    assert_eq!(
26149        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26150        28usize,
26151        "Offset of field: RIPEMD160state_st::data"
26152    );
26153    assert_eq!(
26154        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
26155        92usize,
26156        "Offset of field: RIPEMD160state_st::num"
26157    );
26158}
26159impl Default for RIPEMD160state_st {
26160    fn default() -> Self {
26161        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26162        unsafe {
26163            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26164            s.assume_init()
26165        }
26166    }
26167}
26168extern "C" {
26169    #[link_name = "\u{1}aws_lc_fips_0_13_14_RIPEMD160_Init"]
26170    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
26171}
26172extern "C" {
26173    #[link_name = "\u{1}aws_lc_fips_0_13_14_RIPEMD160_Update"]
26174    pub fn RIPEMD160_Update(
26175        ctx: *mut RIPEMD160_CTX,
26176        data: *const ::std::os::raw::c_void,
26177        len: usize,
26178    ) -> ::std::os::raw::c_int;
26179}
26180extern "C" {
26181    #[link_name = "\u{1}aws_lc_fips_0_13_14_RIPEMD160_Final"]
26182    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
26183}
26184extern "C" {
26185    #[link_name = "\u{1}aws_lc_fips_0_13_14_RIPEMD160"]
26186    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
26187}
26188extern "C" {
26189    #[link_name = "\u{1}aws_lc_fips_0_13_14_FIPS_service_indicator_before_call"]
26190    pub fn FIPS_service_indicator_before_call() -> u64;
26191}
26192extern "C" {
26193    #[link_name = "\u{1}aws_lc_fips_0_13_14_FIPS_service_indicator_after_call"]
26194    pub fn FIPS_service_indicator_after_call() -> u64;
26195}
26196extern "C" {
26197    #[link_name = "\u{1}aws_lc_fips_0_13_14_awslc_version_string"]
26198    pub fn awslc_version_string() -> *const ::std::os::raw::c_char;
26199}
26200pub const FIPSStatus_AWSLC_NOT_APPROVED: FIPSStatus = 0;
26201pub const FIPSStatus_AWSLC_APPROVED: FIPSStatus = 1;
26202pub type FIPSStatus = ::std::os::raw::c_uint;
26203extern "C" {
26204    #[link_name = "\u{1}aws_lc_fips_0_13_14_SIPHASH_24"]
26205    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
26206}
26207extern "C" {
26208    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_experiment_v1"]
26209    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
26210}
26211extern "C" {
26212    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_experiment_v2_voprf"]
26213    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
26214}
26215extern "C" {
26216    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_experiment_v2_pmb"]
26217    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
26218}
26219extern "C" {
26220    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_pst_v1_voprf"]
26221    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
26222}
26223extern "C" {
26224    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_pst_v1_pmb"]
26225    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
26226}
26227#[repr(C)]
26228#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26229pub struct trust_token_st {
26230    pub data: *mut u8,
26231    pub len: usize,
26232}
26233#[test]
26234fn bindgen_test_layout_trust_token_st() {
26235    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
26236    let ptr = UNINIT.as_ptr();
26237    assert_eq!(
26238        ::std::mem::size_of::<trust_token_st>(),
26239        16usize,
26240        "Size of trust_token_st"
26241    );
26242    assert_eq!(
26243        ::std::mem::align_of::<trust_token_st>(),
26244        8usize,
26245        "Alignment of trust_token_st"
26246    );
26247    assert_eq!(
26248        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
26249        0usize,
26250        "Offset of field: trust_token_st::data"
26251    );
26252    assert_eq!(
26253        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
26254        8usize,
26255        "Offset of field: trust_token_st::len"
26256    );
26257}
26258impl Default for trust_token_st {
26259    fn default() -> Self {
26260        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26261        unsafe {
26262            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26263            s.assume_init()
26264        }
26265    }
26266}
26267#[repr(C)]
26268#[derive(Debug, Copy, Clone)]
26269pub struct stack_st_TRUST_TOKEN {
26270    _unused: [u8; 0],
26271}
26272pub type sk_TRUST_TOKEN_free_func =
26273    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
26274pub type sk_TRUST_TOKEN_copy_func =
26275    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
26276pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
26277    unsafe extern "C" fn(
26278        arg1: *const *const TRUST_TOKEN,
26279        arg2: *const *const TRUST_TOKEN,
26280    ) -> ::std::os::raw::c_int,
26281>;
26282pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
26283    unsafe extern "C" fn(
26284        arg1: *mut TRUST_TOKEN,
26285        arg2: *mut ::std::os::raw::c_void,
26286    ) -> ::std::os::raw::c_int,
26287>;
26288extern "C" {
26289    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_new"]
26290    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
26291}
26292extern "C" {
26293    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_free"]
26294    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
26295}
26296extern "C" {
26297    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_generate_key"]
26298    pub fn TRUST_TOKEN_generate_key(
26299        method: *const TRUST_TOKEN_METHOD,
26300        out_priv_key: *mut u8,
26301        out_priv_key_len: *mut usize,
26302        max_priv_key_len: usize,
26303        out_pub_key: *mut u8,
26304        out_pub_key_len: *mut usize,
26305        max_pub_key_len: usize,
26306        id: u32,
26307    ) -> ::std::os::raw::c_int;
26308}
26309extern "C" {
26310    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_derive_key_from_secret"]
26311    pub fn TRUST_TOKEN_derive_key_from_secret(
26312        method: *const TRUST_TOKEN_METHOD,
26313        out_priv_key: *mut u8,
26314        out_priv_key_len: *mut usize,
26315        max_priv_key_len: usize,
26316        out_pub_key: *mut u8,
26317        out_pub_key_len: *mut usize,
26318        max_pub_key_len: usize,
26319        id: u32,
26320        secret: *const u8,
26321        secret_len: usize,
26322    ) -> ::std::os::raw::c_int;
26323}
26324extern "C" {
26325    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_new"]
26326    pub fn TRUST_TOKEN_CLIENT_new(
26327        method: *const TRUST_TOKEN_METHOD,
26328        max_batchsize: usize,
26329    ) -> *mut TRUST_TOKEN_CLIENT;
26330}
26331extern "C" {
26332    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_free"]
26333    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
26334}
26335extern "C" {
26336    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_add_key"]
26337    pub fn TRUST_TOKEN_CLIENT_add_key(
26338        ctx: *mut TRUST_TOKEN_CLIENT,
26339        out_key_index: *mut usize,
26340        key: *const u8,
26341        key_len: usize,
26342    ) -> ::std::os::raw::c_int;
26343}
26344extern "C" {
26345    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_set_srr_key"]
26346    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
26347        ctx: *mut TRUST_TOKEN_CLIENT,
26348        key: *mut EVP_PKEY,
26349    ) -> ::std::os::raw::c_int;
26350}
26351extern "C" {
26352    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_begin_issuance"]
26353    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
26354        ctx: *mut TRUST_TOKEN_CLIENT,
26355        out: *mut *mut u8,
26356        out_len: *mut usize,
26357        count: usize,
26358    ) -> ::std::os::raw::c_int;
26359}
26360extern "C" {
26361    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
26362    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
26363        ctx: *mut TRUST_TOKEN_CLIENT,
26364        out: *mut *mut u8,
26365        out_len: *mut usize,
26366        count: usize,
26367        msg: *const u8,
26368        msg_len: usize,
26369    ) -> ::std::os::raw::c_int;
26370}
26371extern "C" {
26372    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_finish_issuance"]
26373    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
26374        ctx: *mut TRUST_TOKEN_CLIENT,
26375        out_key_index: *mut usize,
26376        response: *const u8,
26377        response_len: usize,
26378    ) -> *mut stack_st_TRUST_TOKEN;
26379}
26380extern "C" {
26381    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_begin_redemption"]
26382    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
26383        ctx: *mut TRUST_TOKEN_CLIENT,
26384        out: *mut *mut u8,
26385        out_len: *mut usize,
26386        token: *const TRUST_TOKEN,
26387        data: *const u8,
26388        data_len: usize,
26389        time: u64,
26390    ) -> ::std::os::raw::c_int;
26391}
26392extern "C" {
26393    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_CLIENT_finish_redemption"]
26394    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
26395        ctx: *mut TRUST_TOKEN_CLIENT,
26396        out_rr: *mut *mut u8,
26397        out_rr_len: *mut usize,
26398        out_sig: *mut *mut u8,
26399        out_sig_len: *mut usize,
26400        response: *const u8,
26401        response_len: usize,
26402    ) -> ::std::os::raw::c_int;
26403}
26404extern "C" {
26405    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_new"]
26406    pub fn TRUST_TOKEN_ISSUER_new(
26407        method: *const TRUST_TOKEN_METHOD,
26408        max_batchsize: usize,
26409    ) -> *mut TRUST_TOKEN_ISSUER;
26410}
26411extern "C" {
26412    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_free"]
26413    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
26414}
26415extern "C" {
26416    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_add_key"]
26417    pub fn TRUST_TOKEN_ISSUER_add_key(
26418        ctx: *mut TRUST_TOKEN_ISSUER,
26419        key: *const u8,
26420        key_len: usize,
26421    ) -> ::std::os::raw::c_int;
26422}
26423extern "C" {
26424    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_set_srr_key"]
26425    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
26426        ctx: *mut TRUST_TOKEN_ISSUER,
26427        key: *mut EVP_PKEY,
26428    ) -> ::std::os::raw::c_int;
26429}
26430extern "C" {
26431    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_set_metadata_key"]
26432    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
26433        ctx: *mut TRUST_TOKEN_ISSUER,
26434        key: *const u8,
26435        len: usize,
26436    ) -> ::std::os::raw::c_int;
26437}
26438extern "C" {
26439    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_issue"]
26440    pub fn TRUST_TOKEN_ISSUER_issue(
26441        ctx: *const TRUST_TOKEN_ISSUER,
26442        out: *mut *mut u8,
26443        out_len: *mut usize,
26444        out_tokens_issued: *mut usize,
26445        request: *const u8,
26446        request_len: usize,
26447        public_metadata: u32,
26448        private_metadata: u8,
26449        max_issuance: usize,
26450    ) -> ::std::os::raw::c_int;
26451}
26452extern "C" {
26453    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_redeem"]
26454    pub fn TRUST_TOKEN_ISSUER_redeem(
26455        ctx: *const TRUST_TOKEN_ISSUER,
26456        out_public: *mut u32,
26457        out_private: *mut u8,
26458        out_token: *mut *mut TRUST_TOKEN,
26459        out_client_data: *mut *mut u8,
26460        out_client_data_len: *mut usize,
26461        request: *const u8,
26462        request_len: usize,
26463    ) -> ::std::os::raw::c_int;
26464}
26465extern "C" {
26466    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_ISSUER_redeem_over_message"]
26467    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
26468        ctx: *const TRUST_TOKEN_ISSUER,
26469        out_public: *mut u32,
26470        out_private: *mut u8,
26471        out_token: *mut *mut TRUST_TOKEN,
26472        out_client_data: *mut *mut u8,
26473        out_client_data_len: *mut usize,
26474        request: *const u8,
26475        request_len: usize,
26476        msg: *const u8,
26477        msg_len: usize,
26478    ) -> ::std::os::raw::c_int;
26479}
26480extern "C" {
26481    #[link_name = "\u{1}aws_lc_fips_0_13_14_TRUST_TOKEN_decode_private_metadata"]
26482    pub fn TRUST_TOKEN_decode_private_metadata(
26483        method: *const TRUST_TOKEN_METHOD,
26484        out_value: *mut u8,
26485        key: *const u8,
26486        key_len: usize,
26487        nonce: *const u8,
26488        nonce_len: usize,
26489        encrypted_bit: u8,
26490    ) -> ::std::os::raw::c_int;
26491}
26492extern "C" {
26493    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_keygen_deterministic"]
26494    pub fn EVP_PKEY_keygen_deterministic(
26495        ctx: *mut EVP_PKEY_CTX,
26496        out_pkey: *mut *mut EVP_PKEY,
26497        seed: *const u8,
26498        seed_len: *mut usize,
26499    ) -> ::std::os::raw::c_int;
26500}
26501extern "C" {
26502    #[link_name = "\u{1}aws_lc_fips_0_13_14_EVP_PKEY_encapsulate_deterministic"]
26503    pub fn EVP_PKEY_encapsulate_deterministic(
26504        ctx: *mut EVP_PKEY_CTX,
26505        ciphertext: *mut u8,
26506        ciphertext_len: *mut usize,
26507        shared_secret: *mut u8,
26508        shared_secret_len: *mut usize,
26509        seed: *const u8,
26510        seed_len: *mut usize,
26511    ) -> ::std::os::raw::c_int;
26512}
26513extern "C" {
26514    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_GET_LIB_RUST"]
26515    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
26516}
26517extern "C" {
26518    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_GET_REASON_RUST"]
26519    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
26520}
26521extern "C" {
26522    #[link_name = "\u{1}aws_lc_fips_0_13_14_ERR_GET_FUNC_RUST"]
26523    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
26524}
26525pub type __builtin_va_list = [__va_list_tag; 1usize];
26526#[repr(C)]
26527#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26528pub struct __va_list_tag {
26529    pub gp_offset: ::std::os::raw::c_uint,
26530    pub fp_offset: ::std::os::raw::c_uint,
26531    pub overflow_arg_area: *mut ::std::os::raw::c_void,
26532    pub reg_save_area: *mut ::std::os::raw::c_void,
26533}
26534#[test]
26535fn bindgen_test_layout___va_list_tag() {
26536    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
26537    let ptr = UNINIT.as_ptr();
26538    assert_eq!(
26539        ::std::mem::size_of::<__va_list_tag>(),
26540        24usize,
26541        "Size of __va_list_tag"
26542    );
26543    assert_eq!(
26544        ::std::mem::align_of::<__va_list_tag>(),
26545        8usize,
26546        "Alignment of __va_list_tag"
26547    );
26548    assert_eq!(
26549        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
26550        0usize,
26551        "Offset of field: __va_list_tag::gp_offset"
26552    );
26553    assert_eq!(
26554        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
26555        4usize,
26556        "Offset of field: __va_list_tag::fp_offset"
26557    );
26558    assert_eq!(
26559        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
26560        8usize,
26561        "Offset of field: __va_list_tag::overflow_arg_area"
26562    );
26563    assert_eq!(
26564        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
26565        16usize,
26566        "Offset of field: __va_list_tag::reg_save_area"
26567    );
26568}
26569impl Default for __va_list_tag {
26570    fn default() -> Self {
26571        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26572        unsafe {
26573            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26574            s.assume_init()
26575        }
26576    }
26577}
26578#[repr(C)]
26579#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
26580pub struct CRYPTO_dynlock_value {
26581    pub _address: u8,
26582}