aws_lc_sys/
x86_64_unknown_linux_gnu_crypto.rs

1/* automatically generated by rust-bindgen 0.69.5 */
2
3
4// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
5// SPDX-License-Identifier: Apache-2.0 OR ISC
6
7
8#![allow(
9    clippy::cast_lossless,
10    clippy::cast_possible_truncation,
11    clippy::cast_possible_wrap,
12    clippy::default_trait_access,
13    clippy::missing_safety_doc,
14    clippy::must_use_candidate,
15    clippy::not_unsafe_ptr_arg_deref,
16    clippy::ptr_as_ptr,
17    clippy::ptr_offset_with_cast,
18    clippy::pub_underscore_fields,
19    clippy::semicolon_if_nothing_returned,
20    clippy::too_many_lines,
21    clippy::unreadable_literal,
22    clippy::used_underscore_binding,
23    clippy::useless_transmute,
24    dead_code,
25    improper_ctypes,
26    non_camel_case_types,
27    non_snake_case,
28    non_upper_case_globals,
29    unpredictable_function_pointer_comparisons,
30    unused_imports
31)]
32
33
34#[repr(C)]
35#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
36pub struct __BindgenBitfieldUnit<Storage> {
37    storage: Storage,
38}
39impl<Storage> __BindgenBitfieldUnit<Storage> {
40    #[inline]
41    pub const fn new(storage: Storage) -> Self {
42        Self { storage }
43    }
44}
45impl<Storage> __BindgenBitfieldUnit<Storage>
46where
47    Storage: AsRef<[u8]> + AsMut<[u8]>,
48{
49    #[inline]
50    pub fn get_bit(&self, index: usize) -> bool {
51        debug_assert!(index / 8 < self.storage.as_ref().len());
52        let byte_index = index / 8;
53        let byte = self.storage.as_ref()[byte_index];
54        let bit_index = if cfg!(target_endian = "big") {
55            7 - (index % 8)
56        } else {
57            index % 8
58        };
59        let mask = 1 << bit_index;
60        byte & mask == mask
61    }
62    #[inline]
63    pub fn set_bit(&mut self, index: usize, val: bool) {
64        debug_assert!(index / 8 < self.storage.as_ref().len());
65        let byte_index = index / 8;
66        let byte = &mut self.storage.as_mut()[byte_index];
67        let bit_index = if cfg!(target_endian = "big") {
68            7 - (index % 8)
69        } else {
70            index % 8
71        };
72        let mask = 1 << bit_index;
73        if val {
74            *byte |= mask;
75        } else {
76            *byte &= !mask;
77        }
78    }
79    #[inline]
80    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
81        debug_assert!(bit_width <= 64);
82        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
83        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
84        let mut val = 0;
85        for i in 0..(bit_width as usize) {
86            if self.get_bit(i + bit_offset) {
87                let index = if cfg!(target_endian = "big") {
88                    bit_width as usize - 1 - i
89                } else {
90                    i
91                };
92                val |= 1 << index;
93            }
94        }
95        val
96    }
97    #[inline]
98    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
99        debug_assert!(bit_width <= 64);
100        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
101        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
102        for i in 0..(bit_width as usize) {
103            let mask = 1 << i;
104            let val_bit_is_set = val & mask == mask;
105            let index = if cfg!(target_endian = "big") {
106                bit_width as usize - 1 - i
107            } else {
108                i
109            };
110            self.set_bit(index + bit_offset, val_bit_is_set);
111        }
112    }
113}
114pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
115pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
116pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
117pub const AWSLC_API_VERSION: i32 = 34;
118pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"1.55.0\0";
119pub const AES_ENCRYPT: i32 = 1;
120pub const AES_DECRYPT: i32 = 0;
121pub const AES_MAXNR: i32 = 14;
122pub const AES_BLOCK_SIZE: i32 = 16;
123pub const SHA_CBLOCK: i32 = 64;
124pub const SHA_DIGEST_LENGTH: i32 = 20;
125pub const SHA224_CBLOCK: i32 = 64;
126pub const SHA224_DIGEST_LENGTH: i32 = 28;
127pub const SHA256_CBLOCK: i32 = 64;
128pub const SHA256_DIGEST_LENGTH: i32 = 32;
129pub const SHA384_CBLOCK: i32 = 128;
130pub const SHA384_DIGEST_LENGTH: i32 = 48;
131pub const SHA512_CBLOCK: i32 = 128;
132pub const SHA512_DIGEST_LENGTH: i32 = 64;
133pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
134pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
135pub const CRYPTO_LOCK: i32 = 1;
136pub const CRYPTO_UNLOCK: i32 = 2;
137pub const CRYPTO_READ: i32 = 4;
138pub const CRYPTO_WRITE: i32 = 8;
139pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.55.0)\0";
140pub const OPENSSL_VERSION: i32 = 0;
141pub const OPENSSL_CFLAGS: i32 = 1;
142pub const OPENSSL_BUILT_ON: i32 = 2;
143pub const OPENSSL_PLATFORM: i32 = 3;
144pub const OPENSSL_DIR: i32 = 4;
145pub const SSLEAY_VERSION: i32 = 0;
146pub const SSLEAY_CFLAGS: i32 = 1;
147pub const SSLEAY_BUILT_ON: i32 = 2;
148pub const SSLEAY_PLATFORM: i32 = 3;
149pub const SSLEAY_DIR: i32 = 4;
150pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
151pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
152pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
153pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
154pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
155pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
156pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
157pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
158pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
159pub const ERR_FLAG_STRING: i32 = 1;
160pub const ERR_FLAG_MALLOCED: i32 = 2;
161pub const ERR_LIB_NONE: i32 = 1;
162pub const ERR_LIB_SYS: i32 = 2;
163pub const ERR_LIB_BN: i32 = 3;
164pub const ERR_LIB_RSA: i32 = 4;
165pub const ERR_LIB_DH: i32 = 5;
166pub const ERR_LIB_EVP: i32 = 6;
167pub const ERR_LIB_BUF: i32 = 7;
168pub const ERR_LIB_OBJ: i32 = 8;
169pub const ERR_LIB_PEM: i32 = 9;
170pub const ERR_LIB_DSA: i32 = 10;
171pub const ERR_LIB_X509: i32 = 11;
172pub const ERR_LIB_ASN1: i32 = 12;
173pub const ERR_LIB_CONF: i32 = 13;
174pub const ERR_LIB_CRYPTO: i32 = 14;
175pub const ERR_LIB_EC: i32 = 15;
176pub const ERR_LIB_SSL: i32 = 16;
177pub const ERR_LIB_BIO: i32 = 17;
178pub const ERR_LIB_PKCS7: i32 = 18;
179pub const ERR_LIB_PKCS8: i32 = 19;
180pub const ERR_LIB_X509V3: i32 = 20;
181pub const ERR_LIB_RAND: i32 = 21;
182pub const ERR_LIB_ENGINE: i32 = 22;
183pub const ERR_LIB_OCSP: i32 = 23;
184pub const ERR_LIB_UI: i32 = 24;
185pub const ERR_LIB_COMP: i32 = 25;
186pub const ERR_LIB_ECDSA: i32 = 26;
187pub const ERR_LIB_ECDH: i32 = 27;
188pub const ERR_LIB_HMAC: i32 = 28;
189pub const ERR_LIB_DIGEST: i32 = 29;
190pub const ERR_LIB_CIPHER: i32 = 30;
191pub const ERR_LIB_HKDF: i32 = 31;
192pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
193pub const ERR_LIB_USER: i32 = 33;
194pub const ERR_NUM_LIBS: i32 = 34;
195pub const ERR_LIB_PKCS12: i32 = 35;
196pub const ERR_LIB_DSO: i32 = 36;
197pub const ERR_LIB_OSSL_STORE: i32 = 37;
198pub const ERR_LIB_FIPS: i32 = 38;
199pub const ERR_LIB_CMS: i32 = 39;
200pub const ERR_LIB_TS: i32 = 40;
201pub const ERR_LIB_CT: i32 = 41;
202pub const ERR_LIB_ASYNC: i32 = 42;
203pub const ERR_LIB_KDF: i32 = 43;
204pub const ERR_LIB_SM2: i32 = 44;
205pub const ERR_R_SYS_LIB: i32 = 2;
206pub const ERR_R_BN_LIB: i32 = 3;
207pub const ERR_R_RSA_LIB: i32 = 4;
208pub const ERR_R_DH_LIB: i32 = 5;
209pub const ERR_R_EVP_LIB: i32 = 6;
210pub const ERR_R_BUF_LIB: i32 = 7;
211pub const ERR_R_OBJ_LIB: i32 = 8;
212pub const ERR_R_PEM_LIB: i32 = 9;
213pub const ERR_R_DSA_LIB: i32 = 10;
214pub const ERR_R_X509_LIB: i32 = 11;
215pub const ERR_R_ASN1_LIB: i32 = 12;
216pub const ERR_R_CONF_LIB: i32 = 13;
217pub const ERR_R_CRYPTO_LIB: i32 = 14;
218pub const ERR_R_EC_LIB: i32 = 15;
219pub const ERR_R_SSL_LIB: i32 = 16;
220pub const ERR_R_BIO_LIB: i32 = 17;
221pub const ERR_R_PKCS7_LIB: i32 = 18;
222pub const ERR_R_PKCS8_LIB: i32 = 19;
223pub const ERR_R_X509V3_LIB: i32 = 20;
224pub const ERR_R_RAND_LIB: i32 = 21;
225pub const ERR_R_DSO_LIB: i32 = 36;
226pub const ERR_R_ENGINE_LIB: i32 = 22;
227pub const ERR_R_OCSP_LIB: i32 = 23;
228pub const ERR_R_UI_LIB: i32 = 24;
229pub const ERR_R_COMP_LIB: i32 = 25;
230pub const ERR_R_ECDSA_LIB: i32 = 26;
231pub const ERR_R_ECDH_LIB: i32 = 27;
232pub const ERR_R_FIPS_LIB: i32 = 38;
233pub const ERR_R_CMS_LIB: i32 = 39;
234pub const ERR_R_TS_LIB: i32 = 40;
235pub const ERR_R_HMAC_LIB: i32 = 28;
236pub const ERR_R_USER_LIB: i32 = 33;
237pub const ERR_R_DIGEST_LIB: i32 = 29;
238pub const ERR_R_CIPHER_LIB: i32 = 30;
239pub const ERR_R_HKDF_LIB: i32 = 31;
240pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
241pub const ERR_R_FATAL: i32 = 64;
242pub const ERR_R_MALLOC_FAILURE: i32 = 65;
243pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
244pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
245pub const ERR_R_INTERNAL_ERROR: i32 = 68;
246pub const ERR_R_OVERFLOW: i32 = 69;
247pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
248pub const ERR_TXT_STRING: i32 = 1;
249pub const ERR_TXT_MALLOCED: i32 = 2;
250pub const ERR_NUM_ERRORS: i32 = 16;
251pub const BIO_RR_CONNECT: i32 = 2;
252pub const BIO_RR_ACCEPT: i32 = 3;
253pub const BIO_CB_FREE: i32 = 1;
254pub const BIO_CB_READ: i32 = 2;
255pub const BIO_CB_WRITE: i32 = 3;
256pub const BIO_CB_PUTS: i32 = 4;
257pub const BIO_CB_GETS: i32 = 5;
258pub const BIO_CB_CTRL: i32 = 6;
259pub const BIO_CB_RETURN: i32 = 128;
260pub const BIO_NOCLOSE: i32 = 0;
261pub const BIO_CLOSE: i32 = 1;
262pub const BIO_FP_TEXT: i32 = 16;
263pub const BIO_CTRL_DGRAM_CONNECT: i32 = 31;
264pub const BIO_CTRL_DGRAM_SET_CONNECTED: i32 = 32;
265pub const BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP: i32 = 37;
266pub const BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP: i32 = 38;
267pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
268pub const BIO_CTRL_DGRAM_GET_MTU: i32 = 41;
269pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
270pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
271pub const BIO_CTRL_DGRAM_SET_PEER: i32 = 44;
272pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
273pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
274pub const BIO_CTRL_RESET: i32 = 1;
275pub const BIO_CTRL_EOF: i32 = 2;
276pub const BIO_CTRL_INFO: i32 = 3;
277pub const BIO_CTRL_GET_CLOSE: i32 = 8;
278pub const BIO_CTRL_SET_CLOSE: i32 = 9;
279pub const BIO_CTRL_PENDING: i32 = 10;
280pub const BIO_CTRL_FLUSH: i32 = 11;
281pub const BIO_CTRL_WPENDING: i32 = 13;
282pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
283pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
284pub const BIO_CTRL_SET: i32 = 4;
285pub const BIO_CTRL_GET: i32 = 5;
286pub const BIO_CTRL_PUSH: i32 = 6;
287pub const BIO_CTRL_POP: i32 = 7;
288pub const BIO_CTRL_DUP: i32 = 12;
289pub const BIO_CTRL_SET_FILENAME: i32 = 30;
290pub const BIO_FLAGS_READ: i32 = 1;
291pub const BIO_FLAGS_WRITE: i32 = 2;
292pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
293pub const BIO_FLAGS_RWS: i32 = 7;
294pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
295pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
296pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
297pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
298pub const BIO_TYPE_FILTER: i32 = 512;
299pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
300pub const BIO_TYPE_NONE: i32 = 0;
301pub const BIO_TYPE_MEM: i32 = 1025;
302pub const BIO_TYPE_FILE: i32 = 1026;
303pub const BIO_TYPE_FD: i32 = 1284;
304pub const BIO_TYPE_SOCKET: i32 = 1285;
305pub const BIO_TYPE_NULL: i32 = 1030;
306pub const BIO_TYPE_SSL: i32 = 519;
307pub const BIO_TYPE_MD: i32 = 520;
308pub const BIO_TYPE_BUFFER: i32 = 521;
309pub const BIO_TYPE_CIPHER: i32 = 522;
310pub const BIO_TYPE_BASE64: i32 = 523;
311pub const BIO_TYPE_CONNECT: i32 = 1292;
312pub const BIO_TYPE_ACCEPT: i32 = 1293;
313pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
314pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
315pub const BIO_TYPE_NBIO_TEST: i32 = 528;
316pub const BIO_TYPE_NULL_FILTER: i32 = 529;
317pub const BIO_TYPE_BER: i32 = 530;
318pub const BIO_TYPE_BIO: i32 = 1043;
319pub const BIO_TYPE_LINEBUFFER: i32 = 532;
320pub const BIO_TYPE_DGRAM: i32 = 1301;
321pub const BIO_TYPE_ASN1: i32 = 534;
322pub const BIO_TYPE_COMP: i32 = 535;
323pub const BIO_TYPE_START: i32 = 128;
324pub const BIO_C_SET_CONNECT: i32 = 100;
325pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
326pub const BIO_C_SET_NBIO: i32 = 102;
327pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
328pub const BIO_C_SET_FD: i32 = 104;
329pub const BIO_C_GET_FD: i32 = 105;
330pub const BIO_C_SET_FILE_PTR: i32 = 106;
331pub const BIO_C_GET_FILE_PTR: i32 = 107;
332pub const BIO_C_SET_FILENAME: i32 = 108;
333pub const BIO_C_SET_SSL: i32 = 109;
334pub const BIO_C_GET_SSL: i32 = 110;
335pub const BIO_C_SET_MD: i32 = 111;
336pub const BIO_C_GET_MD: i32 = 112;
337pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
338pub const BIO_C_SET_BUF_MEM: i32 = 114;
339pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
340pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
341pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
342pub const BIO_C_SET_ACCEPT: i32 = 118;
343pub const BIO_C_SSL_MODE: i32 = 119;
344pub const BIO_C_GET_MD_CTX: i32 = 120;
345pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
346pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
347pub const BIO_C_GET_ACCEPT: i32 = 124;
348pub const BIO_C_FILE_SEEK: i32 = 128;
349pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
350pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
351pub const BIO_C_SET_BIND_MODE: i32 = 131;
352pub const BIO_C_GET_BIND_MODE: i32 = 132;
353pub const BIO_C_FILE_TELL: i32 = 133;
354pub const BIO_C_GET_SOCKS: i32 = 134;
355pub const BIO_C_SET_SOCKS: i32 = 135;
356pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
357pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
358pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
359pub const BIO_C_GET_READ_REQUEST: i32 = 141;
360pub const BIO_C_SHUTDOWN_WR: i32 = 142;
361pub const BIO_C_NREAD0: i32 = 143;
362pub const BIO_C_NREAD: i32 = 144;
363pub const BIO_C_NWRITE0: i32 = 145;
364pub const BIO_C_NWRITE: i32 = 146;
365pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
366pub const BIO_C_SET_MD_CTX: i32 = 148;
367pub const BIO_C_SET_PREFIX: i32 = 149;
368pub const BIO_C_GET_PREFIX: i32 = 150;
369pub const BIO_C_SET_SUFFIX: i32 = 151;
370pub const BIO_C_GET_SUFFIX: i32 = 152;
371pub const BIO_C_SET_EX_ARG: i32 = 153;
372pub const BIO_C_GET_EX_ARG: i32 = 154;
373pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
374pub const BIO_R_BROKEN_PIPE: i32 = 101;
375pub const BIO_R_CONNECT_ERROR: i32 = 102;
376pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
377pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
378pub const BIO_R_IN_USE: i32 = 105;
379pub const BIO_R_KEEPALIVE: i32 = 106;
380pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
381pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
382pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
383pub const BIO_R_NO_SUCH_FILE: i32 = 110;
384pub const BIO_R_NULL_PARAMETER: i32 = 111;
385pub const BIO_R_SYS_LIB: i32 = 112;
386pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
387pub const BIO_R_UNINITIALIZED: i32 = 114;
388pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
389pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
390pub const BN_BITS2: i32 = 64;
391pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
392pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
393pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
394pub const BN_RAND_TOP_ANY: i32 = -1;
395pub const BN_RAND_TOP_ONE: i32 = 0;
396pub const BN_RAND_TOP_TWO: i32 = 1;
397pub const BN_RAND_BOTTOM_ANY: i32 = 0;
398pub const BN_RAND_BOTTOM_ODD: i32 = 1;
399pub const BN_GENCB_GENERATED: i32 = 0;
400pub const BN_GENCB_PRIME_TEST: i32 = 1;
401pub const BN_prime_checks_for_validation: i32 = 64;
402pub const BN_prime_checks_for_generation: i32 = 0;
403pub const BN_prime_checks: i32 = 64;
404pub const BN_FLG_MALLOCED: i32 = 1;
405pub const BN_FLG_STATIC_DATA: i32 = 2;
406pub const BN_R_ARG2_LT_ARG3: i32 = 100;
407pub const BN_R_BAD_RECIPROCAL: i32 = 101;
408pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
409pub const BN_R_BITS_TOO_SMALL: i32 = 103;
410pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
411pub const BN_R_DIV_BY_ZERO: i32 = 105;
412pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
413pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
414pub const BN_R_INVALID_RANGE: i32 = 108;
415pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
416pub const BN_R_NOT_A_SQUARE: i32 = 110;
417pub const BN_R_NOT_INITIALIZED: i32 = 111;
418pub const BN_R_NO_INVERSE: i32 = 112;
419pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
420pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
421pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
422pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
423pub const BN_R_BAD_ENCODING: i32 = 117;
424pub const BN_R_ENCODE_ERROR: i32 = 118;
425pub const BN_R_INVALID_INPUT: i32 = 119;
426pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
427pub const V_ASN1_UNIVERSAL: i32 = 0;
428pub const V_ASN1_APPLICATION: i32 = 64;
429pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
430pub const V_ASN1_PRIVATE: i32 = 192;
431pub const V_ASN1_CONSTRUCTED: i32 = 32;
432pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
433pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
434pub const V_ASN1_UNDEF: i32 = -1;
435pub const V_ASN1_OTHER: i32 = -3;
436pub const V_ASN1_ANY: i32 = -4;
437pub const V_ASN1_EOC: i32 = 0;
438pub const V_ASN1_BOOLEAN: i32 = 1;
439pub const V_ASN1_INTEGER: i32 = 2;
440pub const V_ASN1_BIT_STRING: i32 = 3;
441pub const V_ASN1_OCTET_STRING: i32 = 4;
442pub const V_ASN1_NULL: i32 = 5;
443pub const V_ASN1_OBJECT: i32 = 6;
444pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
445pub const V_ASN1_EXTERNAL: i32 = 8;
446pub const V_ASN1_REAL: i32 = 9;
447pub const V_ASN1_ENUMERATED: i32 = 10;
448pub const V_ASN1_UTF8STRING: i32 = 12;
449pub const V_ASN1_SEQUENCE: i32 = 16;
450pub const V_ASN1_SET: i32 = 17;
451pub const V_ASN1_NUMERICSTRING: i32 = 18;
452pub const V_ASN1_PRINTABLESTRING: i32 = 19;
453pub const V_ASN1_T61STRING: i32 = 20;
454pub const V_ASN1_TELETEXSTRING: i32 = 20;
455pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
456pub const V_ASN1_IA5STRING: i32 = 22;
457pub const V_ASN1_UTCTIME: i32 = 23;
458pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
459pub const V_ASN1_GRAPHICSTRING: i32 = 25;
460pub const V_ASN1_ISO64STRING: i32 = 26;
461pub const V_ASN1_VISIBLESTRING: i32 = 26;
462pub const V_ASN1_GENERALSTRING: i32 = 27;
463pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
464pub const V_ASN1_BMPSTRING: i32 = 30;
465pub const V_ASN1_NEG: i32 = 256;
466pub const V_ASN1_NEG_INTEGER: i32 = 258;
467pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
468pub const B_ASN1_NUMERICSTRING: i32 = 1;
469pub const B_ASN1_PRINTABLESTRING: i32 = 2;
470pub const B_ASN1_T61STRING: i32 = 4;
471pub const B_ASN1_TELETEXSTRING: i32 = 4;
472pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
473pub const B_ASN1_IA5STRING: i32 = 16;
474pub const B_ASN1_GRAPHICSTRING: i32 = 32;
475pub const B_ASN1_ISO64STRING: i32 = 64;
476pub const B_ASN1_VISIBLESTRING: i32 = 64;
477pub const B_ASN1_GENERALSTRING: i32 = 128;
478pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
479pub const B_ASN1_OCTET_STRING: i32 = 512;
480pub const B_ASN1_BIT_STRING: i32 = 1024;
481pub const B_ASN1_BMPSTRING: i32 = 2048;
482pub const B_ASN1_UNKNOWN: i32 = 4096;
483pub const B_ASN1_UTF8STRING: i32 = 8192;
484pub const B_ASN1_UTCTIME: i32 = 16384;
485pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
486pub const B_ASN1_SEQUENCE: i32 = 65536;
487pub const ASN1_BOOLEAN_FALSE: i32 = 0;
488pub const ASN1_BOOLEAN_TRUE: i32 = 255;
489pub const ASN1_BOOLEAN_NONE: i32 = -1;
490pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
491pub const MBSTRING_FLAG: i32 = 4096;
492pub const MBSTRING_UTF8: i32 = 4096;
493pub const MBSTRING_ASC: i32 = 4097;
494pub const MBSTRING_BMP: i32 = 4098;
495pub const MBSTRING_UNIV: i32 = 4100;
496pub const DIRSTRING_TYPE: i32 = 10246;
497pub const PKCS9STRING_TYPE: i32 = 10262;
498pub const STABLE_NO_MASK: i32 = 2;
499pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
500pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
501pub const B_ASN1_TIME: i32 = 49152;
502pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
503pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
504pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
505pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
506pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
507pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
508pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
509pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
510pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
511pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
512pub const ASN1_STRFLGS_RFC2253: i32 = 791;
513pub const B_ASN1_PRINTABLE: i32 = 81175;
514pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
515pub const ASN1_R_AUX_ERROR: i32 = 101;
516pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
517pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
518pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
519pub const ASN1_R_BN_LIB: i32 = 105;
520pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
521pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
522pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
523pub const ASN1_R_DECODE_ERROR: i32 = 109;
524pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
525pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
526pub const ASN1_R_ENCODE_ERROR: i32 = 112;
527pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
528pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
529pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
530pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
531pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
532pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
533pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
534pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
535pub const ASN1_R_FIELD_MISSING: i32 = 121;
536pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
537pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
538pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
539pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
540pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
541pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
542pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
543pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
544pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
545pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
546pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
547pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
548pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
549pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
550pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
551pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
552pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
553pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
554pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
555pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
556pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
557pub const ASN1_R_INVALID_DIGIT: i32 = 143;
558pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
559pub const ASN1_R_INVALID_NUMBER: i32 = 145;
560pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
561pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
562pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
563pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
564pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
565pub const ASN1_R_LIST_ERROR: i32 = 151;
566pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
567pub const ASN1_R_MISSING_EOC: i32 = 153;
568pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
569pub const ASN1_R_MISSING_VALUE: i32 = 155;
570pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
571pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
572pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
573pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
574pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
575pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
576pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
577pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
578pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
579pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
580pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
581pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
582pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
583pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
584pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
585pub const ASN1_R_SHORT_LINE: i32 = 171;
586pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
587pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
588pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
589pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
590pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
591pub const ASN1_R_TOO_LONG: i32 = 177;
592pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
593pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
594pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
595pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
596pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
597pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
598pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
599pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
600pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
601pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
602pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
603pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
604pub const ASN1_R_WRONG_TAG: i32 = 190;
605pub const ASN1_R_WRONG_TYPE: i32 = 191;
606pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
607pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
608pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
609pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
610pub const ASN1_R_INVALID_INTEGER: i32 = 196;
611pub const ASN1_TFLG_OPTIONAL: i32 = 1;
612pub const ASN1_TFLG_SET_OF: i32 = 2;
613pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
614pub const ASN1_TFLG_SK_MASK: i32 = 6;
615pub const ASN1_TFLG_IMPTAG: i32 = 8;
616pub const ASN1_TFLG_EXPTAG: i32 = 16;
617pub const ASN1_TFLG_TAG_MASK: i32 = 24;
618pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
619pub const ASN1_TFLG_APPLICATION: i32 = 64;
620pub const ASN1_TFLG_CONTEXT: i32 = 128;
621pub const ASN1_TFLG_PRIVATE: i32 = 192;
622pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
623pub const ASN1_TFLG_ADB_MASK: i32 = 768;
624pub const ASN1_TFLG_ADB_OID: i32 = 256;
625pub const ASN1_TFLG_COMBINE: i32 = 1024;
626pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
627pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
628pub const ASN1_ITYPE_CHOICE: i32 = 2;
629pub const ASN1_ITYPE_EXTERN: i32 = 4;
630pub const ASN1_ITYPE_MSTRING: i32 = 5;
631pub const ASN1_AFLG_REFCOUNT: i32 = 1;
632pub const ASN1_AFLG_ENCODING: i32 = 2;
633pub const ASN1_OP_NEW_PRE: i32 = 0;
634pub const ASN1_OP_NEW_POST: i32 = 1;
635pub const ASN1_OP_FREE_PRE: i32 = 2;
636pub const ASN1_OP_FREE_POST: i32 = 3;
637pub const ASN1_OP_D2I_PRE: i32 = 4;
638pub const ASN1_OP_D2I_POST: i32 = 5;
639pub const ASN1_OP_PRINT_PRE: i32 = 8;
640pub const ASN1_OP_PRINT_POST: i32 = 9;
641pub const ASN1_OP_STREAM_PRE: i32 = 10;
642pub const ASN1_OP_STREAM_POST: i32 = 11;
643pub const ASN1_OP_DETACHED_PRE: i32 = 12;
644pub const ASN1_OP_DETACHED_POST: i32 = 13;
645pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
646pub const BLAKE2B_CBLOCK: i32 = 128;
647pub const BF_ENCRYPT: i32 = 1;
648pub const BF_DECRYPT: i32 = 0;
649pub const BF_ROUNDS: i32 = 16;
650pub const BF_BLOCK: i32 = 8;
651pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
652pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
653pub const CBS_ASN1_UNIVERSAL: i32 = 0;
654pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
655pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
656pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
657pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
658pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
659pub const CBS_ASN1_BOOLEAN: i32 = 1;
660pub const CBS_ASN1_INTEGER: i32 = 2;
661pub const CBS_ASN1_BITSTRING: i32 = 3;
662pub const CBS_ASN1_OCTETSTRING: i32 = 4;
663pub const CBS_ASN1_NULL: i32 = 5;
664pub const CBS_ASN1_OBJECT: i32 = 6;
665pub const CBS_ASN1_ENUMERATED: i32 = 10;
666pub const CBS_ASN1_UTF8STRING: i32 = 12;
667pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
668pub const CBS_ASN1_SET: i32 = 536870929;
669pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
670pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
671pub const CBS_ASN1_T61STRING: i32 = 20;
672pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
673pub const CBS_ASN1_IA5STRING: i32 = 22;
674pub const CBS_ASN1_UTCTIME: i32 = 23;
675pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
676pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
677pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
678pub const CBS_ASN1_GENERALSTRING: i32 = 27;
679pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
680pub const CBS_ASN1_BMPSTRING: i32 = 30;
681pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
682pub const EVP_CIPH_ECB_MODE: i32 = 1;
683pub const EVP_CIPH_CBC_MODE: i32 = 2;
684pub const EVP_CIPH_CFB_MODE: i32 = 3;
685pub const EVP_CIPH_OFB_MODE: i32 = 4;
686pub const EVP_CIPH_CTR_MODE: i32 = 5;
687pub const EVP_CIPH_GCM_MODE: i32 = 6;
688pub const EVP_CIPH_XTS_MODE: i32 = 7;
689pub const EVP_CIPH_CCM_MODE: i32 = 8;
690pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
691pub const EVP_CIPH_OCB_MODE: i32 = 9;
692pub const EVP_CIPH_WRAP_MODE: i32 = 10;
693pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
694pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
695pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
696pub const EVP_CIPH_CTRL_INIT: i32 = 512;
697pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
698pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
699pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
700pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
701pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
702pub const EVP_CIPH_NO_PADDING: i32 = 2048;
703pub const EVP_CTRL_INIT: i32 = 0;
704pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
705pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
706pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
707pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
708pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
709pub const EVP_CTRL_RAND_KEY: i32 = 6;
710pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
711pub const EVP_CTRL_COPY: i32 = 8;
712pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
713pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
714pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
715pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
716pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
717pub const EVP_CTRL_CCM_SET_L: i32 = 20;
718pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
719pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
720pub const EVP_CTRL_GET_IVLEN: i32 = 25;
721pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
722pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
723pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
724pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
725pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
726pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
727pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
728pub const EVP_MAX_KEY_LENGTH: i32 = 64;
729pub const EVP_MAX_IV_LENGTH: i32 = 16;
730pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
731pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
732pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
733pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
734pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
735pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
736pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
737pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
738pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
739pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
740pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
741pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
742pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
743pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
744pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
745pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
746pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
747pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
748pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
749pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
750pub const CIPHER_R_TOO_LARGE: i32 = 117;
751pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
752pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
753pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
754pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
755pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
756pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
757pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
758pub const CIPHER_R_INVALID_NONCE: i32 = 125;
759pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
760pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
761pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
762pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
763pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
764pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
765pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
766pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
767pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
768pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
769pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
770pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
771pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
772pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
773pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
774pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
775pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
776pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
777pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
778pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
779pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
780pub const X25519_SHARED_KEY_LEN: i32 = 32;
781pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
782pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
783pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
784pub const ED25519_SIGNATURE_LEN: i32 = 64;
785pub const ED25519_SEED_LEN: i32 = 32;
786pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
787pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
788pub const DES_ENCRYPT: i32 = 1;
789pub const DES_DECRYPT: i32 = 0;
790pub const DES_CBC_MODE: i32 = 0;
791pub const DES_PCBC_MODE: i32 = 1;
792pub const DH_GENERATOR_2: i32 = 2;
793pub const DH_GENERATOR_5: i32 = 5;
794pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
795pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
796pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
797pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
798pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
799pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
800pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
801pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
802pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
803pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
804pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
805pub const DH_FLAG_CACHE_MONT_P: i32 = 0;
806pub const DH_R_BAD_GENERATOR: i32 = 100;
807pub const DH_R_INVALID_PUBKEY: i32 = 101;
808pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
809pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
810pub const DH_R_DECODE_ERROR: i32 = 104;
811pub const DH_R_ENCODE_ERROR: i32 = 105;
812pub const DH_R_INVALID_NID: i32 = 106;
813pub const DH_R_INVALID_PARAMETERS: i32 = 107;
814pub const DH_F_DH_BUILTIN_GENPARAMS: i32 = 0;
815pub const EVP_MAX_MD_SIZE: i32 = 64;
816pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
817pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 144;
818pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
819pub const EVP_MD_FLAG_XOF: i32 = 4;
820pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
821pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
822pub const DIGEST_R_DECODE_ERROR: i32 = 101;
823pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
824pub const OPENSSL_DSA_MAX_MODULUS_BITS: i32 = 10000;
825pub const DSA_R_BAD_Q_VALUE: i32 = 100;
826pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
827pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
828pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
829pub const DSA_R_BAD_VERSION: i32 = 104;
830pub const DSA_R_DECODE_ERROR: i32 = 105;
831pub const DSA_R_ENCODE_ERROR: i32 = 106;
832pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
833pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
834pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
835pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
836pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
837pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
838pub const EC_PKEY_NO_PUBKEY: i32 = 2;
839pub const ECDSA_FLAG_OPAQUE: i32 = 1;
840pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
841pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
842pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
843pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
844pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
845pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
846pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
847pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
848pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
849pub const EC_R_INVALID_ENCODING: i32 = 109;
850pub const EC_R_INVALID_FIELD: i32 = 110;
851pub const EC_R_INVALID_FORM: i32 = 111;
852pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
853pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
854pub const EC_R_MISSING_PARAMETERS: i32 = 114;
855pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
856pub const EC_R_NON_NAMED_CURVE: i32 = 116;
857pub const EC_R_NOT_INITIALIZED: i32 = 117;
858pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
859pub const EC_R_POINT_AT_INFINITY: i32 = 119;
860pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
861pub const EC_R_SLOT_FULL: i32 = 121;
862pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
863pub const EC_R_UNKNOWN_GROUP: i32 = 123;
864pub const EC_R_UNKNOWN_ORDER: i32 = 124;
865pub const EC_R_WRONG_ORDER: i32 = 125;
866pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
867pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
868pub const EC_R_DECODE_ERROR: i32 = 128;
869pub const EC_R_ENCODE_ERROR: i32 = 129;
870pub const EC_R_GROUP_MISMATCH: i32 = 130;
871pub const EC_R_INVALID_COFACTOR: i32 = 131;
872pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
873pub const EC_R_INVALID_SCALAR: i32 = 133;
874pub const ECDH_R_KDF_FAILED: i32 = 100;
875pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
876pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
877pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
878pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
879pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
880pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
881pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
882pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
883pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
884pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
885pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
886pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
887pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
888pub const EVP_R_DECODE_ERROR: i32 = 102;
889pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
890pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
891pub const EVP_R_ENCODE_ERROR: i32 = 105;
892pub const EVP_R_EXPECTING_AN_EC_KEY_KEY: i32 = 106;
893pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
894pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
895pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
896pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
897pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
898pub const EVP_R_INVALID_KEYBITS: i32 = 112;
899pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
900pub const EVP_R_INVALID_OPERATION: i32 = 114;
901pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
902pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
903pub const EVP_R_KEYS_NOT_SET: i32 = 117;
904pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
905pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
906pub const EVP_R_NO_KEY_SET: i32 = 120;
907pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
908pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
909pub const EVP_R_NO_OPERATION_SET: i32 = 123;
910pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
911pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
912pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
913pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
914pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
915pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
916pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
917pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
918pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
919pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
920pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
921pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
922pub const EVP_R_EMPTY_PSK: i32 = 136;
923pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
924pub const EVP_R_BAD_DECRYPT: i32 = 138;
925pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 139;
926pub const EVP_R_INVALID_PSS_MD: i32 = 500;
927pub const EVP_R_INVALID_PSS_SALT_LEN: i32 = 501;
928pub const EVP_R_INVALID_PSS_TRAILER_FIELD: i32 = 502;
929pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
930pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
931pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
932pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
933pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
934pub const SN_undef: &[u8; 6] = b"UNDEF\0";
935pub const LN_undef: &[u8; 10] = b"undefined\0";
936pub const NID_undef: i32 = 0;
937pub const OBJ_undef: i32 = 0;
938pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
939pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
940pub const NID_rsadsi: i32 = 1;
941pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
942pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
943pub const NID_pkcs: i32 = 2;
944pub const SN_md2: &[u8; 4] = b"MD2\0";
945pub const LN_md2: &[u8; 4] = b"md2\0";
946pub const NID_md2: i32 = 3;
947pub const SN_md5: &[u8; 4] = b"MD5\0";
948pub const LN_md5: &[u8; 4] = b"md5\0";
949pub const NID_md5: i32 = 4;
950pub const SN_rc4: &[u8; 4] = b"RC4\0";
951pub const LN_rc4: &[u8; 4] = b"rc4\0";
952pub const NID_rc4: i32 = 5;
953pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
954pub const NID_rsaEncryption: i32 = 6;
955pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
956pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
957pub const NID_md2WithRSAEncryption: i32 = 7;
958pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
959pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
960pub const NID_md5WithRSAEncryption: i32 = 8;
961pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
962pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
963pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
964pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
965pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
966pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
967pub const SN_X500: &[u8; 5] = b"X500\0";
968pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
969pub const NID_X500: i32 = 11;
970pub const SN_X509: &[u8; 5] = b"X509\0";
971pub const NID_X509: i32 = 12;
972pub const SN_commonName: &[u8; 3] = b"CN\0";
973pub const LN_commonName: &[u8; 11] = b"commonName\0";
974pub const NID_commonName: i32 = 13;
975pub const SN_countryName: &[u8; 2] = b"C\0";
976pub const LN_countryName: &[u8; 12] = b"countryName\0";
977pub const NID_countryName: i32 = 14;
978pub const SN_localityName: &[u8; 2] = b"L\0";
979pub const LN_localityName: &[u8; 13] = b"localityName\0";
980pub const NID_localityName: i32 = 15;
981pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
982pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
983pub const NID_stateOrProvinceName: i32 = 16;
984pub const SN_organizationName: &[u8; 2] = b"O\0";
985pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
986pub const NID_organizationName: i32 = 17;
987pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
988pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
989pub const NID_organizationalUnitName: i32 = 18;
990pub const SN_rsa: &[u8; 4] = b"RSA\0";
991pub const LN_rsa: &[u8; 4] = b"rsa\0";
992pub const NID_rsa: i32 = 19;
993pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
994pub const NID_pkcs7: i32 = 20;
995pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
996pub const NID_pkcs7_data: i32 = 21;
997pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
998pub const NID_pkcs7_signed: i32 = 22;
999pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
1000pub const NID_pkcs7_enveloped: i32 = 23;
1001pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
1002pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
1003pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
1004pub const NID_pkcs7_digest: i32 = 25;
1005pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
1006pub const NID_pkcs7_encrypted: i32 = 26;
1007pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
1008pub const NID_pkcs3: i32 = 27;
1009pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
1010pub const NID_dhKeyAgreement: i32 = 28;
1011pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1012pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1013pub const NID_des_ecb: i32 = 29;
1014pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1015pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1016pub const NID_des_cfb64: i32 = 30;
1017pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1018pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1019pub const NID_des_cbc: i32 = 31;
1020pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1021pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1022pub const NID_des_ede_ecb: i32 = 32;
1023pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1024pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1025pub const NID_des_ede3_ecb: i32 = 33;
1026pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1027pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1028pub const NID_idea_cbc: i32 = 34;
1029pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1030pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1031pub const NID_idea_cfb64: i32 = 35;
1032pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1033pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1034pub const NID_idea_ecb: i32 = 36;
1035pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1036pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1037pub const NID_rc2_cbc: i32 = 37;
1038pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1039pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1040pub const NID_rc2_ecb: i32 = 38;
1041pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1042pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1043pub const NID_rc2_cfb64: i32 = 39;
1044pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1045pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1046pub const NID_rc2_ofb64: i32 = 40;
1047pub const SN_sha: &[u8; 4] = b"SHA\0";
1048pub const LN_sha: &[u8; 4] = b"sha\0";
1049pub const NID_sha: i32 = 41;
1050pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1051pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1052pub const NID_shaWithRSAEncryption: i32 = 42;
1053pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1054pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1055pub const NID_des_ede_cbc: i32 = 43;
1056pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1057pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1058pub const NID_des_ede3_cbc: i32 = 44;
1059pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1060pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1061pub const NID_des_ofb64: i32 = 45;
1062pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1063pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1064pub const NID_idea_ofb64: i32 = 46;
1065pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1066pub const NID_pkcs9: i32 = 47;
1067pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1068pub const NID_pkcs9_emailAddress: i32 = 48;
1069pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1070pub const NID_pkcs9_unstructuredName: i32 = 49;
1071pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1072pub const NID_pkcs9_contentType: i32 = 50;
1073pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1074pub const NID_pkcs9_messageDigest: i32 = 51;
1075pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1076pub const NID_pkcs9_signingTime: i32 = 52;
1077pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1078pub const NID_pkcs9_countersignature: i32 = 53;
1079pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1080pub const NID_pkcs9_challengePassword: i32 = 54;
1081pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1082pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1083pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1084pub const NID_pkcs9_extCertAttributes: i32 = 56;
1085pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1086pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1087pub const NID_netscape: i32 = 57;
1088pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1089pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1090pub const NID_netscape_cert_extension: i32 = 58;
1091pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1092pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1093pub const NID_netscape_data_type: i32 = 59;
1094pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1095pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1096pub const NID_des_ede_cfb64: i32 = 60;
1097pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1098pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1099pub const NID_des_ede3_cfb64: i32 = 61;
1100pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1101pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1102pub const NID_des_ede_ofb64: i32 = 62;
1103pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1104pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1105pub const NID_des_ede3_ofb64: i32 = 63;
1106pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1107pub const LN_sha1: &[u8; 5] = b"sha1\0";
1108pub const NID_sha1: i32 = 64;
1109pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1110pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1111pub const NID_sha1WithRSAEncryption: i32 = 65;
1112pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1113pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1114pub const NID_dsaWithSHA: i32 = 66;
1115pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1116pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1117pub const NID_dsa_2: i32 = 67;
1118pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1119pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1120pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1121pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1122pub const NID_id_pbkdf2: i32 = 69;
1123pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1124pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1125pub const NID_dsaWithSHA1_2: i32 = 70;
1126pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1127pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1128pub const NID_netscape_cert_type: i32 = 71;
1129pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1130pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1131pub const NID_netscape_base_url: i32 = 72;
1132pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1133pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1134pub const NID_netscape_revocation_url: i32 = 73;
1135pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1136pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1137pub const NID_netscape_ca_revocation_url: i32 = 74;
1138pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1139pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1140pub const NID_netscape_renewal_url: i32 = 75;
1141pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1142pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1143pub const NID_netscape_ca_policy_url: i32 = 76;
1144pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1145pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1146pub const NID_netscape_ssl_server_name: i32 = 77;
1147pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1148pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1149pub const NID_netscape_comment: i32 = 78;
1150pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1151pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1152pub const NID_netscape_cert_sequence: i32 = 79;
1153pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1154pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1155pub const NID_desx_cbc: i32 = 80;
1156pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1157pub const NID_id_ce: i32 = 81;
1158pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1159pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1160pub const NID_subject_key_identifier: i32 = 82;
1161pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1162pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1163pub const NID_key_usage: i32 = 83;
1164pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1165pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1166pub const NID_private_key_usage_period: i32 = 84;
1167pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1168pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1169pub const NID_subject_alt_name: i32 = 85;
1170pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1171pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1172pub const NID_issuer_alt_name: i32 = 86;
1173pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1174pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1175pub const NID_basic_constraints: i32 = 87;
1176pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1177pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1178pub const NID_crl_number: i32 = 88;
1179pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1180pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1181pub const NID_certificate_policies: i32 = 89;
1182pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1183pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1184pub const NID_authority_key_identifier: i32 = 90;
1185pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1186pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1187pub const NID_bf_cbc: i32 = 91;
1188pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1189pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1190pub const NID_bf_ecb: i32 = 92;
1191pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1192pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1193pub const NID_bf_cfb64: i32 = 93;
1194pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1195pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1196pub const NID_bf_ofb64: i32 = 94;
1197pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1198pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1199pub const NID_mdc2: i32 = 95;
1200pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1201pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1202pub const NID_mdc2WithRSA: i32 = 96;
1203pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1204pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1205pub const NID_rc4_40: i32 = 97;
1206pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1207pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1208pub const NID_rc2_40_cbc: i32 = 98;
1209pub const SN_givenName: &[u8; 3] = b"GN\0";
1210pub const LN_givenName: &[u8; 10] = b"givenName\0";
1211pub const NID_givenName: i32 = 99;
1212pub const SN_surname: &[u8; 3] = b"SN\0";
1213pub const LN_surname: &[u8; 8] = b"surname\0";
1214pub const NID_surname: i32 = 100;
1215pub const SN_initials: &[u8; 9] = b"initials\0";
1216pub const LN_initials: &[u8; 9] = b"initials\0";
1217pub const NID_initials: i32 = 101;
1218pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1219pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1220pub const NID_crl_distribution_points: i32 = 103;
1221pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1222pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1223pub const NID_md5WithRSA: i32 = 104;
1224pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1225pub const NID_serialNumber: i32 = 105;
1226pub const SN_title: &[u8; 6] = b"title\0";
1227pub const LN_title: &[u8; 6] = b"title\0";
1228pub const NID_title: i32 = 106;
1229pub const LN_description: &[u8; 12] = b"description\0";
1230pub const NID_description: i32 = 107;
1231pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1232pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1233pub const NID_cast5_cbc: i32 = 108;
1234pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1235pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1236pub const NID_cast5_ecb: i32 = 109;
1237pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1238pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1239pub const NID_cast5_cfb64: i32 = 110;
1240pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1241pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1242pub const NID_cast5_ofb64: i32 = 111;
1243pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1244pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1245pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1246pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1247pub const NID_dsaWithSHA1: i32 = 113;
1248pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1249pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1250pub const NID_md5_sha1: i32 = 114;
1251pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1252pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1253pub const NID_sha1WithRSA: i32 = 115;
1254pub const SN_dsa: &[u8; 4] = b"DSA\0";
1255pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1256pub const NID_dsa: i32 = 116;
1257pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1258pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1259pub const NID_ripemd160: i32 = 117;
1260pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1261pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1262pub const NID_ripemd160WithRSA: i32 = 119;
1263pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1264pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1265pub const NID_rc5_cbc: i32 = 120;
1266pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1267pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1268pub const NID_rc5_ecb: i32 = 121;
1269pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1270pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1271pub const NID_rc5_cfb64: i32 = 122;
1272pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1273pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1274pub const NID_rc5_ofb64: i32 = 123;
1275pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1276pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1277pub const NID_zlib_compression: i32 = 125;
1278pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1279pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1280pub const NID_ext_key_usage: i32 = 126;
1281pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1282pub const NID_id_pkix: i32 = 127;
1283pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1284pub const NID_id_kp: i32 = 128;
1285pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1286pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1287pub const NID_server_auth: i32 = 129;
1288pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1289pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1290pub const NID_client_auth: i32 = 130;
1291pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1292pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1293pub const NID_code_sign: i32 = 131;
1294pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1295pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1296pub const NID_email_protect: i32 = 132;
1297pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1298pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1299pub const NID_time_stamp: i32 = 133;
1300pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1301pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1302pub const NID_ms_code_ind: i32 = 134;
1303pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1304pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1305pub const NID_ms_code_com: i32 = 135;
1306pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1307pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1308pub const NID_ms_ctl_sign: i32 = 136;
1309pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1310pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1311pub const NID_ms_sgc: i32 = 137;
1312pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1313pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1314pub const NID_ms_efs: i32 = 138;
1315pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1316pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1317pub const NID_ns_sgc: i32 = 139;
1318pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1319pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1320pub const NID_delta_crl: i32 = 140;
1321pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1322pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1323pub const NID_crl_reason: i32 = 141;
1324pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1325pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1326pub const NID_invalidity_date: i32 = 142;
1327pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1328pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1329pub const NID_sxnet: i32 = 143;
1330pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1331pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1332pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1333pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1334pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1335pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1336pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1337pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1338pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1339pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1340pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1341pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1342pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1343pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1344pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1345pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1346pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1347pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1348pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1349pub const NID_keyBag: i32 = 150;
1350pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1351pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1352pub const LN_certBag: &[u8; 8] = b"certBag\0";
1353pub const NID_certBag: i32 = 152;
1354pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1355pub const NID_crlBag: i32 = 153;
1356pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1357pub const NID_secretBag: i32 = 154;
1358pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1359pub const NID_safeContentsBag: i32 = 155;
1360pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1361pub const NID_friendlyName: i32 = 156;
1362pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1363pub const NID_localKeyID: i32 = 157;
1364pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1365pub const NID_x509Certificate: i32 = 158;
1366pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1367pub const NID_sdsiCertificate: i32 = 159;
1368pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1369pub const NID_x509Crl: i32 = 160;
1370pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1371pub const NID_pbes2: i32 = 161;
1372pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1373pub const NID_pbmac1: i32 = 162;
1374pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1375pub const NID_hmacWithSHA1: i32 = 163;
1376pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1377pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1378pub const NID_id_qt_cps: i32 = 164;
1379pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1380pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1381pub const NID_id_qt_unotice: i32 = 165;
1382pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1383pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1384pub const NID_rc2_64_cbc: i32 = 166;
1385pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1386pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1387pub const NID_SMIMECapabilities: i32 = 167;
1388pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1389pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1390pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1391pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1392pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1393pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1394pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1395pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1396pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1397pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1398pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1399pub const NID_ms_ext_req: i32 = 171;
1400pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1401pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1402pub const NID_ext_req: i32 = 172;
1403pub const SN_name: &[u8; 5] = b"name\0";
1404pub const LN_name: &[u8; 5] = b"name\0";
1405pub const NID_name: i32 = 173;
1406pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1407pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1408pub const NID_dnQualifier: i32 = 174;
1409pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1410pub const NID_id_pe: i32 = 175;
1411pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1412pub const NID_id_ad: i32 = 176;
1413pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1414pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1415pub const NID_info_access: i32 = 177;
1416pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1417pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1418pub const NID_ad_OCSP: i32 = 178;
1419pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1420pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1421pub const NID_ad_ca_issuers: i32 = 179;
1422pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1423pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1424pub const NID_OCSP_sign: i32 = 180;
1425pub const SN_iso: &[u8; 4] = b"ISO\0";
1426pub const LN_iso: &[u8; 4] = b"iso\0";
1427pub const NID_iso: i32 = 181;
1428pub const OBJ_iso: i32 = 1;
1429pub const SN_member_body: &[u8; 12] = b"member-body\0";
1430pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1431pub const NID_member_body: i32 = 182;
1432pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1433pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1434pub const NID_ISO_US: i32 = 183;
1435pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1436pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1437pub const NID_X9_57: i32 = 184;
1438pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1439pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1440pub const NID_X9cm: i32 = 185;
1441pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1442pub const NID_pkcs1: i32 = 186;
1443pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1444pub const NID_pkcs5: i32 = 187;
1445pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1446pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1447pub const NID_SMIME: i32 = 188;
1448pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1449pub const NID_id_smime_mod: i32 = 189;
1450pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1451pub const NID_id_smime_ct: i32 = 190;
1452pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1453pub const NID_id_smime_aa: i32 = 191;
1454pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1455pub const NID_id_smime_alg: i32 = 192;
1456pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1457pub const NID_id_smime_cd: i32 = 193;
1458pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1459pub const NID_id_smime_spq: i32 = 194;
1460pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1461pub const NID_id_smime_cti: i32 = 195;
1462pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1463pub const NID_id_smime_mod_cms: i32 = 196;
1464pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1465pub const NID_id_smime_mod_ess: i32 = 197;
1466pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1467pub const NID_id_smime_mod_oid: i32 = 198;
1468pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1469pub const NID_id_smime_mod_msg_v3: i32 = 199;
1470pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1471pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1472pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1473pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1474pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1475pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1476pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1477pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1478pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1479pub const NID_id_smime_ct_receipt: i32 = 204;
1480pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1481pub const NID_id_smime_ct_authData: i32 = 205;
1482pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1483pub const NID_id_smime_ct_publishCert: i32 = 206;
1484pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1485pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1486pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1487pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1488pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1489pub const NID_id_smime_ct_contentInfo: i32 = 209;
1490pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1491pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1492pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1493pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1494pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1495pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1496pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1497pub const NID_id_smime_aa_securityLabel: i32 = 213;
1498pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1499pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1500pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1501pub const NID_id_smime_aa_contentHint: i32 = 215;
1502pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1503pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1504pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1505pub const NID_id_smime_aa_encapContentType: i32 = 217;
1506pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1507pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1508pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1509pub const NID_id_smime_aa_macValue: i32 = 219;
1510pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1511pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1512pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1513pub const NID_id_smime_aa_contentReference: i32 = 221;
1514pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1515pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1516pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1517pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1518pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1519pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1520pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1521pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1522pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1523pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1524pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1525pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1526pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1527pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1528pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1529pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1530pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1531pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1532pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1533pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1534pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1535pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1536pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1537pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1538pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1539pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1540pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1541pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1542pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1543pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1544pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1545pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1546pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1547pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1548pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1549pub const NID_id_smime_aa_signatureType: i32 = 239;
1550pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1551pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1552pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1553pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1554pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1555pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1556pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1557pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1558pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1559pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1560pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1561pub const NID_id_smime_alg_ESDH: i32 = 245;
1562pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1563pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1564pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1565pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1566pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1567pub const NID_id_smime_cd_ldap: i32 = 248;
1568pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1569pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1570pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1571pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1572pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1573pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1574pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1575pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1576pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1577pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1578pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1579pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1580pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1581pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1582pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1583pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1584pub const SN_md4: &[u8; 4] = b"MD4\0";
1585pub const LN_md4: &[u8; 4] = b"md4\0";
1586pub const NID_md4: i32 = 257;
1587pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1588pub const NID_id_pkix_mod: i32 = 258;
1589pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1590pub const NID_id_qt: i32 = 259;
1591pub const SN_id_it: &[u8; 6] = b"id-it\0";
1592pub const NID_id_it: i32 = 260;
1593pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1594pub const NID_id_pkip: i32 = 261;
1595pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1596pub const NID_id_alg: i32 = 262;
1597pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1598pub const NID_id_cmc: i32 = 263;
1599pub const SN_id_on: &[u8; 6] = b"id-on\0";
1600pub const NID_id_on: i32 = 264;
1601pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1602pub const NID_id_pda: i32 = 265;
1603pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1604pub const NID_id_aca: i32 = 266;
1605pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1606pub const NID_id_qcs: i32 = 267;
1607pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1608pub const NID_id_cct: i32 = 268;
1609pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1610pub const NID_id_pkix1_explicit_88: i32 = 269;
1611pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1612pub const NID_id_pkix1_implicit_88: i32 = 270;
1613pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1614pub const NID_id_pkix1_explicit_93: i32 = 271;
1615pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1616pub const NID_id_pkix1_implicit_93: i32 = 272;
1617pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1618pub const NID_id_mod_crmf: i32 = 273;
1619pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1620pub const NID_id_mod_cmc: i32 = 274;
1621pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1622pub const NID_id_mod_kea_profile_88: i32 = 275;
1623pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1624pub const NID_id_mod_kea_profile_93: i32 = 276;
1625pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1626pub const NID_id_mod_cmp: i32 = 277;
1627pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1628pub const NID_id_mod_qualified_cert_88: i32 = 278;
1629pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1630pub const NID_id_mod_qualified_cert_93: i32 = 279;
1631pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1632pub const NID_id_mod_attribute_cert: i32 = 280;
1633pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1634pub const NID_id_mod_timestamp_protocol: i32 = 281;
1635pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1636pub const NID_id_mod_ocsp: i32 = 282;
1637pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1638pub const NID_id_mod_dvcs: i32 = 283;
1639pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1640pub const NID_id_mod_cmp2000: i32 = 284;
1641pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1642pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1643pub const NID_biometricInfo: i32 = 285;
1644pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1645pub const NID_qcStatements: i32 = 286;
1646pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1647pub const NID_ac_auditEntity: i32 = 287;
1648pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1649pub const NID_ac_targeting: i32 = 288;
1650pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1651pub const NID_aaControls: i32 = 289;
1652pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1653pub const NID_sbgp_ipAddrBlock: i32 = 290;
1654pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1655pub const NID_sbgp_autonomousSysNum: i32 = 291;
1656pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1657pub const NID_sbgp_routerIdentifier: i32 = 292;
1658pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1659pub const NID_textNotice: i32 = 293;
1660pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1661pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1662pub const NID_ipsecEndSystem: i32 = 294;
1663pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1664pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1665pub const NID_ipsecTunnel: i32 = 295;
1666pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1667pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1668pub const NID_ipsecUser: i32 = 296;
1669pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1670pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1671pub const NID_dvcs: i32 = 297;
1672pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1673pub const NID_id_it_caProtEncCert: i32 = 298;
1674pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1675pub const NID_id_it_signKeyPairTypes: i32 = 299;
1676pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1677pub const NID_id_it_encKeyPairTypes: i32 = 300;
1678pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1679pub const NID_id_it_preferredSymmAlg: i32 = 301;
1680pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1681pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1682pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1683pub const NID_id_it_currentCRL: i32 = 303;
1684pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1685pub const NID_id_it_unsupportedOIDs: i32 = 304;
1686pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1687pub const NID_id_it_subscriptionRequest: i32 = 305;
1688pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1689pub const NID_id_it_subscriptionResponse: i32 = 306;
1690pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1691pub const NID_id_it_keyPairParamReq: i32 = 307;
1692pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1693pub const NID_id_it_keyPairParamRep: i32 = 308;
1694pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1695pub const NID_id_it_revPassphrase: i32 = 309;
1696pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1697pub const NID_id_it_implicitConfirm: i32 = 310;
1698pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1699pub const NID_id_it_confirmWaitTime: i32 = 311;
1700pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1701pub const NID_id_it_origPKIMessage: i32 = 312;
1702pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1703pub const NID_id_regCtrl: i32 = 313;
1704pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1705pub const NID_id_regInfo: i32 = 314;
1706pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1707pub const NID_id_regCtrl_regToken: i32 = 315;
1708pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1709pub const NID_id_regCtrl_authenticator: i32 = 316;
1710pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1711pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1712pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1713pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1714pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1715pub const NID_id_regCtrl_oldCertID: i32 = 319;
1716pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1717pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1718pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1719pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1720pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1721pub const NID_id_regInfo_certReq: i32 = 322;
1722pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1723pub const NID_id_alg_des40: i32 = 323;
1724pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1725pub const NID_id_alg_noSignature: i32 = 324;
1726pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1727pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1728pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1729pub const NID_id_alg_dh_pop: i32 = 326;
1730pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1731pub const NID_id_cmc_statusInfo: i32 = 327;
1732pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1733pub const NID_id_cmc_identification: i32 = 328;
1734pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1735pub const NID_id_cmc_identityProof: i32 = 329;
1736pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1737pub const NID_id_cmc_dataReturn: i32 = 330;
1738pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1739pub const NID_id_cmc_transactionId: i32 = 331;
1740pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1741pub const NID_id_cmc_senderNonce: i32 = 332;
1742pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1743pub const NID_id_cmc_recipientNonce: i32 = 333;
1744pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1745pub const NID_id_cmc_addExtensions: i32 = 334;
1746pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1747pub const NID_id_cmc_encryptedPOP: i32 = 335;
1748pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1749pub const NID_id_cmc_decryptedPOP: i32 = 336;
1750pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1751pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1752pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1753pub const NID_id_cmc_getCert: i32 = 338;
1754pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1755pub const NID_id_cmc_getCRL: i32 = 339;
1756pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1757pub const NID_id_cmc_revokeRequest: i32 = 340;
1758pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1759pub const NID_id_cmc_regInfo: i32 = 341;
1760pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1761pub const NID_id_cmc_responseInfo: i32 = 342;
1762pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1763pub const NID_id_cmc_queryPending: i32 = 343;
1764pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1765pub const NID_id_cmc_popLinkRandom: i32 = 344;
1766pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1767pub const NID_id_cmc_popLinkWitness: i32 = 345;
1768pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1769pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1770pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1771pub const NID_id_on_personalData: i32 = 347;
1772pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1773pub const NID_id_pda_dateOfBirth: i32 = 348;
1774pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1775pub const NID_id_pda_placeOfBirth: i32 = 349;
1776pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1777pub const NID_id_pda_gender: i32 = 351;
1778pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1779pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1780pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1781pub const NID_id_pda_countryOfResidence: i32 = 353;
1782pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1783pub const NID_id_aca_authenticationInfo: i32 = 354;
1784pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1785pub const NID_id_aca_accessIdentity: i32 = 355;
1786pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1787pub const NID_id_aca_chargingIdentity: i32 = 356;
1788pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1789pub const NID_id_aca_group: i32 = 357;
1790pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1791pub const NID_id_aca_role: i32 = 358;
1792pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1793pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1794pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1795pub const NID_id_cct_crs: i32 = 360;
1796pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1797pub const NID_id_cct_PKIData: i32 = 361;
1798pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1799pub const NID_id_cct_PKIResponse: i32 = 362;
1800pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1801pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1802pub const NID_ad_timeStamping: i32 = 363;
1803pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1804pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1805pub const NID_ad_dvcs: i32 = 364;
1806pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1807pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1808pub const NID_id_pkix_OCSP_basic: i32 = 365;
1809pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1810pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1811pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1812pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1813pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1814pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1815pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1816pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1817pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1818pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1819pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1820pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1821pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1822pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1823pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1824pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1825pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1826pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1827pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1828pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1829pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1830pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1831pub const NID_id_pkix_OCSP_valid: i32 = 373;
1832pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1833pub const NID_id_pkix_OCSP_path: i32 = 374;
1834pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1835pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1836pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1837pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1838pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1839pub const NID_algorithm: i32 = 376;
1840pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1841pub const NID_rsaSignature: i32 = 377;
1842pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1843pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1844pub const NID_X500algorithms: i32 = 378;
1845pub const SN_org: &[u8; 4] = b"ORG\0";
1846pub const LN_org: &[u8; 4] = b"org\0";
1847pub const NID_org: i32 = 379;
1848pub const SN_dod: &[u8; 4] = b"DOD\0";
1849pub const LN_dod: &[u8; 4] = b"dod\0";
1850pub const NID_dod: i32 = 380;
1851pub const SN_iana: &[u8; 5] = b"IANA\0";
1852pub const LN_iana: &[u8; 5] = b"iana\0";
1853pub const NID_iana: i32 = 381;
1854pub const SN_Directory: &[u8; 10] = b"directory\0";
1855pub const LN_Directory: &[u8; 10] = b"Directory\0";
1856pub const NID_Directory: i32 = 382;
1857pub const SN_Management: &[u8; 5] = b"mgmt\0";
1858pub const LN_Management: &[u8; 11] = b"Management\0";
1859pub const NID_Management: i32 = 383;
1860pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1861pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1862pub const NID_Experimental: i32 = 384;
1863pub const SN_Private: &[u8; 8] = b"private\0";
1864pub const LN_Private: &[u8; 8] = b"Private\0";
1865pub const NID_Private: i32 = 385;
1866pub const SN_Security: &[u8; 9] = b"security\0";
1867pub const LN_Security: &[u8; 9] = b"Security\0";
1868pub const NID_Security: i32 = 386;
1869pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1870pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1871pub const NID_SNMPv2: i32 = 387;
1872pub const LN_Mail: &[u8; 5] = b"Mail\0";
1873pub const NID_Mail: i32 = 388;
1874pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1875pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1876pub const NID_Enterprises: i32 = 389;
1877pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1878pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1879pub const NID_dcObject: i32 = 390;
1880pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1881pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1882pub const NID_domainComponent: i32 = 391;
1883pub const SN_Domain: &[u8; 7] = b"domain\0";
1884pub const LN_Domain: &[u8; 7] = b"Domain\0";
1885pub const NID_Domain: i32 = 392;
1886pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1887pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1888pub const NID_selected_attribute_types: i32 = 394;
1889pub const SN_clearance: &[u8; 10] = b"clearance\0";
1890pub const NID_clearance: i32 = 395;
1891pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1892pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1893pub const NID_md4WithRSAEncryption: i32 = 396;
1894pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1895pub const NID_ac_proxying: i32 = 397;
1896pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1897pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1898pub const NID_sinfo_access: i32 = 398;
1899pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1900pub const NID_id_aca_encAttrs: i32 = 399;
1901pub const SN_role: &[u8; 5] = b"role\0";
1902pub const LN_role: &[u8; 5] = b"role\0";
1903pub const NID_role: i32 = 400;
1904pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1905pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1906pub const NID_policy_constraints: i32 = 401;
1907pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1908pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1909pub const NID_target_information: i32 = 402;
1910pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1911pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1912pub const NID_no_rev_avail: i32 = 403;
1913pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1914pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1915pub const NID_ansi_X9_62: i32 = 405;
1916pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1917pub const NID_X9_62_prime_field: i32 = 406;
1918pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1919pub const NID_X9_62_characteristic_two_field: i32 = 407;
1920pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1921pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1922pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1923pub const NID_X9_62_prime192v1: i32 = 409;
1924pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1925pub const NID_X9_62_prime192v2: i32 = 410;
1926pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1927pub const NID_X9_62_prime192v3: i32 = 411;
1928pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1929pub const NID_X9_62_prime239v1: i32 = 412;
1930pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1931pub const NID_X9_62_prime239v2: i32 = 413;
1932pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1933pub const NID_X9_62_prime239v3: i32 = 414;
1934pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1935pub const NID_X9_62_prime256v1: i32 = 415;
1936pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1937pub const NID_ecdsa_with_SHA1: i32 = 416;
1938pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1939pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1940pub const NID_ms_csp_name: i32 = 417;
1941pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1942pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1943pub const NID_aes_128_ecb: i32 = 418;
1944pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1945pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1946pub const NID_aes_128_cbc: i32 = 419;
1947pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1948pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1949pub const NID_aes_128_ofb128: i32 = 420;
1950pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1951pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1952pub const NID_aes_128_cfb128: i32 = 421;
1953pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1954pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1955pub const NID_aes_192_ecb: i32 = 422;
1956pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1957pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1958pub const NID_aes_192_cbc: i32 = 423;
1959pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1960pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1961pub const NID_aes_192_ofb128: i32 = 424;
1962pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1963pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1964pub const NID_aes_192_cfb128: i32 = 425;
1965pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1966pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1967pub const NID_aes_256_ecb: i32 = 426;
1968pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1969pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1970pub const NID_aes_256_cbc: i32 = 427;
1971pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1972pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1973pub const NID_aes_256_ofb128: i32 = 428;
1974pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1975pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1976pub const NID_aes_256_cfb128: i32 = 429;
1977pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1978pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1979pub const NID_hold_instruction_code: i32 = 430;
1980pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1981pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1982pub const NID_hold_instruction_none: i32 = 431;
1983pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1984pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1985pub const NID_hold_instruction_call_issuer: i32 = 432;
1986pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1987pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1988pub const NID_hold_instruction_reject: i32 = 433;
1989pub const SN_data: &[u8; 5] = b"data\0";
1990pub const NID_data: i32 = 434;
1991pub const SN_pss: &[u8; 4] = b"pss\0";
1992pub const NID_pss: i32 = 435;
1993pub const SN_ucl: &[u8; 4] = b"ucl\0";
1994pub const NID_ucl: i32 = 436;
1995pub const SN_pilot: &[u8; 6] = b"pilot\0";
1996pub const NID_pilot: i32 = 437;
1997pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1998pub const NID_pilotAttributeType: i32 = 438;
1999pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
2000pub const NID_pilotAttributeSyntax: i32 = 439;
2001pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
2002pub const NID_pilotObjectClass: i32 = 440;
2003pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
2004pub const NID_pilotGroups: i32 = 441;
2005pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
2006pub const NID_iA5StringSyntax: i32 = 442;
2007pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
2008pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
2009pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
2010pub const NID_pilotObject: i32 = 444;
2011pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2012pub const NID_pilotPerson: i32 = 445;
2013pub const SN_account: &[u8; 8] = b"account\0";
2014pub const NID_account: i32 = 446;
2015pub const SN_document: &[u8; 9] = b"document\0";
2016pub const NID_document: i32 = 447;
2017pub const SN_room: &[u8; 5] = b"room\0";
2018pub const NID_room: i32 = 448;
2019pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2020pub const NID_documentSeries: i32 = 449;
2021pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2022pub const NID_rFC822localPart: i32 = 450;
2023pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2024pub const NID_dNSDomain: i32 = 451;
2025pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2026pub const NID_domainRelatedObject: i32 = 452;
2027pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2028pub const NID_friendlyCountry: i32 = 453;
2029pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2030pub const NID_simpleSecurityObject: i32 = 454;
2031pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2032pub const NID_pilotOrganization: i32 = 455;
2033pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2034pub const NID_pilotDSA: i32 = 456;
2035pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2036pub const NID_qualityLabelledData: i32 = 457;
2037pub const SN_userId: &[u8; 4] = b"UID\0";
2038pub const LN_userId: &[u8; 7] = b"userId\0";
2039pub const NID_userId: i32 = 458;
2040pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2041pub const NID_textEncodedORAddress: i32 = 459;
2042pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2043pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2044pub const NID_rfc822Mailbox: i32 = 460;
2045pub const SN_info: &[u8; 5] = b"info\0";
2046pub const NID_info: i32 = 461;
2047pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2048pub const NID_favouriteDrink: i32 = 462;
2049pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2050pub const NID_roomNumber: i32 = 463;
2051pub const SN_photo: &[u8; 6] = b"photo\0";
2052pub const NID_photo: i32 = 464;
2053pub const LN_userClass: &[u8; 10] = b"userClass\0";
2054pub const NID_userClass: i32 = 465;
2055pub const SN_host: &[u8; 5] = b"host\0";
2056pub const NID_host: i32 = 466;
2057pub const SN_manager: &[u8; 8] = b"manager\0";
2058pub const NID_manager: i32 = 467;
2059pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2060pub const NID_documentIdentifier: i32 = 468;
2061pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2062pub const NID_documentTitle: i32 = 469;
2063pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2064pub const NID_documentVersion: i32 = 470;
2065pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2066pub const NID_documentAuthor: i32 = 471;
2067pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2068pub const NID_documentLocation: i32 = 472;
2069pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2070pub const NID_homeTelephoneNumber: i32 = 473;
2071pub const SN_secretary: &[u8; 10] = b"secretary\0";
2072pub const NID_secretary: i32 = 474;
2073pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2074pub const NID_otherMailbox: i32 = 475;
2075pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2076pub const NID_lastModifiedTime: i32 = 476;
2077pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2078pub const NID_lastModifiedBy: i32 = 477;
2079pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2080pub const NID_aRecord: i32 = 478;
2081pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2082pub const NID_pilotAttributeType27: i32 = 479;
2083pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2084pub const NID_mXRecord: i32 = 480;
2085pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2086pub const NID_nSRecord: i32 = 481;
2087pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2088pub const NID_sOARecord: i32 = 482;
2089pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2090pub const NID_cNAMERecord: i32 = 483;
2091pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2092pub const NID_associatedDomain: i32 = 484;
2093pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2094pub const NID_associatedName: i32 = 485;
2095pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2096pub const NID_homePostalAddress: i32 = 486;
2097pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2098pub const NID_personalTitle: i32 = 487;
2099pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2100pub const NID_mobileTelephoneNumber: i32 = 488;
2101pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2102pub const NID_pagerTelephoneNumber: i32 = 489;
2103pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2104pub const NID_friendlyCountryName: i32 = 490;
2105pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2106pub const NID_organizationalStatus: i32 = 491;
2107pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2108pub const NID_janetMailbox: i32 = 492;
2109pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2110pub const NID_mailPreferenceOption: i32 = 493;
2111pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2112pub const NID_buildingName: i32 = 494;
2113pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2114pub const NID_dSAQuality: i32 = 495;
2115pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2116pub const NID_singleLevelQuality: i32 = 496;
2117pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2118pub const NID_subtreeMinimumQuality: i32 = 497;
2119pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2120pub const NID_subtreeMaximumQuality: i32 = 498;
2121pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2122pub const NID_personalSignature: i32 = 499;
2123pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2124pub const NID_dITRedirect: i32 = 500;
2125pub const SN_audio: &[u8; 6] = b"audio\0";
2126pub const NID_audio: i32 = 501;
2127pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2128pub const NID_documentPublisher: i32 = 502;
2129pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2130pub const NID_x500UniqueIdentifier: i32 = 503;
2131pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2132pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2133pub const NID_mime_mhs: i32 = 504;
2134pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2135pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2136pub const NID_mime_mhs_headings: i32 = 505;
2137pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2138pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2139pub const NID_mime_mhs_bodies: i32 = 506;
2140pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2141pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2142pub const NID_id_hex_partial_message: i32 = 507;
2143pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2144pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2145pub const NID_id_hex_multipart_message: i32 = 508;
2146pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2147pub const NID_generationQualifier: i32 = 509;
2148pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2149pub const NID_pseudonym: i32 = 510;
2150pub const SN_id_set: &[u8; 7] = b"id-set\0";
2151pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2152pub const NID_id_set: i32 = 512;
2153pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2154pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2155pub const NID_set_ctype: i32 = 513;
2156pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2157pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2158pub const NID_set_msgExt: i32 = 514;
2159pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2160pub const NID_set_attr: i32 = 515;
2161pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2162pub const NID_set_policy: i32 = 516;
2163pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2164pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2165pub const NID_set_certExt: i32 = 517;
2166pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2167pub const NID_set_brand: i32 = 518;
2168pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2169pub const NID_setct_PANData: i32 = 519;
2170pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2171pub const NID_setct_PANToken: i32 = 520;
2172pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2173pub const NID_setct_PANOnly: i32 = 521;
2174pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2175pub const NID_setct_OIData: i32 = 522;
2176pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2177pub const NID_setct_PI: i32 = 523;
2178pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2179pub const NID_setct_PIData: i32 = 524;
2180pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2181pub const NID_setct_PIDataUnsigned: i32 = 525;
2182pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2183pub const NID_setct_HODInput: i32 = 526;
2184pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2185pub const NID_setct_AuthResBaggage: i32 = 527;
2186pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2187pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2188pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2189pub const NID_setct_AuthRevResBaggage: i32 = 529;
2190pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2191pub const NID_setct_CapTokenSeq: i32 = 530;
2192pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2193pub const NID_setct_PInitResData: i32 = 531;
2194pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2195pub const NID_setct_PI_TBS: i32 = 532;
2196pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2197pub const NID_setct_PResData: i32 = 533;
2198pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2199pub const NID_setct_AuthReqTBS: i32 = 534;
2200pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2201pub const NID_setct_AuthResTBS: i32 = 535;
2202pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2203pub const NID_setct_AuthResTBSX: i32 = 536;
2204pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2205pub const NID_setct_AuthTokenTBS: i32 = 537;
2206pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2207pub const NID_setct_CapTokenData: i32 = 538;
2208pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2209pub const NID_setct_CapTokenTBS: i32 = 539;
2210pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2211pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2212pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2213pub const NID_setct_AuthRevReqTBS: i32 = 541;
2214pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2215pub const NID_setct_AuthRevResData: i32 = 542;
2216pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2217pub const NID_setct_AuthRevResTBS: i32 = 543;
2218pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2219pub const NID_setct_CapReqTBS: i32 = 544;
2220pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2221pub const NID_setct_CapReqTBSX: i32 = 545;
2222pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2223pub const NID_setct_CapResData: i32 = 546;
2224pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2225pub const NID_setct_CapRevReqTBS: i32 = 547;
2226pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2227pub const NID_setct_CapRevReqTBSX: i32 = 548;
2228pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2229pub const NID_setct_CapRevResData: i32 = 549;
2230pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2231pub const NID_setct_CredReqTBS: i32 = 550;
2232pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2233pub const NID_setct_CredReqTBSX: i32 = 551;
2234pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2235pub const NID_setct_CredResData: i32 = 552;
2236pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2237pub const NID_setct_CredRevReqTBS: i32 = 553;
2238pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2239pub const NID_setct_CredRevReqTBSX: i32 = 554;
2240pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2241pub const NID_setct_CredRevResData: i32 = 555;
2242pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2243pub const NID_setct_PCertReqData: i32 = 556;
2244pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2245pub const NID_setct_PCertResTBS: i32 = 557;
2246pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2247pub const NID_setct_BatchAdminReqData: i32 = 558;
2248pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2249pub const NID_setct_BatchAdminResData: i32 = 559;
2250pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2251pub const NID_setct_CardCInitResTBS: i32 = 560;
2252pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2253pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2254pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2255pub const NID_setct_RegFormResTBS: i32 = 562;
2256pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2257pub const NID_setct_CertReqData: i32 = 563;
2258pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2259pub const NID_setct_CertReqTBS: i32 = 564;
2260pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2261pub const NID_setct_CertResData: i32 = 565;
2262pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2263pub const NID_setct_CertInqReqTBS: i32 = 566;
2264pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2265pub const NID_setct_ErrorTBS: i32 = 567;
2266pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2267pub const NID_setct_PIDualSignedTBE: i32 = 568;
2268pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2269pub const NID_setct_PIUnsignedTBE: i32 = 569;
2270pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2271pub const NID_setct_AuthReqTBE: i32 = 570;
2272pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2273pub const NID_setct_AuthResTBE: i32 = 571;
2274pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2275pub const NID_setct_AuthResTBEX: i32 = 572;
2276pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2277pub const NID_setct_AuthTokenTBE: i32 = 573;
2278pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2279pub const NID_setct_CapTokenTBE: i32 = 574;
2280pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2281pub const NID_setct_CapTokenTBEX: i32 = 575;
2282pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2283pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2284pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2285pub const NID_setct_AuthRevReqTBE: i32 = 577;
2286pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2287pub const NID_setct_AuthRevResTBE: i32 = 578;
2288pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2289pub const NID_setct_AuthRevResTBEB: i32 = 579;
2290pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2291pub const NID_setct_CapReqTBE: i32 = 580;
2292pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2293pub const NID_setct_CapReqTBEX: i32 = 581;
2294pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2295pub const NID_setct_CapResTBE: i32 = 582;
2296pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2297pub const NID_setct_CapRevReqTBE: i32 = 583;
2298pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2299pub const NID_setct_CapRevReqTBEX: i32 = 584;
2300pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2301pub const NID_setct_CapRevResTBE: i32 = 585;
2302pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2303pub const NID_setct_CredReqTBE: i32 = 586;
2304pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2305pub const NID_setct_CredReqTBEX: i32 = 587;
2306pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2307pub const NID_setct_CredResTBE: i32 = 588;
2308pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2309pub const NID_setct_CredRevReqTBE: i32 = 589;
2310pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2311pub const NID_setct_CredRevReqTBEX: i32 = 590;
2312pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2313pub const NID_setct_CredRevResTBE: i32 = 591;
2314pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2315pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2316pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2317pub const NID_setct_BatchAdminResTBE: i32 = 593;
2318pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2319pub const NID_setct_RegFormReqTBE: i32 = 594;
2320pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2321pub const NID_setct_CertReqTBE: i32 = 595;
2322pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2323pub const NID_setct_CertReqTBEX: i32 = 596;
2324pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2325pub const NID_setct_CertResTBE: i32 = 597;
2326pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2327pub const NID_setct_CRLNotificationTBS: i32 = 598;
2328pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2329pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2330pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2331pub const NID_setct_BCIDistributionTBS: i32 = 600;
2332pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2333pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2334pub const NID_setext_genCrypt: i32 = 601;
2335pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2336pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2337pub const NID_setext_miAuth: i32 = 602;
2338pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2339pub const NID_setext_pinSecure: i32 = 603;
2340pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2341pub const NID_setext_pinAny: i32 = 604;
2342pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2343pub const NID_setext_track2: i32 = 605;
2344pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2345pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2346pub const NID_setext_cv: i32 = 606;
2347pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2348pub const NID_set_policy_root: i32 = 607;
2349pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2350pub const NID_setCext_hashedRoot: i32 = 608;
2351pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2352pub const NID_setCext_certType: i32 = 609;
2353pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2354pub const NID_setCext_merchData: i32 = 610;
2355pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2356pub const NID_setCext_cCertRequired: i32 = 611;
2357pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2358pub const NID_setCext_tunneling: i32 = 612;
2359pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2360pub const NID_setCext_setExt: i32 = 613;
2361pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2362pub const NID_setCext_setQualf: i32 = 614;
2363pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2364pub const NID_setCext_PGWYcapabilities: i32 = 615;
2365pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2366pub const NID_setCext_TokenIdentifier: i32 = 616;
2367pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2368pub const NID_setCext_Track2Data: i32 = 617;
2369pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2370pub const NID_setCext_TokenType: i32 = 618;
2371pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2372pub const NID_setCext_IssuerCapabilities: i32 = 619;
2373pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2374pub const NID_setAttr_Cert: i32 = 620;
2375pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2376pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2377pub const NID_setAttr_PGWYcap: i32 = 621;
2378pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2379pub const NID_setAttr_TokenType: i32 = 622;
2380pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2381pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2382pub const NID_setAttr_IssCap: i32 = 623;
2383pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2384pub const NID_set_rootKeyThumb: i32 = 624;
2385pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2386pub const NID_set_addPolicy: i32 = 625;
2387pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2388pub const NID_setAttr_Token_EMV: i32 = 626;
2389pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2390pub const NID_setAttr_Token_B0Prime: i32 = 627;
2391pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2392pub const NID_setAttr_IssCap_CVM: i32 = 628;
2393pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2394pub const NID_setAttr_IssCap_T2: i32 = 629;
2395pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2396pub const NID_setAttr_IssCap_Sig: i32 = 630;
2397pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2398pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2399pub const NID_setAttr_GenCryptgrm: i32 = 631;
2400pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2401pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2402pub const NID_setAttr_T2Enc: i32 = 632;
2403pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2404pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2405pub const NID_setAttr_T2cleartxt: i32 = 633;
2406pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2407pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2408pub const NID_setAttr_TokICCsig: i32 = 634;
2409pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2410pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2411pub const NID_setAttr_SecDevSig: i32 = 635;
2412pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2413pub const NID_set_brand_IATA_ATA: i32 = 636;
2414pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2415pub const NID_set_brand_Diners: i32 = 637;
2416pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2417pub const NID_set_brand_AmericanExpress: i32 = 638;
2418pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2419pub const NID_set_brand_JCB: i32 = 639;
2420pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2421pub const NID_set_brand_Visa: i32 = 640;
2422pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2423pub const NID_set_brand_MasterCard: i32 = 641;
2424pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2425pub const NID_set_brand_Novus: i32 = 642;
2426pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2427pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2428pub const NID_des_cdmf: i32 = 643;
2429pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2430pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2431pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2432pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2433pub const NID_itu_t: i32 = 645;
2434pub const OBJ_itu_t: i32 = 0;
2435pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2436pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2437pub const NID_joint_iso_itu_t: i32 = 646;
2438pub const OBJ_joint_iso_itu_t: i32 = 2;
2439pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2440pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2441pub const NID_international_organizations: i32 = 647;
2442pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2443pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2444pub const NID_ms_smartcard_login: i32 = 648;
2445pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2446pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2447pub const NID_ms_upn: i32 = 649;
2448pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2449pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2450pub const NID_aes_128_cfb1: i32 = 650;
2451pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2452pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2453pub const NID_aes_192_cfb1: i32 = 651;
2454pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2455pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2456pub const NID_aes_256_cfb1: i32 = 652;
2457pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2458pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2459pub const NID_aes_128_cfb8: i32 = 653;
2460pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2461pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2462pub const NID_aes_192_cfb8: i32 = 654;
2463pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2464pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2465pub const NID_aes_256_cfb8: i32 = 655;
2466pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2467pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2468pub const NID_des_cfb1: i32 = 656;
2469pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2470pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2471pub const NID_des_cfb8: i32 = 657;
2472pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2473pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2474pub const NID_des_ede3_cfb1: i32 = 658;
2475pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2476pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2477pub const NID_des_ede3_cfb8: i32 = 659;
2478pub const SN_streetAddress: &[u8; 7] = b"street\0";
2479pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2480pub const NID_streetAddress: i32 = 660;
2481pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2482pub const NID_postalCode: i32 = 661;
2483pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2484pub const NID_id_ppl: i32 = 662;
2485pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2486pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2487pub const NID_proxyCertInfo: i32 = 663;
2488pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2489pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2490pub const NID_id_ppl_anyLanguage: i32 = 664;
2491pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2492pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2493pub const NID_id_ppl_inheritAll: i32 = 665;
2494pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2495pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2496pub const NID_name_constraints: i32 = 666;
2497pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2498pub const LN_Independent: &[u8; 12] = b"Independent\0";
2499pub const NID_Independent: i32 = 667;
2500pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2501pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2502pub const NID_sha256WithRSAEncryption: i32 = 668;
2503pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2504pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2505pub const NID_sha384WithRSAEncryption: i32 = 669;
2506pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2507pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2508pub const NID_sha512WithRSAEncryption: i32 = 670;
2509pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2510pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2511pub const NID_sha224WithRSAEncryption: i32 = 671;
2512pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2513pub const LN_sha256: &[u8; 7] = b"sha256\0";
2514pub const NID_sha256: i32 = 672;
2515pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2516pub const LN_sha384: &[u8; 7] = b"sha384\0";
2517pub const NID_sha384: i32 = 673;
2518pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2519pub const LN_sha512: &[u8; 7] = b"sha512\0";
2520pub const NID_sha512: i32 = 674;
2521pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2522pub const LN_sha224: &[u8; 7] = b"sha224\0";
2523pub const NID_sha224: i32 = 675;
2524pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2525pub const NID_identified_organization: i32 = 676;
2526pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2527pub const NID_certicom_arc: i32 = 677;
2528pub const SN_wap: &[u8; 4] = b"wap\0";
2529pub const NID_wap: i32 = 678;
2530pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2531pub const NID_wap_wsg: i32 = 679;
2532pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2533pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2534pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2535pub const NID_X9_62_onBasis: i32 = 681;
2536pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2537pub const NID_X9_62_tpBasis: i32 = 682;
2538pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2539pub const NID_X9_62_ppBasis: i32 = 683;
2540pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2541pub const NID_X9_62_c2pnb163v1: i32 = 684;
2542pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2543pub const NID_X9_62_c2pnb163v2: i32 = 685;
2544pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2545pub const NID_X9_62_c2pnb163v3: i32 = 686;
2546pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2547pub const NID_X9_62_c2pnb176v1: i32 = 687;
2548pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2549pub const NID_X9_62_c2tnb191v1: i32 = 688;
2550pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2551pub const NID_X9_62_c2tnb191v2: i32 = 689;
2552pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2553pub const NID_X9_62_c2tnb191v3: i32 = 690;
2554pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2555pub const NID_X9_62_c2onb191v4: i32 = 691;
2556pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2557pub const NID_X9_62_c2onb191v5: i32 = 692;
2558pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2559pub const NID_X9_62_c2pnb208w1: i32 = 693;
2560pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2561pub const NID_X9_62_c2tnb239v1: i32 = 694;
2562pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2563pub const NID_X9_62_c2tnb239v2: i32 = 695;
2564pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2565pub const NID_X9_62_c2tnb239v3: i32 = 696;
2566pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2567pub const NID_X9_62_c2onb239v4: i32 = 697;
2568pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2569pub const NID_X9_62_c2onb239v5: i32 = 698;
2570pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2571pub const NID_X9_62_c2pnb272w1: i32 = 699;
2572pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2573pub const NID_X9_62_c2pnb304w1: i32 = 700;
2574pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2575pub const NID_X9_62_c2tnb359v1: i32 = 701;
2576pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2577pub const NID_X9_62_c2pnb368w1: i32 = 702;
2578pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2579pub const NID_X9_62_c2tnb431r1: i32 = 703;
2580pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2581pub const NID_secp112r1: i32 = 704;
2582pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2583pub const NID_secp112r2: i32 = 705;
2584pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2585pub const NID_secp128r1: i32 = 706;
2586pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2587pub const NID_secp128r2: i32 = 707;
2588pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2589pub const NID_secp160k1: i32 = 708;
2590pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2591pub const NID_secp160r1: i32 = 709;
2592pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2593pub const NID_secp160r2: i32 = 710;
2594pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2595pub const NID_secp192k1: i32 = 711;
2596pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2597pub const NID_secp224k1: i32 = 712;
2598pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2599pub const NID_secp224r1: i32 = 713;
2600pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2601pub const NID_secp256k1: i32 = 714;
2602pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2603pub const NID_secp384r1: i32 = 715;
2604pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2605pub const NID_secp521r1: i32 = 716;
2606pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2607pub const NID_sect113r1: i32 = 717;
2608pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2609pub const NID_sect113r2: i32 = 718;
2610pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2611pub const NID_sect131r1: i32 = 719;
2612pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2613pub const NID_sect131r2: i32 = 720;
2614pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2615pub const NID_sect163k1: i32 = 721;
2616pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2617pub const NID_sect163r1: i32 = 722;
2618pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2619pub const NID_sect163r2: i32 = 723;
2620pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2621pub const NID_sect193r1: i32 = 724;
2622pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2623pub const NID_sect193r2: i32 = 725;
2624pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2625pub const NID_sect233k1: i32 = 726;
2626pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2627pub const NID_sect233r1: i32 = 727;
2628pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2629pub const NID_sect239k1: i32 = 728;
2630pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2631pub const NID_sect283k1: i32 = 729;
2632pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2633pub const NID_sect283r1: i32 = 730;
2634pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2635pub const NID_sect409k1: i32 = 731;
2636pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2637pub const NID_sect409r1: i32 = 732;
2638pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2639pub const NID_sect571k1: i32 = 733;
2640pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2641pub const NID_sect571r1: i32 = 734;
2642pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2643pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2644pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2645pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2646pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2647pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2648pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2649pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2650pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2651pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2652pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2653pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2654pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2655pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2656pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2657pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2658pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2659pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2660pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2661pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2662pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2663pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2664pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2665pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2666pub const NID_any_policy: i32 = 746;
2667pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2668pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2669pub const NID_policy_mappings: i32 = 747;
2670pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2671pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2672pub const NID_inhibit_any_policy: i32 = 748;
2673pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2674pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2675pub const NID_ipsec3: i32 = 749;
2676pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2677pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2678pub const NID_ipsec4: i32 = 750;
2679pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2680pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2681pub const NID_camellia_128_cbc: i32 = 751;
2682pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2683pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2684pub const NID_camellia_192_cbc: i32 = 752;
2685pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2686pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2687pub const NID_camellia_256_cbc: i32 = 753;
2688pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2689pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2690pub const NID_camellia_128_ecb: i32 = 754;
2691pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2692pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2693pub const NID_camellia_192_ecb: i32 = 755;
2694pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2695pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2696pub const NID_camellia_256_ecb: i32 = 756;
2697pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2698pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2699pub const NID_camellia_128_cfb128: i32 = 757;
2700pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2701pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2702pub const NID_camellia_192_cfb128: i32 = 758;
2703pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2704pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2705pub const NID_camellia_256_cfb128: i32 = 759;
2706pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2707pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2708pub const NID_camellia_128_cfb1: i32 = 760;
2709pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2710pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2711pub const NID_camellia_192_cfb1: i32 = 761;
2712pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2713pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2714pub const NID_camellia_256_cfb1: i32 = 762;
2715pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2716pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2717pub const NID_camellia_128_cfb8: i32 = 763;
2718pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2719pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2720pub const NID_camellia_192_cfb8: i32 = 764;
2721pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2722pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2723pub const NID_camellia_256_cfb8: i32 = 765;
2724pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2725pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2726pub const NID_camellia_128_ofb128: i32 = 766;
2727pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2728pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2729pub const NID_camellia_192_ofb128: i32 = 767;
2730pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2731pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2732pub const NID_camellia_256_ofb128: i32 = 768;
2733pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2734pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2735pub const NID_subject_directory_attributes: i32 = 769;
2736pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2737pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2738pub const NID_issuing_distribution_point: i32 = 770;
2739pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2740pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2741pub const NID_certificate_issuer: i32 = 771;
2742pub const SN_kisa: &[u8; 5] = b"KISA\0";
2743pub const LN_kisa: &[u8; 5] = b"kisa\0";
2744pub const NID_kisa: i32 = 773;
2745pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2746pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2747pub const NID_seed_ecb: i32 = 776;
2748pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2749pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2750pub const NID_seed_cbc: i32 = 777;
2751pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2752pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2753pub const NID_seed_ofb128: i32 = 778;
2754pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2755pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2756pub const NID_seed_cfb128: i32 = 779;
2757pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2758pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2759pub const NID_hmac_md5: i32 = 780;
2760pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2761pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2762pub const NID_hmac_sha1: i32 = 781;
2763pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2764pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2765pub const NID_id_PasswordBasedMAC: i32 = 782;
2766pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2767pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2768pub const NID_id_DHBasedMac: i32 = 783;
2769pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2770pub const NID_id_it_suppLangTags: i32 = 784;
2771pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2772pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2773pub const NID_caRepository: i32 = 785;
2774pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2775pub const NID_id_smime_ct_compressedData: i32 = 786;
2776pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2777pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2778pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2779pub const NID_id_aes128_wrap: i32 = 788;
2780pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2781pub const NID_id_aes192_wrap: i32 = 789;
2782pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2783pub const NID_id_aes256_wrap: i32 = 790;
2784pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2785pub const NID_ecdsa_with_Recommended: i32 = 791;
2786pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2787pub const NID_ecdsa_with_Specified: i32 = 792;
2788pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2789pub const NID_ecdsa_with_SHA224: i32 = 793;
2790pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2791pub const NID_ecdsa_with_SHA256: i32 = 794;
2792pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2793pub const NID_ecdsa_with_SHA384: i32 = 795;
2794pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2795pub const NID_ecdsa_with_SHA512: i32 = 796;
2796pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2797pub const NID_hmacWithMD5: i32 = 797;
2798pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2799pub const NID_hmacWithSHA224: i32 = 798;
2800pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2801pub const NID_hmacWithSHA256: i32 = 799;
2802pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2803pub const NID_hmacWithSHA384: i32 = 800;
2804pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2805pub const NID_hmacWithSHA512: i32 = 801;
2806pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2807pub const NID_dsa_with_SHA224: i32 = 802;
2808pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2809pub const NID_dsa_with_SHA256: i32 = 803;
2810pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2811pub const NID_whirlpool: i32 = 804;
2812pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2813pub const NID_cryptopro: i32 = 805;
2814pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2815pub const NID_cryptocom: i32 = 806;
2816pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2817    b"id-GostR3411-94-with-GostR3410-2001\0";
2818pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2819    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2820pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2821pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2822pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2823    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2824pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2825pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2826pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2827pub const NID_id_GostR3411_94: i32 = 809;
2828pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2829pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2830pub const NID_id_HMACGostR3411_94: i32 = 810;
2831pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2832pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2833pub const NID_id_GostR3410_2001: i32 = 811;
2834pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2835pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2836pub const NID_id_GostR3410_94: i32 = 812;
2837pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2838pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2839pub const NID_id_Gost28147_89: i32 = 813;
2840pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2841pub const NID_gost89_cnt: i32 = 814;
2842pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2843pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2844pub const NID_id_Gost28147_89_MAC: i32 = 815;
2845pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2846pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2847pub const NID_id_GostR3411_94_prf: i32 = 816;
2848pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2849pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2850pub const NID_id_GostR3410_2001DH: i32 = 817;
2851pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2852pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2853pub const NID_id_GostR3410_94DH: i32 = 818;
2854pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2855    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2856pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2857pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2858pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2859pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2860pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2861pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2862pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2863pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2864pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2865pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2866    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2867pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2868pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2869    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2870pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2871pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2872    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2873pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2874pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2875    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2876pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2877pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2878    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2879pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2880pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2881    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2882pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2883pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2884    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2885pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2886pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2887pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2888pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2889    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2890pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2891pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2892    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2893pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2894pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2895    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2896pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2897pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2898    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2899pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2900pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2901    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2902pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2903pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2904    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2905pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2906pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2907    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2908pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2909pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2910pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2911pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2912    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2913pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2914pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2915    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2916pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2917pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2918    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2919pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2920pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2921    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2922pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2923pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2924    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2925pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2926pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2927pub const NID_id_GostR3410_94_a: i32 = 845;
2928pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2929pub const NID_id_GostR3410_94_aBis: i32 = 846;
2930pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2931pub const NID_id_GostR3410_94_b: i32 = 847;
2932pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2933pub const NID_id_GostR3410_94_bBis: i32 = 848;
2934pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2935pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2936pub const NID_id_Gost28147_89_cc: i32 = 849;
2937pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2938pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2939pub const NID_id_GostR3410_94_cc: i32 = 850;
2940pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2941pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2942pub const NID_id_GostR3410_2001_cc: i32 = 851;
2943pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2944    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2945pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2946    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2947pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2948pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2949    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2950pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2951    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2952pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2953pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2954pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2955    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2956pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2957pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2958pub const LN_hmac: &[u8; 5] = b"hmac\0";
2959pub const NID_hmac: i32 = 855;
2960pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2961pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2962pub const NID_LocalKeySet: i32 = 856;
2963pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2964pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2965pub const NID_freshest_crl: i32 = 857;
2966pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2967pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2968pub const NID_id_on_permanentIdentifier: i32 = 858;
2969pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2970pub const NID_searchGuide: i32 = 859;
2971pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2972pub const NID_businessCategory: i32 = 860;
2973pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2974pub const NID_postalAddress: i32 = 861;
2975pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2976pub const NID_postOfficeBox: i32 = 862;
2977pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2978pub const NID_physicalDeliveryOfficeName: i32 = 863;
2979pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2980pub const NID_telephoneNumber: i32 = 864;
2981pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2982pub const NID_telexNumber: i32 = 865;
2983pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2984pub const NID_teletexTerminalIdentifier: i32 = 866;
2985pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2986pub const NID_facsimileTelephoneNumber: i32 = 867;
2987pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2988pub const NID_x121Address: i32 = 868;
2989pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2990pub const NID_internationaliSDNNumber: i32 = 869;
2991pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2992pub const NID_registeredAddress: i32 = 870;
2993pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2994pub const NID_destinationIndicator: i32 = 871;
2995pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2996pub const NID_preferredDeliveryMethod: i32 = 872;
2997pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2998pub const NID_presentationAddress: i32 = 873;
2999pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
3000pub const NID_supportedApplicationContext: i32 = 874;
3001pub const SN_member: &[u8; 7] = b"member\0";
3002pub const NID_member: i32 = 875;
3003pub const SN_owner: &[u8; 6] = b"owner\0";
3004pub const NID_owner: i32 = 876;
3005pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
3006pub const NID_roleOccupant: i32 = 877;
3007pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
3008pub const NID_seeAlso: i32 = 878;
3009pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
3010pub const NID_userPassword: i32 = 879;
3011pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3012pub const NID_userCertificate: i32 = 880;
3013pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3014pub const NID_cACertificate: i32 = 881;
3015pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3016pub const NID_authorityRevocationList: i32 = 882;
3017pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3018pub const NID_certificateRevocationList: i32 = 883;
3019pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3020pub const NID_crossCertificatePair: i32 = 884;
3021pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3022pub const NID_enhancedSearchGuide: i32 = 885;
3023pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3024pub const NID_protocolInformation: i32 = 886;
3025pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3026pub const NID_distinguishedName: i32 = 887;
3027pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3028pub const NID_uniqueMember: i32 = 888;
3029pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3030pub const NID_houseIdentifier: i32 = 889;
3031pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3032pub const NID_supportedAlgorithms: i32 = 890;
3033pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3034pub const NID_deltaRevocationList: i32 = 891;
3035pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3036pub const NID_dmdName: i32 = 892;
3037pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3038pub const NID_id_alg_PWRI_KEK: i32 = 893;
3039pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3040pub const LN_cmac: &[u8; 5] = b"cmac\0";
3041pub const NID_cmac: i32 = 894;
3042pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3043pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3044pub const NID_aes_128_gcm: i32 = 895;
3045pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3046pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3047pub const NID_aes_128_ccm: i32 = 896;
3048pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3049pub const NID_id_aes128_wrap_pad: i32 = 897;
3050pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3051pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3052pub const NID_aes_192_gcm: i32 = 898;
3053pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3054pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3055pub const NID_aes_192_ccm: i32 = 899;
3056pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3057pub const NID_id_aes192_wrap_pad: i32 = 900;
3058pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3059pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3060pub const NID_aes_256_gcm: i32 = 901;
3061pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3062pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3063pub const NID_aes_256_ccm: i32 = 902;
3064pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3065pub const NID_id_aes256_wrap_pad: i32 = 903;
3066pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3067pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3068pub const NID_aes_128_ctr: i32 = 904;
3069pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3070pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3071pub const NID_aes_192_ctr: i32 = 905;
3072pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3073pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3074pub const NID_aes_256_ctr: i32 = 906;
3075pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3076pub const NID_id_camellia128_wrap: i32 = 907;
3077pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3078pub const NID_id_camellia192_wrap: i32 = 908;
3079pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3080pub const NID_id_camellia256_wrap: i32 = 909;
3081pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3082pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3083pub const NID_anyExtendedKeyUsage: i32 = 910;
3084pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3085pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3086pub const NID_mgf1: i32 = 911;
3087pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3088pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3089pub const NID_rsassaPss: i32 = 912;
3090pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3091pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3092pub const NID_aes_128_xts: i32 = 913;
3093pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3094pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3095pub const NID_aes_256_xts: i32 = 914;
3096pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3097pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3098pub const NID_rc4_hmac_md5: i32 = 915;
3099pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3100pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3101pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3102pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3103pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3104pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3105pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3106pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3107pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3108pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3109pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3110pub const NID_rsaesOaep: i32 = 919;
3111pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3112pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3113pub const NID_dhpublicnumber: i32 = 920;
3114pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3115pub const NID_brainpoolP160r1: i32 = 921;
3116pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3117pub const NID_brainpoolP160t1: i32 = 922;
3118pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3119pub const NID_brainpoolP192r1: i32 = 923;
3120pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3121pub const NID_brainpoolP192t1: i32 = 924;
3122pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3123pub const NID_brainpoolP224r1: i32 = 925;
3124pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3125pub const NID_brainpoolP224t1: i32 = 926;
3126pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3127pub const NID_brainpoolP256r1: i32 = 927;
3128pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3129pub const NID_brainpoolP256t1: i32 = 928;
3130pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3131pub const NID_brainpoolP320r1: i32 = 929;
3132pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3133pub const NID_brainpoolP320t1: i32 = 930;
3134pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3135pub const NID_brainpoolP384r1: i32 = 931;
3136pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3137pub const NID_brainpoolP384t1: i32 = 932;
3138pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3139pub const NID_brainpoolP512r1: i32 = 933;
3140pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3141pub const NID_brainpoolP512t1: i32 = 934;
3142pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3143pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3144pub const NID_pSpecified: i32 = 935;
3145pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3146pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3147pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3148    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3149pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3150pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3151    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3152pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3153pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3154    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3155pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3156pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3157    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3158pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3159pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3160    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3161pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3162pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3163    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3164pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3165pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3166    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3167pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3168pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3169    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3170pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3171pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3172    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3173pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3174pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3175pub const NID_dh_std_kdf: i32 = 946;
3176pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3177pub const NID_dh_cofactor_kdf: i32 = 947;
3178pub const SN_X25519: &[u8; 7] = b"X25519\0";
3179pub const NID_X25519: i32 = 948;
3180pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3181pub const NID_ED25519: i32 = 949;
3182pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3183pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3184pub const NID_chacha20_poly1305: i32 = 950;
3185pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3186pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3187pub const NID_kx_rsa: i32 = 951;
3188pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3189pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3190pub const NID_kx_ecdhe: i32 = 952;
3191pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3192pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3193pub const NID_kx_psk: i32 = 953;
3194pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3195pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3196pub const NID_auth_rsa: i32 = 954;
3197pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3198pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3199pub const NID_auth_ecdsa: i32 = 955;
3200pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3201pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3202pub const NID_auth_psk: i32 = 956;
3203pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3204pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3205pub const NID_kx_any: i32 = 957;
3206pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3207pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3208pub const NID_auth_any: i32 = 958;
3209pub const SN_ED448: &[u8; 6] = b"ED448\0";
3210pub const NID_ED448: i32 = 960;
3211pub const SN_X448: &[u8; 5] = b"X448\0";
3212pub const NID_X448: i32 = 961;
3213pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3214pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3215pub const NID_sha512_256: i32 = 962;
3216pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3217pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3218pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3219pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3220pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3221pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3222pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3223pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3224pub const NID_sha3_224: i32 = 965;
3225pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3226pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3227pub const NID_sha3_256: i32 = 966;
3228pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3229pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3230pub const NID_sha3_384: i32 = 967;
3231pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3232pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3233pub const NID_sha3_512: i32 = 968;
3234pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3235pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3236pub const NID_hkdf: i32 = 969;
3237pub const SN_kem: &[u8; 4] = b"KEM\0";
3238pub const LN_kem: &[u8; 4] = b"kem\0";
3239pub const NID_kem: i32 = 970;
3240pub const SN_KYBER512: &[u8; 9] = b"KYBER512\0";
3241pub const NID_KYBER512: i32 = 971;
3242pub const SN_KYBER512_R3: &[u8; 12] = b"KYBER512_R3\0";
3243pub const NID_KYBER512_R3: i32 = 972;
3244pub const SN_KYBER768_R3: &[u8; 12] = b"KYBER768_R3\0";
3245pub const NID_KYBER768_R3: i32 = 973;
3246pub const SN_KYBER1024_R3: &[u8; 13] = b"KYBER1024_R3\0";
3247pub const NID_KYBER1024_R3: i32 = 974;
3248pub const SN_DILITHIUM3_R3: &[u8; 14] = b"DILITHIUM3_R3\0";
3249pub const NID_DILITHIUM3_R3: i32 = 975;
3250pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3251pub const NID_ffdhe2048: i32 = 976;
3252pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3253pub const NID_ffdhe4096: i32 = 977;
3254pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3255pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3256pub const NID_sha512_224: i32 = 978;
3257pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3258pub const LN_shake128: &[u8; 9] = b"shake128\0";
3259pub const NID_shake128: i32 = 979;
3260pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3261pub const LN_shake256: &[u8; 9] = b"shake256\0";
3262pub const NID_shake256: i32 = 980;
3263pub const SN_SecP256r1Kyber768Draft00: &[u8; 25] = b"SecP256r1Kyber768Draft00\0";
3264pub const NID_SecP256r1Kyber768Draft00: i32 = 981;
3265pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3266pub const NID_X25519Kyber768Draft00: i32 = 982;
3267pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3268pub const NID_ffdhe3072: i32 = 983;
3269pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3270pub const NID_ffdhe8192: i32 = 984;
3271pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3272pub const NID_MLKEM512IPD: i32 = 985;
3273pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3274pub const NID_MLKEM768IPD: i32 = 986;
3275pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3276pub const NID_MLKEM1024IPD: i32 = 987;
3277pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3278pub const NID_MLKEM512: i32 = 988;
3279pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3280pub const NID_MLKEM768: i32 = 989;
3281pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3282pub const NID_MLKEM1024: i32 = 990;
3283pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3284pub const NID_X25519MLKEM768: i32 = 991;
3285pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3286pub const NID_SecP256r1MLKEM768: i32 = 992;
3287pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
3288pub const NID_PQDSA: i32 = 993;
3289pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
3290pub const NID_MLDSA44: i32 = 994;
3291pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
3292pub const NID_MLDSA65: i32 = 995;
3293pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
3294pub const NID_MLDSA87: i32 = 996;
3295pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
3296pub const NID_ED25519ph: i32 = 997;
3297pub const SN_SecP384r1MLKEM1024: &[u8; 19] = b"SecP384r1MLKEM1024\0";
3298pub const NID_SecP384r1MLKEM1024: i32 = 998;
3299pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3300pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3301pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3302pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3303pub const EVP_PKEY_NONE: i32 = 0;
3304pub const EVP_PKEY_RSA: i32 = 6;
3305pub const EVP_PKEY_RSA_PSS: i32 = 912;
3306pub const EVP_PKEY_EC: i32 = 408;
3307pub const EVP_PKEY_ED25519: i32 = 949;
3308pub const EVP_PKEY_ED25519PH: i32 = 997;
3309pub const EVP_PKEY_X25519: i32 = 948;
3310pub const EVP_PKEY_HKDF: i32 = 969;
3311pub const EVP_PKEY_HMAC: i32 = 855;
3312pub const EVP_PKEY_DH: i32 = 28;
3313pub const EVP_PKEY_PQDSA: i32 = 993;
3314pub const EVP_PKEY_KEM: i32 = 970;
3315pub const PKCS5_SALT_LEN: i32 = 8;
3316pub const EVP_PKEY_RSA2: i32 = 19;
3317pub const EVP_PKEY_X448: i32 = 961;
3318pub const EVP_PKEY_ED448: i32 = 960;
3319pub const EVP_PKEY_DSA: i32 = 116;
3320pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3321pub const MD5_CBLOCK: i32 = 64;
3322pub const MD5_DIGEST_LENGTH: i32 = 16;
3323pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3324pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3325pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3326pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3327pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3328pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3329pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3330pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3331pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3332pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3333pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3334pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3335pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3336pub const HMAC_R_PRECOMPUTED_KEY_NOT_SUPPORTED_FOR_DIGEST: i32 = 105;
3337pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3338pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 32;
3339pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 32;
3340pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 32;
3341pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3342pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3343pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3344pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3345pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3346pub const HRSS_SAMPLE_BYTES: i32 = 700;
3347pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3348pub const HRSS_ENCAP_BYTES: i32 = 1400;
3349pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3350pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3351pub const HRSS_KEY_BYTES: i32 = 32;
3352pub const HRSS_POLY3_BYTES: i32 = 140;
3353pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3354pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3355pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3356pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3357pub const MD4_CBLOCK: i32 = 64;
3358pub const MD4_DIGEST_LENGTH: i32 = 16;
3359pub const PKCS7_DETACHED: i32 = 64;
3360pub const PKCS7_BINARY: i32 = 128;
3361pub const PKCS7_NOINTERN: i32 = 16;
3362pub const PKCS7_NOATTR: i32 = 256;
3363pub const PKCS7_NOCERTS: i32 = 2;
3364pub const PKCS7_NOVERIFY: i32 = 32;
3365pub const PKCS7_TEXT: i32 = 1;
3366pub const PKCS7_NOSIGS: i32 = 4;
3367pub const PKCS7_NOCHAIN: i32 = 8;
3368pub const PKCS7_NOSMIMECAP: i32 = 512;
3369pub const PKCS7_STREAM: i32 = 4096;
3370pub const PKCS7_PARTIAL: i32 = 16384;
3371pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3372pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3373pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3374pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3375pub const PKCS7_R_INVALID_NULL_POINTER: i32 = 104;
3376pub const PKCS7_R_NO_CONTENT: i32 = 105;
3377pub const PKCS7_R_CIPHER_NOT_INITIALIZED: i32 = 106;
3378pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 107;
3379pub const PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST: i32 = 108;
3380pub const PKCS7_R_UNABLE_TO_FIND_MEM_BIO: i32 = 109;
3381pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 110;
3382pub const PKCS7_R_CONTENT_AND_DATA_PRESENT: i32 = 111;
3383pub const PKCS7_R_NO_SIGNATURES_ON_DATA: i32 = 112;
3384pub const PKCS7_R_CERTIFICATE_VERIFY_ERROR: i32 = 113;
3385pub const PKCS7_R_SMIME_TEXT_ERROR: i32 = 114;
3386pub const PKCS7_R_SIGNATURE_FAILURE: i32 = 115;
3387pub const PKCS7_R_NO_SIGNERS: i32 = 116;
3388pub const PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 117;
3389pub const PKCS7_R_ERROR_SETTING_CIPHER: i32 = 118;
3390pub const PKCS7_R_ERROR_ADDING_RECIPIENT: i32 = 119;
3391pub const PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 120;
3392pub const PKCS7_R_DECRYPT_ERROR: i32 = 121;
3393pub const PKCS7_R_PKCS7_DATASIGN: i32 = 122;
3394pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 123;
3395pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 124;
3396pub const PKCS7_R_UNKNOWN_DIGEST_TYPE: i32 = 125;
3397pub const PKCS7_R_INVALID_SIGNED_DATA_TYPE: i32 = 126;
3398pub const PKCS7_R_UNSUPPORTED_CIPHER_TYPE: i32 = 127;
3399pub const PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE: i32 = 128;
3400pub const PKCS7_R_DIGEST_FAILURE: i32 = 129;
3401pub const PKCS7_R_WRONG_PKCS7_TYPE: i32 = 130;
3402pub const PKCS7_R_PKCS7_ADD_SIGNER_ERROR: i32 = 131;
3403pub const PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR: i32 = 132;
3404pub const PKCS7_R_NO_DEFAULT_DIGEST: i32 = 133;
3405pub const PKCS7_R_CERT_MUST_BE_RSA: i32 = 134;
3406pub const PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE: i32 = 135;
3407pub const RSA_PKCS1_PADDING: i32 = 1;
3408pub const RSA_NO_PADDING: i32 = 3;
3409pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3410pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3411pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3412pub const RSA_FLAG_OPAQUE: i32 = 1;
3413pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3414pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3415pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3416pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3417pub const RSA_3: i32 = 3;
3418pub const RSA_F4: i32 = 65537;
3419pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3420pub const RSA_R_BAD_ENCODING: i32 = 100;
3421pub const RSA_R_BAD_E_VALUE: i32 = 101;
3422pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3423pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3424pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3425pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3426pub const RSA_R_BAD_VERSION: i32 = 106;
3427pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3428pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3429pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3430pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3431pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3432pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3433pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3434pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3435pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3436pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3437pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3438pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3439pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3440pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3441pub const RSA_R_ENCODE_ERROR: i32 = 121;
3442pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3443pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3444pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3445pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3446pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3447pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3448pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3449pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3450pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3451pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3452pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3453pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3454pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3455pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3456pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3457pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3458pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3459pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3460pub const RSA_R_TOO_LONG: i32 = 140;
3461pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3462pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3463pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3464pub const RSA_R_VALUE_MISSING: i32 = 144;
3465pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3466pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3467pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3468pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3469pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3470pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3471pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3472pub const X509V3_R_BAD_OBJECT: i32 = 101;
3473pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3474pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3475pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3476pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3477pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3478pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3479pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3480pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3481pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3482pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3483pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3484pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3485pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3486pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3487pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3488pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3489pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3490pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3491pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3492pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3493pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3494pub const X509V3_R_INVALID_NAME: i32 = 123;
3495pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3496pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3497pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3498pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3499pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3500pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3501pub const X509V3_R_INVALID_OPTION: i32 = 130;
3502pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3503pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3504pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3505pub const X509V3_R_INVALID_SECTION: i32 = 134;
3506pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3507pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3508pub const X509V3_R_MISSING_VALUE: i32 = 137;
3509pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3510pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3511pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3512pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3513pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3514pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3515pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3516pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3517pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3518pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3519pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3520pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3521pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3522pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3523pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3524pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3525pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3526pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3527pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3528pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3529pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3530pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3531pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3532pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3533pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3534pub const X509V3_R_INVALID_VALUE: i32 = 163;
3535pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3536pub const X509_VERSION_1: i32 = 0;
3537pub const X509_VERSION_2: i32 = 1;
3538pub const X509_VERSION_3: i32 = 2;
3539pub const EXFLAG_BCONS: i32 = 1;
3540pub const EXFLAG_KUSAGE: i32 = 2;
3541pub const EXFLAG_XKUSAGE: i32 = 4;
3542pub const EXFLAG_NSCERT: i32 = 8;
3543pub const EXFLAG_CA: i32 = 16;
3544pub const EXFLAG_SI: i32 = 32;
3545pub const EXFLAG_V1: i32 = 64;
3546pub const EXFLAG_INVALID: i32 = 128;
3547pub const EXFLAG_SET: i32 = 256;
3548pub const EXFLAG_CRITICAL: i32 = 512;
3549pub const EXFLAG_SS: i32 = 8192;
3550pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3551pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3552pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3553pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3554pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3555pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3556pub const X509v3_KU_CRL_SIGN: i32 = 2;
3557pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3558pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3559pub const XKU_SSL_SERVER: i32 = 1;
3560pub const XKU_SSL_CLIENT: i32 = 2;
3561pub const XKU_SMIME: i32 = 4;
3562pub const XKU_CODE_SIGN: i32 = 8;
3563pub const XKU_SGC: i32 = 16;
3564pub const XKU_OCSP_SIGN: i32 = 32;
3565pub const XKU_TIMESTAMP: i32 = 64;
3566pub const XKU_DVCS: i32 = 128;
3567pub const XKU_ANYEKU: i32 = 256;
3568pub const X509_SIG_INFO_VALID: i32 = 1;
3569pub const X509_SIG_INFO_TLS: i32 = 2;
3570pub const X509_CRL_VERSION_1: i32 = 0;
3571pub const X509_CRL_VERSION_2: i32 = 1;
3572pub const X509_REQ_VERSION_1: i32 = 0;
3573pub const X509V3_ADD_OP_MASK: i32 = 15;
3574pub const X509V3_ADD_DEFAULT: i32 = 0;
3575pub const X509V3_ADD_APPEND: i32 = 1;
3576pub const X509V3_ADD_REPLACE: i32 = 2;
3577pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3578pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3579pub const X509V3_ADD_DELETE: i32 = 5;
3580pub const X509V3_ADD_SILENT: i32 = 16;
3581pub const GEN_OTHERNAME: i32 = 0;
3582pub const GEN_EMAIL: i32 = 1;
3583pub const GEN_DNS: i32 = 2;
3584pub const GEN_X400: i32 = 3;
3585pub const GEN_DIRNAME: i32 = 4;
3586pub const GEN_EDIPARTY: i32 = 5;
3587pub const GEN_URI: i32 = 6;
3588pub const GEN_IPADD: i32 = 7;
3589pub const GEN_RID: i32 = 8;
3590pub const X509_LU_NONE: i32 = 0;
3591pub const X509_LU_X509: i32 = 1;
3592pub const X509_LU_CRL: i32 = 2;
3593pub const X509_LU_PKEY: i32 = 3;
3594pub const X509_V_OK: i32 = 0;
3595pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3596pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3597pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3598pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3599pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3600pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3601pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3602pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3603pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3604pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3605pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3606pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3607pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3608pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3609pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3610pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3611pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3612pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3613pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3614pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3615pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3616pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3617pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3618pub const X509_V_ERR_INVALID_CA: i32 = 24;
3619pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3620pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3621pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3622pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3623pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3624pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3625pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3626pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3627pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3628pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3629pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3630pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3631pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3632pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3633pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3634pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3635pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3636pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3637pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3638pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3639pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3640pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3641pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3642pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3643pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3644pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3645pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3646pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3647pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3648pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3649pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3650pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3651pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3652pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3653pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3654pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3655pub const X509_V_ERR_EE_KEY_TOO_SMALL: i32 = 68;
3656pub const X509_V_ERR_CA_KEY_TOO_SMALL: i32 = 69;
3657pub const X509_V_ERR_CA_MD_TOO_WEAK: i32 = 70;
3658pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3659pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3660pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3661pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3662pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3663pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3664pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3665pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3666pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3667pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3668pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3669pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3670pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3671pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3672pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3673pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
3674pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3675pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
3676pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3677pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3678pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3679pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3680pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3681pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3682pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3683pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3684pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3685pub const X509_PURPOSE_ANY: i32 = 7;
3686pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3687pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3688pub const X509_TRUST_COMPAT: i32 = 1;
3689pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3690pub const X509_TRUST_SSL_SERVER: i32 = 3;
3691pub const X509_TRUST_EMAIL: i32 = 4;
3692pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3693pub const X509_TRUST_OCSP_SIGN: i32 = 6;
3694pub const X509_TRUST_OCSP_REQUEST: i32 = 7;
3695pub const X509_TRUST_TSA: i32 = 8;
3696pub const X509_FILETYPE_PEM: i32 = 1;
3697pub const X509_FILETYPE_ASN1: i32 = 2;
3698pub const X509_FILETYPE_DEFAULT: i32 = 3;
3699pub const X509_L_FILE_LOAD: i32 = 1;
3700pub const X509_L_ADD_DIR: i32 = 2;
3701pub const X509_FLAG_COMPAT: i32 = 0;
3702pub const X509_FLAG_NO_HEADER: i32 = 1;
3703pub const X509_FLAG_NO_VERSION: i32 = 2;
3704pub const X509_FLAG_NO_SERIAL: i32 = 4;
3705pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3706pub const X509_FLAG_NO_ISSUER: i32 = 16;
3707pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3708pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3709pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3710pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3711pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3712pub const X509_FLAG_NO_AUX: i32 = 1024;
3713pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3714pub const X509_FLAG_NO_IDS: i32 = 4096;
3715pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3716pub const X509V3_EXT_DEFAULT: i32 = 0;
3717pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3718pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3719pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3720pub const XN_FLAG_COMPAT: i32 = 0;
3721pub const XN_FLAG_SEP_MASK: i32 = 983040;
3722pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3723pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3724pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3725pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3726pub const XN_FLAG_DN_REV: i32 = 1048576;
3727pub const XN_FLAG_FN_MASK: i32 = 6291456;
3728pub const XN_FLAG_FN_SN: i32 = 0;
3729pub const XN_FLAG_FN_LN: i32 = 2097152;
3730pub const XN_FLAG_FN_OID: i32 = 4194304;
3731pub const XN_FLAG_FN_NONE: i32 = 6291456;
3732pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3733pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3734pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
3735pub const XN_FLAG_RFC2253: i32 = 17892119;
3736pub const XN_FLAG_ONELINE: i32 = 8520479;
3737pub const XN_FLAG_MULTILINE: i32 = 44302342;
3738pub const X509_TRUST_TRUSTED: i32 = 1;
3739pub const X509_TRUST_REJECTED: i32 = 2;
3740pub const X509_TRUST_UNTRUSTED: i32 = 3;
3741pub const X509V3_EXT_MULTILINE: i32 = 4;
3742pub const X509V3_CTX_TEST: i32 = 1;
3743pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3744pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3745pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3746pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3747pub const NS_SSL_CLIENT: i32 = 128;
3748pub const NS_SSL_SERVER: i32 = 64;
3749pub const NS_SMIME: i32 = 32;
3750pub const NS_OBJSIGN: i32 = 16;
3751pub const NS_SSL_CA: i32 = 4;
3752pub const NS_SMIME_CA: i32 = 2;
3753pub const NS_OBJSIGN_CA: i32 = 1;
3754pub const NS_ANY_CA: i32 = 7;
3755pub const X509_V_FLAG_POLICY_MASK: i32 = 1920;
3756pub const X509_R_AKID_MISMATCH: i32 = 100;
3757pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3758pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3759pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3760pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3761pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3762pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3763pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3764pub const X509_R_IDP_MISMATCH: i32 = 108;
3765pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3766pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3767pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3768pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3769pub const X509_R_INVALID_TRUST: i32 = 113;
3770pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3771pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3772pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3773pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3774pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3775pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3776pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3777pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3778pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3779pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3780pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3781pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3782pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3783pub const X509_R_SHOULD_RETRY: i32 = 127;
3784pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3785pub const X509_R_UNKNOWN_NID: i32 = 129;
3786pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3787pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3788pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3789pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3790pub const X509_R_WRONG_TYPE: i32 = 134;
3791pub const X509_R_NAME_TOO_LONG: i32 = 135;
3792pub const X509_R_INVALID_PARAMETER: i32 = 136;
3793pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3794pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3795pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3796pub const X509_R_INVALID_VERSION: i32 = 140;
3797pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3798pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3799pub const X509_R_NO_CRL_FOUND: i32 = 143;
3800pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3801pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
3802pub const CRL_REASON_NONE: i32 = -1;
3803pub const CRL_REASON_UNSPECIFIED: i32 = 0;
3804pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
3805pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
3806pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
3807pub const CRL_REASON_SUPERSEDED: i32 = 4;
3808pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
3809pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
3810pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
3811pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
3812pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
3813pub const KU_DIGITAL_SIGNATURE: i32 = 128;
3814pub const KU_NON_REPUDIATION: i32 = 64;
3815pub const KU_KEY_ENCIPHERMENT: i32 = 32;
3816pub const KU_DATA_ENCIPHERMENT: i32 = 16;
3817pub const KU_KEY_AGREEMENT: i32 = 8;
3818pub const KU_KEY_CERT_SIGN: i32 = 4;
3819pub const KU_CRL_SIGN: i32 = 2;
3820pub const KU_ENCIPHER_ONLY: i32 = 1;
3821pub const KU_DECIPHER_ONLY: i32 = 32768;
3822pub const OCSP_REVOKED_STATUS_NOSTATUS: i32 = -1;
3823pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
3824pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
3825pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
3826pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
3827pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
3828pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
3829pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
3830pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
3831pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
3832pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
3833pub const OCSP_NOCERTS: i32 = 1;
3834pub const OCSP_NOINTERN: i32 = 2;
3835pub const OCSP_NOCHAIN: i32 = 8;
3836pub const OCSP_NOVERIFY: i32 = 16;
3837pub const OCSP_NOEXPLICIT: i32 = 32;
3838pub const OCSP_TRUSTOTHER: i32 = 512;
3839pub const OCSP_RESPID_KEY: i32 = 1024;
3840pub const OCSP_NOTIME: i32 = 2048;
3841pub const OCSP_NOSIGS: i32 = 0;
3842pub const OCSP_NOCASIGN: i32 = 0;
3843pub const OCSP_NODELEGATED: i32 = 0;
3844pub const OCSP_NOCHECKS: i32 = 0;
3845pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
3846pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
3847pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
3848pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
3849pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
3850pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
3851pub const V_OCSP_RESPID_NAME: i32 = 0;
3852pub const V_OCSP_RESPID_KEY: i32 = 1;
3853pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
3854pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
3855pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
3856pub const OCSP_NONCE_EQUAL: i32 = 1;
3857pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
3858pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
3859pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
3860pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
3861pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
3862pub const OCSP_R_DIGEST_ERR: i32 = 102;
3863pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
3864pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
3865pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
3866pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
3867pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
3868pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
3869pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
3870pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
3871pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
3872pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
3873pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
3874pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
3875pub const OCSP_R_UNKNOWN_NID: i32 = 120;
3876pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
3877pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
3878pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
3879pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
3880pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
3881pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
3882pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
3883pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
3884pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
3885pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
3886pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
3887pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
3888pub const PEM_BUFSIZE: i32 = 1024;
3889pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3890pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3891pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3892pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3893pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3894pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
3895pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
3896pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
3897pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
3898pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
3899pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
3900pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
3901pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
3902pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
3903pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
3904pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
3905pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
3906pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
3907pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
3908pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
3909pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
3910pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
3911pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
3912pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
3913pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
3914pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
3915pub const PEM_TYPE_ENCRYPTED: i32 = 10;
3916pub const PEM_TYPE_MIC_ONLY: i32 = 20;
3917pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
3918pub const PEM_TYPE_CLEAR: i32 = 40;
3919pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
3920pub const PEM_R_BAD_DECRYPT: i32 = 101;
3921pub const PEM_R_BAD_END_LINE: i32 = 102;
3922pub const PEM_R_BAD_IV_CHARS: i32 = 103;
3923pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
3924pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
3925pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
3926pub const PEM_R_NOT_DEK_INFO: i32 = 107;
3927pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
3928pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
3929pub const PEM_R_NO_START_LINE: i32 = 110;
3930pub const PEM_R_READ_KEY: i32 = 111;
3931pub const PEM_R_SHORT_HEADER: i32 = 112;
3932pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
3933pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
3934pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
3935pub const PKCS12_DEFAULT_ITER: i32 = 2048;
3936pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
3937pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
3938pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
3939pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
3940pub const PKCS8_R_DECODE_ERROR: i32 = 104;
3941pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
3942pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
3943pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
3944pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
3945pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
3946pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
3947pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
3948pub const PKCS8_R_MISSING_MAC: i32 = 112;
3949pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
3950pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
3951pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
3952pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
3953pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
3954pub const PKCS8_R_TOO_LONG: i32 = 118;
3955pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
3956pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
3957pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
3958pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
3959pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
3960pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
3961pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
3962pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
3963pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
3964pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
3965pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
3966pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
3967pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
3968pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
3969pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
3970pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
3971pub const RIPEMD160_CBLOCK: i32 = 64;
3972pub const RIPEMD160_LBLOCK: i32 = 16;
3973pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
3974pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
3975pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
3976pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
3977pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
3978pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
3979pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
3980pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
3981pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
3982pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
3983pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
3984pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
3985pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
3986pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
3987pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
3988pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
3989pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
3990pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
3991pub type __off_t = ::std::os::raw::c_long;
3992pub type __off64_t = ::std::os::raw::c_long;
3993pub type __time_t = ::std::os::raw::c_long;
3994pub type time_t = __time_t;
3995pub type ossl_ssize_t = isize;
3996pub type CBS_ASN1_TAG = u32;
3997pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3998#[repr(C)]
3999#[derive(Debug, Copy, Clone)]
4000pub struct asn1_null_st {
4001    _unused: [u8; 0],
4002}
4003pub type ASN1_NULL = asn1_null_st;
4004pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
4005pub type ASN1_ITEM = ASN1_ITEM_st;
4006#[repr(C)]
4007#[derive(Debug, Copy, Clone)]
4008pub struct asn1_object_st {
4009    _unused: [u8; 0],
4010}
4011pub type ASN1_OBJECT = asn1_object_st;
4012#[repr(C)]
4013#[derive(Debug, Copy, Clone)]
4014pub struct asn1_pctx_st {
4015    _unused: [u8; 0],
4016}
4017pub type ASN1_PCTX = asn1_pctx_st;
4018pub type ASN1_BIT_STRING = asn1_string_st;
4019pub type ASN1_BMPSTRING = asn1_string_st;
4020pub type ASN1_ENUMERATED = asn1_string_st;
4021pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4022pub type ASN1_GENERALSTRING = asn1_string_st;
4023pub type ASN1_IA5STRING = asn1_string_st;
4024pub type ASN1_INTEGER = asn1_string_st;
4025pub type ASN1_OCTET_STRING = asn1_string_st;
4026pub type ASN1_PRINTABLESTRING = asn1_string_st;
4027pub type ASN1_STRING = asn1_string_st;
4028pub type ASN1_T61STRING = asn1_string_st;
4029pub type ASN1_TIME = asn1_string_st;
4030pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4031pub type ASN1_UTCTIME = asn1_string_st;
4032pub type ASN1_UTF8STRING = asn1_string_st;
4033pub type ASN1_VISIBLESTRING = asn1_string_st;
4034pub type ASN1_TYPE = asn1_type_st;
4035pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4036pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4037pub type DIST_POINT = DIST_POINT_st;
4038pub type DSA_SIG = DSA_SIG_st;
4039pub type GENERAL_NAME = GENERAL_NAME_st;
4040pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4041pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4042pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4043pub type NETSCAPE_SPKI = Netscape_spki_st;
4044pub type RIPEMD160_CTX = RIPEMD160state_st;
4045#[repr(C)]
4046#[derive(Debug, Copy, Clone)]
4047pub struct X509_VERIFY_PARAM_st {
4048    _unused: [u8; 0],
4049}
4050pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4051pub type X509_ALGOR = X509_algor_st;
4052#[repr(C)]
4053#[derive(Debug, Copy, Clone)]
4054pub struct X509_crl_st {
4055    _unused: [u8; 0],
4056}
4057pub type X509_CRL = X509_crl_st;
4058#[repr(C)]
4059#[derive(Debug, Copy, Clone)]
4060pub struct X509_extension_st {
4061    _unused: [u8; 0],
4062}
4063pub type X509_EXTENSION = X509_extension_st;
4064pub type X509_INFO = X509_info_st;
4065#[repr(C)]
4066#[derive(Debug, Copy, Clone)]
4067pub struct X509_name_entry_st {
4068    _unused: [u8; 0],
4069}
4070pub type X509_NAME_ENTRY = X509_name_entry_st;
4071#[repr(C)]
4072#[derive(Debug, Copy, Clone)]
4073pub struct X509_name_st {
4074    _unused: [u8; 0],
4075}
4076pub type X509_NAME = X509_name_st;
4077#[repr(C)]
4078#[derive(Debug, Copy, Clone)]
4079pub struct X509_pubkey_st {
4080    _unused: [u8; 0],
4081}
4082pub type X509_PUBKEY = X509_pubkey_st;
4083#[repr(C)]
4084#[derive(Debug, Copy, Clone)]
4085pub struct X509_req_st {
4086    _unused: [u8; 0],
4087}
4088pub type X509_REQ = X509_req_st;
4089#[repr(C)]
4090#[derive(Debug, Copy, Clone)]
4091pub struct x509_sig_info_st {
4092    _unused: [u8; 0],
4093}
4094pub type X509_SIG_INFO = x509_sig_info_st;
4095#[repr(C)]
4096#[derive(Debug, Copy, Clone)]
4097pub struct X509_sig_st {
4098    _unused: [u8; 0],
4099}
4100pub type X509_SIG = X509_sig_st;
4101#[repr(C)]
4102#[derive(Debug, Copy, Clone)]
4103pub struct bignum_ctx {
4104    _unused: [u8; 0],
4105}
4106pub type BN_CTX = bignum_ctx;
4107pub type BIGNUM = bignum_st;
4108pub type BIO_METHOD = bio_method_st;
4109pub type BIO = bio_st;
4110pub type BLAKE2B_CTX = blake2b_state_st;
4111pub type BN_GENCB = bn_gencb_st;
4112pub type BN_MONT_CTX = bn_mont_ctx_st;
4113pub type BUF_MEM = buf_mem_st;
4114#[repr(C)]
4115#[derive(Debug, Copy, Clone)]
4116pub struct cast_key_st {
4117    _unused: [u8; 0],
4118}
4119pub type CAST_KEY = cast_key_st;
4120pub type CBB = cbb_st;
4121pub type CBS = cbs_st;
4122#[repr(C)]
4123#[derive(Debug, Copy, Clone)]
4124pub struct cmac_ctx_st {
4125    _unused: [u8; 0],
4126}
4127pub type CMAC_CTX = cmac_ctx_st;
4128pub type CONF = conf_st;
4129pub type CONF_VALUE = conf_value_st;
4130#[repr(C)]
4131#[derive(Debug, Copy, Clone)]
4132pub struct crypto_buffer_pool_st {
4133    _unused: [u8; 0],
4134}
4135pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4136#[repr(C)]
4137#[derive(Debug, Copy, Clone)]
4138pub struct crypto_buffer_st {
4139    _unused: [u8; 0],
4140}
4141pub type CRYPTO_BUFFER = crypto_buffer_st;
4142#[repr(C)]
4143#[derive(Debug, Copy, Clone)]
4144pub struct ctr_drbg_state_st {
4145    _unused: [u8; 0],
4146}
4147pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4148#[repr(C)]
4149#[derive(Debug, Copy, Clone)]
4150pub struct dh_st {
4151    _unused: [u8; 0],
4152}
4153pub type DH = dh_st;
4154#[repr(C)]
4155#[derive(Debug, Copy, Clone)]
4156pub struct dsa_st {
4157    _unused: [u8; 0],
4158}
4159pub type DSA = dsa_st;
4160#[repr(C)]
4161#[derive(Debug, Copy, Clone)]
4162pub struct ec_group_st {
4163    _unused: [u8; 0],
4164}
4165pub type EC_GROUP = ec_group_st;
4166#[repr(C)]
4167#[derive(Debug, Copy, Clone)]
4168pub struct ec_key_st {
4169    _unused: [u8; 0],
4170}
4171pub type EC_KEY = ec_key_st;
4172#[repr(C)]
4173#[derive(Debug, Copy, Clone)]
4174pub struct ec_point_st {
4175    _unused: [u8; 0],
4176}
4177pub type EC_POINT = ec_point_st;
4178#[repr(C)]
4179#[derive(Debug, Copy, Clone)]
4180pub struct ec_key_method_st {
4181    _unused: [u8; 0],
4182}
4183pub type EC_KEY_METHOD = ec_key_method_st;
4184pub type ECDSA_SIG = ecdsa_sig_st;
4185#[repr(C)]
4186#[derive(Debug, Copy, Clone)]
4187pub struct engine_st {
4188    _unused: [u8; 0],
4189}
4190pub type ENGINE = engine_st;
4191pub type EVP_MD_CTX = env_md_ctx_st;
4192#[repr(C)]
4193#[derive(Debug, Copy, Clone)]
4194pub struct env_md_st {
4195    _unused: [u8; 0],
4196}
4197pub type EVP_MD = env_md_st;
4198#[repr(C)]
4199#[derive(Debug, Copy, Clone)]
4200pub struct evp_aead_st {
4201    _unused: [u8; 0],
4202}
4203pub type EVP_AEAD = evp_aead_st;
4204pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4205pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4206#[repr(C)]
4207#[derive(Debug, Copy, Clone)]
4208pub struct evp_cipher_st {
4209    _unused: [u8; 0],
4210}
4211pub type EVP_CIPHER = evp_cipher_st;
4212pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4213#[repr(C)]
4214#[derive(Debug, Copy, Clone)]
4215pub struct evp_hpke_aead_st {
4216    _unused: [u8; 0],
4217}
4218pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4219pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4220#[repr(C)]
4221#[derive(Debug, Copy, Clone)]
4222pub struct evp_hpke_kdf_st {
4223    _unused: [u8; 0],
4224}
4225pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4226#[repr(C)]
4227#[derive(Debug, Copy, Clone)]
4228pub struct evp_hpke_kem_st {
4229    _unused: [u8; 0],
4230}
4231pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4232pub type EVP_HPKE_KEY = evp_hpke_key_st;
4233#[repr(C)]
4234#[derive(Debug, Copy, Clone)]
4235pub struct evp_kem_st {
4236    _unused: [u8; 0],
4237}
4238pub type EVP_KEM = evp_kem_st;
4239#[repr(C)]
4240#[derive(Debug, Copy, Clone)]
4241pub struct kem_key_st {
4242    _unused: [u8; 0],
4243}
4244pub type KEM_KEY = kem_key_st;
4245#[repr(C)]
4246#[derive(Debug, Copy, Clone)]
4247pub struct evp_pkey_ctx_st {
4248    _unused: [u8; 0],
4249}
4250pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4251#[repr(C)]
4252#[derive(Debug, Copy, Clone)]
4253pub struct evp_pkey_asn1_method_st {
4254    _unused: [u8; 0],
4255}
4256pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4257#[repr(C)]
4258#[derive(Debug, Copy, Clone)]
4259pub struct evp_pkey_st {
4260    _unused: [u8; 0],
4261}
4262pub type EVP_PKEY = evp_pkey_st;
4263#[repr(C)]
4264#[derive(Debug, Copy, Clone)]
4265pub struct evp_pkey_ctx_signature_context_params_st {
4266    _unused: [u8; 0],
4267}
4268pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4269pub type HMAC_CTX = hmac_ctx_st;
4270pub type MD4_CTX = md4_state_st;
4271pub type MD5_CTX = md5_state_st;
4272#[repr(C)]
4273#[derive(Debug, Copy, Clone)]
4274pub struct pqdsa_key_st {
4275    _unused: [u8; 0],
4276}
4277pub type PQDSA_KEY = pqdsa_key_st;
4278#[repr(C)]
4279#[derive(Debug, Copy, Clone)]
4280pub struct ocsp_req_ctx_st {
4281    _unused: [u8; 0],
4282}
4283pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4284#[repr(C)]
4285#[derive(Debug, Copy, Clone)]
4286pub struct ossl_init_settings_st {
4287    _unused: [u8; 0],
4288}
4289pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4290#[repr(C)]
4291#[derive(Debug, Copy, Clone)]
4292pub struct pkcs7_digest_st {
4293    _unused: [u8; 0],
4294}
4295pub type PKCS7_DIGEST = pkcs7_digest_st;
4296#[repr(C)]
4297#[derive(Debug, Copy, Clone)]
4298pub struct pkcs7_enc_content_st {
4299    _unused: [u8; 0],
4300}
4301pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4302#[repr(C)]
4303#[derive(Debug, Copy, Clone)]
4304pub struct pkcs7_encrypt_st {
4305    _unused: [u8; 0],
4306}
4307pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4308pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4309pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4310pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4311pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4312pub type PKCS7_SIGNED = pkcs7_signed_st;
4313pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4314pub type PKCS7 = pkcs7_st;
4315#[repr(C)]
4316#[derive(Debug, Copy, Clone)]
4317pub struct pkcs12_st {
4318    _unused: [u8; 0],
4319}
4320pub type PKCS12 = pkcs12_st;
4321#[repr(C)]
4322#[derive(Debug, Copy, Clone)]
4323pub struct pkcs8_priv_key_info_st {
4324    _unused: [u8; 0],
4325}
4326pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4327pub type X509_PKEY = private_key_st;
4328pub type RAND_METHOD = rand_meth_st;
4329pub type RC4_KEY = rc4_key_st;
4330#[repr(C)]
4331#[derive(Debug, Copy, Clone)]
4332pub struct rsa_meth_st {
4333    _unused: [u8; 0],
4334}
4335pub type RSA_METHOD = rsa_meth_st;
4336#[repr(C)]
4337#[derive(Debug, Copy, Clone)]
4338pub struct rsassa_pss_params_st {
4339    _unused: [u8; 0],
4340}
4341pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4342pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4343#[repr(C)]
4344#[derive(Debug, Copy, Clone)]
4345pub struct rsa_st {
4346    _unused: [u8; 0],
4347}
4348pub type RSA = rsa_st;
4349pub type SHA256_CTX = sha256_state_st;
4350pub type SHA512_CTX = sha512_state_st;
4351pub type SHA_CTX = sha_state_st;
4352#[repr(C)]
4353#[derive(Debug, Copy, Clone)]
4354pub struct spake2_ctx_st {
4355    _unused: [u8; 0],
4356}
4357pub type SPAKE2_CTX = spake2_ctx_st;
4358#[repr(C)]
4359#[derive(Debug, Copy, Clone)]
4360pub struct srtp_protection_profile_st {
4361    _unused: [u8; 0],
4362}
4363pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4364#[repr(C)]
4365#[derive(Debug, Copy, Clone)]
4366pub struct ssl_cipher_st {
4367    _unused: [u8; 0],
4368}
4369pub type SSL_CIPHER = ssl_cipher_st;
4370#[repr(C)]
4371#[derive(Debug, Copy, Clone)]
4372pub struct ssl_ctx_st {
4373    _unused: [u8; 0],
4374}
4375pub type SSL_CTX = ssl_ctx_st;
4376#[repr(C)]
4377#[derive(Debug, Copy, Clone)]
4378pub struct ssl_early_callback_ctx {
4379    _unused: [u8; 0],
4380}
4381pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4382#[repr(C)]
4383#[derive(Debug, Copy, Clone)]
4384pub struct ssl_ech_keys_st {
4385    _unused: [u8; 0],
4386}
4387pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4388#[repr(C)]
4389#[derive(Debug, Copy, Clone)]
4390pub struct ssl_method_st {
4391    _unused: [u8; 0],
4392}
4393pub type SSL_METHOD = ssl_method_st;
4394#[repr(C)]
4395#[derive(Debug, Copy, Clone)]
4396pub struct ssl_private_key_method_st {
4397    _unused: [u8; 0],
4398}
4399pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4400#[repr(C)]
4401#[derive(Debug, Copy, Clone)]
4402pub struct ssl_quic_method_st {
4403    _unused: [u8; 0],
4404}
4405pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4406#[repr(C)]
4407#[derive(Debug, Copy, Clone)]
4408pub struct ssl_session_st {
4409    _unused: [u8; 0],
4410}
4411pub type SSL_SESSION = ssl_session_st;
4412#[repr(C)]
4413#[derive(Debug, Copy, Clone)]
4414pub struct ssl_st {
4415    _unused: [u8; 0],
4416}
4417pub type SSL = ssl_st;
4418#[repr(C)]
4419#[derive(Debug, Copy, Clone)]
4420pub struct ssl_ticket_aead_method_st {
4421    _unused: [u8; 0],
4422}
4423pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4424#[repr(C)]
4425#[derive(Debug, Copy, Clone)]
4426pub struct st_ERR_FNS {
4427    _unused: [u8; 0],
4428}
4429pub type ERR_FNS = st_ERR_FNS;
4430pub type TRUST_TOKEN = trust_token_st;
4431#[repr(C)]
4432#[derive(Debug, Copy, Clone)]
4433pub struct trust_token_client_st {
4434    _unused: [u8; 0],
4435}
4436pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4437#[repr(C)]
4438#[derive(Debug, Copy, Clone)]
4439pub struct trust_token_issuer_st {
4440    _unused: [u8; 0],
4441}
4442pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4443#[repr(C)]
4444#[derive(Debug, Copy, Clone)]
4445pub struct trust_token_method_st {
4446    _unused: [u8; 0],
4447}
4448pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4449pub type X509V3_CTX = v3_ext_ctx;
4450pub type X509V3_EXT_METHOD = v3_ext_method;
4451#[repr(C)]
4452#[derive(Debug, Copy, Clone)]
4453pub struct x509_attributes_st {
4454    _unused: [u8; 0],
4455}
4456pub type X509_ATTRIBUTE = x509_attributes_st;
4457#[repr(C)]
4458#[derive(Debug, Copy, Clone)]
4459pub struct x509_lookup_st {
4460    _unused: [u8; 0],
4461}
4462pub type X509_LOOKUP = x509_lookup_st;
4463#[repr(C)]
4464#[derive(Debug, Copy, Clone)]
4465pub struct x509_lookup_method_st {
4466    _unused: [u8; 0],
4467}
4468pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4469#[repr(C)]
4470#[derive(Debug, Copy, Clone)]
4471pub struct x509_object_st {
4472    _unused: [u8; 0],
4473}
4474pub type X509_OBJECT = x509_object_st;
4475#[repr(C)]
4476#[derive(Debug, Copy, Clone)]
4477pub struct x509_revoked_st {
4478    _unused: [u8; 0],
4479}
4480pub type X509_REVOKED = x509_revoked_st;
4481#[repr(C)]
4482#[derive(Debug, Copy, Clone)]
4483pub struct x509_st {
4484    _unused: [u8; 0],
4485}
4486pub type X509 = x509_st;
4487#[repr(C)]
4488#[derive(Debug, Copy, Clone)]
4489pub struct x509_store_ctx_st {
4490    _unused: [u8; 0],
4491}
4492pub type X509_STORE_CTX = x509_store_ctx_st;
4493#[repr(C)]
4494#[derive(Debug, Copy, Clone)]
4495pub struct x509_store_st {
4496    _unused: [u8; 0],
4497}
4498pub type X509_STORE = x509_store_st;
4499pub type X509_TRUST = x509_trust_st;
4500pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4501#[repr(C)]
4502#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4503pub struct aes_key_st {
4504    pub rd_key: [u32; 60usize],
4505    pub rounds: ::std::os::raw::c_uint,
4506}
4507#[test]
4508fn bindgen_test_layout_aes_key_st() {
4509    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4510    let ptr = UNINIT.as_ptr();
4511    assert_eq!(
4512        ::std::mem::size_of::<aes_key_st>(),
4513        244usize,
4514        concat!("Size of: ", stringify!(aes_key_st))
4515    );
4516    assert_eq!(
4517        ::std::mem::align_of::<aes_key_st>(),
4518        4usize,
4519        concat!("Alignment of ", stringify!(aes_key_st))
4520    );
4521    assert_eq!(
4522        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4523        0usize,
4524        concat!(
4525            "Offset of field: ",
4526            stringify!(aes_key_st),
4527            "::",
4528            stringify!(rd_key)
4529        )
4530    );
4531    assert_eq!(
4532        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4533        240usize,
4534        concat!(
4535            "Offset of field: ",
4536            stringify!(aes_key_st),
4537            "::",
4538            stringify!(rounds)
4539        )
4540    );
4541}
4542impl Default for aes_key_st {
4543    fn default() -> Self {
4544        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4545        unsafe {
4546            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4547            s.assume_init()
4548        }
4549    }
4550}
4551pub type AES_KEY = aes_key_st;
4552extern "C" {
4553    #[link_name = "\u{1}aws_lc_0_30_0_AES_set_encrypt_key"]
4554    pub fn AES_set_encrypt_key(
4555        key: *const u8,
4556        bits: ::std::os::raw::c_uint,
4557        aeskey: *mut AES_KEY,
4558    ) -> ::std::os::raw::c_int;
4559}
4560extern "C" {
4561    #[link_name = "\u{1}aws_lc_0_30_0_AES_set_decrypt_key"]
4562    pub fn AES_set_decrypt_key(
4563        key: *const u8,
4564        bits: ::std::os::raw::c_uint,
4565        aeskey: *mut AES_KEY,
4566    ) -> ::std::os::raw::c_int;
4567}
4568extern "C" {
4569    #[link_name = "\u{1}aws_lc_0_30_0_AES_encrypt"]
4570    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4571}
4572extern "C" {
4573    #[link_name = "\u{1}aws_lc_0_30_0_AES_decrypt"]
4574    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4575}
4576extern "C" {
4577    #[link_name = "\u{1}aws_lc_0_30_0_AES_ctr128_encrypt"]
4578    pub fn AES_ctr128_encrypt(
4579        in_: *const u8,
4580        out: *mut u8,
4581        len: usize,
4582        key: *const AES_KEY,
4583        ivec: *mut u8,
4584        ecount_buf: *mut u8,
4585        num: *mut ::std::os::raw::c_uint,
4586    );
4587}
4588extern "C" {
4589    #[link_name = "\u{1}aws_lc_0_30_0_AES_ecb_encrypt"]
4590    pub fn AES_ecb_encrypt(
4591        in_: *const u8,
4592        out: *mut u8,
4593        key: *const AES_KEY,
4594        enc: ::std::os::raw::c_int,
4595    );
4596}
4597extern "C" {
4598    #[link_name = "\u{1}aws_lc_0_30_0_AES_cbc_encrypt"]
4599    pub fn AES_cbc_encrypt(
4600        in_: *const u8,
4601        out: *mut u8,
4602        len: usize,
4603        key: *const AES_KEY,
4604        ivec: *mut u8,
4605        enc: ::std::os::raw::c_int,
4606    );
4607}
4608extern "C" {
4609    #[link_name = "\u{1}aws_lc_0_30_0_AES_ofb128_encrypt"]
4610    pub fn AES_ofb128_encrypt(
4611        in_: *const u8,
4612        out: *mut u8,
4613        len: usize,
4614        key: *const AES_KEY,
4615        ivec: *mut u8,
4616        num: *mut ::std::os::raw::c_int,
4617    );
4618}
4619extern "C" {
4620    #[link_name = "\u{1}aws_lc_0_30_0_AES_cfb1_encrypt"]
4621    pub fn AES_cfb1_encrypt(
4622        in_: *const u8,
4623        out: *mut u8,
4624        bits: usize,
4625        key: *const AES_KEY,
4626        ivec: *mut u8,
4627        num: *mut ::std::os::raw::c_int,
4628        enc: ::std::os::raw::c_int,
4629    );
4630}
4631extern "C" {
4632    #[link_name = "\u{1}aws_lc_0_30_0_AES_cfb8_encrypt"]
4633    pub fn AES_cfb8_encrypt(
4634        in_: *const u8,
4635        out: *mut u8,
4636        len: usize,
4637        key: *const AES_KEY,
4638        ivec: *mut u8,
4639        num: *mut ::std::os::raw::c_int,
4640        enc: ::std::os::raw::c_int,
4641    );
4642}
4643extern "C" {
4644    #[link_name = "\u{1}aws_lc_0_30_0_AES_cfb128_encrypt"]
4645    pub fn AES_cfb128_encrypt(
4646        in_: *const u8,
4647        out: *mut u8,
4648        len: usize,
4649        key: *const AES_KEY,
4650        ivec: *mut u8,
4651        num: *mut ::std::os::raw::c_int,
4652        enc: ::std::os::raw::c_int,
4653    );
4654}
4655extern "C" {
4656    #[link_name = "\u{1}aws_lc_0_30_0_AES_wrap_key"]
4657    pub fn AES_wrap_key(
4658        key: *const AES_KEY,
4659        iv: *const u8,
4660        out: *mut u8,
4661        in_: *const u8,
4662        in_len: usize,
4663    ) -> ::std::os::raw::c_int;
4664}
4665extern "C" {
4666    #[link_name = "\u{1}aws_lc_0_30_0_AES_unwrap_key"]
4667    pub fn AES_unwrap_key(
4668        key: *const AES_KEY,
4669        iv: *const u8,
4670        out: *mut u8,
4671        in_: *const u8,
4672        in_len: usize,
4673    ) -> ::std::os::raw::c_int;
4674}
4675extern "C" {
4676    #[link_name = "\u{1}aws_lc_0_30_0_AES_wrap_key_padded"]
4677    pub fn AES_wrap_key_padded(
4678        key: *const AES_KEY,
4679        out: *mut u8,
4680        out_len: *mut usize,
4681        max_out: usize,
4682        in_: *const u8,
4683        in_len: usize,
4684    ) -> ::std::os::raw::c_int;
4685}
4686extern "C" {
4687    #[link_name = "\u{1}aws_lc_0_30_0_AES_unwrap_key_padded"]
4688    pub fn AES_unwrap_key_padded(
4689        key: *const AES_KEY,
4690        out: *mut u8,
4691        out_len: *mut usize,
4692        max_out: usize,
4693        in_: *const u8,
4694        in_len: usize,
4695    ) -> ::std::os::raw::c_int;
4696}
4697#[repr(C)]
4698#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4699pub struct tm {
4700    pub tm_sec: ::std::os::raw::c_int,
4701    pub tm_min: ::std::os::raw::c_int,
4702    pub tm_hour: ::std::os::raw::c_int,
4703    pub tm_mday: ::std::os::raw::c_int,
4704    pub tm_mon: ::std::os::raw::c_int,
4705    pub tm_year: ::std::os::raw::c_int,
4706    pub tm_wday: ::std::os::raw::c_int,
4707    pub tm_yday: ::std::os::raw::c_int,
4708    pub tm_isdst: ::std::os::raw::c_int,
4709    pub tm_gmtoff: ::std::os::raw::c_long,
4710    pub tm_zone: *const ::std::os::raw::c_char,
4711}
4712#[test]
4713fn bindgen_test_layout_tm() {
4714    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4715    let ptr = UNINIT.as_ptr();
4716    assert_eq!(
4717        ::std::mem::size_of::<tm>(),
4718        56usize,
4719        concat!("Size of: ", stringify!(tm))
4720    );
4721    assert_eq!(
4722        ::std::mem::align_of::<tm>(),
4723        8usize,
4724        concat!("Alignment of ", stringify!(tm))
4725    );
4726    assert_eq!(
4727        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4728        0usize,
4729        concat!(
4730            "Offset of field: ",
4731            stringify!(tm),
4732            "::",
4733            stringify!(tm_sec)
4734        )
4735    );
4736    assert_eq!(
4737        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4738        4usize,
4739        concat!(
4740            "Offset of field: ",
4741            stringify!(tm),
4742            "::",
4743            stringify!(tm_min)
4744        )
4745    );
4746    assert_eq!(
4747        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4748        8usize,
4749        concat!(
4750            "Offset of field: ",
4751            stringify!(tm),
4752            "::",
4753            stringify!(tm_hour)
4754        )
4755    );
4756    assert_eq!(
4757        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4758        12usize,
4759        concat!(
4760            "Offset of field: ",
4761            stringify!(tm),
4762            "::",
4763            stringify!(tm_mday)
4764        )
4765    );
4766    assert_eq!(
4767        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4768        16usize,
4769        concat!(
4770            "Offset of field: ",
4771            stringify!(tm),
4772            "::",
4773            stringify!(tm_mon)
4774        )
4775    );
4776    assert_eq!(
4777        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4778        20usize,
4779        concat!(
4780            "Offset of field: ",
4781            stringify!(tm),
4782            "::",
4783            stringify!(tm_year)
4784        )
4785    );
4786    assert_eq!(
4787        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4788        24usize,
4789        concat!(
4790            "Offset of field: ",
4791            stringify!(tm),
4792            "::",
4793            stringify!(tm_wday)
4794        )
4795    );
4796    assert_eq!(
4797        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4798        28usize,
4799        concat!(
4800            "Offset of field: ",
4801            stringify!(tm),
4802            "::",
4803            stringify!(tm_yday)
4804        )
4805    );
4806    assert_eq!(
4807        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4808        32usize,
4809        concat!(
4810            "Offset of field: ",
4811            stringify!(tm),
4812            "::",
4813            stringify!(tm_isdst)
4814        )
4815    );
4816    assert_eq!(
4817        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4818        40usize,
4819        concat!(
4820            "Offset of field: ",
4821            stringify!(tm),
4822            "::",
4823            stringify!(tm_gmtoff)
4824        )
4825    );
4826    assert_eq!(
4827        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4828        48usize,
4829        concat!(
4830            "Offset of field: ",
4831            stringify!(tm),
4832            "::",
4833            stringify!(tm_zone)
4834        )
4835    );
4836}
4837impl Default for tm {
4838    fn default() -> Self {
4839        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4840        unsafe {
4841            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4842            s.assume_init()
4843        }
4844    }
4845}
4846pub type __gnuc_va_list = __builtin_va_list;
4847pub type FILE = _IO_FILE;
4848#[repr(C)]
4849#[derive(Debug, Copy, Clone)]
4850pub struct _IO_marker {
4851    _unused: [u8; 0],
4852}
4853#[repr(C)]
4854#[derive(Debug, Copy, Clone)]
4855pub struct _IO_codecvt {
4856    _unused: [u8; 0],
4857}
4858#[repr(C)]
4859#[derive(Debug, Copy, Clone)]
4860pub struct _IO_wide_data {
4861    _unused: [u8; 0],
4862}
4863pub type _IO_lock_t = ::std::os::raw::c_void;
4864#[repr(C)]
4865#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4866pub struct _IO_FILE {
4867    pub _flags: ::std::os::raw::c_int,
4868    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4869    pub _IO_read_end: *mut ::std::os::raw::c_char,
4870    pub _IO_read_base: *mut ::std::os::raw::c_char,
4871    pub _IO_write_base: *mut ::std::os::raw::c_char,
4872    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4873    pub _IO_write_end: *mut ::std::os::raw::c_char,
4874    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4875    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4876    pub _IO_save_base: *mut ::std::os::raw::c_char,
4877    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4878    pub _IO_save_end: *mut ::std::os::raw::c_char,
4879    pub _markers: *mut _IO_marker,
4880    pub _chain: *mut _IO_FILE,
4881    pub _fileno: ::std::os::raw::c_int,
4882    pub _flags2: ::std::os::raw::c_int,
4883    pub _old_offset: __off_t,
4884    pub _cur_column: ::std::os::raw::c_ushort,
4885    pub _vtable_offset: ::std::os::raw::c_schar,
4886    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4887    pub _lock: *mut _IO_lock_t,
4888    pub _offset: __off64_t,
4889    pub _codecvt: *mut _IO_codecvt,
4890    pub _wide_data: *mut _IO_wide_data,
4891    pub _freeres_list: *mut _IO_FILE,
4892    pub _freeres_buf: *mut ::std::os::raw::c_void,
4893    pub __pad5: usize,
4894    pub _mode: ::std::os::raw::c_int,
4895    pub _unused2: [::std::os::raw::c_char; 20usize],
4896}
4897#[test]
4898fn bindgen_test_layout__IO_FILE() {
4899    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4900    let ptr = UNINIT.as_ptr();
4901    assert_eq!(
4902        ::std::mem::size_of::<_IO_FILE>(),
4903        216usize,
4904        concat!("Size of: ", stringify!(_IO_FILE))
4905    );
4906    assert_eq!(
4907        ::std::mem::align_of::<_IO_FILE>(),
4908        8usize,
4909        concat!("Alignment of ", stringify!(_IO_FILE))
4910    );
4911    assert_eq!(
4912        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4913        0usize,
4914        concat!(
4915            "Offset of field: ",
4916            stringify!(_IO_FILE),
4917            "::",
4918            stringify!(_flags)
4919        )
4920    );
4921    assert_eq!(
4922        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4923        8usize,
4924        concat!(
4925            "Offset of field: ",
4926            stringify!(_IO_FILE),
4927            "::",
4928            stringify!(_IO_read_ptr)
4929        )
4930    );
4931    assert_eq!(
4932        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4933        16usize,
4934        concat!(
4935            "Offset of field: ",
4936            stringify!(_IO_FILE),
4937            "::",
4938            stringify!(_IO_read_end)
4939        )
4940    );
4941    assert_eq!(
4942        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4943        24usize,
4944        concat!(
4945            "Offset of field: ",
4946            stringify!(_IO_FILE),
4947            "::",
4948            stringify!(_IO_read_base)
4949        )
4950    );
4951    assert_eq!(
4952        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4953        32usize,
4954        concat!(
4955            "Offset of field: ",
4956            stringify!(_IO_FILE),
4957            "::",
4958            stringify!(_IO_write_base)
4959        )
4960    );
4961    assert_eq!(
4962        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4963        40usize,
4964        concat!(
4965            "Offset of field: ",
4966            stringify!(_IO_FILE),
4967            "::",
4968            stringify!(_IO_write_ptr)
4969        )
4970    );
4971    assert_eq!(
4972        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4973        48usize,
4974        concat!(
4975            "Offset of field: ",
4976            stringify!(_IO_FILE),
4977            "::",
4978            stringify!(_IO_write_end)
4979        )
4980    );
4981    assert_eq!(
4982        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4983        56usize,
4984        concat!(
4985            "Offset of field: ",
4986            stringify!(_IO_FILE),
4987            "::",
4988            stringify!(_IO_buf_base)
4989        )
4990    );
4991    assert_eq!(
4992        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4993        64usize,
4994        concat!(
4995            "Offset of field: ",
4996            stringify!(_IO_FILE),
4997            "::",
4998            stringify!(_IO_buf_end)
4999        )
5000    );
5001    assert_eq!(
5002        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
5003        72usize,
5004        concat!(
5005            "Offset of field: ",
5006            stringify!(_IO_FILE),
5007            "::",
5008            stringify!(_IO_save_base)
5009        )
5010    );
5011    assert_eq!(
5012        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
5013        80usize,
5014        concat!(
5015            "Offset of field: ",
5016            stringify!(_IO_FILE),
5017            "::",
5018            stringify!(_IO_backup_base)
5019        )
5020    );
5021    assert_eq!(
5022        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
5023        88usize,
5024        concat!(
5025            "Offset of field: ",
5026            stringify!(_IO_FILE),
5027            "::",
5028            stringify!(_IO_save_end)
5029        )
5030    );
5031    assert_eq!(
5032        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
5033        96usize,
5034        concat!(
5035            "Offset of field: ",
5036            stringify!(_IO_FILE),
5037            "::",
5038            stringify!(_markers)
5039        )
5040    );
5041    assert_eq!(
5042        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
5043        104usize,
5044        concat!(
5045            "Offset of field: ",
5046            stringify!(_IO_FILE),
5047            "::",
5048            stringify!(_chain)
5049        )
5050    );
5051    assert_eq!(
5052        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
5053        112usize,
5054        concat!(
5055            "Offset of field: ",
5056            stringify!(_IO_FILE),
5057            "::",
5058            stringify!(_fileno)
5059        )
5060    );
5061    assert_eq!(
5062        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
5063        116usize,
5064        concat!(
5065            "Offset of field: ",
5066            stringify!(_IO_FILE),
5067            "::",
5068            stringify!(_flags2)
5069        )
5070    );
5071    assert_eq!(
5072        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
5073        120usize,
5074        concat!(
5075            "Offset of field: ",
5076            stringify!(_IO_FILE),
5077            "::",
5078            stringify!(_old_offset)
5079        )
5080    );
5081    assert_eq!(
5082        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
5083        128usize,
5084        concat!(
5085            "Offset of field: ",
5086            stringify!(_IO_FILE),
5087            "::",
5088            stringify!(_cur_column)
5089        )
5090    );
5091    assert_eq!(
5092        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5093        130usize,
5094        concat!(
5095            "Offset of field: ",
5096            stringify!(_IO_FILE),
5097            "::",
5098            stringify!(_vtable_offset)
5099        )
5100    );
5101    assert_eq!(
5102        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5103        131usize,
5104        concat!(
5105            "Offset of field: ",
5106            stringify!(_IO_FILE),
5107            "::",
5108            stringify!(_shortbuf)
5109        )
5110    );
5111    assert_eq!(
5112        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5113        136usize,
5114        concat!(
5115            "Offset of field: ",
5116            stringify!(_IO_FILE),
5117            "::",
5118            stringify!(_lock)
5119        )
5120    );
5121    assert_eq!(
5122        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5123        144usize,
5124        concat!(
5125            "Offset of field: ",
5126            stringify!(_IO_FILE),
5127            "::",
5128            stringify!(_offset)
5129        )
5130    );
5131    assert_eq!(
5132        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5133        152usize,
5134        concat!(
5135            "Offset of field: ",
5136            stringify!(_IO_FILE),
5137            "::",
5138            stringify!(_codecvt)
5139        )
5140    );
5141    assert_eq!(
5142        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5143        160usize,
5144        concat!(
5145            "Offset of field: ",
5146            stringify!(_IO_FILE),
5147            "::",
5148            stringify!(_wide_data)
5149        )
5150    );
5151    assert_eq!(
5152        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5153        168usize,
5154        concat!(
5155            "Offset of field: ",
5156            stringify!(_IO_FILE),
5157            "::",
5158            stringify!(_freeres_list)
5159        )
5160    );
5161    assert_eq!(
5162        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5163        176usize,
5164        concat!(
5165            "Offset of field: ",
5166            stringify!(_IO_FILE),
5167            "::",
5168            stringify!(_freeres_buf)
5169        )
5170    );
5171    assert_eq!(
5172        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5173        184usize,
5174        concat!(
5175            "Offset of field: ",
5176            stringify!(_IO_FILE),
5177            "::",
5178            stringify!(__pad5)
5179        )
5180    );
5181    assert_eq!(
5182        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5183        192usize,
5184        concat!(
5185            "Offset of field: ",
5186            stringify!(_IO_FILE),
5187            "::",
5188            stringify!(_mode)
5189        )
5190    );
5191    assert_eq!(
5192        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5193        196usize,
5194        concat!(
5195            "Offset of field: ",
5196            stringify!(_IO_FILE),
5197            "::",
5198            stringify!(_unused2)
5199        )
5200    );
5201}
5202impl Default for _IO_FILE {
5203    fn default() -> Self {
5204        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5205        unsafe {
5206            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5207            s.assume_init()
5208        }
5209    }
5210}
5211pub type va_list = __gnuc_va_list;
5212#[repr(C)]
5213#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5214pub struct buf_mem_st {
5215    pub length: usize,
5216    pub data: *mut ::std::os::raw::c_char,
5217    pub max: usize,
5218}
5219#[test]
5220fn bindgen_test_layout_buf_mem_st() {
5221    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5222    let ptr = UNINIT.as_ptr();
5223    assert_eq!(
5224        ::std::mem::size_of::<buf_mem_st>(),
5225        24usize,
5226        concat!("Size of: ", stringify!(buf_mem_st))
5227    );
5228    assert_eq!(
5229        ::std::mem::align_of::<buf_mem_st>(),
5230        8usize,
5231        concat!("Alignment of ", stringify!(buf_mem_st))
5232    );
5233    assert_eq!(
5234        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5235        0usize,
5236        concat!(
5237            "Offset of field: ",
5238            stringify!(buf_mem_st),
5239            "::",
5240            stringify!(length)
5241        )
5242    );
5243    assert_eq!(
5244        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5245        8usize,
5246        concat!(
5247            "Offset of field: ",
5248            stringify!(buf_mem_st),
5249            "::",
5250            stringify!(data)
5251        )
5252    );
5253    assert_eq!(
5254        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5255        16usize,
5256        concat!(
5257            "Offset of field: ",
5258            stringify!(buf_mem_st),
5259            "::",
5260            stringify!(max)
5261        )
5262    );
5263}
5264impl Default for buf_mem_st {
5265    fn default() -> Self {
5266        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5267        unsafe {
5268            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5269            s.assume_init()
5270        }
5271    }
5272}
5273extern "C" {
5274    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_new"]
5275    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5276}
5277extern "C" {
5278    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_free"]
5279    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5280}
5281extern "C" {
5282    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_reserve"]
5283    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5284}
5285extern "C" {
5286    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_grow"]
5287    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5288}
5289extern "C" {
5290    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_grow_clean"]
5291    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5292}
5293extern "C" {
5294    #[link_name = "\u{1}aws_lc_0_30_0_BUF_MEM_append"]
5295    pub fn BUF_MEM_append(
5296        buf: *mut BUF_MEM,
5297        in_: *const ::std::os::raw::c_void,
5298        len: usize,
5299    ) -> ::std::os::raw::c_int;
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_30_0_BUF_strdup"]
5303    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5304}
5305extern "C" {
5306    #[link_name = "\u{1}aws_lc_0_30_0_BUF_strnlen"]
5307    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5308}
5309extern "C" {
5310    #[link_name = "\u{1}aws_lc_0_30_0_BUF_strndup"]
5311    pub fn BUF_strndup(
5312        str_: *const ::std::os::raw::c_char,
5313        size: usize,
5314    ) -> *mut ::std::os::raw::c_char;
5315}
5316extern "C" {
5317    #[link_name = "\u{1}aws_lc_0_30_0_BUF_memdup"]
5318    pub fn BUF_memdup(
5319        data: *const ::std::os::raw::c_void,
5320        size: usize,
5321    ) -> *mut ::std::os::raw::c_void;
5322}
5323extern "C" {
5324    #[link_name = "\u{1}aws_lc_0_30_0_BUF_strlcpy"]
5325    pub fn BUF_strlcpy(
5326        dst: *mut ::std::os::raw::c_char,
5327        src: *const ::std::os::raw::c_char,
5328        dst_size: usize,
5329    ) -> usize;
5330}
5331extern "C" {
5332    #[link_name = "\u{1}aws_lc_0_30_0_BUF_strlcat"]
5333    pub fn BUF_strlcat(
5334        dst: *mut ::std::os::raw::c_char,
5335        src: *const ::std::os::raw::c_char,
5336        dst_size: usize,
5337    ) -> usize;
5338}
5339extern "C" {
5340    #[link_name = "\u{1}aws_lc_0_30_0_SHA1_Init"]
5341    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5342}
5343extern "C" {
5344    #[link_name = "\u{1}aws_lc_0_30_0_SHA1_Update"]
5345    pub fn SHA1_Update(
5346        sha: *mut SHA_CTX,
5347        data: *const ::std::os::raw::c_void,
5348        len: usize,
5349    ) -> ::std::os::raw::c_int;
5350}
5351extern "C" {
5352    #[link_name = "\u{1}aws_lc_0_30_0_SHA1_Final"]
5353    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5354}
5355extern "C" {
5356    #[link_name = "\u{1}aws_lc_0_30_0_SHA1"]
5357    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5358}
5359extern "C" {
5360    #[link_name = "\u{1}aws_lc_0_30_0_SHA1_Transform"]
5361    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5362}
5363#[repr(C)]
5364#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5365pub struct sha_state_st {
5366    pub h: [u32; 5usize],
5367    pub Nl: u32,
5368    pub Nh: u32,
5369    pub data: [u8; 64usize],
5370    pub num: ::std::os::raw::c_uint,
5371}
5372#[test]
5373fn bindgen_test_layout_sha_state_st() {
5374    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5375    let ptr = UNINIT.as_ptr();
5376    assert_eq!(
5377        ::std::mem::size_of::<sha_state_st>(),
5378        96usize,
5379        concat!("Size of: ", stringify!(sha_state_st))
5380    );
5381    assert_eq!(
5382        ::std::mem::align_of::<sha_state_st>(),
5383        4usize,
5384        concat!("Alignment of ", stringify!(sha_state_st))
5385    );
5386    assert_eq!(
5387        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5388        0usize,
5389        concat!(
5390            "Offset of field: ",
5391            stringify!(sha_state_st),
5392            "::",
5393            stringify!(h)
5394        )
5395    );
5396    assert_eq!(
5397        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5398        20usize,
5399        concat!(
5400            "Offset of field: ",
5401            stringify!(sha_state_st),
5402            "::",
5403            stringify!(Nl)
5404        )
5405    );
5406    assert_eq!(
5407        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5408        24usize,
5409        concat!(
5410            "Offset of field: ",
5411            stringify!(sha_state_st),
5412            "::",
5413            stringify!(Nh)
5414        )
5415    );
5416    assert_eq!(
5417        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5418        28usize,
5419        concat!(
5420            "Offset of field: ",
5421            stringify!(sha_state_st),
5422            "::",
5423            stringify!(data)
5424        )
5425    );
5426    assert_eq!(
5427        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5428        92usize,
5429        concat!(
5430            "Offset of field: ",
5431            stringify!(sha_state_st),
5432            "::",
5433            stringify!(num)
5434        )
5435    );
5436}
5437impl Default for sha_state_st {
5438    fn default() -> Self {
5439        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5440        unsafe {
5441            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5442            s.assume_init()
5443        }
5444    }
5445}
5446extern "C" {
5447    #[link_name = "\u{1}aws_lc_0_30_0_SHA224_Init"]
5448    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5449}
5450extern "C" {
5451    #[link_name = "\u{1}aws_lc_0_30_0_SHA224_Update"]
5452    pub fn SHA224_Update(
5453        sha: *mut SHA256_CTX,
5454        data: *const ::std::os::raw::c_void,
5455        len: usize,
5456    ) -> ::std::os::raw::c_int;
5457}
5458extern "C" {
5459    #[link_name = "\u{1}aws_lc_0_30_0_SHA224_Final"]
5460    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5461}
5462extern "C" {
5463    #[link_name = "\u{1}aws_lc_0_30_0_SHA224"]
5464    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5465}
5466extern "C" {
5467    #[link_name = "\u{1}aws_lc_0_30_0_SHA256_Init"]
5468    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5469}
5470extern "C" {
5471    #[link_name = "\u{1}aws_lc_0_30_0_SHA256_Update"]
5472    pub fn SHA256_Update(
5473        sha: *mut SHA256_CTX,
5474        data: *const ::std::os::raw::c_void,
5475        len: usize,
5476    ) -> ::std::os::raw::c_int;
5477}
5478extern "C" {
5479    #[link_name = "\u{1}aws_lc_0_30_0_SHA256_Final"]
5480    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5481}
5482extern "C" {
5483    #[link_name = "\u{1}aws_lc_0_30_0_SHA256"]
5484    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5485}
5486extern "C" {
5487    #[link_name = "\u{1}aws_lc_0_30_0_SHA256_Transform"]
5488    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5489}
5490extern "C" {
5491    #[link_name = "\u{1}aws_lc_0_30_0_SHA256_TransformBlocks"]
5492    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5493}
5494#[repr(C)]
5495#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5496pub struct sha256_state_st {
5497    pub h: [u32; 8usize],
5498    pub Nl: u32,
5499    pub Nh: u32,
5500    pub data: [u8; 64usize],
5501    pub num: ::std::os::raw::c_uint,
5502    pub md_len: ::std::os::raw::c_uint,
5503}
5504#[test]
5505fn bindgen_test_layout_sha256_state_st() {
5506    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5507    let ptr = UNINIT.as_ptr();
5508    assert_eq!(
5509        ::std::mem::size_of::<sha256_state_st>(),
5510        112usize,
5511        concat!("Size of: ", stringify!(sha256_state_st))
5512    );
5513    assert_eq!(
5514        ::std::mem::align_of::<sha256_state_st>(),
5515        4usize,
5516        concat!("Alignment of ", stringify!(sha256_state_st))
5517    );
5518    assert_eq!(
5519        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5520        0usize,
5521        concat!(
5522            "Offset of field: ",
5523            stringify!(sha256_state_st),
5524            "::",
5525            stringify!(h)
5526        )
5527    );
5528    assert_eq!(
5529        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5530        32usize,
5531        concat!(
5532            "Offset of field: ",
5533            stringify!(sha256_state_st),
5534            "::",
5535            stringify!(Nl)
5536        )
5537    );
5538    assert_eq!(
5539        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5540        36usize,
5541        concat!(
5542            "Offset of field: ",
5543            stringify!(sha256_state_st),
5544            "::",
5545            stringify!(Nh)
5546        )
5547    );
5548    assert_eq!(
5549        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5550        40usize,
5551        concat!(
5552            "Offset of field: ",
5553            stringify!(sha256_state_st),
5554            "::",
5555            stringify!(data)
5556        )
5557    );
5558    assert_eq!(
5559        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5560        104usize,
5561        concat!(
5562            "Offset of field: ",
5563            stringify!(sha256_state_st),
5564            "::",
5565            stringify!(num)
5566        )
5567    );
5568    assert_eq!(
5569        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5570        108usize,
5571        concat!(
5572            "Offset of field: ",
5573            stringify!(sha256_state_st),
5574            "::",
5575            stringify!(md_len)
5576        )
5577    );
5578}
5579impl Default for sha256_state_st {
5580    fn default() -> Self {
5581        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5582        unsafe {
5583            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5584            s.assume_init()
5585        }
5586    }
5587}
5588extern "C" {
5589    #[link_name = "\u{1}aws_lc_0_30_0_SHA384_Init"]
5590    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5591}
5592extern "C" {
5593    #[link_name = "\u{1}aws_lc_0_30_0_SHA384_Update"]
5594    pub fn SHA384_Update(
5595        sha: *mut SHA512_CTX,
5596        data: *const ::std::os::raw::c_void,
5597        len: usize,
5598    ) -> ::std::os::raw::c_int;
5599}
5600extern "C" {
5601    #[link_name = "\u{1}aws_lc_0_30_0_SHA384_Final"]
5602    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5603}
5604extern "C" {
5605    #[link_name = "\u{1}aws_lc_0_30_0_SHA384"]
5606    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5607}
5608extern "C" {
5609    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_Init"]
5610    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5611}
5612extern "C" {
5613    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_Update"]
5614    pub fn SHA512_Update(
5615        sha: *mut SHA512_CTX,
5616        data: *const ::std::os::raw::c_void,
5617        len: usize,
5618    ) -> ::std::os::raw::c_int;
5619}
5620extern "C" {
5621    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_Final"]
5622    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5623}
5624extern "C" {
5625    #[link_name = "\u{1}aws_lc_0_30_0_SHA512"]
5626    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5627}
5628extern "C" {
5629    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_Transform"]
5630    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5631}
5632#[repr(C)]
5633#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5634pub struct sha512_state_st {
5635    pub h: [u64; 8usize],
5636    pub Nl: u64,
5637    pub Nh: u64,
5638    pub p: [u8; 128usize],
5639    pub num: ::std::os::raw::c_uint,
5640    pub md_len: ::std::os::raw::c_uint,
5641}
5642#[test]
5643fn bindgen_test_layout_sha512_state_st() {
5644    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5645    let ptr = UNINIT.as_ptr();
5646    assert_eq!(
5647        ::std::mem::size_of::<sha512_state_st>(),
5648        216usize,
5649        concat!("Size of: ", stringify!(sha512_state_st))
5650    );
5651    assert_eq!(
5652        ::std::mem::align_of::<sha512_state_st>(),
5653        8usize,
5654        concat!("Alignment of ", stringify!(sha512_state_st))
5655    );
5656    assert_eq!(
5657        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5658        0usize,
5659        concat!(
5660            "Offset of field: ",
5661            stringify!(sha512_state_st),
5662            "::",
5663            stringify!(h)
5664        )
5665    );
5666    assert_eq!(
5667        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5668        64usize,
5669        concat!(
5670            "Offset of field: ",
5671            stringify!(sha512_state_st),
5672            "::",
5673            stringify!(Nl)
5674        )
5675    );
5676    assert_eq!(
5677        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5678        72usize,
5679        concat!(
5680            "Offset of field: ",
5681            stringify!(sha512_state_st),
5682            "::",
5683            stringify!(Nh)
5684        )
5685    );
5686    assert_eq!(
5687        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5688        80usize,
5689        concat!(
5690            "Offset of field: ",
5691            stringify!(sha512_state_st),
5692            "::",
5693            stringify!(p)
5694        )
5695    );
5696    assert_eq!(
5697        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5698        208usize,
5699        concat!(
5700            "Offset of field: ",
5701            stringify!(sha512_state_st),
5702            "::",
5703            stringify!(num)
5704        )
5705    );
5706    assert_eq!(
5707        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5708        212usize,
5709        concat!(
5710            "Offset of field: ",
5711            stringify!(sha512_state_st),
5712            "::",
5713            stringify!(md_len)
5714        )
5715    );
5716}
5717impl Default for sha512_state_st {
5718    fn default() -> Self {
5719        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5720        unsafe {
5721            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5722            s.assume_init()
5723        }
5724    }
5725}
5726extern "C" {
5727    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_224_Init"]
5728    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5729}
5730extern "C" {
5731    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_224_Update"]
5732    pub fn SHA512_224_Update(
5733        sha: *mut SHA512_CTX,
5734        data: *const ::std::os::raw::c_void,
5735        len: usize,
5736    ) -> ::std::os::raw::c_int;
5737}
5738extern "C" {
5739    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_224_Final"]
5740    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5741}
5742extern "C" {
5743    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_224"]
5744    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5745}
5746extern "C" {
5747    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_256_Init"]
5748    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5749}
5750extern "C" {
5751    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_256_Update"]
5752    pub fn SHA512_256_Update(
5753        sha: *mut SHA512_CTX,
5754        data: *const ::std::os::raw::c_void,
5755        len: usize,
5756    ) -> ::std::os::raw::c_int;
5757}
5758extern "C" {
5759    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_256_Final"]
5760    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5761}
5762extern "C" {
5763    #[link_name = "\u{1}aws_lc_0_30_0_SHA512_256"]
5764    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5765}
5766extern "C" {
5767    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_malloc"]
5768    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5769}
5770extern "C" {
5771    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_zalloc"]
5772    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5773}
5774extern "C" {
5775    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_calloc"]
5776    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5777}
5778extern "C" {
5779    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_realloc"]
5780    pub fn OPENSSL_realloc(
5781        ptr: *mut ::std::os::raw::c_void,
5782        new_size: usize,
5783    ) -> *mut ::std::os::raw::c_void;
5784}
5785extern "C" {
5786    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_free"]
5787    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5788}
5789extern "C" {
5790    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_cleanse"]
5791    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5792}
5793extern "C" {
5794    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_memcmp"]
5795    pub fn CRYPTO_memcmp(
5796        a: *const ::std::os::raw::c_void,
5797        b: *const ::std::os::raw::c_void,
5798        len: usize,
5799    ) -> ::std::os::raw::c_int;
5800}
5801extern "C" {
5802    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_hash32"]
5803    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
5804}
5805extern "C" {
5806    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strhash"]
5807    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
5808}
5809extern "C" {
5810    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strdup"]
5811    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5812}
5813extern "C" {
5814    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strnlen"]
5815    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
5816}
5817extern "C" {
5818    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_isalpha"]
5819    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5820}
5821extern "C" {
5822    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_isdigit"]
5823    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5824}
5825extern "C" {
5826    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_isxdigit"]
5827    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5828}
5829extern "C" {
5830    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_fromxdigit"]
5831    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5832}
5833extern "C" {
5834    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_hexstr2buf"]
5835    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
5836}
5837extern "C" {
5838    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_isalnum"]
5839    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5840}
5841extern "C" {
5842    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_tolower"]
5843    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5844}
5845extern "C" {
5846    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_isspace"]
5847    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5848}
5849extern "C" {
5850    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strcasecmp"]
5851    pub fn OPENSSL_strcasecmp(
5852        a: *const ::std::os::raw::c_char,
5853        b: *const ::std::os::raw::c_char,
5854    ) -> ::std::os::raw::c_int;
5855}
5856extern "C" {
5857    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strncasecmp"]
5858    pub fn OPENSSL_strncasecmp(
5859        a: *const ::std::os::raw::c_char,
5860        b: *const ::std::os::raw::c_char,
5861        n: usize,
5862    ) -> ::std::os::raw::c_int;
5863}
5864extern "C" {
5865    #[link_name = "\u{1}aws_lc_0_30_0_BIO_snprintf"]
5866    pub fn BIO_snprintf(
5867        buf: *mut ::std::os::raw::c_char,
5868        n: usize,
5869        format: *const ::std::os::raw::c_char,
5870        ...
5871    ) -> ::std::os::raw::c_int;
5872}
5873extern "C" {
5874    #[link_name = "\u{1}aws_lc_0_30_0_BIO_vsnprintf"]
5875    pub fn BIO_vsnprintf(
5876        buf: *mut ::std::os::raw::c_char,
5877        n: usize,
5878        format: *const ::std::os::raw::c_char,
5879        args: *mut __va_list_tag,
5880    ) -> ::std::os::raw::c_int;
5881}
5882extern "C" {
5883    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_vasprintf"]
5884    pub fn OPENSSL_vasprintf(
5885        str_: *mut *mut ::std::os::raw::c_char,
5886        format: *const ::std::os::raw::c_char,
5887        args: *mut __va_list_tag,
5888    ) -> ::std::os::raw::c_int;
5889}
5890extern "C" {
5891    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_asprintf"]
5892    pub fn OPENSSL_asprintf(
5893        str_: *mut *mut ::std::os::raw::c_char,
5894        format: *const ::std::os::raw::c_char,
5895        ...
5896    ) -> ::std::os::raw::c_int;
5897}
5898extern "C" {
5899    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strndup"]
5900    pub fn OPENSSL_strndup(
5901        str_: *const ::std::os::raw::c_char,
5902        size: usize,
5903    ) -> *mut ::std::os::raw::c_char;
5904}
5905extern "C" {
5906    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_memdup"]
5907    pub fn OPENSSL_memdup(
5908        data: *const ::std::os::raw::c_void,
5909        size: usize,
5910    ) -> *mut ::std::os::raw::c_void;
5911}
5912extern "C" {
5913    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strlcpy"]
5914    pub fn OPENSSL_strlcpy(
5915        dst: *mut ::std::os::raw::c_char,
5916        src: *const ::std::os::raw::c_char,
5917        dst_size: usize,
5918    ) -> usize;
5919}
5920extern "C" {
5921    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_strlcat"]
5922    pub fn OPENSSL_strlcat(
5923        dst: *mut ::std::os::raw::c_char,
5924        src: *const ::std::os::raw::c_char,
5925        dst_size: usize,
5926    ) -> usize;
5927}
5928extern "C" {
5929    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_malloc"]
5930    pub fn CRYPTO_malloc(
5931        size: usize,
5932        file: *const ::std::os::raw::c_char,
5933        line: ::std::os::raw::c_int,
5934    ) -> *mut ::std::os::raw::c_void;
5935}
5936extern "C" {
5937    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_realloc"]
5938    pub fn CRYPTO_realloc(
5939        ptr: *mut ::std::os::raw::c_void,
5940        new_size: usize,
5941        file: *const ::std::os::raw::c_char,
5942        line: ::std::os::raw::c_int,
5943    ) -> *mut ::std::os::raw::c_void;
5944}
5945extern "C" {
5946    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_free"]
5947    pub fn CRYPTO_free(
5948        ptr: *mut ::std::os::raw::c_void,
5949        file: *const ::std::os::raw::c_char,
5950        line: ::std::os::raw::c_int,
5951    );
5952}
5953extern "C" {
5954    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_clear_free"]
5955    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5956}
5957extern "C" {
5958    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_mem_functions"]
5959    pub fn CRYPTO_set_mem_functions(
5960        m: ::std::option::Option<
5961            unsafe extern "C" fn(
5962                arg1: usize,
5963                arg2: *const ::std::os::raw::c_char,
5964                arg3: ::std::os::raw::c_int,
5965            ) -> *mut ::std::os::raw::c_void,
5966        >,
5967        r: ::std::option::Option<
5968            unsafe extern "C" fn(
5969                arg1: *mut ::std::os::raw::c_void,
5970                arg2: usize,
5971                arg3: *const ::std::os::raw::c_char,
5972                arg4: ::std::os::raw::c_int,
5973            ) -> *mut ::std::os::raw::c_void,
5974        >,
5975        f: ::std::option::Option<
5976            unsafe extern "C" fn(
5977                arg1: *mut ::std::os::raw::c_void,
5978                arg2: *const ::std::os::raw::c_char,
5979                arg3: ::std::os::raw::c_int,
5980            ),
5981        >,
5982    ) -> ::std::os::raw::c_int;
5983}
5984extern "C" {
5985    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_secure_malloc_init"]
5986    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
5987}
5988extern "C" {
5989    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_secure_malloc_initialized"]
5990    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
5991}
5992extern "C" {
5993    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_secure_used"]
5994    pub fn CRYPTO_secure_used() -> usize;
5995}
5996extern "C" {
5997    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_secure_malloc"]
5998    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5999}
6000extern "C" {
6001    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_secure_zalloc"]
6002    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
6003}
6004extern "C" {
6005    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_secure_clear_free"]
6006    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
6007}
6008#[repr(C)]
6009#[derive(Copy, Clone)]
6010pub union crypto_mutex_st {
6011    pub alignment: f64,
6012    pub padding: [u8; 56usize],
6013}
6014#[test]
6015fn bindgen_test_layout_crypto_mutex_st() {
6016    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
6017    let ptr = UNINIT.as_ptr();
6018    assert_eq!(
6019        ::std::mem::size_of::<crypto_mutex_st>(),
6020        56usize,
6021        concat!("Size of: ", stringify!(crypto_mutex_st))
6022    );
6023    assert_eq!(
6024        ::std::mem::align_of::<crypto_mutex_st>(),
6025        8usize,
6026        concat!("Alignment of ", stringify!(crypto_mutex_st))
6027    );
6028    assert_eq!(
6029        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
6030        0usize,
6031        concat!(
6032            "Offset of field: ",
6033            stringify!(crypto_mutex_st),
6034            "::",
6035            stringify!(alignment)
6036        )
6037    );
6038    assert_eq!(
6039        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
6040        0usize,
6041        concat!(
6042            "Offset of field: ",
6043            stringify!(crypto_mutex_st),
6044            "::",
6045            stringify!(padding)
6046        )
6047    );
6048}
6049impl Default for crypto_mutex_st {
6050    fn default() -> Self {
6051        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6052        unsafe {
6053            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6054            s.assume_init()
6055        }
6056    }
6057}
6058pub type CRYPTO_MUTEX = crypto_mutex_st;
6059pub type CRYPTO_refcount_t = u32;
6060extern "C" {
6061    #[link_name = "\u{1}aws_lc_0_30_0_AWSLC_thread_local_clear"]
6062    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
6063}
6064extern "C" {
6065    #[link_name = "\u{1}aws_lc_0_30_0_AWSLC_thread_local_shutdown"]
6066    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
6067}
6068extern "C" {
6069    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_num_locks"]
6070    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
6071}
6072extern "C" {
6073    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_locking_callback"]
6074    pub fn CRYPTO_set_locking_callback(
6075        func: ::std::option::Option<
6076            unsafe extern "C" fn(
6077                mode: ::std::os::raw::c_int,
6078                lock_num: ::std::os::raw::c_int,
6079                file: *const ::std::os::raw::c_char,
6080                line: ::std::os::raw::c_int,
6081            ),
6082        >,
6083    );
6084}
6085extern "C" {
6086    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_add_lock_callback"]
6087    pub fn CRYPTO_set_add_lock_callback(
6088        func: ::std::option::Option<
6089            unsafe extern "C" fn(
6090                num: *mut ::std::os::raw::c_int,
6091                amount: ::std::os::raw::c_int,
6092                lock_num: ::std::os::raw::c_int,
6093                file: *const ::std::os::raw::c_char,
6094                line: ::std::os::raw::c_int,
6095            ) -> ::std::os::raw::c_int,
6096        >,
6097    );
6098}
6099extern "C" {
6100    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_get_locking_callback"]
6101    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
6102        unsafe extern "C" fn(
6103            arg1: ::std::os::raw::c_int,
6104            arg2: ::std::os::raw::c_int,
6105            arg3: *const ::std::os::raw::c_char,
6106            arg4: ::std::os::raw::c_int,
6107        ),
6108    >;
6109}
6110extern "C" {
6111    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_get_lock_name"]
6112    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6113}
6114extern "C" {
6115    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_THREADID_set_callback"]
6116    pub fn CRYPTO_THREADID_set_callback(
6117        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
6118    ) -> ::std::os::raw::c_int;
6119}
6120extern "C" {
6121    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_THREADID_set_numeric"]
6122    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
6123}
6124extern "C" {
6125    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_THREADID_set_pointer"]
6126    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
6127}
6128extern "C" {
6129    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_THREADID_current"]
6130    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
6131}
6132extern "C" {
6133    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_id_callback"]
6134    pub fn CRYPTO_set_id_callback(
6135        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
6136    );
6137}
6138#[repr(C)]
6139#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6140pub struct CRYPTO_dynlock {
6141    pub references: ::std::os::raw::c_int,
6142    pub data: *mut CRYPTO_dynlock_value,
6143}
6144#[test]
6145fn bindgen_test_layout_CRYPTO_dynlock() {
6146    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
6147    let ptr = UNINIT.as_ptr();
6148    assert_eq!(
6149        ::std::mem::size_of::<CRYPTO_dynlock>(),
6150        16usize,
6151        concat!("Size of: ", stringify!(CRYPTO_dynlock))
6152    );
6153    assert_eq!(
6154        ::std::mem::align_of::<CRYPTO_dynlock>(),
6155        8usize,
6156        concat!("Alignment of ", stringify!(CRYPTO_dynlock))
6157    );
6158    assert_eq!(
6159        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
6160        0usize,
6161        concat!(
6162            "Offset of field: ",
6163            stringify!(CRYPTO_dynlock),
6164            "::",
6165            stringify!(references)
6166        )
6167    );
6168    assert_eq!(
6169        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6170        8usize,
6171        concat!(
6172            "Offset of field: ",
6173            stringify!(CRYPTO_dynlock),
6174            "::",
6175            stringify!(data)
6176        )
6177    );
6178}
6179impl Default for CRYPTO_dynlock {
6180    fn default() -> Self {
6181        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6182        unsafe {
6183            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6184            s.assume_init()
6185        }
6186    }
6187}
6188extern "C" {
6189    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_dynlock_create_callback"]
6190    pub fn CRYPTO_set_dynlock_create_callback(
6191        dyn_create_function: ::std::option::Option<
6192            unsafe extern "C" fn(
6193                file: *const ::std::os::raw::c_char,
6194                line: ::std::os::raw::c_int,
6195            ) -> *mut CRYPTO_dynlock_value,
6196        >,
6197    );
6198}
6199extern "C" {
6200    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_dynlock_lock_callback"]
6201    pub fn CRYPTO_set_dynlock_lock_callback(
6202        dyn_lock_function: ::std::option::Option<
6203            unsafe extern "C" fn(
6204                mode: ::std::os::raw::c_int,
6205                l: *mut CRYPTO_dynlock_value,
6206                file: *const ::std::os::raw::c_char,
6207                line: ::std::os::raw::c_int,
6208            ),
6209        >,
6210    );
6211}
6212extern "C" {
6213    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_set_dynlock_destroy_callback"]
6214    pub fn CRYPTO_set_dynlock_destroy_callback(
6215        dyn_destroy_function: ::std::option::Option<
6216            unsafe extern "C" fn(
6217                l: *mut CRYPTO_dynlock_value,
6218                file: *const ::std::os::raw::c_char,
6219                line: ::std::os::raw::c_int,
6220            ),
6221        >,
6222    );
6223}
6224extern "C" {
6225    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_get_dynlock_create_callback"]
6226    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
6227        unsafe extern "C" fn(
6228            arg1: *const ::std::os::raw::c_char,
6229            arg2: ::std::os::raw::c_int,
6230        ) -> *mut CRYPTO_dynlock_value,
6231    >;
6232}
6233extern "C" {
6234    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_get_dynlock_lock_callback"]
6235    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
6236        unsafe extern "C" fn(
6237            arg1: ::std::os::raw::c_int,
6238            arg2: *mut CRYPTO_dynlock_value,
6239            arg3: *const ::std::os::raw::c_char,
6240            arg4: ::std::os::raw::c_int,
6241        ),
6242    >;
6243}
6244extern "C" {
6245    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_get_dynlock_destroy_callback"]
6246    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
6247        unsafe extern "C" fn(
6248            arg1: *mut CRYPTO_dynlock_value,
6249            arg2: *const ::std::os::raw::c_char,
6250            arg3: ::std::os::raw::c_int,
6251        ),
6252    >;
6253}
6254extern "C" {
6255    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_library_init"]
6256    pub fn CRYPTO_library_init();
6257}
6258extern "C" {
6259    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_is_confidential_build"]
6260    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
6261}
6262extern "C" {
6263    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_has_asm"]
6264    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
6265}
6266extern "C" {
6267    #[link_name = "\u{1}aws_lc_0_30_0_BORINGSSL_self_test"]
6268    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6269}
6270extern "C" {
6271    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6272}
6273extern "C" {
6274    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_pre_sandbox_init"]
6275    pub fn CRYPTO_pre_sandbox_init();
6276}
6277extern "C" {
6278    #[link_name = "\u{1}aws_lc_0_30_0_FIPS_mode"]
6279    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6280}
6281extern "C" {
6282    #[link_name = "\u{1}aws_lc_0_30_0_FIPS_is_entropy_cpu_jitter"]
6283    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6284}
6285pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
6286pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
6287pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
6288pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
6289pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
6290pub type fips_counter_t = ::std::os::raw::c_uint;
6291extern "C" {
6292    #[link_name = "\u{1}aws_lc_0_30_0_FIPS_read_counter"]
6293    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
6294}
6295extern "C" {
6296    #[link_name = "\u{1}aws_lc_0_30_0_OpenSSL_version"]
6297    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6298}
6299extern "C" {
6300    #[link_name = "\u{1}aws_lc_0_30_0_SSLeay_version"]
6301    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6302}
6303extern "C" {
6304    #[link_name = "\u{1}aws_lc_0_30_0_SSLeay"]
6305    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6306}
6307extern "C" {
6308    #[link_name = "\u{1}aws_lc_0_30_0_OpenSSL_version_num"]
6309    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6310}
6311extern "C" {
6312    #[link_name = "\u{1}aws_lc_0_30_0_awslc_api_version_num"]
6313    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6314}
6315extern "C" {
6316    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_malloc_init"]
6317    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6318}
6319extern "C" {
6320    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_malloc_init"]
6321    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6322}
6323extern "C" {
6324    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_load_builtin_engines"]
6325    pub fn ENGINE_load_builtin_engines();
6326}
6327extern "C" {
6328    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_register_all_complete"]
6329    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6330}
6331extern "C" {
6332    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_load_builtin_modules"]
6333    pub fn OPENSSL_load_builtin_modules();
6334}
6335extern "C" {
6336    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_init_crypto"]
6337    pub fn OPENSSL_init_crypto(
6338        opts: u64,
6339        settings: *const OPENSSL_INIT_SETTINGS,
6340    ) -> ::std::os::raw::c_int;
6341}
6342extern "C" {
6343    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_init"]
6344    pub fn OPENSSL_init();
6345}
6346extern "C" {
6347    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_cleanup"]
6348    pub fn OPENSSL_cleanup();
6349}
6350extern "C" {
6351    #[link_name = "\u{1}aws_lc_0_30_0_FIPS_mode_set"]
6352    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6353}
6354extern "C" {
6355    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_mem_ctrl"]
6356    pub fn CRYPTO_mem_ctrl(mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6357}
6358extern "C" {
6359    #[link_name = "\u{1}aws_lc_0_30_0_ERR_load_BIO_strings"]
6360    pub fn ERR_load_BIO_strings();
6361}
6362extern "C" {
6363    #[link_name = "\u{1}aws_lc_0_30_0_ERR_load_ERR_strings"]
6364    pub fn ERR_load_ERR_strings();
6365}
6366extern "C" {
6367    #[link_name = "\u{1}aws_lc_0_30_0_ERR_load_CRYPTO_strings"]
6368    pub fn ERR_load_CRYPTO_strings();
6369}
6370extern "C" {
6371    #[link_name = "\u{1}aws_lc_0_30_0_ERR_load_crypto_strings"]
6372    pub fn ERR_load_crypto_strings();
6373}
6374extern "C" {
6375    #[link_name = "\u{1}aws_lc_0_30_0_ERR_load_RAND_strings"]
6376    pub fn ERR_load_RAND_strings();
6377}
6378extern "C" {
6379    #[link_name = "\u{1}aws_lc_0_30_0_ERR_free_strings"]
6380    pub fn ERR_free_strings();
6381}
6382extern "C" {
6383    #[link_name = "\u{1}aws_lc_0_30_0_ERR_get_error"]
6384    pub fn ERR_get_error() -> u32;
6385}
6386extern "C" {
6387    #[link_name = "\u{1}aws_lc_0_30_0_ERR_get_error_line"]
6388    pub fn ERR_get_error_line(
6389        file: *mut *const ::std::os::raw::c_char,
6390        line: *mut ::std::os::raw::c_int,
6391    ) -> u32;
6392}
6393extern "C" {
6394    #[link_name = "\u{1}aws_lc_0_30_0_ERR_get_error_line_data"]
6395    pub fn ERR_get_error_line_data(
6396        file: *mut *const ::std::os::raw::c_char,
6397        line: *mut ::std::os::raw::c_int,
6398        data: *mut *const ::std::os::raw::c_char,
6399        flags: *mut ::std::os::raw::c_int,
6400    ) -> u32;
6401}
6402extern "C" {
6403    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_error"]
6404    pub fn ERR_peek_error() -> u32;
6405}
6406extern "C" {
6407    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_error_line"]
6408    pub fn ERR_peek_error_line(
6409        file: *mut *const ::std::os::raw::c_char,
6410        line: *mut ::std::os::raw::c_int,
6411    ) -> u32;
6412}
6413extern "C" {
6414    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_error_line_data"]
6415    pub fn ERR_peek_error_line_data(
6416        file: *mut *const ::std::os::raw::c_char,
6417        line: *mut ::std::os::raw::c_int,
6418        data: *mut *const ::std::os::raw::c_char,
6419        flags: *mut ::std::os::raw::c_int,
6420    ) -> u32;
6421}
6422extern "C" {
6423    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_last_error"]
6424    pub fn ERR_peek_last_error() -> u32;
6425}
6426extern "C" {
6427    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_last_error_line"]
6428    pub fn ERR_peek_last_error_line(
6429        file: *mut *const ::std::os::raw::c_char,
6430        line: *mut ::std::os::raw::c_int,
6431    ) -> u32;
6432}
6433extern "C" {
6434    #[link_name = "\u{1}aws_lc_0_30_0_ERR_peek_last_error_line_data"]
6435    pub fn ERR_peek_last_error_line_data(
6436        file: *mut *const ::std::os::raw::c_char,
6437        line: *mut ::std::os::raw::c_int,
6438        data: *mut *const ::std::os::raw::c_char,
6439        flags: *mut ::std::os::raw::c_int,
6440    ) -> u32;
6441}
6442extern "C" {
6443    #[link_name = "\u{1}aws_lc_0_30_0_ERR_error_string_n"]
6444    pub fn ERR_error_string_n(
6445        packed_error: u32,
6446        buf: *mut ::std::os::raw::c_char,
6447        len: usize,
6448    ) -> *mut ::std::os::raw::c_char;
6449}
6450extern "C" {
6451    #[link_name = "\u{1}aws_lc_0_30_0_ERR_lib_error_string"]
6452    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6453}
6454extern "C" {
6455    #[link_name = "\u{1}aws_lc_0_30_0_ERR_reason_error_string"]
6456    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6457}
6458pub type ERR_print_errors_callback_t = ::std::option::Option<
6459    unsafe extern "C" fn(
6460        str_: *const ::std::os::raw::c_char,
6461        len: usize,
6462        ctx: *mut ::std::os::raw::c_void,
6463    ) -> ::std::os::raw::c_int,
6464>;
6465extern "C" {
6466    #[link_name = "\u{1}aws_lc_0_30_0_ERR_print_errors_cb"]
6467    pub fn ERR_print_errors_cb(
6468        callback: ERR_print_errors_callback_t,
6469        ctx: *mut ::std::os::raw::c_void,
6470    );
6471}
6472extern "C" {
6473    #[link_name = "\u{1}aws_lc_0_30_0_ERR_print_errors_fp"]
6474    pub fn ERR_print_errors_fp(file: *mut FILE);
6475}
6476extern "C" {
6477    #[link_name = "\u{1}aws_lc_0_30_0_ERR_clear_error"]
6478    pub fn ERR_clear_error();
6479}
6480extern "C" {
6481    #[link_name = "\u{1}aws_lc_0_30_0_ERR_set_mark"]
6482    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6483}
6484extern "C" {
6485    #[link_name = "\u{1}aws_lc_0_30_0_ERR_pop_to_mark"]
6486    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6487}
6488extern "C" {
6489    #[link_name = "\u{1}aws_lc_0_30_0_ERR_get_next_error_library"]
6490    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6491}
6492extern "C" {
6493    #[link_name = "\u{1}aws_lc_0_30_0_ERR_remove_state"]
6494    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6495}
6496extern "C" {
6497    #[link_name = "\u{1}aws_lc_0_30_0_ERR_remove_thread_state"]
6498    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6499}
6500extern "C" {
6501    #[link_name = "\u{1}aws_lc_0_30_0_ERR_func_error_string"]
6502    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6503}
6504extern "C" {
6505    #[link_name = "\u{1}aws_lc_0_30_0_ERR_error_string"]
6506    pub fn ERR_error_string(
6507        packed_error: u32,
6508        buf: *mut ::std::os::raw::c_char,
6509    ) -> *mut ::std::os::raw::c_char;
6510}
6511extern "C" {
6512    #[link_name = "\u{1}aws_lc_0_30_0_ERR_clear_system_error"]
6513    pub fn ERR_clear_system_error();
6514}
6515extern "C" {
6516    #[link_name = "\u{1}aws_lc_0_30_0_ERR_put_error"]
6517    pub fn ERR_put_error(
6518        library: ::std::os::raw::c_int,
6519        unused: ::std::os::raw::c_int,
6520        reason: ::std::os::raw::c_int,
6521        file: *const ::std::os::raw::c_char,
6522        line: ::std::os::raw::c_uint,
6523    );
6524}
6525extern "C" {
6526    #[link_name = "\u{1}aws_lc_0_30_0_ERR_add_error_data"]
6527    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6528}
6529extern "C" {
6530    #[link_name = "\u{1}aws_lc_0_30_0_ERR_add_error_dataf"]
6531    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6532}
6533extern "C" {
6534    #[link_name = "\u{1}aws_lc_0_30_0_ERR_set_error_data"]
6535    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6536}
6537pub type OPENSSL_sk_free_func =
6538    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6539pub type OPENSSL_sk_copy_func = ::std::option::Option<
6540    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6541>;
6542pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6543    unsafe extern "C" fn(
6544        a: *const *const ::std::os::raw::c_void,
6545        b: *const *const ::std::os::raw::c_void,
6546    ) -> ::std::os::raw::c_int,
6547>;
6548pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6549    unsafe extern "C" fn(
6550        obj: *mut ::std::os::raw::c_void,
6551        data: *mut ::std::os::raw::c_void,
6552    ) -> ::std::os::raw::c_int,
6553>;
6554pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6555    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6556>;
6557pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6558    unsafe extern "C" fn(
6559        arg1: OPENSSL_sk_copy_func,
6560        arg2: *const ::std::os::raw::c_void,
6561    ) -> *mut ::std::os::raw::c_void,
6562>;
6563pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6564    unsafe extern "C" fn(
6565        arg1: OPENSSL_sk_cmp_func,
6566        arg2: *const ::std::os::raw::c_void,
6567        arg3: *const ::std::os::raw::c_void,
6568    ) -> ::std::os::raw::c_int,
6569>;
6570pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6571    unsafe extern "C" fn(
6572        arg1: OPENSSL_sk_delete_if_func,
6573        arg2: *mut ::std::os::raw::c_void,
6574        arg3: *mut ::std::os::raw::c_void,
6575    ) -> ::std::os::raw::c_int,
6576>;
6577#[repr(C)]
6578#[derive(Debug, Copy, Clone)]
6579pub struct stack_st {
6580    _unused: [u8; 0],
6581}
6582pub type OPENSSL_STACK = stack_st;
6583extern "C" {
6584    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_new"]
6585    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6586}
6587extern "C" {
6588    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_new_null"]
6589    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6590}
6591extern "C" {
6592    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_num"]
6593    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6594}
6595extern "C" {
6596    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_zero"]
6597    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6598}
6599extern "C" {
6600    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_value"]
6601    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6602}
6603extern "C" {
6604    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_set"]
6605    pub fn OPENSSL_sk_set(
6606        sk: *mut OPENSSL_STACK,
6607        i: usize,
6608        p: *mut ::std::os::raw::c_void,
6609    ) -> *mut ::std::os::raw::c_void;
6610}
6611extern "C" {
6612    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_free"]
6613    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6614}
6615extern "C" {
6616    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_pop_free_ex"]
6617    pub fn OPENSSL_sk_pop_free_ex(
6618        sk: *mut OPENSSL_STACK,
6619        call_free_func: OPENSSL_sk_call_free_func,
6620        free_func: OPENSSL_sk_free_func,
6621    );
6622}
6623extern "C" {
6624    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_insert"]
6625    pub fn OPENSSL_sk_insert(
6626        sk: *mut OPENSSL_STACK,
6627        p: *mut ::std::os::raw::c_void,
6628        where_: usize,
6629    ) -> usize;
6630}
6631extern "C" {
6632    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_delete"]
6633    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6634}
6635extern "C" {
6636    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_delete_ptr"]
6637    pub fn OPENSSL_sk_delete_ptr(
6638        sk: *mut OPENSSL_STACK,
6639        p: *const ::std::os::raw::c_void,
6640    ) -> *mut ::std::os::raw::c_void;
6641}
6642extern "C" {
6643    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_delete_if"]
6644    pub fn OPENSSL_sk_delete_if(
6645        sk: *mut OPENSSL_STACK,
6646        call_func: OPENSSL_sk_call_delete_if_func,
6647        func: OPENSSL_sk_delete_if_func,
6648        data: *mut ::std::os::raw::c_void,
6649    );
6650}
6651extern "C" {
6652    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_find"]
6653    pub fn OPENSSL_sk_find(
6654        sk: *const OPENSSL_STACK,
6655        out_index: *mut usize,
6656        p: *const ::std::os::raw::c_void,
6657        call_cmp_func: OPENSSL_sk_call_cmp_func,
6658    ) -> ::std::os::raw::c_int;
6659}
6660extern "C" {
6661    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_unshift"]
6662    pub fn OPENSSL_sk_unshift(
6663        sk: *mut OPENSSL_STACK,
6664        data: *mut ::std::os::raw::c_void,
6665    ) -> ::std::os::raw::c_int;
6666}
6667extern "C" {
6668    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_shift"]
6669    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6670}
6671extern "C" {
6672    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_push"]
6673    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6674}
6675extern "C" {
6676    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_pop"]
6677    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6678}
6679extern "C" {
6680    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_dup"]
6681    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6682}
6683extern "C" {
6684    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_sort"]
6685    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6686}
6687extern "C" {
6688    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_is_sorted"]
6689    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6690}
6691extern "C" {
6692    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_set_cmp_func"]
6693    pub fn OPENSSL_sk_set_cmp_func(
6694        sk: *mut OPENSSL_STACK,
6695        comp: OPENSSL_sk_cmp_func,
6696    ) -> OPENSSL_sk_cmp_func;
6697}
6698extern "C" {
6699    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_sk_deep_copy"]
6700    pub fn OPENSSL_sk_deep_copy(
6701        sk: *const OPENSSL_STACK,
6702        call_copy_func: OPENSSL_sk_call_copy_func,
6703        copy_func: OPENSSL_sk_copy_func,
6704        call_free_func: OPENSSL_sk_call_free_func,
6705        free_func: OPENSSL_sk_free_func,
6706    ) -> *mut OPENSSL_STACK;
6707}
6708pub type _STACK = OPENSSL_STACK;
6709extern "C" {
6710    #[link_name = "\u{1}aws_lc_0_30_0_sk_pop_free"]
6711    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6712}
6713pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6714#[repr(C)]
6715#[derive(Debug, Copy, Clone)]
6716pub struct stack_st_void {
6717    _unused: [u8; 0],
6718}
6719pub type sk_void_free_func =
6720    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6721pub type sk_void_copy_func = ::std::option::Option<
6722    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6723>;
6724pub type sk_void_cmp_func = ::std::option::Option<
6725    unsafe extern "C" fn(
6726        arg1: *const *const ::std::os::raw::c_void,
6727        arg2: *const *const ::std::os::raw::c_void,
6728    ) -> ::std::os::raw::c_int,
6729>;
6730pub type sk_void_delete_if_func = ::std::option::Option<
6731    unsafe extern "C" fn(
6732        arg1: *mut ::std::os::raw::c_void,
6733        arg2: *mut ::std::os::raw::c_void,
6734    ) -> ::std::os::raw::c_int,
6735>;
6736#[repr(C)]
6737#[derive(Debug, Copy, Clone)]
6738pub struct stack_st_OPENSSL_STRING {
6739    _unused: [u8; 0],
6740}
6741pub type sk_OPENSSL_STRING_free_func =
6742    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6743pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6744    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6745>;
6746pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6747    unsafe extern "C" fn(
6748        arg1: *const *const ::std::os::raw::c_char,
6749        arg2: *const *const ::std::os::raw::c_char,
6750    ) -> ::std::os::raw::c_int,
6751>;
6752pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6753    unsafe extern "C" fn(
6754        arg1: *mut ::std::os::raw::c_char,
6755        arg2: *mut ::std::os::raw::c_void,
6756    ) -> ::std::os::raw::c_int,
6757>;
6758pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6759pub type CRYPTO_EX_free = ::std::option::Option<
6760    unsafe extern "C" fn(
6761        parent: *mut ::std::os::raw::c_void,
6762        ptr: *mut ::std::os::raw::c_void,
6763        ad: *mut CRYPTO_EX_DATA,
6764        index: ::std::os::raw::c_int,
6765        argl: ::std::os::raw::c_long,
6766        argp: *mut ::std::os::raw::c_void,
6767    ),
6768>;
6769extern "C" {
6770    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_cleanup_all_ex_data"]
6771    pub fn CRYPTO_cleanup_all_ex_data();
6772}
6773pub type CRYPTO_EX_dup = ::std::option::Option<
6774    unsafe extern "C" fn(
6775        to: *mut CRYPTO_EX_DATA,
6776        from: *const CRYPTO_EX_DATA,
6777        from_d: *mut *mut ::std::os::raw::c_void,
6778        index: ::std::os::raw::c_int,
6779        argl: ::std::os::raw::c_long,
6780        argp: *mut ::std::os::raw::c_void,
6781    ) -> ::std::os::raw::c_int,
6782>;
6783pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6784#[repr(C)]
6785#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6786pub struct crypto_ex_data_st {
6787    pub sk: *mut stack_st_void,
6788}
6789#[test]
6790fn bindgen_test_layout_crypto_ex_data_st() {
6791    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6792    let ptr = UNINIT.as_ptr();
6793    assert_eq!(
6794        ::std::mem::size_of::<crypto_ex_data_st>(),
6795        8usize,
6796        concat!("Size of: ", stringify!(crypto_ex_data_st))
6797    );
6798    assert_eq!(
6799        ::std::mem::align_of::<crypto_ex_data_st>(),
6800        8usize,
6801        concat!("Alignment of ", stringify!(crypto_ex_data_st))
6802    );
6803    assert_eq!(
6804        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6805        0usize,
6806        concat!(
6807            "Offset of field: ",
6808            stringify!(crypto_ex_data_st),
6809            "::",
6810            stringify!(sk)
6811        )
6812    );
6813}
6814impl Default for crypto_ex_data_st {
6815    fn default() -> Self {
6816        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6817        unsafe {
6818            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6819            s.assume_init()
6820        }
6821    }
6822}
6823#[repr(C)]
6824#[derive(Debug, Copy, Clone)]
6825pub struct stack_st_BIO {
6826    _unused: [u8; 0],
6827}
6828pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6829pub type sk_BIO_copy_func =
6830    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6831pub type sk_BIO_cmp_func = ::std::option::Option<
6832    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
6833>;
6834pub type sk_BIO_delete_if_func = ::std::option::Option<
6835    unsafe extern "C" fn(
6836        arg1: *mut BIO,
6837        arg2: *mut ::std::os::raw::c_void,
6838    ) -> ::std::os::raw::c_int,
6839>;
6840extern "C" {
6841    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new"]
6842    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6843}
6844extern "C" {
6845    #[link_name = "\u{1}aws_lc_0_30_0_BIO_free"]
6846    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
6847}
6848extern "C" {
6849    #[link_name = "\u{1}aws_lc_0_30_0_BIO_vfree"]
6850    pub fn BIO_vfree(bio: *mut BIO);
6851}
6852extern "C" {
6853    #[link_name = "\u{1}aws_lc_0_30_0_BIO_up_ref"]
6854    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
6855}
6856extern "C" {
6857    #[link_name = "\u{1}aws_lc_0_30_0_BIO_read"]
6858    pub fn BIO_read(
6859        bio: *mut BIO,
6860        data: *mut ::std::os::raw::c_void,
6861        len: ::std::os::raw::c_int,
6862    ) -> ::std::os::raw::c_int;
6863}
6864extern "C" {
6865    #[link_name = "\u{1}aws_lc_0_30_0_BIO_read_ex"]
6866    pub fn BIO_read_ex(
6867        bio: *mut BIO,
6868        data: *mut ::std::os::raw::c_void,
6869        data_len: usize,
6870        read_bytes: *mut usize,
6871    ) -> ::std::os::raw::c_int;
6872}
6873extern "C" {
6874    #[link_name = "\u{1}aws_lc_0_30_0_BIO_gets"]
6875    pub fn BIO_gets(
6876        bio: *mut BIO,
6877        buf: *mut ::std::os::raw::c_char,
6878        size: ::std::os::raw::c_int,
6879    ) -> ::std::os::raw::c_int;
6880}
6881extern "C" {
6882    #[link_name = "\u{1}aws_lc_0_30_0_BIO_write"]
6883    pub fn BIO_write(
6884        bio: *mut BIO,
6885        data: *const ::std::os::raw::c_void,
6886        len: ::std::os::raw::c_int,
6887    ) -> ::std::os::raw::c_int;
6888}
6889extern "C" {
6890    #[link_name = "\u{1}aws_lc_0_30_0_BIO_write_ex"]
6891    pub fn BIO_write_ex(
6892        bio: *mut BIO,
6893        data: *const ::std::os::raw::c_void,
6894        data_len: usize,
6895        written_bytes: *mut usize,
6896    ) -> ::std::os::raw::c_int;
6897}
6898extern "C" {
6899    #[link_name = "\u{1}aws_lc_0_30_0_BIO_write_all"]
6900    pub fn BIO_write_all(
6901        bio: *mut BIO,
6902        data: *const ::std::os::raw::c_void,
6903        len: usize,
6904    ) -> ::std::os::raw::c_int;
6905}
6906extern "C" {
6907    #[link_name = "\u{1}aws_lc_0_30_0_BIO_puts"]
6908    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6909}
6910extern "C" {
6911    #[link_name = "\u{1}aws_lc_0_30_0_BIO_flush"]
6912    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
6913}
6914extern "C" {
6915    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl"]
6916    pub fn BIO_ctrl(
6917        bio: *mut BIO,
6918        cmd: ::std::os::raw::c_int,
6919        larg: ::std::os::raw::c_long,
6920        parg: *mut ::std::os::raw::c_void,
6921    ) -> ::std::os::raw::c_long;
6922}
6923extern "C" {
6924    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ptr_ctrl"]
6925    pub fn BIO_ptr_ctrl(
6926        bp: *mut BIO,
6927        cmd: ::std::os::raw::c_int,
6928        larg: ::std::os::raw::c_long,
6929    ) -> *mut ::std::os::raw::c_char;
6930}
6931extern "C" {
6932    #[link_name = "\u{1}aws_lc_0_30_0_BIO_int_ctrl"]
6933    pub fn BIO_int_ctrl(
6934        bp: *mut BIO,
6935        cmd: ::std::os::raw::c_int,
6936        larg: ::std::os::raw::c_long,
6937        iarg: ::std::os::raw::c_int,
6938    ) -> ::std::os::raw::c_long;
6939}
6940extern "C" {
6941    #[link_name = "\u{1}aws_lc_0_30_0_BIO_reset"]
6942    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
6943}
6944extern "C" {
6945    #[link_name = "\u{1}aws_lc_0_30_0_BIO_eof"]
6946    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
6947}
6948extern "C" {
6949    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_flags"]
6950    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6951}
6952extern "C" {
6953    #[link_name = "\u{1}aws_lc_0_30_0_BIO_test_flags"]
6954    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6955}
6956extern "C" {
6957    #[link_name = "\u{1}aws_lc_0_30_0_BIO_should_read"]
6958    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
6959}
6960extern "C" {
6961    #[link_name = "\u{1}aws_lc_0_30_0_BIO_should_write"]
6962    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
6963}
6964extern "C" {
6965    #[link_name = "\u{1}aws_lc_0_30_0_BIO_should_retry"]
6966    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
6967}
6968extern "C" {
6969    #[link_name = "\u{1}aws_lc_0_30_0_BIO_should_io_special"]
6970    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
6971}
6972extern "C" {
6973    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_retry_reason"]
6974    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
6975}
6976extern "C" {
6977    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_retry_reason"]
6978    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
6979}
6980extern "C" {
6981    #[link_name = "\u{1}aws_lc_0_30_0_BIO_clear_flags"]
6982    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6983}
6984extern "C" {
6985    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_retry_read"]
6986    pub fn BIO_set_retry_read(bio: *mut BIO);
6987}
6988extern "C" {
6989    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_retry_write"]
6990    pub fn BIO_set_retry_write(bio: *mut BIO);
6991}
6992extern "C" {
6993    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_retry_flags"]
6994    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
6995}
6996extern "C" {
6997    #[link_name = "\u{1}aws_lc_0_30_0_BIO_clear_retry_flags"]
6998    pub fn BIO_clear_retry_flags(bio: *mut BIO);
6999}
7000extern "C" {
7001    #[link_name = "\u{1}aws_lc_0_30_0_BIO_method_type"]
7002    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
7003}
7004extern "C" {
7005    #[link_name = "\u{1}aws_lc_0_30_0_BIO_method_name"]
7006    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
7007}
7008pub type bio_info_cb = ::std::option::Option<
7009    unsafe extern "C" fn(
7010        b: *mut BIO,
7011        state: ::std::os::raw::c_int,
7012        res: ::std::os::raw::c_int,
7013    ) -> ::std::os::raw::c_long,
7014>;
7015pub type BIO_callback_fn_ex = ::std::option::Option<
7016    unsafe extern "C" fn(
7017        bio: *mut BIO,
7018        oper: ::std::os::raw::c_int,
7019        argp: *const ::std::os::raw::c_char,
7020        len: usize,
7021        argi: ::std::os::raw::c_int,
7022        argl: ::std::os::raw::c_long,
7023        bio_ret: ::std::os::raw::c_int,
7024        processed: *mut usize,
7025    ) -> ::std::os::raw::c_long,
7026>;
7027pub type BIO_callback_fn = ::std::option::Option<
7028    unsafe extern "C" fn(
7029        bio: *mut BIO,
7030        oper: ::std::os::raw::c_int,
7031        argp: *const ::std::os::raw::c_char,
7032        argi: ::std::os::raw::c_int,
7033        argl: ::std::os::raw::c_long,
7034        bio_ret: ::std::os::raw::c_long,
7035    ) -> ::std::os::raw::c_long,
7036>;
7037extern "C" {
7038    #[link_name = "\u{1}aws_lc_0_30_0_BIO_callback_ctrl"]
7039    pub fn BIO_callback_ctrl(
7040        bio: *mut BIO,
7041        cmd: ::std::os::raw::c_int,
7042        fp: bio_info_cb,
7043    ) -> ::std::os::raw::c_long;
7044}
7045extern "C" {
7046    #[link_name = "\u{1}aws_lc_0_30_0_BIO_pending"]
7047    pub fn BIO_pending(bio: *const BIO) -> usize;
7048}
7049extern "C" {
7050    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl_pending"]
7051    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
7052}
7053extern "C" {
7054    #[link_name = "\u{1}aws_lc_0_30_0_BIO_wpending"]
7055    pub fn BIO_wpending(bio: *const BIO) -> usize;
7056}
7057extern "C" {
7058    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_close"]
7059    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
7060        -> ::std::os::raw::c_int;
7061}
7062extern "C" {
7063    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_close"]
7064    pub fn BIO_get_close(bio: *mut BIO) -> ::std::os::raw::c_int;
7065}
7066extern "C" {
7067    #[link_name = "\u{1}aws_lc_0_30_0_BIO_number_read"]
7068    pub fn BIO_number_read(bio: *const BIO) -> u64;
7069}
7070extern "C" {
7071    #[link_name = "\u{1}aws_lc_0_30_0_BIO_number_written"]
7072    pub fn BIO_number_written(bio: *const BIO) -> u64;
7073}
7074extern "C" {
7075    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_callback_ex"]
7076    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
7077}
7078extern "C" {
7079    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_callback"]
7080    pub fn BIO_set_callback(bio: *mut BIO, callback: BIO_callback_fn);
7081}
7082extern "C" {
7083    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_callback_arg"]
7084    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
7085}
7086extern "C" {
7087    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_callback_arg"]
7088    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
7089}
7090extern "C" {
7091    #[link_name = "\u{1}aws_lc_0_30_0_BIO_push"]
7092    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
7093}
7094extern "C" {
7095    #[link_name = "\u{1}aws_lc_0_30_0_BIO_pop"]
7096    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
7097}
7098extern "C" {
7099    #[link_name = "\u{1}aws_lc_0_30_0_BIO_next"]
7100    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
7101}
7102extern "C" {
7103    #[link_name = "\u{1}aws_lc_0_30_0_BIO_free_all"]
7104    pub fn BIO_free_all(bio: *mut BIO);
7105}
7106extern "C" {
7107    #[link_name = "\u{1}aws_lc_0_30_0_BIO_find_type"]
7108    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
7109}
7110extern "C" {
7111    #[link_name = "\u{1}aws_lc_0_30_0_BIO_copy_next_retry"]
7112    pub fn BIO_copy_next_retry(bio: *mut BIO);
7113}
7114extern "C" {
7115    #[link_name = "\u{1}aws_lc_0_30_0_BIO_printf"]
7116    pub fn BIO_printf(
7117        bio: *mut BIO,
7118        format: *const ::std::os::raw::c_char,
7119        ...
7120    ) -> ::std::os::raw::c_int;
7121}
7122extern "C" {
7123    #[link_name = "\u{1}aws_lc_0_30_0_BIO_indent"]
7124    pub fn BIO_indent(
7125        bio: *mut BIO,
7126        indent: ::std::os::raw::c_uint,
7127        max_indent: ::std::os::raw::c_uint,
7128    ) -> ::std::os::raw::c_int;
7129}
7130extern "C" {
7131    #[link_name = "\u{1}aws_lc_0_30_0_BIO_hexdump"]
7132    pub fn BIO_hexdump(
7133        bio: *mut BIO,
7134        data: *const u8,
7135        len: usize,
7136        indent: ::std::os::raw::c_uint,
7137    ) -> ::std::os::raw::c_int;
7138}
7139extern "C" {
7140    #[link_name = "\u{1}aws_lc_0_30_0_BIO_dump"]
7141    pub fn BIO_dump(
7142        bio: *mut BIO,
7143        data: *const ::std::os::raw::c_void,
7144        len: ::std::os::raw::c_int,
7145    ) -> ::std::os::raw::c_int;
7146}
7147extern "C" {
7148    #[link_name = "\u{1}aws_lc_0_30_0_ERR_print_errors"]
7149    pub fn ERR_print_errors(bio: *mut BIO);
7150}
7151extern "C" {
7152    #[link_name = "\u{1}aws_lc_0_30_0_BIO_read_asn1"]
7153    pub fn BIO_read_asn1(
7154        bio: *mut BIO,
7155        out: *mut *mut u8,
7156        out_len: *mut usize,
7157        max_len: usize,
7158    ) -> ::std::os::raw::c_int;
7159}
7160extern "C" {
7161    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_mem"]
7162    pub fn BIO_s_mem() -> *const BIO_METHOD;
7163}
7164extern "C" {
7165    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_mem_buf"]
7166    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
7167}
7168extern "C" {
7169    #[link_name = "\u{1}aws_lc_0_30_0_BIO_mem_contents"]
7170    pub fn BIO_mem_contents(
7171        bio: *const BIO,
7172        out_contents: *mut *const u8,
7173        out_len: *mut usize,
7174    ) -> ::std::os::raw::c_int;
7175}
7176extern "C" {
7177    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_mem_ptr"]
7178    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
7179}
7180extern "C" {
7181    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_mem_buf"]
7182    pub fn BIO_set_mem_buf(
7183        bio: *mut BIO,
7184        b: *mut BUF_MEM,
7185        take_ownership: ::std::os::raw::c_int,
7186    ) -> ::std::os::raw::c_int;
7187}
7188extern "C" {
7189    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_mem_eof_return"]
7190    pub fn BIO_set_mem_eof_return(
7191        bio: *mut BIO,
7192        eof_value: ::std::os::raw::c_int,
7193    ) -> ::std::os::raw::c_int;
7194}
7195extern "C" {
7196    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_fd"]
7197    pub fn BIO_s_fd() -> *const BIO_METHOD;
7198}
7199extern "C" {
7200    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_fd"]
7201    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7202}
7203extern "C" {
7204    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_fd"]
7205    pub fn BIO_set_fd(
7206        bio: *mut BIO,
7207        fd: ::std::os::raw::c_int,
7208        close_flag: ::std::os::raw::c_int,
7209    ) -> ::std::os::raw::c_int;
7210}
7211extern "C" {
7212    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_fd"]
7213    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7214}
7215extern "C" {
7216    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_file"]
7217    pub fn BIO_s_file() -> *const BIO_METHOD;
7218}
7219extern "C" {
7220    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_file"]
7221    pub fn BIO_new_file(
7222        filename: *const ::std::os::raw::c_char,
7223        mode: *const ::std::os::raw::c_char,
7224    ) -> *mut BIO;
7225}
7226extern "C" {
7227    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_fp"]
7228    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7229}
7230extern "C" {
7231    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_fp"]
7232    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
7233}
7234extern "C" {
7235    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_fp"]
7236    pub fn BIO_set_fp(
7237        bio: *mut BIO,
7238        file: *mut FILE,
7239        close_flag: ::std::os::raw::c_int,
7240    ) -> ::std::os::raw::c_int;
7241}
7242extern "C" {
7243    #[link_name = "\u{1}aws_lc_0_30_0_BIO_read_filename"]
7244    pub fn BIO_read_filename(
7245        bio: *mut BIO,
7246        filename: *const ::std::os::raw::c_char,
7247    ) -> ::std::os::raw::c_int;
7248}
7249extern "C" {
7250    #[link_name = "\u{1}aws_lc_0_30_0_BIO_write_filename"]
7251    pub fn BIO_write_filename(
7252        bio: *mut BIO,
7253        filename: *const ::std::os::raw::c_char,
7254    ) -> ::std::os::raw::c_int;
7255}
7256extern "C" {
7257    #[link_name = "\u{1}aws_lc_0_30_0_BIO_append_filename"]
7258    pub fn BIO_append_filename(
7259        bio: *mut BIO,
7260        filename: *const ::std::os::raw::c_char,
7261    ) -> ::std::os::raw::c_int;
7262}
7263extern "C" {
7264    #[link_name = "\u{1}aws_lc_0_30_0_BIO_rw_filename"]
7265    pub fn BIO_rw_filename(
7266        bio: *mut BIO,
7267        filename: *const ::std::os::raw::c_char,
7268    ) -> ::std::os::raw::c_int;
7269}
7270extern "C" {
7271    #[link_name = "\u{1}aws_lc_0_30_0_BIO_tell"]
7272    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7273}
7274extern "C" {
7275    #[link_name = "\u{1}aws_lc_0_30_0_BIO_seek"]
7276    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7277}
7278extern "C" {
7279    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_socket"]
7280    pub fn BIO_s_socket() -> *const BIO_METHOD;
7281}
7282extern "C" {
7283    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_socket"]
7284    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7285        -> *mut BIO;
7286}
7287extern "C" {
7288    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_connect"]
7289    pub fn BIO_s_connect() -> *const BIO_METHOD;
7290}
7291extern "C" {
7292    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_connect"]
7293    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7294}
7295extern "C" {
7296    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_conn_hostname"]
7297    pub fn BIO_set_conn_hostname(
7298        bio: *mut BIO,
7299        host_and_optional_port: *const ::std::os::raw::c_char,
7300    ) -> ::std::os::raw::c_int;
7301}
7302extern "C" {
7303    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_conn_port"]
7304    pub fn BIO_set_conn_port(
7305        bio: *mut BIO,
7306        port_str: *const ::std::os::raw::c_char,
7307    ) -> ::std::os::raw::c_int;
7308}
7309extern "C" {
7310    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_conn_int_port"]
7311    pub fn BIO_set_conn_int_port(
7312        bio: *mut BIO,
7313        port: *const ::std::os::raw::c_int,
7314    ) -> ::std::os::raw::c_int;
7315}
7316extern "C" {
7317    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_nbio"]
7318    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7319}
7320extern "C" {
7321    #[link_name = "\u{1}aws_lc_0_30_0_BIO_do_connect"]
7322    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7323}
7324#[repr(C)]
7325#[derive(Copy, Clone)]
7326pub struct bio_addr_st {
7327    _unused: [u8; 0],
7328}
7329pub type BIO_ADDR = bio_addr_st;
7330extern "C" {
7331    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_datagram"]
7332    pub fn BIO_s_datagram() -> *const BIO_METHOD;
7333}
7334extern "C" {
7335    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_dgram"]
7336    pub fn BIO_new_dgram(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7337}
7338extern "C" {
7339    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl_dgram_connect"]
7340    pub fn BIO_ctrl_dgram_connect(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7341}
7342extern "C" {
7343    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl_set_connected"]
7344    pub fn BIO_ctrl_set_connected(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7345}
7346extern "C" {
7347    #[link_name = "\u{1}aws_lc_0_30_0_BIO_dgram_recv_timedout"]
7348    pub fn BIO_dgram_recv_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7349}
7350extern "C" {
7351    #[link_name = "\u{1}aws_lc_0_30_0_BIO_dgram_send_timedout"]
7352    pub fn BIO_dgram_send_timedout(bp: *mut BIO) -> ::std::os::raw::c_int;
7353}
7354extern "C" {
7355    #[link_name = "\u{1}aws_lc_0_30_0_BIO_dgram_get_peer"]
7356    pub fn BIO_dgram_get_peer(bp: *mut BIO, peer: *mut BIO_ADDR) -> ::std::os::raw::c_int;
7357}
7358extern "C" {
7359    #[link_name = "\u{1}aws_lc_0_30_0_BIO_dgram_set_peer"]
7360    pub fn BIO_dgram_set_peer(bp: *mut BIO, peer: *const BIO_ADDR) -> ::std::os::raw::c_int;
7361}
7362extern "C" {
7363    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_new"]
7364    pub fn BIO_ADDR_new() -> *mut BIO_ADDR;
7365}
7366extern "C" {
7367    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_copy"]
7368    pub fn BIO_ADDR_copy(dst: *mut BIO_ADDR, src: *const BIO_ADDR) -> ::std::os::raw::c_int;
7369}
7370extern "C" {
7371    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_dup"]
7372    pub fn BIO_ADDR_dup(ap: *const BIO_ADDR) -> *mut BIO_ADDR;
7373}
7374extern "C" {
7375    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_free"]
7376    pub fn BIO_ADDR_free(ap: *mut BIO_ADDR);
7377}
7378extern "C" {
7379    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_clear"]
7380    pub fn BIO_ADDR_clear(ap: *mut BIO_ADDR);
7381}
7382extern "C" {
7383    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_rawmake"]
7384    pub fn BIO_ADDR_rawmake(
7385        ap: *mut BIO_ADDR,
7386        family: ::std::os::raw::c_int,
7387        where_: *const ::std::os::raw::c_void,
7388        wherelen: usize,
7389        port: ::std::os::raw::c_ushort,
7390    ) -> ::std::os::raw::c_int;
7391}
7392extern "C" {
7393    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_family"]
7394    pub fn BIO_ADDR_family(ap: *const BIO_ADDR) -> ::std::os::raw::c_int;
7395}
7396extern "C" {
7397    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_rawaddress"]
7398    pub fn BIO_ADDR_rawaddress(
7399        ap: *const BIO_ADDR,
7400        p: *mut ::std::os::raw::c_void,
7401        l: *mut usize,
7402    ) -> ::std::os::raw::c_int;
7403}
7404extern "C" {
7405    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ADDR_rawport"]
7406    pub fn BIO_ADDR_rawport(ap: *const BIO_ADDR) -> ::std::os::raw::c_ushort;
7407}
7408extern "C" {
7409    #[link_name = "\u{1}aws_lc_0_30_0_BIO_new_bio_pair"]
7410    pub fn BIO_new_bio_pair(
7411        out1: *mut *mut BIO,
7412        writebuf1: usize,
7413        out2: *mut *mut BIO,
7414        writebuf2: usize,
7415    ) -> ::std::os::raw::c_int;
7416}
7417extern "C" {
7418    #[link_name = "\u{1}aws_lc_0_30_0_BIO_destroy_bio_pair"]
7419    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7420}
7421extern "C" {
7422    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl_get_read_request"]
7423    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7424}
7425extern "C" {
7426    #[link_name = "\u{1}aws_lc_0_30_0_BIO_ctrl_get_write_guarantee"]
7427    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7428}
7429extern "C" {
7430    #[link_name = "\u{1}aws_lc_0_30_0_BIO_shutdown_wr"]
7431    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7432}
7433extern "C" {
7434    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_new_index"]
7435    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7436}
7437extern "C" {
7438    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_new"]
7439    pub fn BIO_meth_new(
7440        type_: ::std::os::raw::c_int,
7441        name: *const ::std::os::raw::c_char,
7442    ) -> *mut BIO_METHOD;
7443}
7444extern "C" {
7445    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_free"]
7446    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7447}
7448extern "C" {
7449    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_create"]
7450    pub fn BIO_meth_set_create(
7451        method: *mut BIO_METHOD,
7452        create: ::std::option::Option<
7453            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7454        >,
7455    ) -> ::std::os::raw::c_int;
7456}
7457extern "C" {
7458    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_create"]
7459    pub fn BIO_meth_get_create(
7460        method: *const BIO_METHOD,
7461    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7462}
7463extern "C" {
7464    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_destroy"]
7465    pub fn BIO_meth_set_destroy(
7466        method: *mut BIO_METHOD,
7467        destroy: ::std::option::Option<
7468            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7469        >,
7470    ) -> ::std::os::raw::c_int;
7471}
7472extern "C" {
7473    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_destroy"]
7474    pub fn BIO_meth_get_destroy(
7475        method: *const BIO_METHOD,
7476    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7477}
7478extern "C" {
7479    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_write"]
7480    pub fn BIO_meth_set_write(
7481        method: *mut BIO_METHOD,
7482        write: ::std::option::Option<
7483            unsafe extern "C" fn(
7484                arg1: *mut BIO,
7485                arg2: *const ::std::os::raw::c_char,
7486                arg3: ::std::os::raw::c_int,
7487            ) -> ::std::os::raw::c_int,
7488        >,
7489    ) -> ::std::os::raw::c_int;
7490}
7491extern "C" {
7492    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_read"]
7493    pub fn BIO_meth_set_read(
7494        method: *mut BIO_METHOD,
7495        read: ::std::option::Option<
7496            unsafe extern "C" fn(
7497                arg1: *mut BIO,
7498                arg2: *mut ::std::os::raw::c_char,
7499                arg3: ::std::os::raw::c_int,
7500            ) -> ::std::os::raw::c_int,
7501        >,
7502    ) -> ::std::os::raw::c_int;
7503}
7504extern "C" {
7505    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_gets"]
7506    pub fn BIO_meth_set_gets(
7507        method: *mut BIO_METHOD,
7508        gets: ::std::option::Option<
7509            unsafe extern "C" fn(
7510                arg1: *mut BIO,
7511                arg2: *mut ::std::os::raw::c_char,
7512                arg3: ::std::os::raw::c_int,
7513            ) -> ::std::os::raw::c_int,
7514        >,
7515    ) -> ::std::os::raw::c_int;
7516}
7517extern "C" {
7518    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_gets"]
7519    pub fn BIO_meth_get_gets(
7520        method: *const BIO_METHOD,
7521    ) -> ::std::option::Option<
7522        unsafe extern "C" fn(
7523            method: *mut BIO,
7524            arg1: *mut ::std::os::raw::c_char,
7525            arg2: ::std::os::raw::c_int,
7526        ) -> ::std::os::raw::c_int,
7527    >;
7528}
7529extern "C" {
7530    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_ctrl"]
7531    pub fn BIO_meth_set_ctrl(
7532        method: *mut BIO_METHOD,
7533        ctrl: ::std::option::Option<
7534            unsafe extern "C" fn(
7535                arg1: *mut BIO,
7536                arg2: ::std::os::raw::c_int,
7537                arg3: ::std::os::raw::c_long,
7538                arg4: *mut ::std::os::raw::c_void,
7539            ) -> ::std::os::raw::c_long,
7540        >,
7541    ) -> ::std::os::raw::c_int;
7542}
7543extern "C" {
7544    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_ctrl"]
7545    pub fn BIO_meth_get_ctrl(
7546        method: *const BIO_METHOD,
7547    ) -> ::std::option::Option<
7548        unsafe extern "C" fn(
7549            method: *mut BIO,
7550            arg1: ::std::os::raw::c_int,
7551            arg2: ::std::os::raw::c_long,
7552            arg3: *mut ::std::os::raw::c_void,
7553        ) -> ::std::os::raw::c_long,
7554    >;
7555}
7556extern "C" {
7557    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_callback_ctrl"]
7558    pub fn BIO_meth_set_callback_ctrl(
7559        method: *mut BIO_METHOD,
7560        callback_ctrl: ::std::option::Option<
7561            unsafe extern "C" fn(
7562                arg1: *mut BIO,
7563                arg2: ::std::os::raw::c_int,
7564                arg3: bio_info_cb,
7565            ) -> ::std::os::raw::c_long,
7566        >,
7567    ) -> ::std::os::raw::c_int;
7568}
7569extern "C" {
7570    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_callback_ctrl"]
7571    pub fn BIO_meth_get_callback_ctrl(
7572        method: *const BIO_METHOD,
7573    ) -> ::std::option::Option<
7574        unsafe extern "C" fn(
7575            method: *mut BIO,
7576            arg1: ::std::os::raw::c_int,
7577            arg2: bio_info_cb,
7578        ) -> ::std::os::raw::c_long,
7579    >;
7580}
7581extern "C" {
7582    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_data"]
7583    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7584}
7585extern "C" {
7586    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_data"]
7587    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7588}
7589extern "C" {
7590    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_init"]
7591    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7592}
7593extern "C" {
7594    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_init"]
7595    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7596}
7597extern "C" {
7598    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_ex_new_index"]
7599    pub fn BIO_get_ex_new_index(
7600        argl: ::std::os::raw::c_long,
7601        argp: *mut ::std::os::raw::c_void,
7602        unused: *mut CRYPTO_EX_unused,
7603        dup_unused: CRYPTO_EX_dup,
7604        free_func: CRYPTO_EX_free,
7605    ) -> ::std::os::raw::c_int;
7606}
7607extern "C" {
7608    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_ex_data"]
7609    pub fn BIO_set_ex_data(
7610        bio: *mut BIO,
7611        idx: ::std::os::raw::c_int,
7612        arg: *mut ::std::os::raw::c_void,
7613    ) -> ::std::os::raw::c_int;
7614}
7615extern "C" {
7616    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_ex_data"]
7617    pub fn BIO_get_ex_data(
7618        bio: *const BIO,
7619        idx: ::std::os::raw::c_int,
7620    ) -> *mut ::std::os::raw::c_void;
7621}
7622extern "C" {
7623    #[link_name = "\u{1}aws_lc_0_30_0_BIO_f_base64"]
7624    pub fn BIO_f_base64() -> *const BIO_METHOD;
7625}
7626extern "C" {
7627    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_retry_special"]
7628    pub fn BIO_set_retry_special(bio: *mut BIO);
7629}
7630extern "C" {
7631    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_shutdown"]
7632    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7633}
7634extern "C" {
7635    #[link_name = "\u{1}aws_lc_0_30_0_BIO_get_shutdown"]
7636    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7637}
7638extern "C" {
7639    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_set_puts"]
7640    pub fn BIO_meth_set_puts(
7641        method: *mut BIO_METHOD,
7642        puts: ::std::option::Option<
7643            unsafe extern "C" fn(
7644                arg1: *mut BIO,
7645                arg2: *const ::std::os::raw::c_char,
7646            ) -> ::std::os::raw::c_int,
7647        >,
7648    ) -> ::std::os::raw::c_int;
7649}
7650extern "C" {
7651    #[link_name = "\u{1}aws_lc_0_30_0_BIO_meth_get_puts"]
7652    pub fn BIO_meth_get_puts(
7653        method: *const BIO_METHOD,
7654    ) -> ::std::option::Option<
7655        unsafe extern "C" fn(
7656            method: *mut BIO,
7657            arg1: *const ::std::os::raw::c_char,
7658        ) -> ::std::os::raw::c_int,
7659    >;
7660}
7661extern "C" {
7662    #[link_name = "\u{1}aws_lc_0_30_0_BIO_s_secmem"]
7663    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7664}
7665extern "C" {
7666    #[link_name = "\u{1}aws_lc_0_30_0_BIO_set_write_buffer_size"]
7667    pub fn BIO_set_write_buffer_size(
7668        bio: *mut BIO,
7669        buffer_size: ::std::os::raw::c_int,
7670    ) -> ::std::os::raw::c_int;
7671}
7672#[repr(C)]
7673#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7674pub struct bio_method_st {
7675    pub type_: ::std::os::raw::c_int,
7676    pub name: *const ::std::os::raw::c_char,
7677    pub bwrite: ::std::option::Option<
7678        unsafe extern "C" fn(
7679            arg1: *mut BIO,
7680            arg2: *const ::std::os::raw::c_char,
7681            arg3: ::std::os::raw::c_int,
7682        ) -> ::std::os::raw::c_int,
7683    >,
7684    pub bread: ::std::option::Option<
7685        unsafe extern "C" fn(
7686            arg1: *mut BIO,
7687            arg2: *mut ::std::os::raw::c_char,
7688            arg3: ::std::os::raw::c_int,
7689        ) -> ::std::os::raw::c_int,
7690    >,
7691    pub bputs: ::std::option::Option<
7692        unsafe extern "C" fn(
7693            arg1: *mut BIO,
7694            arg2: *const ::std::os::raw::c_char,
7695        ) -> ::std::os::raw::c_int,
7696    >,
7697    pub bgets: ::std::option::Option<
7698        unsafe extern "C" fn(
7699            arg1: *mut BIO,
7700            arg2: *mut ::std::os::raw::c_char,
7701            arg3: ::std::os::raw::c_int,
7702        ) -> ::std::os::raw::c_int,
7703    >,
7704    pub ctrl: ::std::option::Option<
7705        unsafe extern "C" fn(
7706            arg1: *mut BIO,
7707            arg2: ::std::os::raw::c_int,
7708            arg3: ::std::os::raw::c_long,
7709            arg4: *mut ::std::os::raw::c_void,
7710        ) -> ::std::os::raw::c_long,
7711    >,
7712    pub create:
7713        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7714    pub destroy:
7715        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7716    pub callback_ctrl: ::std::option::Option<
7717        unsafe extern "C" fn(
7718            arg1: *mut BIO,
7719            arg2: ::std::os::raw::c_int,
7720            arg3: bio_info_cb,
7721        ) -> ::std::os::raw::c_long,
7722    >,
7723}
7724#[test]
7725fn bindgen_test_layout_bio_method_st() {
7726    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7727    let ptr = UNINIT.as_ptr();
7728    assert_eq!(
7729        ::std::mem::size_of::<bio_method_st>(),
7730        80usize,
7731        concat!("Size of: ", stringify!(bio_method_st))
7732    );
7733    assert_eq!(
7734        ::std::mem::align_of::<bio_method_st>(),
7735        8usize,
7736        concat!("Alignment of ", stringify!(bio_method_st))
7737    );
7738    assert_eq!(
7739        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7740        0usize,
7741        concat!(
7742            "Offset of field: ",
7743            stringify!(bio_method_st),
7744            "::",
7745            stringify!(type_)
7746        )
7747    );
7748    assert_eq!(
7749        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7750        8usize,
7751        concat!(
7752            "Offset of field: ",
7753            stringify!(bio_method_st),
7754            "::",
7755            stringify!(name)
7756        )
7757    );
7758    assert_eq!(
7759        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7760        16usize,
7761        concat!(
7762            "Offset of field: ",
7763            stringify!(bio_method_st),
7764            "::",
7765            stringify!(bwrite)
7766        )
7767    );
7768    assert_eq!(
7769        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7770        24usize,
7771        concat!(
7772            "Offset of field: ",
7773            stringify!(bio_method_st),
7774            "::",
7775            stringify!(bread)
7776        )
7777    );
7778    assert_eq!(
7779        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7780        32usize,
7781        concat!(
7782            "Offset of field: ",
7783            stringify!(bio_method_st),
7784            "::",
7785            stringify!(bputs)
7786        )
7787    );
7788    assert_eq!(
7789        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7790        40usize,
7791        concat!(
7792            "Offset of field: ",
7793            stringify!(bio_method_st),
7794            "::",
7795            stringify!(bgets)
7796        )
7797    );
7798    assert_eq!(
7799        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7800        48usize,
7801        concat!(
7802            "Offset of field: ",
7803            stringify!(bio_method_st),
7804            "::",
7805            stringify!(ctrl)
7806        )
7807    );
7808    assert_eq!(
7809        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7810        56usize,
7811        concat!(
7812            "Offset of field: ",
7813            stringify!(bio_method_st),
7814            "::",
7815            stringify!(create)
7816        )
7817    );
7818    assert_eq!(
7819        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7820        64usize,
7821        concat!(
7822            "Offset of field: ",
7823            stringify!(bio_method_st),
7824            "::",
7825            stringify!(destroy)
7826        )
7827    );
7828    assert_eq!(
7829        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7830        72usize,
7831        concat!(
7832            "Offset of field: ",
7833            stringify!(bio_method_st),
7834            "::",
7835            stringify!(callback_ctrl)
7836        )
7837    );
7838}
7839impl Default for bio_method_st {
7840    fn default() -> Self {
7841        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7842        unsafe {
7843            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7844            s.assume_init()
7845        }
7846    }
7847}
7848#[repr(C)]
7849#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7850pub struct bio_st {
7851    pub method: *const BIO_METHOD,
7852    pub ex_data: CRYPTO_EX_DATA,
7853    pub callback_ex: BIO_callback_fn_ex,
7854    pub callback: BIO_callback_fn,
7855    pub cb_arg: *mut ::std::os::raw::c_char,
7856    pub init: ::std::os::raw::c_int,
7857    pub shutdown: ::std::os::raw::c_int,
7858    pub flags: ::std::os::raw::c_int,
7859    pub retry_reason: ::std::os::raw::c_int,
7860    pub num: ::std::os::raw::c_int,
7861    pub references: CRYPTO_refcount_t,
7862    pub ptr: *mut ::std::os::raw::c_void,
7863    pub next_bio: *mut BIO,
7864    pub num_read: u64,
7865    pub num_write: u64,
7866}
7867#[test]
7868fn bindgen_test_layout_bio_st() {
7869    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
7870    let ptr = UNINIT.as_ptr();
7871    assert_eq!(
7872        ::std::mem::size_of::<bio_st>(),
7873        96usize,
7874        concat!("Size of: ", stringify!(bio_st))
7875    );
7876    assert_eq!(
7877        ::std::mem::align_of::<bio_st>(),
7878        8usize,
7879        concat!("Alignment of ", stringify!(bio_st))
7880    );
7881    assert_eq!(
7882        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
7883        0usize,
7884        concat!(
7885            "Offset of field: ",
7886            stringify!(bio_st),
7887            "::",
7888            stringify!(method)
7889        )
7890    );
7891    assert_eq!(
7892        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
7893        8usize,
7894        concat!(
7895            "Offset of field: ",
7896            stringify!(bio_st),
7897            "::",
7898            stringify!(ex_data)
7899        )
7900    );
7901    assert_eq!(
7902        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
7903        16usize,
7904        concat!(
7905            "Offset of field: ",
7906            stringify!(bio_st),
7907            "::",
7908            stringify!(callback_ex)
7909        )
7910    );
7911    assert_eq!(
7912        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
7913        24usize,
7914        concat!(
7915            "Offset of field: ",
7916            stringify!(bio_st),
7917            "::",
7918            stringify!(callback)
7919        )
7920    );
7921    assert_eq!(
7922        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
7923        32usize,
7924        concat!(
7925            "Offset of field: ",
7926            stringify!(bio_st),
7927            "::",
7928            stringify!(cb_arg)
7929        )
7930    );
7931    assert_eq!(
7932        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7933        40usize,
7934        concat!(
7935            "Offset of field: ",
7936            stringify!(bio_st),
7937            "::",
7938            stringify!(init)
7939        )
7940    );
7941    assert_eq!(
7942        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
7943        44usize,
7944        concat!(
7945            "Offset of field: ",
7946            stringify!(bio_st),
7947            "::",
7948            stringify!(shutdown)
7949        )
7950    );
7951    assert_eq!(
7952        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7953        48usize,
7954        concat!(
7955            "Offset of field: ",
7956            stringify!(bio_st),
7957            "::",
7958            stringify!(flags)
7959        )
7960    );
7961    assert_eq!(
7962        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
7963        52usize,
7964        concat!(
7965            "Offset of field: ",
7966            stringify!(bio_st),
7967            "::",
7968            stringify!(retry_reason)
7969        )
7970    );
7971    assert_eq!(
7972        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
7973        56usize,
7974        concat!(
7975            "Offset of field: ",
7976            stringify!(bio_st),
7977            "::",
7978            stringify!(num)
7979        )
7980    );
7981    assert_eq!(
7982        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
7983        60usize,
7984        concat!(
7985            "Offset of field: ",
7986            stringify!(bio_st),
7987            "::",
7988            stringify!(references)
7989        )
7990    );
7991    assert_eq!(
7992        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
7993        64usize,
7994        concat!(
7995            "Offset of field: ",
7996            stringify!(bio_st),
7997            "::",
7998            stringify!(ptr)
7999        )
8000    );
8001    assert_eq!(
8002        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
8003        72usize,
8004        concat!(
8005            "Offset of field: ",
8006            stringify!(bio_st),
8007            "::",
8008            stringify!(next_bio)
8009        )
8010    );
8011    assert_eq!(
8012        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
8013        80usize,
8014        concat!(
8015            "Offset of field: ",
8016            stringify!(bio_st),
8017            "::",
8018            stringify!(num_read)
8019        )
8020    );
8021    assert_eq!(
8022        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
8023        88usize,
8024        concat!(
8025            "Offset of field: ",
8026            stringify!(bio_st),
8027            "::",
8028            stringify!(num_write)
8029        )
8030    );
8031}
8032impl Default for bio_st {
8033    fn default() -> Self {
8034        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8035        unsafe {
8036            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8037            s.assume_init()
8038        }
8039    }
8040}
8041pub type BN_ULONG = u64;
8042extern "C" {
8043    #[link_name = "\u{1}aws_lc_0_30_0_BN_new"]
8044    pub fn BN_new() -> *mut BIGNUM;
8045}
8046extern "C" {
8047    #[link_name = "\u{1}aws_lc_0_30_0_BN_init"]
8048    pub fn BN_init(bn: *mut BIGNUM);
8049}
8050extern "C" {
8051    #[link_name = "\u{1}aws_lc_0_30_0_BN_free"]
8052    pub fn BN_free(bn: *mut BIGNUM);
8053}
8054extern "C" {
8055    #[link_name = "\u{1}aws_lc_0_30_0_BN_clear_free"]
8056    pub fn BN_clear_free(bn: *mut BIGNUM);
8057}
8058extern "C" {
8059    #[link_name = "\u{1}aws_lc_0_30_0_BN_dup"]
8060    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
8061}
8062extern "C" {
8063    #[link_name = "\u{1}aws_lc_0_30_0_BN_copy"]
8064    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
8065}
8066extern "C" {
8067    #[link_name = "\u{1}aws_lc_0_30_0_BN_clear"]
8068    pub fn BN_clear(bn: *mut BIGNUM);
8069}
8070extern "C" {
8071    #[link_name = "\u{1}aws_lc_0_30_0_BN_value_one"]
8072    pub fn BN_value_one() -> *const BIGNUM;
8073}
8074extern "C" {
8075    #[link_name = "\u{1}aws_lc_0_30_0_BN_num_bits"]
8076    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8077}
8078extern "C" {
8079    #[link_name = "\u{1}aws_lc_0_30_0_BN_num_bytes"]
8080    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
8081}
8082extern "C" {
8083    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_minimal_width"]
8084    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8085}
8086extern "C" {
8087    #[link_name = "\u{1}aws_lc_0_30_0_BN_zero"]
8088    pub fn BN_zero(bn: *mut BIGNUM);
8089}
8090extern "C" {
8091    #[link_name = "\u{1}aws_lc_0_30_0_BN_one"]
8092    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
8093}
8094extern "C" {
8095    #[link_name = "\u{1}aws_lc_0_30_0_BN_set_word"]
8096    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
8097}
8098extern "C" {
8099    #[link_name = "\u{1}aws_lc_0_30_0_BN_set_u64"]
8100    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
8101}
8102extern "C" {
8103    #[link_name = "\u{1}aws_lc_0_30_0_BN_set_negative"]
8104    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
8105}
8106extern "C" {
8107    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_negative"]
8108    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8109}
8110extern "C" {
8111    #[link_name = "\u{1}aws_lc_0_30_0_BN_bin2bn"]
8112    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8113}
8114extern "C" {
8115    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2bin"]
8116    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
8117}
8118extern "C" {
8119    #[link_name = "\u{1}aws_lc_0_30_0_BN_le2bn"]
8120    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
8121}
8122extern "C" {
8123    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2le_padded"]
8124    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8125}
8126extern "C" {
8127    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2bin_padded"]
8128    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
8129}
8130extern "C" {
8131    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2cbb_padded"]
8132    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
8133        -> ::std::os::raw::c_int;
8134}
8135extern "C" {
8136    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2hex"]
8137    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8138}
8139extern "C" {
8140    #[link_name = "\u{1}aws_lc_0_30_0_BN_hex2bn"]
8141    pub fn BN_hex2bn(
8142        outp: *mut *mut BIGNUM,
8143        in_: *const ::std::os::raw::c_char,
8144    ) -> ::std::os::raw::c_int;
8145}
8146extern "C" {
8147    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2dec"]
8148    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8149}
8150extern "C" {
8151    #[link_name = "\u{1}aws_lc_0_30_0_BN_dec2bn"]
8152    pub fn BN_dec2bn(
8153        outp: *mut *mut BIGNUM,
8154        in_: *const ::std::os::raw::c_char,
8155    ) -> ::std::os::raw::c_int;
8156}
8157extern "C" {
8158    #[link_name = "\u{1}aws_lc_0_30_0_BN_asc2bn"]
8159    pub fn BN_asc2bn(
8160        outp: *mut *mut BIGNUM,
8161        in_: *const ::std::os::raw::c_char,
8162    ) -> ::std::os::raw::c_int;
8163}
8164extern "C" {
8165    #[link_name = "\u{1}aws_lc_0_30_0_BN_print"]
8166    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
8167}
8168extern "C" {
8169    #[link_name = "\u{1}aws_lc_0_30_0_BN_print_fp"]
8170    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
8171}
8172extern "C" {
8173    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_word"]
8174    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
8175}
8176extern "C" {
8177    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_u64"]
8178    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
8179}
8180extern "C" {
8181    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_flags"]
8182    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8183}
8184extern "C" {
8185    #[link_name = "\u{1}aws_lc_0_30_0_BN_parse_asn1_unsigned"]
8186    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
8187}
8188extern "C" {
8189    #[link_name = "\u{1}aws_lc_0_30_0_BN_marshal_asn1"]
8190    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
8191}
8192extern "C" {
8193    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_new"]
8194    pub fn BN_CTX_new() -> *mut BN_CTX;
8195}
8196extern "C" {
8197    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_free"]
8198    pub fn BN_CTX_free(ctx: *mut BN_CTX);
8199}
8200extern "C" {
8201    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_start"]
8202    pub fn BN_CTX_start(ctx: *mut BN_CTX);
8203}
8204extern "C" {
8205    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_get"]
8206    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
8207}
8208extern "C" {
8209    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_end"]
8210    pub fn BN_CTX_end(ctx: *mut BN_CTX);
8211}
8212extern "C" {
8213    #[link_name = "\u{1}aws_lc_0_30_0_BN_add"]
8214    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8215}
8216extern "C" {
8217    #[link_name = "\u{1}aws_lc_0_30_0_BN_uadd"]
8218    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8219}
8220extern "C" {
8221    #[link_name = "\u{1}aws_lc_0_30_0_BN_add_word"]
8222    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8223}
8224extern "C" {
8225    #[link_name = "\u{1}aws_lc_0_30_0_BN_sub"]
8226    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8227}
8228extern "C" {
8229    #[link_name = "\u{1}aws_lc_0_30_0_BN_usub"]
8230    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8231}
8232extern "C" {
8233    #[link_name = "\u{1}aws_lc_0_30_0_BN_sub_word"]
8234    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8235}
8236extern "C" {
8237    #[link_name = "\u{1}aws_lc_0_30_0_BN_mul"]
8238    pub fn BN_mul(
8239        r: *mut BIGNUM,
8240        a: *const BIGNUM,
8241        b: *const BIGNUM,
8242        ctx: *mut BN_CTX,
8243    ) -> ::std::os::raw::c_int;
8244}
8245extern "C" {
8246    #[link_name = "\u{1}aws_lc_0_30_0_BN_mul_word"]
8247    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8248}
8249extern "C" {
8250    #[link_name = "\u{1}aws_lc_0_30_0_BN_sqr"]
8251    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
8252}
8253extern "C" {
8254    #[link_name = "\u{1}aws_lc_0_30_0_BN_div"]
8255    pub fn BN_div(
8256        quotient: *mut BIGNUM,
8257        rem: *mut BIGNUM,
8258        numerator: *const BIGNUM,
8259        divisor: *const BIGNUM,
8260        ctx: *mut BN_CTX,
8261    ) -> ::std::os::raw::c_int;
8262}
8263extern "C" {
8264    #[link_name = "\u{1}aws_lc_0_30_0_BN_div_word"]
8265    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
8266}
8267extern "C" {
8268    #[link_name = "\u{1}aws_lc_0_30_0_BN_sqrt"]
8269    pub fn BN_sqrt(
8270        out_sqrt: *mut BIGNUM,
8271        in_: *const BIGNUM,
8272        ctx: *mut BN_CTX,
8273    ) -> ::std::os::raw::c_int;
8274}
8275extern "C" {
8276    #[link_name = "\u{1}aws_lc_0_30_0_BN_cmp"]
8277    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8278}
8279extern "C" {
8280    #[link_name = "\u{1}aws_lc_0_30_0_BN_cmp_word"]
8281    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
8282}
8283extern "C" {
8284    #[link_name = "\u{1}aws_lc_0_30_0_BN_ucmp"]
8285    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8286}
8287extern "C" {
8288    #[link_name = "\u{1}aws_lc_0_30_0_BN_equal_consttime"]
8289    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8290}
8291extern "C" {
8292    #[link_name = "\u{1}aws_lc_0_30_0_BN_abs_is_word"]
8293    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8294}
8295extern "C" {
8296    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_zero"]
8297    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8298}
8299extern "C" {
8300    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_one"]
8301    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8302}
8303extern "C" {
8304    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_word"]
8305    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8306}
8307extern "C" {
8308    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_odd"]
8309    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8310}
8311extern "C" {
8312    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_pow2"]
8313    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
8314}
8315extern "C" {
8316    #[link_name = "\u{1}aws_lc_0_30_0_BN_lshift"]
8317    pub fn BN_lshift(
8318        r: *mut BIGNUM,
8319        a: *const BIGNUM,
8320        n: ::std::os::raw::c_int,
8321    ) -> ::std::os::raw::c_int;
8322}
8323extern "C" {
8324    #[link_name = "\u{1}aws_lc_0_30_0_BN_lshift1"]
8325    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8326}
8327extern "C" {
8328    #[link_name = "\u{1}aws_lc_0_30_0_BN_rshift"]
8329    pub fn BN_rshift(
8330        r: *mut BIGNUM,
8331        a: *const BIGNUM,
8332        n: ::std::os::raw::c_int,
8333    ) -> ::std::os::raw::c_int;
8334}
8335extern "C" {
8336    #[link_name = "\u{1}aws_lc_0_30_0_BN_rshift1"]
8337    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8338}
8339extern "C" {
8340    #[link_name = "\u{1}aws_lc_0_30_0_BN_set_bit"]
8341    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8342}
8343extern "C" {
8344    #[link_name = "\u{1}aws_lc_0_30_0_BN_clear_bit"]
8345    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8346}
8347extern "C" {
8348    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_bit_set"]
8349    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8350}
8351extern "C" {
8352    #[link_name = "\u{1}aws_lc_0_30_0_BN_mask_bits"]
8353    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8354}
8355extern "C" {
8356    #[link_name = "\u{1}aws_lc_0_30_0_BN_count_low_zero_bits"]
8357    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8358}
8359extern "C" {
8360    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_word"]
8361    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
8362}
8363extern "C" {
8364    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_pow2"]
8365    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8366}
8367extern "C" {
8368    #[link_name = "\u{1}aws_lc_0_30_0_BN_nnmod_pow2"]
8369    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8370}
8371extern "C" {
8372    #[link_name = "\u{1}aws_lc_0_30_0_BN_nnmod"]
8373    pub fn BN_nnmod(
8374        rem: *mut BIGNUM,
8375        numerator: *const BIGNUM,
8376        divisor: *const BIGNUM,
8377        ctx: *mut BN_CTX,
8378    ) -> ::std::os::raw::c_int;
8379}
8380extern "C" {
8381    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_add"]
8382    pub fn BN_mod_add(
8383        r: *mut BIGNUM,
8384        a: *const BIGNUM,
8385        b: *const BIGNUM,
8386        m: *const BIGNUM,
8387        ctx: *mut BN_CTX,
8388    ) -> ::std::os::raw::c_int;
8389}
8390extern "C" {
8391    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_add_quick"]
8392    pub fn BN_mod_add_quick(
8393        r: *mut BIGNUM,
8394        a: *const BIGNUM,
8395        b: *const BIGNUM,
8396        m: *const BIGNUM,
8397    ) -> ::std::os::raw::c_int;
8398}
8399extern "C" {
8400    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_sub"]
8401    pub fn BN_mod_sub(
8402        r: *mut BIGNUM,
8403        a: *const BIGNUM,
8404        b: *const BIGNUM,
8405        m: *const BIGNUM,
8406        ctx: *mut BN_CTX,
8407    ) -> ::std::os::raw::c_int;
8408}
8409extern "C" {
8410    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_sub_quick"]
8411    pub fn BN_mod_sub_quick(
8412        r: *mut BIGNUM,
8413        a: *const BIGNUM,
8414        b: *const BIGNUM,
8415        m: *const BIGNUM,
8416    ) -> ::std::os::raw::c_int;
8417}
8418extern "C" {
8419    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_mul"]
8420    pub fn BN_mod_mul(
8421        r: *mut BIGNUM,
8422        a: *const BIGNUM,
8423        b: *const BIGNUM,
8424        m: *const BIGNUM,
8425        ctx: *mut BN_CTX,
8426    ) -> ::std::os::raw::c_int;
8427}
8428extern "C" {
8429    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_sqr"]
8430    pub fn BN_mod_sqr(
8431        r: *mut BIGNUM,
8432        a: *const BIGNUM,
8433        m: *const BIGNUM,
8434        ctx: *mut BN_CTX,
8435    ) -> ::std::os::raw::c_int;
8436}
8437extern "C" {
8438    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_lshift"]
8439    pub fn BN_mod_lshift(
8440        r: *mut BIGNUM,
8441        a: *const BIGNUM,
8442        n: ::std::os::raw::c_int,
8443        m: *const BIGNUM,
8444        ctx: *mut BN_CTX,
8445    ) -> ::std::os::raw::c_int;
8446}
8447extern "C" {
8448    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_lshift_quick"]
8449    pub fn BN_mod_lshift_quick(
8450        r: *mut BIGNUM,
8451        a: *const BIGNUM,
8452        n: ::std::os::raw::c_int,
8453        m: *const BIGNUM,
8454    ) -> ::std::os::raw::c_int;
8455}
8456extern "C" {
8457    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_lshift1"]
8458    pub fn BN_mod_lshift1(
8459        r: *mut BIGNUM,
8460        a: *const BIGNUM,
8461        m: *const BIGNUM,
8462        ctx: *mut BN_CTX,
8463    ) -> ::std::os::raw::c_int;
8464}
8465extern "C" {
8466    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_lshift1_quick"]
8467    pub fn BN_mod_lshift1_quick(
8468        r: *mut BIGNUM,
8469        a: *const BIGNUM,
8470        m: *const BIGNUM,
8471    ) -> ::std::os::raw::c_int;
8472}
8473extern "C" {
8474    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_sqrt"]
8475    pub fn BN_mod_sqrt(
8476        in_: *mut BIGNUM,
8477        a: *const BIGNUM,
8478        p: *const BIGNUM,
8479        ctx: *mut BN_CTX,
8480    ) -> *mut BIGNUM;
8481}
8482extern "C" {
8483    #[link_name = "\u{1}aws_lc_0_30_0_BN_rand"]
8484    pub fn BN_rand(
8485        rnd: *mut BIGNUM,
8486        bits: ::std::os::raw::c_int,
8487        top: ::std::os::raw::c_int,
8488        bottom: ::std::os::raw::c_int,
8489    ) -> ::std::os::raw::c_int;
8490}
8491extern "C" {
8492    #[link_name = "\u{1}aws_lc_0_30_0_BN_pseudo_rand"]
8493    pub fn BN_pseudo_rand(
8494        rnd: *mut BIGNUM,
8495        bits: ::std::os::raw::c_int,
8496        top: ::std::os::raw::c_int,
8497        bottom: ::std::os::raw::c_int,
8498    ) -> ::std::os::raw::c_int;
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_30_0_BN_rand_range"]
8502    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_30_0_BN_rand_range_ex"]
8506    pub fn BN_rand_range_ex(
8507        r: *mut BIGNUM,
8508        min_inclusive: BN_ULONG,
8509        max_exclusive: *const BIGNUM,
8510    ) -> ::std::os::raw::c_int;
8511}
8512extern "C" {
8513    #[link_name = "\u{1}aws_lc_0_30_0_BN_pseudo_rand_range"]
8514    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8515}
8516#[repr(C)]
8517#[derive(Copy, Clone)]
8518pub struct bn_gencb_st {
8519    pub type_: u8,
8520    pub arg: *mut ::std::os::raw::c_void,
8521    pub callback: bn_gencb_st__bindgen_ty_1,
8522}
8523#[repr(C)]
8524#[derive(Copy, Clone)]
8525pub union bn_gencb_st__bindgen_ty_1 {
8526    pub new_style: ::std::option::Option<
8527        unsafe extern "C" fn(
8528            event: ::std::os::raw::c_int,
8529            n: ::std::os::raw::c_int,
8530            arg1: *mut bn_gencb_st,
8531        ) -> ::std::os::raw::c_int,
8532    >,
8533    pub old_style: ::std::option::Option<
8534        unsafe extern "C" fn(
8535            arg1: ::std::os::raw::c_int,
8536            arg2: ::std::os::raw::c_int,
8537            arg3: *mut ::std::os::raw::c_void,
8538        ),
8539    >,
8540}
8541#[test]
8542fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8543    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8544        ::std::mem::MaybeUninit::uninit();
8545    let ptr = UNINIT.as_ptr();
8546    assert_eq!(
8547        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8548        8usize,
8549        concat!("Size of: ", stringify!(bn_gencb_st__bindgen_ty_1))
8550    );
8551    assert_eq!(
8552        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8553        8usize,
8554        concat!("Alignment of ", stringify!(bn_gencb_st__bindgen_ty_1))
8555    );
8556    assert_eq!(
8557        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8558        0usize,
8559        concat!(
8560            "Offset of field: ",
8561            stringify!(bn_gencb_st__bindgen_ty_1),
8562            "::",
8563            stringify!(new_style)
8564        )
8565    );
8566    assert_eq!(
8567        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8568        0usize,
8569        concat!(
8570            "Offset of field: ",
8571            stringify!(bn_gencb_st__bindgen_ty_1),
8572            "::",
8573            stringify!(old_style)
8574        )
8575    );
8576}
8577impl Default for bn_gencb_st__bindgen_ty_1 {
8578    fn default() -> Self {
8579        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8580        unsafe {
8581            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8582            s.assume_init()
8583        }
8584    }
8585}
8586#[test]
8587fn bindgen_test_layout_bn_gencb_st() {
8588    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8589    let ptr = UNINIT.as_ptr();
8590    assert_eq!(
8591        ::std::mem::size_of::<bn_gencb_st>(),
8592        24usize,
8593        concat!("Size of: ", stringify!(bn_gencb_st))
8594    );
8595    assert_eq!(
8596        ::std::mem::align_of::<bn_gencb_st>(),
8597        8usize,
8598        concat!("Alignment of ", stringify!(bn_gencb_st))
8599    );
8600    assert_eq!(
8601        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8602        0usize,
8603        concat!(
8604            "Offset of field: ",
8605            stringify!(bn_gencb_st),
8606            "::",
8607            stringify!(type_)
8608        )
8609    );
8610    assert_eq!(
8611        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8612        8usize,
8613        concat!(
8614            "Offset of field: ",
8615            stringify!(bn_gencb_st),
8616            "::",
8617            stringify!(arg)
8618        )
8619    );
8620    assert_eq!(
8621        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8622        16usize,
8623        concat!(
8624            "Offset of field: ",
8625            stringify!(bn_gencb_st),
8626            "::",
8627            stringify!(callback)
8628        )
8629    );
8630}
8631impl Default for bn_gencb_st {
8632    fn default() -> Self {
8633        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8634        unsafe {
8635            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8636            s.assume_init()
8637        }
8638    }
8639}
8640extern "C" {
8641    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_new"]
8642    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8643}
8644extern "C" {
8645    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_free"]
8646    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8647}
8648extern "C" {
8649    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_set"]
8650    pub fn BN_GENCB_set(
8651        callback: *mut BN_GENCB,
8652        f: ::std::option::Option<
8653            unsafe extern "C" fn(
8654                event: ::std::os::raw::c_int,
8655                n: ::std::os::raw::c_int,
8656                arg1: *mut BN_GENCB,
8657            ) -> ::std::os::raw::c_int,
8658        >,
8659        arg: *mut ::std::os::raw::c_void,
8660    );
8661}
8662extern "C" {
8663    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_call"]
8664    pub fn BN_GENCB_call(
8665        callback: *mut BN_GENCB,
8666        event: ::std::os::raw::c_int,
8667        n: ::std::os::raw::c_int,
8668    ) -> ::std::os::raw::c_int;
8669}
8670extern "C" {
8671    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_get_arg"]
8672    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8673}
8674extern "C" {
8675    #[link_name = "\u{1}aws_lc_0_30_0_BN_generate_prime_ex"]
8676    pub fn BN_generate_prime_ex(
8677        ret: *mut BIGNUM,
8678        bits: ::std::os::raw::c_int,
8679        safe: ::std::os::raw::c_int,
8680        add: *const BIGNUM,
8681        rem: *const BIGNUM,
8682        cb: *mut BN_GENCB,
8683    ) -> ::std::os::raw::c_int;
8684}
8685pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8686pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8687pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8688pub type bn_primality_result_t = ::std::os::raw::c_uint;
8689extern "C" {
8690    #[link_name = "\u{1}aws_lc_0_30_0_BN_enhanced_miller_rabin_primality_test"]
8691    pub fn BN_enhanced_miller_rabin_primality_test(
8692        out_result: *mut bn_primality_result_t,
8693        w: *const BIGNUM,
8694        checks: ::std::os::raw::c_int,
8695        ctx: *mut BN_CTX,
8696        cb: *mut BN_GENCB,
8697    ) -> ::std::os::raw::c_int;
8698}
8699extern "C" {
8700    #[link_name = "\u{1}aws_lc_0_30_0_BN_primality_test"]
8701    pub fn BN_primality_test(
8702        is_probably_prime: *mut ::std::os::raw::c_int,
8703        candidate: *const BIGNUM,
8704        checks: ::std::os::raw::c_int,
8705        ctx: *mut BN_CTX,
8706        do_trial_division: ::std::os::raw::c_int,
8707        cb: *mut BN_GENCB,
8708    ) -> ::std::os::raw::c_int;
8709}
8710extern "C" {
8711    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_prime_fasttest_ex"]
8712    pub fn BN_is_prime_fasttest_ex(
8713        candidate: *const BIGNUM,
8714        checks: ::std::os::raw::c_int,
8715        ctx: *mut BN_CTX,
8716        do_trial_division: ::std::os::raw::c_int,
8717        cb: *mut BN_GENCB,
8718    ) -> ::std::os::raw::c_int;
8719}
8720extern "C" {
8721    #[link_name = "\u{1}aws_lc_0_30_0_BN_is_prime_ex"]
8722    pub fn BN_is_prime_ex(
8723        candidate: *const BIGNUM,
8724        checks: ::std::os::raw::c_int,
8725        ctx: *mut BN_CTX,
8726        cb: *mut BN_GENCB,
8727    ) -> ::std::os::raw::c_int;
8728}
8729extern "C" {
8730    #[link_name = "\u{1}aws_lc_0_30_0_BN_gcd"]
8731    pub fn BN_gcd(
8732        r: *mut BIGNUM,
8733        a: *const BIGNUM,
8734        b: *const BIGNUM,
8735        ctx: *mut BN_CTX,
8736    ) -> ::std::os::raw::c_int;
8737}
8738extern "C" {
8739    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_inverse"]
8740    pub fn BN_mod_inverse(
8741        out: *mut BIGNUM,
8742        a: *const BIGNUM,
8743        n: *const BIGNUM,
8744        ctx: *mut BN_CTX,
8745    ) -> *mut BIGNUM;
8746}
8747extern "C" {
8748    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_inverse_blinded"]
8749    pub fn BN_mod_inverse_blinded(
8750        out: *mut BIGNUM,
8751        out_no_inverse: *mut ::std::os::raw::c_int,
8752        a: *const BIGNUM,
8753        mont: *const BN_MONT_CTX,
8754        ctx: *mut BN_CTX,
8755    ) -> ::std::os::raw::c_int;
8756}
8757extern "C" {
8758    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_inverse_odd"]
8759    pub fn BN_mod_inverse_odd(
8760        out: *mut BIGNUM,
8761        out_no_inverse: *mut ::std::os::raw::c_int,
8762        a: *const BIGNUM,
8763        n: *const BIGNUM,
8764        ctx: *mut BN_CTX,
8765    ) -> ::std::os::raw::c_int;
8766}
8767extern "C" {
8768    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_new_for_modulus"]
8769    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8770}
8771extern "C" {
8772    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_new_consttime"]
8773    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8774}
8775extern "C" {
8776    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_free"]
8777    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8778}
8779extern "C" {
8780    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_copy"]
8781    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8782}
8783extern "C" {
8784    #[link_name = "\u{1}aws_lc_0_30_0_BN_to_montgomery"]
8785    pub fn BN_to_montgomery(
8786        ret: *mut BIGNUM,
8787        a: *const BIGNUM,
8788        mont: *const BN_MONT_CTX,
8789        ctx: *mut BN_CTX,
8790    ) -> ::std::os::raw::c_int;
8791}
8792extern "C" {
8793    #[link_name = "\u{1}aws_lc_0_30_0_BN_from_montgomery"]
8794    pub fn BN_from_montgomery(
8795        ret: *mut BIGNUM,
8796        a: *const BIGNUM,
8797        mont: *const BN_MONT_CTX,
8798        ctx: *mut BN_CTX,
8799    ) -> ::std::os::raw::c_int;
8800}
8801extern "C" {
8802    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_mul_montgomery"]
8803    pub fn BN_mod_mul_montgomery(
8804        r: *mut BIGNUM,
8805        a: *const BIGNUM,
8806        b: *const BIGNUM,
8807        mont: *const BN_MONT_CTX,
8808        ctx: *mut BN_CTX,
8809    ) -> ::std::os::raw::c_int;
8810}
8811extern "C" {
8812    #[link_name = "\u{1}aws_lc_0_30_0_BN_exp"]
8813    pub fn BN_exp(
8814        r: *mut BIGNUM,
8815        a: *const BIGNUM,
8816        p: *const BIGNUM,
8817        ctx: *mut BN_CTX,
8818    ) -> ::std::os::raw::c_int;
8819}
8820extern "C" {
8821    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp"]
8822    pub fn BN_mod_exp(
8823        r: *mut BIGNUM,
8824        a: *const BIGNUM,
8825        p: *const BIGNUM,
8826        m: *const BIGNUM,
8827        ctx: *mut BN_CTX,
8828    ) -> ::std::os::raw::c_int;
8829}
8830extern "C" {
8831    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp_mont"]
8832    pub fn BN_mod_exp_mont(
8833        r: *mut BIGNUM,
8834        a: *const BIGNUM,
8835        p: *const BIGNUM,
8836        m: *const BIGNUM,
8837        ctx: *mut BN_CTX,
8838        mont: *const BN_MONT_CTX,
8839    ) -> ::std::os::raw::c_int;
8840}
8841extern "C" {
8842    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp_mont_consttime"]
8843    pub fn BN_mod_exp_mont_consttime(
8844        rr: *mut BIGNUM,
8845        a: *const BIGNUM,
8846        p: *const BIGNUM,
8847        m: *const BIGNUM,
8848        ctx: *mut BN_CTX,
8849        mont: *const BN_MONT_CTX,
8850    ) -> ::std::os::raw::c_int;
8851}
8852extern "C" {
8853    #[link_name = "\u{1}aws_lc_0_30_0_BN_GENCB_set_old"]
8854    pub fn BN_GENCB_set_old(
8855        callback: *mut BN_GENCB,
8856        f: ::std::option::Option<
8857            unsafe extern "C" fn(
8858                arg1: ::std::os::raw::c_int,
8859                arg2: ::std::os::raw::c_int,
8860                arg3: *mut ::std::os::raw::c_void,
8861            ),
8862        >,
8863        cb_arg: *mut ::std::os::raw::c_void,
8864    );
8865}
8866extern "C" {
8867    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2mpi"]
8868    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8869}
8870extern "C" {
8871    #[link_name = "\u{1}aws_lc_0_30_0_BN_mpi2bn"]
8872    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8873}
8874extern "C" {
8875    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp_mont_word"]
8876    pub fn BN_mod_exp_mont_word(
8877        r: *mut BIGNUM,
8878        a: BN_ULONG,
8879        p: *const BIGNUM,
8880        m: *const BIGNUM,
8881        ctx: *mut BN_CTX,
8882        mont: *const BN_MONT_CTX,
8883    ) -> ::std::os::raw::c_int;
8884}
8885extern "C" {
8886    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp2_mont"]
8887    pub fn BN_mod_exp2_mont(
8888        r: *mut BIGNUM,
8889        a1: *const BIGNUM,
8890        p1: *const BIGNUM,
8891        a2: *const BIGNUM,
8892        p2: *const BIGNUM,
8893        m: *const BIGNUM,
8894        ctx: *mut BN_CTX,
8895        mont: *const BN_MONT_CTX,
8896    ) -> ::std::os::raw::c_int;
8897}
8898extern "C" {
8899    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_new"]
8900    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8901}
8902extern "C" {
8903    #[link_name = "\u{1}aws_lc_0_30_0_BN_MONT_CTX_set"]
8904    pub fn BN_MONT_CTX_set(
8905        mont: *mut BN_MONT_CTX,
8906        mod_: *const BIGNUM,
8907        ctx: *mut BN_CTX,
8908    ) -> ::std::os::raw::c_int;
8909}
8910extern "C" {
8911    #[link_name = "\u{1}aws_lc_0_30_0_BN_bn2binpad"]
8912    pub fn BN_bn2binpad(
8913        in_: *const BIGNUM,
8914        out: *mut u8,
8915        len: ::std::os::raw::c_int,
8916    ) -> ::std::os::raw::c_int;
8917}
8918extern "C" {
8919    #[link_name = "\u{1}aws_lc_0_30_0_BN_secure_new"]
8920    pub fn BN_secure_new() -> *mut BIGNUM;
8921}
8922extern "C" {
8923    #[link_name = "\u{1}aws_lc_0_30_0_BN_CTX_secure_new"]
8924    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8925}
8926extern "C" {
8927    #[link_name = "\u{1}aws_lc_0_30_0_BN_mod_exp_mont_consttime_x2"]
8928    pub fn BN_mod_exp_mont_consttime_x2(
8929        rr1: *mut BIGNUM,
8930        a1: *const BIGNUM,
8931        p1: *const BIGNUM,
8932        m1: *const BIGNUM,
8933        in_mont1: *const BN_MONT_CTX,
8934        rr2: *mut BIGNUM,
8935        a2: *const BIGNUM,
8936        p2: *const BIGNUM,
8937        m2: *const BIGNUM,
8938        in_mont2: *const BN_MONT_CTX,
8939        ctx: *mut BN_CTX,
8940    ) -> ::std::os::raw::c_int;
8941}
8942extern "C" {
8943    #[link_name = "\u{1}aws_lc_0_30_0_BN_set_flags"]
8944    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8945}
8946#[repr(C)]
8947#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8948pub struct bignum_st {
8949    pub d: *mut BN_ULONG,
8950    pub width: ::std::os::raw::c_int,
8951    pub dmax: ::std::os::raw::c_int,
8952    pub neg: ::std::os::raw::c_int,
8953    pub flags: ::std::os::raw::c_int,
8954}
8955#[test]
8956fn bindgen_test_layout_bignum_st() {
8957    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8958    let ptr = UNINIT.as_ptr();
8959    assert_eq!(
8960        ::std::mem::size_of::<bignum_st>(),
8961        24usize,
8962        concat!("Size of: ", stringify!(bignum_st))
8963    );
8964    assert_eq!(
8965        ::std::mem::align_of::<bignum_st>(),
8966        8usize,
8967        concat!("Alignment of ", stringify!(bignum_st))
8968    );
8969    assert_eq!(
8970        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8971        0usize,
8972        concat!(
8973            "Offset of field: ",
8974            stringify!(bignum_st),
8975            "::",
8976            stringify!(d)
8977        )
8978    );
8979    assert_eq!(
8980        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8981        8usize,
8982        concat!(
8983            "Offset of field: ",
8984            stringify!(bignum_st),
8985            "::",
8986            stringify!(width)
8987        )
8988    );
8989    assert_eq!(
8990        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8991        12usize,
8992        concat!(
8993            "Offset of field: ",
8994            stringify!(bignum_st),
8995            "::",
8996            stringify!(dmax)
8997        )
8998    );
8999    assert_eq!(
9000        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
9001        16usize,
9002        concat!(
9003            "Offset of field: ",
9004            stringify!(bignum_st),
9005            "::",
9006            stringify!(neg)
9007        )
9008    );
9009    assert_eq!(
9010        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9011        20usize,
9012        concat!(
9013            "Offset of field: ",
9014            stringify!(bignum_st),
9015            "::",
9016            stringify!(flags)
9017        )
9018    );
9019}
9020impl Default for bignum_st {
9021    fn default() -> Self {
9022        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9023        unsafe {
9024            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9025            s.assume_init()
9026        }
9027    }
9028}
9029#[repr(C)]
9030#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9031pub struct bn_mont_ctx_st {
9032    pub RR: BIGNUM,
9033    pub N: BIGNUM,
9034    pub n0: [BN_ULONG; 2usize],
9035}
9036#[test]
9037fn bindgen_test_layout_bn_mont_ctx_st() {
9038    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
9039    let ptr = UNINIT.as_ptr();
9040    assert_eq!(
9041        ::std::mem::size_of::<bn_mont_ctx_st>(),
9042        64usize,
9043        concat!("Size of: ", stringify!(bn_mont_ctx_st))
9044    );
9045    assert_eq!(
9046        ::std::mem::align_of::<bn_mont_ctx_st>(),
9047        8usize,
9048        concat!("Alignment of ", stringify!(bn_mont_ctx_st))
9049    );
9050    assert_eq!(
9051        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
9052        0usize,
9053        concat!(
9054            "Offset of field: ",
9055            stringify!(bn_mont_ctx_st),
9056            "::",
9057            stringify!(RR)
9058        )
9059    );
9060    assert_eq!(
9061        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
9062        24usize,
9063        concat!(
9064            "Offset of field: ",
9065            stringify!(bn_mont_ctx_st),
9066            "::",
9067            stringify!(N)
9068        )
9069    );
9070    assert_eq!(
9071        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
9072        48usize,
9073        concat!(
9074            "Offset of field: ",
9075            stringify!(bn_mont_ctx_st),
9076            "::",
9077            stringify!(n0)
9078        )
9079    );
9080}
9081impl Default for bn_mont_ctx_st {
9082    fn default() -> Self {
9083        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9084        unsafe {
9085            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9086            s.assume_init()
9087        }
9088    }
9089}
9090extern "C" {
9091    #[link_name = "\u{1}aws_lc_0_30_0_BN_num_bits_word"]
9092    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
9093}
9094extern "C" {
9095    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_tag2bit"]
9096    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
9097}
9098extern "C" {
9099    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_tag2str"]
9100    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
9101}
9102pub type d2i_of_void = ::std::option::Option<
9103    unsafe extern "C" fn(
9104        arg1: *mut *mut ::std::os::raw::c_void,
9105        arg2: *mut *const ::std::os::raw::c_uchar,
9106        arg3: ::std::os::raw::c_long,
9107    ) -> *mut ::std::os::raw::c_void,
9108>;
9109pub type i2d_of_void = ::std::option::Option<
9110    unsafe extern "C" fn(
9111        arg1: *const ::std::os::raw::c_void,
9112        arg2: *mut *mut ::std::os::raw::c_uchar,
9113    ) -> ::std::os::raw::c_int,
9114>;
9115pub type ASN1_ITEM_EXP = ASN1_ITEM;
9116#[repr(C)]
9117#[derive(Debug, Copy, Clone)]
9118pub struct ASN1_VALUE_st {
9119    _unused: [u8; 0],
9120}
9121pub type ASN1_VALUE = ASN1_VALUE_st;
9122extern "C" {
9123    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_new"]
9124    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
9125}
9126extern "C" {
9127    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_free"]
9128    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
9129}
9130extern "C" {
9131    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_d2i"]
9132    pub fn ASN1_item_d2i(
9133        out: *mut *mut ASN1_VALUE,
9134        inp: *mut *const ::std::os::raw::c_uchar,
9135        len: ::std::os::raw::c_long,
9136        it: *const ASN1_ITEM,
9137    ) -> *mut ASN1_VALUE;
9138}
9139extern "C" {
9140    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_i2d"]
9141    pub fn ASN1_item_i2d(
9142        val: *mut ASN1_VALUE,
9143        outp: *mut *mut ::std::os::raw::c_uchar,
9144        it: *const ASN1_ITEM,
9145    ) -> ::std::os::raw::c_int;
9146}
9147extern "C" {
9148    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_dup"]
9149    pub fn ASN1_dup(
9150        i2d: i2d_of_void,
9151        d2i: d2i_of_void,
9152        x: *mut ::std::os::raw::c_void,
9153    ) -> *mut ::std::os::raw::c_void;
9154}
9155extern "C" {
9156    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_dup"]
9157    pub fn ASN1_item_dup(
9158        it: *const ASN1_ITEM,
9159        x: *mut ::std::os::raw::c_void,
9160    ) -> *mut ::std::os::raw::c_void;
9161}
9162extern "C" {
9163    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_d2i_fp"]
9164    pub fn ASN1_item_d2i_fp(
9165        it: *const ASN1_ITEM,
9166        in_: *mut FILE,
9167        out: *mut ::std::os::raw::c_void,
9168    ) -> *mut ::std::os::raw::c_void;
9169}
9170extern "C" {
9171    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_d2i_bio"]
9172    pub fn ASN1_item_d2i_bio(
9173        it: *const ASN1_ITEM,
9174        in_: *mut BIO,
9175        out: *mut ::std::os::raw::c_void,
9176    ) -> *mut ::std::os::raw::c_void;
9177}
9178extern "C" {
9179    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_i2d_fp"]
9180    pub fn ASN1_item_i2d_fp(
9181        it: *const ASN1_ITEM,
9182        out: *mut FILE,
9183        in_: *mut ::std::os::raw::c_void,
9184    ) -> ::std::os::raw::c_int;
9185}
9186extern "C" {
9187    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_i2d_bio"]
9188    pub fn ASN1_item_i2d_bio(
9189        it: *const ASN1_ITEM,
9190        out: *mut BIO,
9191        in_: *mut ::std::os::raw::c_void,
9192    ) -> ::std::os::raw::c_int;
9193}
9194extern "C" {
9195    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_i2d_bio"]
9196    pub fn ASN1_i2d_bio(
9197        i2d: i2d_of_void,
9198        out: *mut BIO,
9199        in_: *mut ::std::os::raw::c_void,
9200    ) -> ::std::os::raw::c_int;
9201}
9202extern "C" {
9203    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_unpack"]
9204    pub fn ASN1_item_unpack(
9205        oct: *const ASN1_STRING,
9206        it: *const ASN1_ITEM,
9207    ) -> *mut ::std::os::raw::c_void;
9208}
9209extern "C" {
9210    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_pack"]
9211    pub fn ASN1_item_pack(
9212        obj: *mut ::std::os::raw::c_void,
9213        it: *const ASN1_ITEM,
9214        out: *mut *mut ASN1_STRING,
9215    ) -> *mut ASN1_STRING;
9216}
9217extern "C" {
9218    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_BOOLEAN"]
9219    pub fn d2i_ASN1_BOOLEAN(
9220        out: *mut ASN1_BOOLEAN,
9221        inp: *mut *const ::std::os::raw::c_uchar,
9222        len: ::std::os::raw::c_long,
9223    ) -> ASN1_BOOLEAN;
9224}
9225extern "C" {
9226    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_BOOLEAN"]
9227    pub fn i2d_ASN1_BOOLEAN(
9228        a: ASN1_BOOLEAN,
9229        outp: *mut *mut ::std::os::raw::c_uchar,
9230    ) -> ::std::os::raw::c_int;
9231}
9232extern "C" {
9233    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BOOLEAN_it"]
9234    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
9235}
9236extern "C" {
9237    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TBOOLEAN_it"]
9238    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
9239}
9240extern "C" {
9241    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_FBOOLEAN_it"]
9242    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
9243}
9244#[repr(C)]
9245#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9246pub struct asn1_string_st {
9247    pub length: ::std::os::raw::c_int,
9248    pub type_: ::std::os::raw::c_int,
9249    pub data: *mut ::std::os::raw::c_uchar,
9250    pub flags: ::std::os::raw::c_long,
9251}
9252#[test]
9253fn bindgen_test_layout_asn1_string_st() {
9254    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
9255    let ptr = UNINIT.as_ptr();
9256    assert_eq!(
9257        ::std::mem::size_of::<asn1_string_st>(),
9258        24usize,
9259        concat!("Size of: ", stringify!(asn1_string_st))
9260    );
9261    assert_eq!(
9262        ::std::mem::align_of::<asn1_string_st>(),
9263        8usize,
9264        concat!("Alignment of ", stringify!(asn1_string_st))
9265    );
9266    assert_eq!(
9267        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
9268        0usize,
9269        concat!(
9270            "Offset of field: ",
9271            stringify!(asn1_string_st),
9272            "::",
9273            stringify!(length)
9274        )
9275    );
9276    assert_eq!(
9277        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9278        4usize,
9279        concat!(
9280            "Offset of field: ",
9281            stringify!(asn1_string_st),
9282            "::",
9283            stringify!(type_)
9284        )
9285    );
9286    assert_eq!(
9287        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
9288        8usize,
9289        concat!(
9290            "Offset of field: ",
9291            stringify!(asn1_string_st),
9292            "::",
9293            stringify!(data)
9294        )
9295    );
9296    assert_eq!(
9297        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9298        16usize,
9299        concat!(
9300            "Offset of field: ",
9301            stringify!(asn1_string_st),
9302            "::",
9303            stringify!(flags)
9304        )
9305    );
9306}
9307impl Default for asn1_string_st {
9308    fn default() -> Self {
9309        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9310        unsafe {
9311            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9312            s.assume_init()
9313        }
9314    }
9315}
9316extern "C" {
9317    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_type_new"]
9318    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
9319}
9320extern "C" {
9321    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_new"]
9322    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
9323}
9324extern "C" {
9325    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_free"]
9326    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
9327}
9328extern "C" {
9329    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_clear_free"]
9330    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
9331}
9332extern "C" {
9333    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_copy"]
9334    pub fn ASN1_STRING_copy(
9335        dst: *mut ASN1_STRING,
9336        str_: *const ASN1_STRING,
9337    ) -> ::std::os::raw::c_int;
9338}
9339extern "C" {
9340    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_dup"]
9341    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
9342}
9343extern "C" {
9344    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_type"]
9345    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9346}
9347extern "C" {
9348    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_get0_data"]
9349    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
9350}
9351extern "C" {
9352    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_data"]
9353    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
9354}
9355extern "C" {
9356    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_length"]
9357    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9358}
9359extern "C" {
9360    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_cmp"]
9361    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
9362}
9363extern "C" {
9364    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_set"]
9365    pub fn ASN1_STRING_set(
9366        str_: *mut ASN1_STRING,
9367        data: *const ::std::os::raw::c_void,
9368        len: ossl_ssize_t,
9369    ) -> ::std::os::raw::c_int;
9370}
9371extern "C" {
9372    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_set0"]
9373    pub fn ASN1_STRING_set0(
9374        str_: *mut ASN1_STRING,
9375        data: *mut ::std::os::raw::c_void,
9376        len: ::std::os::raw::c_int,
9377    );
9378}
9379extern "C" {
9380    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BMPSTRING_new"]
9381    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
9382}
9383extern "C" {
9384    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALSTRING_new"]
9385    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
9386}
9387extern "C" {
9388    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_IA5STRING_new"]
9389    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
9390}
9391extern "C" {
9392    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_new"]
9393    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
9394}
9395extern "C" {
9396    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLESTRING_new"]
9397    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
9398}
9399extern "C" {
9400    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_T61STRING_new"]
9401    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
9402}
9403extern "C" {
9404    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UNIVERSALSTRING_new"]
9405    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
9406}
9407extern "C" {
9408    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTF8STRING_new"]
9409    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
9410}
9411extern "C" {
9412    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_VISIBLESTRING_new"]
9413    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
9414}
9415extern "C" {
9416    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BMPSTRING_free"]
9417    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
9418}
9419extern "C" {
9420    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALSTRING_free"]
9421    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
9422}
9423extern "C" {
9424    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_IA5STRING_free"]
9425    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
9426}
9427extern "C" {
9428    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_free"]
9429    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
9430}
9431extern "C" {
9432    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLESTRING_free"]
9433    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
9434}
9435extern "C" {
9436    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_T61STRING_free"]
9437    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UNIVERSALSTRING_free"]
9441    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
9442}
9443extern "C" {
9444    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTF8STRING_free"]
9445    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
9446}
9447extern "C" {
9448    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_VISIBLESTRING_free"]
9449    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
9450}
9451extern "C" {
9452    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_BMPSTRING"]
9453    pub fn d2i_ASN1_BMPSTRING(
9454        out: *mut *mut ASN1_BMPSTRING,
9455        inp: *mut *const u8,
9456        len: ::std::os::raw::c_long,
9457    ) -> *mut ASN1_BMPSTRING;
9458}
9459extern "C" {
9460    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_GENERALSTRING"]
9461    pub fn d2i_ASN1_GENERALSTRING(
9462        out: *mut *mut ASN1_GENERALSTRING,
9463        inp: *mut *const u8,
9464        len: ::std::os::raw::c_long,
9465    ) -> *mut ASN1_GENERALSTRING;
9466}
9467extern "C" {
9468    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_IA5STRING"]
9469    pub fn d2i_ASN1_IA5STRING(
9470        out: *mut *mut ASN1_IA5STRING,
9471        inp: *mut *const u8,
9472        len: ::std::os::raw::c_long,
9473    ) -> *mut ASN1_IA5STRING;
9474}
9475extern "C" {
9476    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_OCTET_STRING"]
9477    pub fn d2i_ASN1_OCTET_STRING(
9478        out: *mut *mut ASN1_OCTET_STRING,
9479        inp: *mut *const u8,
9480        len: ::std::os::raw::c_long,
9481    ) -> *mut ASN1_OCTET_STRING;
9482}
9483extern "C" {
9484    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_PRINTABLESTRING"]
9485    pub fn d2i_ASN1_PRINTABLESTRING(
9486        out: *mut *mut ASN1_PRINTABLESTRING,
9487        inp: *mut *const u8,
9488        len: ::std::os::raw::c_long,
9489    ) -> *mut ASN1_PRINTABLESTRING;
9490}
9491extern "C" {
9492    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_T61STRING"]
9493    pub fn d2i_ASN1_T61STRING(
9494        out: *mut *mut ASN1_T61STRING,
9495        inp: *mut *const u8,
9496        len: ::std::os::raw::c_long,
9497    ) -> *mut ASN1_T61STRING;
9498}
9499extern "C" {
9500    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_UNIVERSALSTRING"]
9501    pub fn d2i_ASN1_UNIVERSALSTRING(
9502        out: *mut *mut ASN1_UNIVERSALSTRING,
9503        inp: *mut *const u8,
9504        len: ::std::os::raw::c_long,
9505    ) -> *mut ASN1_UNIVERSALSTRING;
9506}
9507extern "C" {
9508    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_UTF8STRING"]
9509    pub fn d2i_ASN1_UTF8STRING(
9510        out: *mut *mut ASN1_UTF8STRING,
9511        inp: *mut *const u8,
9512        len: ::std::os::raw::c_long,
9513    ) -> *mut ASN1_UTF8STRING;
9514}
9515extern "C" {
9516    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_VISIBLESTRING"]
9517    pub fn d2i_ASN1_VISIBLESTRING(
9518        out: *mut *mut ASN1_VISIBLESTRING,
9519        inp: *mut *const u8,
9520        len: ::std::os::raw::c_long,
9521    ) -> *mut ASN1_VISIBLESTRING;
9522}
9523extern "C" {
9524    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_BMPSTRING"]
9525    pub fn i2d_ASN1_BMPSTRING(
9526        in_: *const ASN1_BMPSTRING,
9527        outp: *mut *mut u8,
9528    ) -> ::std::os::raw::c_int;
9529}
9530extern "C" {
9531    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_GENERALSTRING"]
9532    pub fn i2d_ASN1_GENERALSTRING(
9533        in_: *const ASN1_GENERALSTRING,
9534        outp: *mut *mut u8,
9535    ) -> ::std::os::raw::c_int;
9536}
9537extern "C" {
9538    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_IA5STRING"]
9539    pub fn i2d_ASN1_IA5STRING(
9540        in_: *const ASN1_IA5STRING,
9541        outp: *mut *mut u8,
9542    ) -> ::std::os::raw::c_int;
9543}
9544extern "C" {
9545    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_OCTET_STRING"]
9546    pub fn i2d_ASN1_OCTET_STRING(
9547        in_: *const ASN1_OCTET_STRING,
9548        outp: *mut *mut u8,
9549    ) -> ::std::os::raw::c_int;
9550}
9551extern "C" {
9552    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_PRINTABLESTRING"]
9553    pub fn i2d_ASN1_PRINTABLESTRING(
9554        in_: *const ASN1_PRINTABLESTRING,
9555        outp: *mut *mut u8,
9556    ) -> ::std::os::raw::c_int;
9557}
9558extern "C" {
9559    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_T61STRING"]
9560    pub fn i2d_ASN1_T61STRING(
9561        in_: *const ASN1_T61STRING,
9562        outp: *mut *mut u8,
9563    ) -> ::std::os::raw::c_int;
9564}
9565extern "C" {
9566    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_UNIVERSALSTRING"]
9567    pub fn i2d_ASN1_UNIVERSALSTRING(
9568        in_: *const ASN1_UNIVERSALSTRING,
9569        outp: *mut *mut u8,
9570    ) -> ::std::os::raw::c_int;
9571}
9572extern "C" {
9573    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_UTF8STRING"]
9574    pub fn i2d_ASN1_UTF8STRING(
9575        in_: *const ASN1_UTF8STRING,
9576        outp: *mut *mut u8,
9577    ) -> ::std::os::raw::c_int;
9578}
9579extern "C" {
9580    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_VISIBLESTRING"]
9581    pub fn i2d_ASN1_VISIBLESTRING(
9582        in_: *const ASN1_VISIBLESTRING,
9583        outp: *mut *mut u8,
9584    ) -> ::std::os::raw::c_int;
9585}
9586extern "C" {
9587    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BMPSTRING_it"]
9588    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9589}
9590extern "C" {
9591    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALSTRING_it"]
9592    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9593}
9594extern "C" {
9595    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_IA5STRING_it"]
9596    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9597}
9598extern "C" {
9599    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_it"]
9600    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9601}
9602extern "C" {
9603    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLESTRING_it"]
9604    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9605}
9606extern "C" {
9607    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_T61STRING_it"]
9608    pub static ASN1_T61STRING_it: ASN1_ITEM;
9609}
9610extern "C" {
9611    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UNIVERSALSTRING_it"]
9612    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9613}
9614extern "C" {
9615    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTF8STRING_it"]
9616    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9617}
9618extern "C" {
9619    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_VISIBLESTRING_it"]
9620    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9621}
9622extern "C" {
9623    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_dup"]
9624    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9625}
9626extern "C" {
9627    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_cmp"]
9628    pub fn ASN1_OCTET_STRING_cmp(
9629        a: *const ASN1_OCTET_STRING,
9630        b: *const ASN1_OCTET_STRING,
9631    ) -> ::std::os::raw::c_int;
9632}
9633extern "C" {
9634    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OCTET_STRING_set"]
9635    pub fn ASN1_OCTET_STRING_set(
9636        str_: *mut ASN1_OCTET_STRING,
9637        data: *const ::std::os::raw::c_uchar,
9638        len: ::std::os::raw::c_int,
9639    ) -> ::std::os::raw::c_int;
9640}
9641extern "C" {
9642    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_to_UTF8"]
9643    pub fn ASN1_STRING_to_UTF8(
9644        out: *mut *mut ::std::os::raw::c_uchar,
9645        in_: *const ASN1_STRING,
9646    ) -> ::std::os::raw::c_int;
9647}
9648extern "C" {
9649    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_mbstring_copy"]
9650    pub fn ASN1_mbstring_copy(
9651        out: *mut *mut ASN1_STRING,
9652        in_: *const u8,
9653        len: ossl_ssize_t,
9654        inform: ::std::os::raw::c_int,
9655        mask: ::std::os::raw::c_ulong,
9656    ) -> ::std::os::raw::c_int;
9657}
9658extern "C" {
9659    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_mbstring_ncopy"]
9660    pub fn ASN1_mbstring_ncopy(
9661        out: *mut *mut ASN1_STRING,
9662        in_: *const u8,
9663        len: ossl_ssize_t,
9664        inform: ::std::os::raw::c_int,
9665        mask: ::std::os::raw::c_ulong,
9666        minsize: ossl_ssize_t,
9667        maxsize: ossl_ssize_t,
9668    ) -> ::std::os::raw::c_int;
9669}
9670extern "C" {
9671    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_set_by_NID"]
9672    pub fn ASN1_STRING_set_by_NID(
9673        out: *mut *mut ASN1_STRING,
9674        in_: *const ::std::os::raw::c_uchar,
9675        len: ossl_ssize_t,
9676        inform: ::std::os::raw::c_int,
9677        nid: ::std::os::raw::c_int,
9678    ) -> *mut ASN1_STRING;
9679}
9680extern "C" {
9681    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_TABLE_add"]
9682    pub fn ASN1_STRING_TABLE_add(
9683        nid: ::std::os::raw::c_int,
9684        minsize: ::std::os::raw::c_long,
9685        maxsize: ::std::os::raw::c_long,
9686        mask: ::std::os::raw::c_ulong,
9687        flags: ::std::os::raw::c_ulong,
9688    ) -> ::std::os::raw::c_int;
9689}
9690extern "C" {
9691    #[link_name = "\u{1}aws_lc_0_30_0_DIRECTORYSTRING_new"]
9692    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9693}
9694extern "C" {
9695    #[link_name = "\u{1}aws_lc_0_30_0_DIRECTORYSTRING_free"]
9696    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9697}
9698extern "C" {
9699    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DIRECTORYSTRING"]
9700    pub fn d2i_DIRECTORYSTRING(
9701        out: *mut *mut ASN1_STRING,
9702        inp: *mut *const u8,
9703        len: ::std::os::raw::c_long,
9704    ) -> *mut ASN1_STRING;
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DIRECTORYSTRING"]
9708    pub fn i2d_DIRECTORYSTRING(
9709        in_: *const ASN1_STRING,
9710        outp: *mut *mut u8,
9711    ) -> ::std::os::raw::c_int;
9712}
9713extern "C" {
9714    #[link_name = "\u{1}aws_lc_0_30_0_DIRECTORYSTRING_it"]
9715    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9716}
9717extern "C" {
9718    #[link_name = "\u{1}aws_lc_0_30_0_DISPLAYTEXT_new"]
9719    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9720}
9721extern "C" {
9722    #[link_name = "\u{1}aws_lc_0_30_0_DISPLAYTEXT_free"]
9723    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9724}
9725extern "C" {
9726    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DISPLAYTEXT"]
9727    pub fn d2i_DISPLAYTEXT(
9728        out: *mut *mut ASN1_STRING,
9729        inp: *mut *const u8,
9730        len: ::std::os::raw::c_long,
9731    ) -> *mut ASN1_STRING;
9732}
9733extern "C" {
9734    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DISPLAYTEXT"]
9735    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9736}
9737extern "C" {
9738    #[link_name = "\u{1}aws_lc_0_30_0_DISPLAYTEXT_it"]
9739    pub static DISPLAYTEXT_it: ASN1_ITEM;
9740}
9741extern "C" {
9742    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_new"]
9743    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9744}
9745extern "C" {
9746    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_free"]
9747    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9748}
9749extern "C" {
9750    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_BIT_STRING"]
9751    pub fn d2i_ASN1_BIT_STRING(
9752        out: *mut *mut ASN1_BIT_STRING,
9753        inp: *mut *const u8,
9754        len: ::std::os::raw::c_long,
9755    ) -> *mut ASN1_BIT_STRING;
9756}
9757extern "C" {
9758    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_BIT_STRING"]
9759    pub fn i2d_ASN1_BIT_STRING(
9760        in_: *const ASN1_BIT_STRING,
9761        outp: *mut *mut u8,
9762    ) -> ::std::os::raw::c_int;
9763}
9764extern "C" {
9765    #[link_name = "\u{1}aws_lc_0_30_0_c2i_ASN1_BIT_STRING"]
9766    pub fn c2i_ASN1_BIT_STRING(
9767        out: *mut *mut ASN1_BIT_STRING,
9768        inp: *mut *const u8,
9769        len: ::std::os::raw::c_long,
9770    ) -> *mut ASN1_BIT_STRING;
9771}
9772extern "C" {
9773    #[link_name = "\u{1}aws_lc_0_30_0_i2c_ASN1_BIT_STRING"]
9774    pub fn i2c_ASN1_BIT_STRING(
9775        in_: *const ASN1_BIT_STRING,
9776        outp: *mut *mut u8,
9777    ) -> ::std::os::raw::c_int;
9778}
9779extern "C" {
9780    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_it"]
9781    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9782}
9783extern "C" {
9784    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_num_bytes"]
9785    pub fn ASN1_BIT_STRING_num_bytes(
9786        str_: *const ASN1_BIT_STRING,
9787        out: *mut usize,
9788    ) -> ::std::os::raw::c_int;
9789}
9790extern "C" {
9791    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_set"]
9792    pub fn ASN1_BIT_STRING_set(
9793        str_: *mut ASN1_BIT_STRING,
9794        d: *const ::std::os::raw::c_uchar,
9795        length: ossl_ssize_t,
9796    ) -> ::std::os::raw::c_int;
9797}
9798extern "C" {
9799    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_set_bit"]
9800    pub fn ASN1_BIT_STRING_set_bit(
9801        str_: *mut ASN1_BIT_STRING,
9802        n: ::std::os::raw::c_int,
9803        value: ::std::os::raw::c_int,
9804    ) -> ::std::os::raw::c_int;
9805}
9806extern "C" {
9807    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_get_bit"]
9808    pub fn ASN1_BIT_STRING_get_bit(
9809        str_: *const ASN1_BIT_STRING,
9810        n: ::std::os::raw::c_int,
9811    ) -> ::std::os::raw::c_int;
9812}
9813extern "C" {
9814    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_BIT_STRING_check"]
9815    pub fn ASN1_BIT_STRING_check(
9816        str_: *const ASN1_BIT_STRING,
9817        flags: *const ::std::os::raw::c_uchar,
9818        flags_len: ::std::os::raw::c_int,
9819    ) -> ::std::os::raw::c_int;
9820}
9821#[repr(C)]
9822#[derive(Debug, Copy, Clone)]
9823pub struct stack_st_ASN1_INTEGER {
9824    _unused: [u8; 0],
9825}
9826pub type sk_ASN1_INTEGER_free_func =
9827    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9828pub type sk_ASN1_INTEGER_copy_func =
9829    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9830pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9831    unsafe extern "C" fn(
9832        arg1: *const *const ASN1_INTEGER,
9833        arg2: *const *const ASN1_INTEGER,
9834    ) -> ::std::os::raw::c_int,
9835>;
9836pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9837    unsafe extern "C" fn(
9838        arg1: *mut ASN1_INTEGER,
9839        arg2: *mut ::std::os::raw::c_void,
9840    ) -> ::std::os::raw::c_int,
9841>;
9842extern "C" {
9843    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_new"]
9844    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9845}
9846extern "C" {
9847    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_free"]
9848    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9849}
9850extern "C" {
9851    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_dup"]
9852    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9853}
9854extern "C" {
9855    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_INTEGER"]
9856    pub fn d2i_ASN1_INTEGER(
9857        out: *mut *mut ASN1_INTEGER,
9858        inp: *mut *const u8,
9859        len: ::std::os::raw::c_long,
9860    ) -> *mut ASN1_INTEGER;
9861}
9862extern "C" {
9863    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_INTEGER"]
9864    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9865}
9866extern "C" {
9867    #[link_name = "\u{1}aws_lc_0_30_0_c2i_ASN1_INTEGER"]
9868    pub fn c2i_ASN1_INTEGER(
9869        in_: *mut *mut ASN1_INTEGER,
9870        outp: *mut *const u8,
9871        len: ::std::os::raw::c_long,
9872    ) -> *mut ASN1_INTEGER;
9873}
9874extern "C" {
9875    #[link_name = "\u{1}aws_lc_0_30_0_i2c_ASN1_INTEGER"]
9876    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9877}
9878extern "C" {
9879    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_it"]
9880    pub static ASN1_INTEGER_it: ASN1_ITEM;
9881}
9882extern "C" {
9883    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_set_uint64"]
9884    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9885}
9886extern "C" {
9887    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_set_int64"]
9888    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9889}
9890extern "C" {
9891    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_get_uint64"]
9892    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9893}
9894extern "C" {
9895    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_get_int64"]
9896    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9897}
9898extern "C" {
9899    #[link_name = "\u{1}aws_lc_0_30_0_BN_to_ASN1_INTEGER"]
9900    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9901}
9902extern "C" {
9903    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_to_BN"]
9904    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9905}
9906extern "C" {
9907    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_cmp"]
9908    pub fn ASN1_INTEGER_cmp(
9909        x: *const ASN1_INTEGER,
9910        y: *const ASN1_INTEGER,
9911    ) -> ::std::os::raw::c_int;
9912}
9913extern "C" {
9914    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_new"]
9915    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9916}
9917extern "C" {
9918    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_free"]
9919    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9920}
9921extern "C" {
9922    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_ENUMERATED"]
9923    pub fn d2i_ASN1_ENUMERATED(
9924        out: *mut *mut ASN1_ENUMERATED,
9925        inp: *mut *const u8,
9926        len: ::std::os::raw::c_long,
9927    ) -> *mut ASN1_ENUMERATED;
9928}
9929extern "C" {
9930    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_ENUMERATED"]
9931    pub fn i2d_ASN1_ENUMERATED(
9932        in_: *const ASN1_ENUMERATED,
9933        outp: *mut *mut u8,
9934    ) -> ::std::os::raw::c_int;
9935}
9936extern "C" {
9937    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_it"]
9938    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9939}
9940extern "C" {
9941    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_set_uint64"]
9942    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9943}
9944extern "C" {
9945    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_set_int64"]
9946    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9947}
9948extern "C" {
9949    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_get_uint64"]
9950    pub fn ASN1_ENUMERATED_get_uint64(
9951        out: *mut u64,
9952        a: *const ASN1_ENUMERATED,
9953    ) -> ::std::os::raw::c_int;
9954}
9955extern "C" {
9956    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_get_int64"]
9957    pub fn ASN1_ENUMERATED_get_int64(
9958        out: *mut i64,
9959        a: *const ASN1_ENUMERATED,
9960    ) -> ::std::os::raw::c_int;
9961}
9962extern "C" {
9963    #[link_name = "\u{1}aws_lc_0_30_0_BN_to_ASN1_ENUMERATED"]
9964    pub fn BN_to_ASN1_ENUMERATED(
9965        bn: *const BIGNUM,
9966        ai: *mut ASN1_ENUMERATED,
9967    ) -> *mut ASN1_ENUMERATED;
9968}
9969extern "C" {
9970    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_to_BN"]
9971    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9972}
9973extern "C" {
9974    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_new"]
9975    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9976}
9977extern "C" {
9978    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_free"]
9979    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9980}
9981extern "C" {
9982    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_UTCTIME"]
9983    pub fn d2i_ASN1_UTCTIME(
9984        out: *mut *mut ASN1_UTCTIME,
9985        inp: *mut *const u8,
9986        len: ::std::os::raw::c_long,
9987    ) -> *mut ASN1_UTCTIME;
9988}
9989extern "C" {
9990    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_UTCTIME"]
9991    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9992}
9993extern "C" {
9994    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_it"]
9995    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9996}
9997extern "C" {
9998    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_check"]
9999    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10000}
10001extern "C" {
10002    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_set"]
10003    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
10004}
10005extern "C" {
10006    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_adj"]
10007    pub fn ASN1_UTCTIME_adj(
10008        s: *mut ASN1_UTCTIME,
10009        posix_time: i64,
10010        offset_day: ::std::os::raw::c_int,
10011        offset_sec: ::std::os::raw::c_long,
10012    ) -> *mut ASN1_UTCTIME;
10013}
10014extern "C" {
10015    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_set_string"]
10016    pub fn ASN1_UTCTIME_set_string(
10017        s: *mut ASN1_UTCTIME,
10018        str_: *const ::std::os::raw::c_char,
10019    ) -> ::std::os::raw::c_int;
10020}
10021extern "C" {
10022    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_cmp_time_t"]
10023    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
10024}
10025extern "C" {
10026    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_new"]
10027    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
10028}
10029extern "C" {
10030    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_free"]
10031    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
10032}
10033extern "C" {
10034    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_GENERALIZEDTIME"]
10035    pub fn d2i_ASN1_GENERALIZEDTIME(
10036        out: *mut *mut ASN1_GENERALIZEDTIME,
10037        inp: *mut *const u8,
10038        len: ::std::os::raw::c_long,
10039    ) -> *mut ASN1_GENERALIZEDTIME;
10040}
10041extern "C" {
10042    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_GENERALIZEDTIME"]
10043    pub fn i2d_ASN1_GENERALIZEDTIME(
10044        in_: *const ASN1_GENERALIZEDTIME,
10045        outp: *mut *mut u8,
10046    ) -> ::std::os::raw::c_int;
10047}
10048extern "C" {
10049    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_it"]
10050    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
10051}
10052extern "C" {
10053    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_check"]
10054    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
10055}
10056extern "C" {
10057    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_set"]
10058    pub fn ASN1_GENERALIZEDTIME_set(
10059        s: *mut ASN1_GENERALIZEDTIME,
10060        posix_time: i64,
10061    ) -> *mut ASN1_GENERALIZEDTIME;
10062}
10063extern "C" {
10064    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_adj"]
10065    pub fn ASN1_GENERALIZEDTIME_adj(
10066        s: *mut ASN1_GENERALIZEDTIME,
10067        posix_time: i64,
10068        offset_day: ::std::os::raw::c_int,
10069        offset_sec: ::std::os::raw::c_long,
10070    ) -> *mut ASN1_GENERALIZEDTIME;
10071}
10072extern "C" {
10073    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_set_string"]
10074    pub fn ASN1_GENERALIZEDTIME_set_string(
10075        s: *mut ASN1_GENERALIZEDTIME,
10076        str_: *const ::std::os::raw::c_char,
10077    ) -> ::std::os::raw::c_int;
10078}
10079extern "C" {
10080    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_new"]
10081    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
10082}
10083extern "C" {
10084    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_free"]
10085    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
10086}
10087extern "C" {
10088    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_TIME"]
10089    pub fn d2i_ASN1_TIME(
10090        out: *mut *mut ASN1_TIME,
10091        inp: *mut *const u8,
10092        len: ::std::os::raw::c_long,
10093    ) -> *mut ASN1_TIME;
10094}
10095extern "C" {
10096    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_TIME"]
10097    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10098}
10099extern "C" {
10100    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_it"]
10101    pub static ASN1_TIME_it: ASN1_ITEM;
10102}
10103extern "C" {
10104    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_diff"]
10105    pub fn ASN1_TIME_diff(
10106        out_days: *mut ::std::os::raw::c_int,
10107        out_seconds: *mut ::std::os::raw::c_int,
10108        from: *const ASN1_TIME,
10109        to: *const ASN1_TIME,
10110    ) -> ::std::os::raw::c_int;
10111}
10112extern "C" {
10113    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_set_posix"]
10114    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
10115}
10116extern "C" {
10117    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_set"]
10118    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
10119}
10120extern "C" {
10121    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_adj"]
10122    pub fn ASN1_TIME_adj(
10123        s: *mut ASN1_TIME,
10124        posix_time: i64,
10125        offset_day: ::std::os::raw::c_int,
10126        offset_sec: ::std::os::raw::c_long,
10127    ) -> *mut ASN1_TIME;
10128}
10129extern "C" {
10130    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_check"]
10131    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
10132}
10133extern "C" {
10134    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_to_generalizedtime"]
10135    pub fn ASN1_TIME_to_generalizedtime(
10136        t: *const ASN1_TIME,
10137        out: *mut *mut ASN1_GENERALIZEDTIME,
10138    ) -> *mut ASN1_GENERALIZEDTIME;
10139}
10140extern "C" {
10141    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_set_string"]
10142    pub fn ASN1_TIME_set_string(
10143        s: *mut ASN1_TIME,
10144        str_: *const ::std::os::raw::c_char,
10145    ) -> ::std::os::raw::c_int;
10146}
10147extern "C" {
10148    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_to_tm"]
10149    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
10150}
10151extern "C" {
10152    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_set_string_X509"]
10153    pub fn ASN1_TIME_set_string_X509(
10154        s: *mut ASN1_TIME,
10155        str_: *const ::std::os::raw::c_char,
10156    ) -> ::std::os::raw::c_int;
10157}
10158extern "C" {
10159    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_to_time_t"]
10160    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
10161}
10162extern "C" {
10163    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_to_posix"]
10164    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
10165}
10166extern "C" {
10167    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_NULL_new"]
10168    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
10169}
10170extern "C" {
10171    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_NULL_free"]
10172    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
10173}
10174extern "C" {
10175    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_NULL"]
10176    pub fn d2i_ASN1_NULL(
10177        out: *mut *mut ASN1_NULL,
10178        inp: *mut *const u8,
10179        len: ::std::os::raw::c_long,
10180    ) -> *mut ASN1_NULL;
10181}
10182extern "C" {
10183    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_NULL"]
10184    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10185}
10186extern "C" {
10187    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_NULL_it"]
10188    pub static ASN1_NULL_it: ASN1_ITEM;
10189}
10190#[repr(C)]
10191#[derive(Debug, Copy, Clone)]
10192pub struct stack_st_ASN1_OBJECT {
10193    _unused: [u8; 0],
10194}
10195pub type sk_ASN1_OBJECT_free_func =
10196    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
10197pub type sk_ASN1_OBJECT_copy_func =
10198    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
10199pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
10200    unsafe extern "C" fn(
10201        arg1: *const *const ASN1_OBJECT,
10202        arg2: *const *const ASN1_OBJECT,
10203    ) -> ::std::os::raw::c_int,
10204>;
10205pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
10206    unsafe extern "C" fn(
10207        arg1: *mut ASN1_OBJECT,
10208        arg2: *mut ::std::os::raw::c_void,
10209    ) -> ::std::os::raw::c_int,
10210>;
10211extern "C" {
10212    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OBJECT_create"]
10213    pub fn ASN1_OBJECT_create(
10214        nid: ::std::os::raw::c_int,
10215        data: *const u8,
10216        len: usize,
10217        sn: *const ::std::os::raw::c_char,
10218        ln: *const ::std::os::raw::c_char,
10219    ) -> *mut ASN1_OBJECT;
10220}
10221extern "C" {
10222    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OBJECT_free"]
10223    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
10224}
10225extern "C" {
10226    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_OBJECT"]
10227    pub fn d2i_ASN1_OBJECT(
10228        out: *mut *mut ASN1_OBJECT,
10229        inp: *mut *const u8,
10230        len: ::std::os::raw::c_long,
10231    ) -> *mut ASN1_OBJECT;
10232}
10233extern "C" {
10234    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_OBJECT"]
10235    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10236}
10237extern "C" {
10238    #[link_name = "\u{1}aws_lc_0_30_0_c2i_ASN1_OBJECT"]
10239    pub fn c2i_ASN1_OBJECT(
10240        out: *mut *mut ASN1_OBJECT,
10241        inp: *mut *const u8,
10242        len: ::std::os::raw::c_long,
10243    ) -> *mut ASN1_OBJECT;
10244}
10245extern "C" {
10246    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_OBJECT_it"]
10247    pub static ASN1_OBJECT_it: ASN1_ITEM;
10248}
10249#[repr(C)]
10250#[derive(Copy, Clone)]
10251pub struct asn1_type_st {
10252    pub type_: ::std::os::raw::c_int,
10253    pub value: asn1_type_st__bindgen_ty_1,
10254}
10255#[repr(C)]
10256#[derive(Copy, Clone)]
10257pub union asn1_type_st__bindgen_ty_1 {
10258    pub ptr: *mut ::std::os::raw::c_char,
10259    pub boolean: ASN1_BOOLEAN,
10260    pub asn1_string: *mut ASN1_STRING,
10261    pub object: *mut ASN1_OBJECT,
10262    pub integer: *mut ASN1_INTEGER,
10263    pub enumerated: *mut ASN1_ENUMERATED,
10264    pub bit_string: *mut ASN1_BIT_STRING,
10265    pub octet_string: *mut ASN1_OCTET_STRING,
10266    pub printablestring: *mut ASN1_PRINTABLESTRING,
10267    pub t61string: *mut ASN1_T61STRING,
10268    pub ia5string: *mut ASN1_IA5STRING,
10269    pub generalstring: *mut ASN1_GENERALSTRING,
10270    pub bmpstring: *mut ASN1_BMPSTRING,
10271    pub universalstring: *mut ASN1_UNIVERSALSTRING,
10272    pub utctime: *mut ASN1_UTCTIME,
10273    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
10274    pub visiblestring: *mut ASN1_VISIBLESTRING,
10275    pub utf8string: *mut ASN1_UTF8STRING,
10276    pub set: *mut ASN1_STRING,
10277    pub sequence: *mut ASN1_STRING,
10278    pub asn1_value: *mut ASN1_VALUE,
10279}
10280#[test]
10281fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
10282    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
10283        ::std::mem::MaybeUninit::uninit();
10284    let ptr = UNINIT.as_ptr();
10285    assert_eq!(
10286        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
10287        8usize,
10288        concat!("Size of: ", stringify!(asn1_type_st__bindgen_ty_1))
10289    );
10290    assert_eq!(
10291        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
10292        8usize,
10293        concat!("Alignment of ", stringify!(asn1_type_st__bindgen_ty_1))
10294    );
10295    assert_eq!(
10296        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10297        0usize,
10298        concat!(
10299            "Offset of field: ",
10300            stringify!(asn1_type_st__bindgen_ty_1),
10301            "::",
10302            stringify!(ptr)
10303        )
10304    );
10305    assert_eq!(
10306        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
10307        0usize,
10308        concat!(
10309            "Offset of field: ",
10310            stringify!(asn1_type_st__bindgen_ty_1),
10311            "::",
10312            stringify!(boolean)
10313        )
10314    );
10315    assert_eq!(
10316        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
10317        0usize,
10318        concat!(
10319            "Offset of field: ",
10320            stringify!(asn1_type_st__bindgen_ty_1),
10321            "::",
10322            stringify!(asn1_string)
10323        )
10324    );
10325    assert_eq!(
10326        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
10327        0usize,
10328        concat!(
10329            "Offset of field: ",
10330            stringify!(asn1_type_st__bindgen_ty_1),
10331            "::",
10332            stringify!(object)
10333        )
10334    );
10335    assert_eq!(
10336        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
10337        0usize,
10338        concat!(
10339            "Offset of field: ",
10340            stringify!(asn1_type_st__bindgen_ty_1),
10341            "::",
10342            stringify!(integer)
10343        )
10344    );
10345    assert_eq!(
10346        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
10347        0usize,
10348        concat!(
10349            "Offset of field: ",
10350            stringify!(asn1_type_st__bindgen_ty_1),
10351            "::",
10352            stringify!(enumerated)
10353        )
10354    );
10355    assert_eq!(
10356        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
10357        0usize,
10358        concat!(
10359            "Offset of field: ",
10360            stringify!(asn1_type_st__bindgen_ty_1),
10361            "::",
10362            stringify!(bit_string)
10363        )
10364    );
10365    assert_eq!(
10366        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
10367        0usize,
10368        concat!(
10369            "Offset of field: ",
10370            stringify!(asn1_type_st__bindgen_ty_1),
10371            "::",
10372            stringify!(octet_string)
10373        )
10374    );
10375    assert_eq!(
10376        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
10377        0usize,
10378        concat!(
10379            "Offset of field: ",
10380            stringify!(asn1_type_st__bindgen_ty_1),
10381            "::",
10382            stringify!(printablestring)
10383        )
10384    );
10385    assert_eq!(
10386        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
10387        0usize,
10388        concat!(
10389            "Offset of field: ",
10390            stringify!(asn1_type_st__bindgen_ty_1),
10391            "::",
10392            stringify!(t61string)
10393        )
10394    );
10395    assert_eq!(
10396        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
10397        0usize,
10398        concat!(
10399            "Offset of field: ",
10400            stringify!(asn1_type_st__bindgen_ty_1),
10401            "::",
10402            stringify!(ia5string)
10403        )
10404    );
10405    assert_eq!(
10406        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
10407        0usize,
10408        concat!(
10409            "Offset of field: ",
10410            stringify!(asn1_type_st__bindgen_ty_1),
10411            "::",
10412            stringify!(generalstring)
10413        )
10414    );
10415    assert_eq!(
10416        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
10417        0usize,
10418        concat!(
10419            "Offset of field: ",
10420            stringify!(asn1_type_st__bindgen_ty_1),
10421            "::",
10422            stringify!(bmpstring)
10423        )
10424    );
10425    assert_eq!(
10426        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
10427        0usize,
10428        concat!(
10429            "Offset of field: ",
10430            stringify!(asn1_type_st__bindgen_ty_1),
10431            "::",
10432            stringify!(universalstring)
10433        )
10434    );
10435    assert_eq!(
10436        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
10437        0usize,
10438        concat!(
10439            "Offset of field: ",
10440            stringify!(asn1_type_st__bindgen_ty_1),
10441            "::",
10442            stringify!(utctime)
10443        )
10444    );
10445    assert_eq!(
10446        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
10447        0usize,
10448        concat!(
10449            "Offset of field: ",
10450            stringify!(asn1_type_st__bindgen_ty_1),
10451            "::",
10452            stringify!(generalizedtime)
10453        )
10454    );
10455    assert_eq!(
10456        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
10457        0usize,
10458        concat!(
10459            "Offset of field: ",
10460            stringify!(asn1_type_st__bindgen_ty_1),
10461            "::",
10462            stringify!(visiblestring)
10463        )
10464    );
10465    assert_eq!(
10466        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
10467        0usize,
10468        concat!(
10469            "Offset of field: ",
10470            stringify!(asn1_type_st__bindgen_ty_1),
10471            "::",
10472            stringify!(utf8string)
10473        )
10474    );
10475    assert_eq!(
10476        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
10477        0usize,
10478        concat!(
10479            "Offset of field: ",
10480            stringify!(asn1_type_st__bindgen_ty_1),
10481            "::",
10482            stringify!(set)
10483        )
10484    );
10485    assert_eq!(
10486        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
10487        0usize,
10488        concat!(
10489            "Offset of field: ",
10490            stringify!(asn1_type_st__bindgen_ty_1),
10491            "::",
10492            stringify!(sequence)
10493        )
10494    );
10495    assert_eq!(
10496        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
10497        0usize,
10498        concat!(
10499            "Offset of field: ",
10500            stringify!(asn1_type_st__bindgen_ty_1),
10501            "::",
10502            stringify!(asn1_value)
10503        )
10504    );
10505}
10506impl Default for asn1_type_st__bindgen_ty_1 {
10507    fn default() -> Self {
10508        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10509        unsafe {
10510            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10511            s.assume_init()
10512        }
10513    }
10514}
10515#[test]
10516fn bindgen_test_layout_asn1_type_st() {
10517    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
10518    let ptr = UNINIT.as_ptr();
10519    assert_eq!(
10520        ::std::mem::size_of::<asn1_type_st>(),
10521        16usize,
10522        concat!("Size of: ", stringify!(asn1_type_st))
10523    );
10524    assert_eq!(
10525        ::std::mem::align_of::<asn1_type_st>(),
10526        8usize,
10527        concat!("Alignment of ", stringify!(asn1_type_st))
10528    );
10529    assert_eq!(
10530        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
10531        0usize,
10532        concat!(
10533            "Offset of field: ",
10534            stringify!(asn1_type_st),
10535            "::",
10536            stringify!(type_)
10537        )
10538    );
10539    assert_eq!(
10540        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10541        8usize,
10542        concat!(
10543            "Offset of field: ",
10544            stringify!(asn1_type_st),
10545            "::",
10546            stringify!(value)
10547        )
10548    );
10549}
10550impl Default for asn1_type_st {
10551    fn default() -> Self {
10552        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10553        unsafe {
10554            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10555            s.assume_init()
10556        }
10557    }
10558}
10559#[repr(C)]
10560#[derive(Debug, Copy, Clone)]
10561pub struct stack_st_ASN1_TYPE {
10562    _unused: [u8; 0],
10563}
10564pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
10565pub type sk_ASN1_TYPE_copy_func =
10566    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
10567pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
10568    unsafe extern "C" fn(
10569        arg1: *const *const ASN1_TYPE,
10570        arg2: *const *const ASN1_TYPE,
10571    ) -> ::std::os::raw::c_int,
10572>;
10573pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10574    unsafe extern "C" fn(
10575        arg1: *mut ASN1_TYPE,
10576        arg2: *mut ::std::os::raw::c_void,
10577    ) -> ::std::os::raw::c_int,
10578>;
10579extern "C" {
10580    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_new"]
10581    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10582}
10583extern "C" {
10584    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_free"]
10585    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10586}
10587extern "C" {
10588    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_TYPE"]
10589    pub fn d2i_ASN1_TYPE(
10590        out: *mut *mut ASN1_TYPE,
10591        inp: *mut *const u8,
10592        len: ::std::os::raw::c_long,
10593    ) -> *mut ASN1_TYPE;
10594}
10595extern "C" {
10596    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_TYPE"]
10597    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10598}
10599extern "C" {
10600    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ANY_it"]
10601    pub static ASN1_ANY_it: ASN1_ITEM;
10602}
10603extern "C" {
10604    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_get"]
10605    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10606}
10607extern "C" {
10608    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_set"]
10609    pub fn ASN1_TYPE_set(
10610        a: *mut ASN1_TYPE,
10611        type_: ::std::os::raw::c_int,
10612        value: *mut ::std::os::raw::c_void,
10613    );
10614}
10615extern "C" {
10616    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_set1"]
10617    pub fn ASN1_TYPE_set1(
10618        a: *mut ASN1_TYPE,
10619        type_: ::std::os::raw::c_int,
10620        value: *const ::std::os::raw::c_void,
10621    ) -> ::std::os::raw::c_int;
10622}
10623extern "C" {
10624    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TYPE_cmp"]
10625    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10626}
10627pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10628extern "C" {
10629    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_SEQUENCE_ANY"]
10630    pub fn d2i_ASN1_SEQUENCE_ANY(
10631        out: *mut *mut ASN1_SEQUENCE_ANY,
10632        inp: *mut *const u8,
10633        len: ::std::os::raw::c_long,
10634    ) -> *mut ASN1_SEQUENCE_ANY;
10635}
10636extern "C" {
10637    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_SEQUENCE_ANY"]
10638    pub fn i2d_ASN1_SEQUENCE_ANY(
10639        in_: *const ASN1_SEQUENCE_ANY,
10640        outp: *mut *mut u8,
10641    ) -> ::std::os::raw::c_int;
10642}
10643extern "C" {
10644    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_SET_ANY"]
10645    pub fn d2i_ASN1_SET_ANY(
10646        out: *mut *mut ASN1_SEQUENCE_ANY,
10647        inp: *mut *const u8,
10648        len: ::std::os::raw::c_long,
10649    ) -> *mut ASN1_SEQUENCE_ANY;
10650}
10651extern "C" {
10652    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_SET_ANY"]
10653    pub fn i2d_ASN1_SET_ANY(
10654        in_: *const ASN1_SEQUENCE_ANY,
10655        outp: *mut *mut u8,
10656    ) -> ::std::os::raw::c_int;
10657}
10658extern "C" {
10659    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_UTCTIME_print"]
10660    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10661}
10662extern "C" {
10663    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_GENERALIZEDTIME_print"]
10664    pub fn ASN1_GENERALIZEDTIME_print(
10665        out: *mut BIO,
10666        a: *const ASN1_GENERALIZEDTIME,
10667    ) -> ::std::os::raw::c_int;
10668}
10669extern "C" {
10670    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_TIME_print"]
10671    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10672}
10673extern "C" {
10674    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_print"]
10675    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10676}
10677extern "C" {
10678    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_print_ex"]
10679    pub fn ASN1_STRING_print_ex(
10680        out: *mut BIO,
10681        str_: *const ASN1_STRING,
10682        flags: ::std::os::raw::c_ulong,
10683    ) -> ::std::os::raw::c_int;
10684}
10685extern "C" {
10686    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_print_ex_fp"]
10687    pub fn ASN1_STRING_print_ex_fp(
10688        fp: *mut FILE,
10689        str_: *const ASN1_STRING,
10690        flags: ::std::os::raw::c_ulong,
10691    ) -> ::std::os::raw::c_int;
10692}
10693extern "C" {
10694    #[link_name = "\u{1}aws_lc_0_30_0_i2a_ASN1_INTEGER"]
10695    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10696}
10697extern "C" {
10698    #[link_name = "\u{1}aws_lc_0_30_0_i2a_ASN1_ENUMERATED"]
10699    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10700}
10701extern "C" {
10702    #[link_name = "\u{1}aws_lc_0_30_0_i2a_ASN1_OBJECT"]
10703    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10704}
10705extern "C" {
10706    #[link_name = "\u{1}aws_lc_0_30_0_i2a_ASN1_STRING"]
10707    pub fn i2a_ASN1_STRING(
10708        bp: *mut BIO,
10709        a: *const ASN1_STRING,
10710        type_: ::std::os::raw::c_int,
10711    ) -> ::std::os::raw::c_int;
10712}
10713extern "C" {
10714    #[link_name = "\u{1}aws_lc_0_30_0_i2t_ASN1_OBJECT"]
10715    pub fn i2t_ASN1_OBJECT(
10716        buf: *mut ::std::os::raw::c_char,
10717        buf_len: ::std::os::raw::c_int,
10718        a: *const ASN1_OBJECT,
10719    ) -> ::std::os::raw::c_int;
10720}
10721extern "C" {
10722    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_get_object"]
10723    pub fn ASN1_get_object(
10724        inp: *mut *const ::std::os::raw::c_uchar,
10725        out_length: *mut ::std::os::raw::c_long,
10726        out_tag: *mut ::std::os::raw::c_int,
10727        out_class: *mut ::std::os::raw::c_int,
10728        max_len: ::std::os::raw::c_long,
10729    ) -> ::std::os::raw::c_int;
10730}
10731extern "C" {
10732    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_put_object"]
10733    pub fn ASN1_put_object(
10734        outp: *mut *mut ::std::os::raw::c_uchar,
10735        constructed: ::std::os::raw::c_int,
10736        length: ::std::os::raw::c_int,
10737        tag: ::std::os::raw::c_int,
10738        xclass: ::std::os::raw::c_int,
10739    );
10740}
10741extern "C" {
10742    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_put_eoc"]
10743    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10744}
10745extern "C" {
10746    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_object_size"]
10747    pub fn ASN1_object_size(
10748        constructed: ::std::os::raw::c_int,
10749        length: ::std::os::raw::c_int,
10750        tag: ::std::os::raw::c_int,
10751    ) -> ::std::os::raw::c_int;
10752}
10753extern "C" {
10754    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLE_new"]
10755    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10756}
10757extern "C" {
10758    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLE_free"]
10759    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10760}
10761extern "C" {
10762    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ASN1_PRINTABLE"]
10763    pub fn d2i_ASN1_PRINTABLE(
10764        out: *mut *mut ASN1_STRING,
10765        inp: *mut *const u8,
10766        len: ::std::os::raw::c_long,
10767    ) -> *mut ASN1_STRING;
10768}
10769extern "C" {
10770    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ASN1_PRINTABLE"]
10771    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10772        -> ::std::os::raw::c_int;
10773}
10774extern "C" {
10775    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_PRINTABLE_it"]
10776    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10777}
10778extern "C" {
10779    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_set"]
10780    pub fn ASN1_INTEGER_set(
10781        a: *mut ASN1_INTEGER,
10782        v: ::std::os::raw::c_long,
10783    ) -> ::std::os::raw::c_int;
10784}
10785extern "C" {
10786    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_set"]
10787    pub fn ASN1_ENUMERATED_set(
10788        a: *mut ASN1_ENUMERATED,
10789        v: ::std::os::raw::c_long,
10790    ) -> ::std::os::raw::c_int;
10791}
10792extern "C" {
10793    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_INTEGER_get"]
10794    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10795}
10796extern "C" {
10797    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_ENUMERATED_get"]
10798    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10799}
10800extern "C" {
10801    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_set_default_mask"]
10802    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10803}
10804extern "C" {
10805    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_set_default_mask_asc"]
10806    pub fn ASN1_STRING_set_default_mask_asc(
10807        p: *const ::std::os::raw::c_char,
10808    ) -> ::std::os::raw::c_int;
10809}
10810extern "C" {
10811    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_get_default_mask"]
10812    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10813}
10814extern "C" {
10815    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_STRING_TABLE_cleanup"]
10816    pub fn ASN1_STRING_TABLE_cleanup();
10817}
10818pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10819#[repr(C)]
10820#[derive(Debug, Copy, Clone)]
10821pub struct ASN1_TLC_st {
10822    _unused: [u8; 0],
10823}
10824pub type ASN1_TLC = ASN1_TLC_st;
10825#[repr(C)]
10826#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10827pub struct ASN1_TEMPLATE_st {
10828    pub flags: u32,
10829    pub tag: ::std::os::raw::c_int,
10830    pub offset: ::std::os::raw::c_ulong,
10831    pub field_name: *const ::std::os::raw::c_char,
10832    pub item: *const ASN1_ITEM_st,
10833}
10834#[test]
10835fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10836    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10837    let ptr = UNINIT.as_ptr();
10838    assert_eq!(
10839        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10840        32usize,
10841        concat!("Size of: ", stringify!(ASN1_TEMPLATE_st))
10842    );
10843    assert_eq!(
10844        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10845        8usize,
10846        concat!("Alignment of ", stringify!(ASN1_TEMPLATE_st))
10847    );
10848    assert_eq!(
10849        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10850        0usize,
10851        concat!(
10852            "Offset of field: ",
10853            stringify!(ASN1_TEMPLATE_st),
10854            "::",
10855            stringify!(flags)
10856        )
10857    );
10858    assert_eq!(
10859        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10860        4usize,
10861        concat!(
10862            "Offset of field: ",
10863            stringify!(ASN1_TEMPLATE_st),
10864            "::",
10865            stringify!(tag)
10866        )
10867    );
10868    assert_eq!(
10869        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10870        8usize,
10871        concat!(
10872            "Offset of field: ",
10873            stringify!(ASN1_TEMPLATE_st),
10874            "::",
10875            stringify!(offset)
10876        )
10877    );
10878    assert_eq!(
10879        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10880        16usize,
10881        concat!(
10882            "Offset of field: ",
10883            stringify!(ASN1_TEMPLATE_st),
10884            "::",
10885            stringify!(field_name)
10886        )
10887    );
10888    assert_eq!(
10889        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10890        24usize,
10891        concat!(
10892            "Offset of field: ",
10893            stringify!(ASN1_TEMPLATE_st),
10894            "::",
10895            stringify!(item)
10896        )
10897    );
10898}
10899impl Default for ASN1_TEMPLATE_st {
10900    fn default() -> Self {
10901        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10902        unsafe {
10903            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10904            s.assume_init()
10905        }
10906    }
10907}
10908pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10909pub type ASN1_ADB = ASN1_ADB_st;
10910#[repr(C)]
10911#[derive(Debug, Copy, Clone)]
10912pub struct asn1_must_be_null_st {
10913    _unused: [u8; 0],
10914}
10915pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10916#[repr(C)]
10917#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10918pub struct ASN1_ADB_st {
10919    pub flags: u32,
10920    pub offset: ::std::os::raw::c_ulong,
10921    pub unused: *mut ASN1_MUST_BE_NULL,
10922    pub tbl: *const ASN1_ADB_TABLE,
10923    pub tblcount: ::std::os::raw::c_long,
10924    pub default_tt: *const ASN1_TEMPLATE,
10925    pub null_tt: *const ASN1_TEMPLATE,
10926}
10927#[test]
10928fn bindgen_test_layout_ASN1_ADB_st() {
10929    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10930    let ptr = UNINIT.as_ptr();
10931    assert_eq!(
10932        ::std::mem::size_of::<ASN1_ADB_st>(),
10933        56usize,
10934        concat!("Size of: ", stringify!(ASN1_ADB_st))
10935    );
10936    assert_eq!(
10937        ::std::mem::align_of::<ASN1_ADB_st>(),
10938        8usize,
10939        concat!("Alignment of ", stringify!(ASN1_ADB_st))
10940    );
10941    assert_eq!(
10942        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10943        0usize,
10944        concat!(
10945            "Offset of field: ",
10946            stringify!(ASN1_ADB_st),
10947            "::",
10948            stringify!(flags)
10949        )
10950    );
10951    assert_eq!(
10952        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10953        8usize,
10954        concat!(
10955            "Offset of field: ",
10956            stringify!(ASN1_ADB_st),
10957            "::",
10958            stringify!(offset)
10959        )
10960    );
10961    assert_eq!(
10962        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10963        16usize,
10964        concat!(
10965            "Offset of field: ",
10966            stringify!(ASN1_ADB_st),
10967            "::",
10968            stringify!(unused)
10969        )
10970    );
10971    assert_eq!(
10972        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10973        24usize,
10974        concat!(
10975            "Offset of field: ",
10976            stringify!(ASN1_ADB_st),
10977            "::",
10978            stringify!(tbl)
10979        )
10980    );
10981    assert_eq!(
10982        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10983        32usize,
10984        concat!(
10985            "Offset of field: ",
10986            stringify!(ASN1_ADB_st),
10987            "::",
10988            stringify!(tblcount)
10989        )
10990    );
10991    assert_eq!(
10992        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10993        40usize,
10994        concat!(
10995            "Offset of field: ",
10996            stringify!(ASN1_ADB_st),
10997            "::",
10998            stringify!(default_tt)
10999        )
11000    );
11001    assert_eq!(
11002        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
11003        48usize,
11004        concat!(
11005            "Offset of field: ",
11006            stringify!(ASN1_ADB_st),
11007            "::",
11008            stringify!(null_tt)
11009        )
11010    );
11011}
11012impl Default for ASN1_ADB_st {
11013    fn default() -> Self {
11014        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11015        unsafe {
11016            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11017            s.assume_init()
11018        }
11019    }
11020}
11021#[repr(C)]
11022#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11023pub struct ASN1_ADB_TABLE_st {
11024    pub value: ::std::os::raw::c_int,
11025    pub tt: ASN1_TEMPLATE,
11026}
11027#[test]
11028fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
11029    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
11030    let ptr = UNINIT.as_ptr();
11031    assert_eq!(
11032        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
11033        40usize,
11034        concat!("Size of: ", stringify!(ASN1_ADB_TABLE_st))
11035    );
11036    assert_eq!(
11037        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
11038        8usize,
11039        concat!("Alignment of ", stringify!(ASN1_ADB_TABLE_st))
11040    );
11041    assert_eq!(
11042        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
11043        0usize,
11044        concat!(
11045            "Offset of field: ",
11046            stringify!(ASN1_ADB_TABLE_st),
11047            "::",
11048            stringify!(value)
11049        )
11050    );
11051    assert_eq!(
11052        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
11053        8usize,
11054        concat!(
11055            "Offset of field: ",
11056            stringify!(ASN1_ADB_TABLE_st),
11057            "::",
11058            stringify!(tt)
11059        )
11060    );
11061}
11062impl Default for ASN1_ADB_TABLE_st {
11063    fn default() -> Self {
11064        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11065        unsafe {
11066            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11067            s.assume_init()
11068        }
11069    }
11070}
11071#[repr(C)]
11072#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11073pub struct ASN1_ITEM_st {
11074    pub itype: ::std::os::raw::c_char,
11075    pub utype: ::std::os::raw::c_int,
11076    pub templates: *const ASN1_TEMPLATE,
11077    pub tcount: ::std::os::raw::c_long,
11078    pub funcs: *const ::std::os::raw::c_void,
11079    pub size: ::std::os::raw::c_long,
11080    pub sname: *const ::std::os::raw::c_char,
11081}
11082#[test]
11083fn bindgen_test_layout_ASN1_ITEM_st() {
11084    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
11085    let ptr = UNINIT.as_ptr();
11086    assert_eq!(
11087        ::std::mem::size_of::<ASN1_ITEM_st>(),
11088        48usize,
11089        concat!("Size of: ", stringify!(ASN1_ITEM_st))
11090    );
11091    assert_eq!(
11092        ::std::mem::align_of::<ASN1_ITEM_st>(),
11093        8usize,
11094        concat!("Alignment of ", stringify!(ASN1_ITEM_st))
11095    );
11096    assert_eq!(
11097        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
11098        0usize,
11099        concat!(
11100            "Offset of field: ",
11101            stringify!(ASN1_ITEM_st),
11102            "::",
11103            stringify!(itype)
11104        )
11105    );
11106    assert_eq!(
11107        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
11108        4usize,
11109        concat!(
11110            "Offset of field: ",
11111            stringify!(ASN1_ITEM_st),
11112            "::",
11113            stringify!(utype)
11114        )
11115    );
11116    assert_eq!(
11117        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
11118        8usize,
11119        concat!(
11120            "Offset of field: ",
11121            stringify!(ASN1_ITEM_st),
11122            "::",
11123            stringify!(templates)
11124        )
11125    );
11126    assert_eq!(
11127        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
11128        16usize,
11129        concat!(
11130            "Offset of field: ",
11131            stringify!(ASN1_ITEM_st),
11132            "::",
11133            stringify!(tcount)
11134        )
11135    );
11136    assert_eq!(
11137        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
11138        24usize,
11139        concat!(
11140            "Offset of field: ",
11141            stringify!(ASN1_ITEM_st),
11142            "::",
11143            stringify!(funcs)
11144        )
11145    );
11146    assert_eq!(
11147        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
11148        32usize,
11149        concat!(
11150            "Offset of field: ",
11151            stringify!(ASN1_ITEM_st),
11152            "::",
11153            stringify!(size)
11154        )
11155    );
11156    assert_eq!(
11157        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
11158        40usize,
11159        concat!(
11160            "Offset of field: ",
11161            stringify!(ASN1_ITEM_st),
11162            "::",
11163            stringify!(sname)
11164        )
11165    );
11166}
11167impl Default for ASN1_ITEM_st {
11168    fn default() -> Self {
11169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11170        unsafe {
11171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11172            s.assume_init()
11173        }
11174    }
11175}
11176pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
11177pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
11178pub type ASN1_d2i_func = ::std::option::Option<
11179    unsafe extern "C" fn(
11180        a: *mut *mut ASN1_VALUE,
11181        in_: *mut *const ::std::os::raw::c_uchar,
11182        length: ::std::os::raw::c_long,
11183    ) -> *mut ASN1_VALUE,
11184>;
11185pub type ASN1_i2d_func = ::std::option::Option<
11186    unsafe extern "C" fn(
11187        a: *mut ASN1_VALUE,
11188        in_: *mut *mut ::std::os::raw::c_uchar,
11189    ) -> ::std::os::raw::c_int,
11190>;
11191pub type ASN1_ex_d2i = ::std::option::Option<
11192    unsafe extern "C" fn(
11193        pval: *mut *mut ASN1_VALUE,
11194        in_: *mut *const ::std::os::raw::c_uchar,
11195        len: ::std::os::raw::c_long,
11196        it: *const ASN1_ITEM,
11197        tag: ::std::os::raw::c_int,
11198        aclass: ::std::os::raw::c_int,
11199        opt: ::std::os::raw::c_char,
11200        ctx: *mut ASN1_TLC,
11201    ) -> ::std::os::raw::c_int,
11202>;
11203pub type ASN1_ex_i2d = ::std::option::Option<
11204    unsafe extern "C" fn(
11205        pval: *mut *mut ASN1_VALUE,
11206        out: *mut *mut ::std::os::raw::c_uchar,
11207        it: *const ASN1_ITEM,
11208        tag: ::std::os::raw::c_int,
11209        aclass: ::std::os::raw::c_int,
11210    ) -> ::std::os::raw::c_int,
11211>;
11212pub type ASN1_ex_new_func = ::std::option::Option<
11213    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
11214>;
11215pub type ASN1_ex_free_func =
11216    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
11217pub type ASN1_ex_print_func = ::std::option::Option<
11218    unsafe extern "C" fn(
11219        out: *mut BIO,
11220        pval: *mut *mut ASN1_VALUE,
11221        indent: ::std::os::raw::c_int,
11222        fname: *const ::std::os::raw::c_char,
11223        pctx: *const ASN1_PCTX,
11224    ) -> ::std::os::raw::c_int,
11225>;
11226#[repr(C)]
11227#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11228pub struct ASN1_EXTERN_FUNCS_st {
11229    pub app_data: *mut ::std::os::raw::c_void,
11230    pub asn1_ex_new: ASN1_ex_new_func,
11231    pub asn1_ex_free: ASN1_ex_free_func,
11232    pub asn1_ex_d2i: ASN1_ex_d2i,
11233    pub asn1_ex_i2d: ASN1_ex_i2d,
11234    pub asn1_ex_print: ASN1_ex_print_func,
11235}
11236#[test]
11237fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
11238    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
11239    let ptr = UNINIT.as_ptr();
11240    assert_eq!(
11241        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
11242        48usize,
11243        concat!("Size of: ", stringify!(ASN1_EXTERN_FUNCS_st))
11244    );
11245    assert_eq!(
11246        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
11247        8usize,
11248        concat!("Alignment of ", stringify!(ASN1_EXTERN_FUNCS_st))
11249    );
11250    assert_eq!(
11251        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11252        0usize,
11253        concat!(
11254            "Offset of field: ",
11255            stringify!(ASN1_EXTERN_FUNCS_st),
11256            "::",
11257            stringify!(app_data)
11258        )
11259    );
11260    assert_eq!(
11261        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
11262        8usize,
11263        concat!(
11264            "Offset of field: ",
11265            stringify!(ASN1_EXTERN_FUNCS_st),
11266            "::",
11267            stringify!(asn1_ex_new)
11268        )
11269    );
11270    assert_eq!(
11271        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
11272        16usize,
11273        concat!(
11274            "Offset of field: ",
11275            stringify!(ASN1_EXTERN_FUNCS_st),
11276            "::",
11277            stringify!(asn1_ex_free)
11278        )
11279    );
11280    assert_eq!(
11281        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
11282        24usize,
11283        concat!(
11284            "Offset of field: ",
11285            stringify!(ASN1_EXTERN_FUNCS_st),
11286            "::",
11287            stringify!(asn1_ex_d2i)
11288        )
11289    );
11290    assert_eq!(
11291        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
11292        32usize,
11293        concat!(
11294            "Offset of field: ",
11295            stringify!(ASN1_EXTERN_FUNCS_st),
11296            "::",
11297            stringify!(asn1_ex_i2d)
11298        )
11299    );
11300    assert_eq!(
11301        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
11302        40usize,
11303        concat!(
11304            "Offset of field: ",
11305            stringify!(ASN1_EXTERN_FUNCS_st),
11306            "::",
11307            stringify!(asn1_ex_print)
11308        )
11309    );
11310}
11311impl Default for ASN1_EXTERN_FUNCS_st {
11312    fn default() -> Self {
11313        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11314        unsafe {
11315            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11316            s.assume_init()
11317        }
11318    }
11319}
11320pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
11321pub type ASN1_aux_cb = ::std::option::Option<
11322    unsafe extern "C" fn(
11323        operation: ::std::os::raw::c_int,
11324        in_: *mut *mut ASN1_VALUE,
11325        it: *const ASN1_ITEM,
11326        exarg: *mut ::std::os::raw::c_void,
11327    ) -> ::std::os::raw::c_int,
11328>;
11329#[repr(C)]
11330#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11331pub struct ASN1_AUX_st {
11332    pub app_data: *mut ::std::os::raw::c_void,
11333    pub flags: u32,
11334    pub ref_offset: ::std::os::raw::c_int,
11335    pub asn1_cb: ASN1_aux_cb,
11336    pub enc_offset: ::std::os::raw::c_int,
11337}
11338#[test]
11339fn bindgen_test_layout_ASN1_AUX_st() {
11340    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
11341    let ptr = UNINIT.as_ptr();
11342    assert_eq!(
11343        ::std::mem::size_of::<ASN1_AUX_st>(),
11344        32usize,
11345        concat!("Size of: ", stringify!(ASN1_AUX_st))
11346    );
11347    assert_eq!(
11348        ::std::mem::align_of::<ASN1_AUX_st>(),
11349        8usize,
11350        concat!("Alignment of ", stringify!(ASN1_AUX_st))
11351    );
11352    assert_eq!(
11353        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11354        0usize,
11355        concat!(
11356            "Offset of field: ",
11357            stringify!(ASN1_AUX_st),
11358            "::",
11359            stringify!(app_data)
11360        )
11361    );
11362    assert_eq!(
11363        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11364        8usize,
11365        concat!(
11366            "Offset of field: ",
11367            stringify!(ASN1_AUX_st),
11368            "::",
11369            stringify!(flags)
11370        )
11371    );
11372    assert_eq!(
11373        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
11374        12usize,
11375        concat!(
11376            "Offset of field: ",
11377            stringify!(ASN1_AUX_st),
11378            "::",
11379            stringify!(ref_offset)
11380        )
11381    );
11382    assert_eq!(
11383        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
11384        16usize,
11385        concat!(
11386            "Offset of field: ",
11387            stringify!(ASN1_AUX_st),
11388            "::",
11389            stringify!(asn1_cb)
11390        )
11391    );
11392    assert_eq!(
11393        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
11394        24usize,
11395        concat!(
11396            "Offset of field: ",
11397            stringify!(ASN1_AUX_st),
11398            "::",
11399            stringify!(enc_offset)
11400        )
11401    );
11402}
11403impl Default for ASN1_AUX_st {
11404    fn default() -> Self {
11405        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11406        unsafe {
11407            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11408            s.assume_init()
11409        }
11410    }
11411}
11412pub type ASN1_AUX = ASN1_AUX_st;
11413extern "C" {
11414    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_SEQUENCE_it"]
11415    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
11416}
11417#[repr(C)]
11418#[derive(Debug, Copy, Clone)]
11419pub struct stack_st_ASN1_VALUE {
11420    _unused: [u8; 0],
11421}
11422pub type sk_ASN1_VALUE_free_func =
11423    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
11424pub type sk_ASN1_VALUE_copy_func =
11425    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
11426pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
11427    unsafe extern "C" fn(
11428        arg1: *const *const ASN1_VALUE,
11429        arg2: *const *const ASN1_VALUE,
11430    ) -> ::std::os::raw::c_int,
11431>;
11432pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
11433    unsafe extern "C" fn(
11434        arg1: *mut ASN1_VALUE,
11435        arg2: *mut ::std::os::raw::c_void,
11436    ) -> ::std::os::raw::c_int,
11437>;
11438extern "C" {
11439    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncodeBlock"]
11440    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
11441}
11442extern "C" {
11443    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncodedLength"]
11444    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11445}
11446extern "C" {
11447    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodedLength"]
11448    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11449}
11450extern "C" {
11451    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodeBase64"]
11452    pub fn EVP_DecodeBase64(
11453        out: *mut u8,
11454        out_len: *mut usize,
11455        max_out: usize,
11456        in_: *const u8,
11457        in_len: usize,
11458    ) -> ::std::os::raw::c_int;
11459}
11460extern "C" {
11461    #[link_name = "\u{1}aws_lc_0_30_0_EVP_ENCODE_CTX_new"]
11462    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
11463}
11464extern "C" {
11465    #[link_name = "\u{1}aws_lc_0_30_0_EVP_ENCODE_CTX_free"]
11466    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
11467}
11468extern "C" {
11469    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncodeInit"]
11470    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
11471}
11472extern "C" {
11473    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncodeUpdate"]
11474    pub fn EVP_EncodeUpdate(
11475        ctx: *mut EVP_ENCODE_CTX,
11476        out: *mut u8,
11477        out_len: *mut ::std::os::raw::c_int,
11478        in_: *const u8,
11479        in_len: usize,
11480    ) -> ::std::os::raw::c_int;
11481}
11482extern "C" {
11483    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncodeFinal"]
11484    pub fn EVP_EncodeFinal(
11485        ctx: *mut EVP_ENCODE_CTX,
11486        out: *mut u8,
11487        out_len: *mut ::std::os::raw::c_int,
11488    );
11489}
11490extern "C" {
11491    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodeInit"]
11492    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
11493}
11494extern "C" {
11495    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodeUpdate"]
11496    pub fn EVP_DecodeUpdate(
11497        ctx: *mut EVP_ENCODE_CTX,
11498        out: *mut u8,
11499        out_len: *mut ::std::os::raw::c_int,
11500        in_: *const u8,
11501        in_len: usize,
11502    ) -> ::std::os::raw::c_int;
11503}
11504extern "C" {
11505    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodeFinal"]
11506    pub fn EVP_DecodeFinal(
11507        ctx: *mut EVP_ENCODE_CTX,
11508        out: *mut u8,
11509        out_len: *mut ::std::os::raw::c_int,
11510    ) -> ::std::os::raw::c_int;
11511}
11512extern "C" {
11513    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecodeBlock"]
11514    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
11515}
11516#[repr(C)]
11517#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11518pub struct evp_encode_ctx_st {
11519    pub data_used: ::std::os::raw::c_uint,
11520    pub data: [u8; 48usize],
11521    pub eof_seen: ::std::os::raw::c_char,
11522    pub error_encountered: ::std::os::raw::c_char,
11523}
11524#[test]
11525fn bindgen_test_layout_evp_encode_ctx_st() {
11526    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
11527    let ptr = UNINIT.as_ptr();
11528    assert_eq!(
11529        ::std::mem::size_of::<evp_encode_ctx_st>(),
11530        56usize,
11531        concat!("Size of: ", stringify!(evp_encode_ctx_st))
11532    );
11533    assert_eq!(
11534        ::std::mem::align_of::<evp_encode_ctx_st>(),
11535        4usize,
11536        concat!("Alignment of ", stringify!(evp_encode_ctx_st))
11537    );
11538    assert_eq!(
11539        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
11540        0usize,
11541        concat!(
11542            "Offset of field: ",
11543            stringify!(evp_encode_ctx_st),
11544            "::",
11545            stringify!(data_used)
11546        )
11547    );
11548    assert_eq!(
11549        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11550        4usize,
11551        concat!(
11552            "Offset of field: ",
11553            stringify!(evp_encode_ctx_st),
11554            "::",
11555            stringify!(data)
11556        )
11557    );
11558    assert_eq!(
11559        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
11560        52usize,
11561        concat!(
11562            "Offset of field: ",
11563            stringify!(evp_encode_ctx_st),
11564            "::",
11565            stringify!(eof_seen)
11566        )
11567    );
11568    assert_eq!(
11569        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
11570        53usize,
11571        concat!(
11572            "Offset of field: ",
11573            stringify!(evp_encode_ctx_st),
11574            "::",
11575            stringify!(error_encountered)
11576        )
11577    );
11578}
11579impl Default for evp_encode_ctx_st {
11580    fn default() -> Self {
11581        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11582        unsafe {
11583            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11584            s.assume_init()
11585        }
11586    }
11587}
11588#[repr(C)]
11589#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11590pub struct blake2b_state_st {
11591    pub h: [u64; 8usize],
11592    pub t_low: u64,
11593    pub t_high: u64,
11594    pub block: [u8; 128usize],
11595    pub block_used: usize,
11596}
11597#[test]
11598fn bindgen_test_layout_blake2b_state_st() {
11599    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
11600    let ptr = UNINIT.as_ptr();
11601    assert_eq!(
11602        ::std::mem::size_of::<blake2b_state_st>(),
11603        216usize,
11604        concat!("Size of: ", stringify!(blake2b_state_st))
11605    );
11606    assert_eq!(
11607        ::std::mem::align_of::<blake2b_state_st>(),
11608        8usize,
11609        concat!("Alignment of ", stringify!(blake2b_state_st))
11610    );
11611    assert_eq!(
11612        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11613        0usize,
11614        concat!(
11615            "Offset of field: ",
11616            stringify!(blake2b_state_st),
11617            "::",
11618            stringify!(h)
11619        )
11620    );
11621    assert_eq!(
11622        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
11623        64usize,
11624        concat!(
11625            "Offset of field: ",
11626            stringify!(blake2b_state_st),
11627            "::",
11628            stringify!(t_low)
11629        )
11630    );
11631    assert_eq!(
11632        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
11633        72usize,
11634        concat!(
11635            "Offset of field: ",
11636            stringify!(blake2b_state_st),
11637            "::",
11638            stringify!(t_high)
11639        )
11640    );
11641    assert_eq!(
11642        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
11643        80usize,
11644        concat!(
11645            "Offset of field: ",
11646            stringify!(blake2b_state_st),
11647            "::",
11648            stringify!(block)
11649        )
11650    );
11651    assert_eq!(
11652        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
11653        208usize,
11654        concat!(
11655            "Offset of field: ",
11656            stringify!(blake2b_state_st),
11657            "::",
11658            stringify!(block_used)
11659        )
11660    );
11661}
11662impl Default for blake2b_state_st {
11663    fn default() -> Self {
11664        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11665        unsafe {
11666            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11667            s.assume_init()
11668        }
11669    }
11670}
11671extern "C" {
11672    #[link_name = "\u{1}aws_lc_0_30_0_BLAKE2B256_Init"]
11673    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
11674}
11675extern "C" {
11676    #[link_name = "\u{1}aws_lc_0_30_0_BLAKE2B256_Update"]
11677    pub fn BLAKE2B256_Update(
11678        b2b: *mut BLAKE2B_CTX,
11679        data: *const ::std::os::raw::c_void,
11680        len: usize,
11681    );
11682}
11683extern "C" {
11684    #[link_name = "\u{1}aws_lc_0_30_0_BLAKE2B256_Final"]
11685    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
11686}
11687extern "C" {
11688    #[link_name = "\u{1}aws_lc_0_30_0_BLAKE2B256"]
11689    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
11690}
11691#[repr(C)]
11692#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11693pub struct bf_key_st {
11694    pub P: [u32; 18usize],
11695    pub S: [u32; 1024usize],
11696}
11697#[test]
11698fn bindgen_test_layout_bf_key_st() {
11699    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
11700    let ptr = UNINIT.as_ptr();
11701    assert_eq!(
11702        ::std::mem::size_of::<bf_key_st>(),
11703        4168usize,
11704        concat!("Size of: ", stringify!(bf_key_st))
11705    );
11706    assert_eq!(
11707        ::std::mem::align_of::<bf_key_st>(),
11708        4usize,
11709        concat!("Alignment of ", stringify!(bf_key_st))
11710    );
11711    assert_eq!(
11712        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
11713        0usize,
11714        concat!(
11715            "Offset of field: ",
11716            stringify!(bf_key_st),
11717            "::",
11718            stringify!(P)
11719        )
11720    );
11721    assert_eq!(
11722        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
11723        72usize,
11724        concat!(
11725            "Offset of field: ",
11726            stringify!(bf_key_st),
11727            "::",
11728            stringify!(S)
11729        )
11730    );
11731}
11732impl Default for bf_key_st {
11733    fn default() -> Self {
11734        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11735        unsafe {
11736            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11737            s.assume_init()
11738        }
11739    }
11740}
11741pub type BF_KEY = bf_key_st;
11742extern "C" {
11743    #[link_name = "\u{1}aws_lc_0_30_0_BF_set_key"]
11744    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
11745}
11746extern "C" {
11747    #[link_name = "\u{1}aws_lc_0_30_0_BF_encrypt"]
11748    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
11749}
11750extern "C" {
11751    #[link_name = "\u{1}aws_lc_0_30_0_BF_decrypt"]
11752    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
11753}
11754extern "C" {
11755    #[link_name = "\u{1}aws_lc_0_30_0_BF_ecb_encrypt"]
11756    pub fn BF_ecb_encrypt(
11757        in_: *const u8,
11758        out: *mut u8,
11759        key: *const BF_KEY,
11760        enc: ::std::os::raw::c_int,
11761    );
11762}
11763extern "C" {
11764    #[link_name = "\u{1}aws_lc_0_30_0_BF_cbc_encrypt"]
11765    pub fn BF_cbc_encrypt(
11766        in_: *const u8,
11767        out: *mut u8,
11768        length: usize,
11769        schedule: *const BF_KEY,
11770        ivec: *mut u8,
11771        enc: ::std::os::raw::c_int,
11772    );
11773}
11774#[repr(C)]
11775#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11776pub struct cbs_st {
11777    pub data: *const u8,
11778    pub len: usize,
11779}
11780#[test]
11781fn bindgen_test_layout_cbs_st() {
11782    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11783    let ptr = UNINIT.as_ptr();
11784    assert_eq!(
11785        ::std::mem::size_of::<cbs_st>(),
11786        16usize,
11787        concat!("Size of: ", stringify!(cbs_st))
11788    );
11789    assert_eq!(
11790        ::std::mem::align_of::<cbs_st>(),
11791        8usize,
11792        concat!("Alignment of ", stringify!(cbs_st))
11793    );
11794    assert_eq!(
11795        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11796        0usize,
11797        concat!(
11798            "Offset of field: ",
11799            stringify!(cbs_st),
11800            "::",
11801            stringify!(data)
11802        )
11803    );
11804    assert_eq!(
11805        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11806        8usize,
11807        concat!(
11808            "Offset of field: ",
11809            stringify!(cbs_st),
11810            "::",
11811            stringify!(len)
11812        )
11813    );
11814}
11815impl Default for cbs_st {
11816    fn default() -> Self {
11817        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11818        unsafe {
11819            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11820            s.assume_init()
11821        }
11822    }
11823}
11824extern "C" {
11825    #[link_name = "\u{1}aws_lc_0_30_0_CBS_init"]
11826    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11827}
11828extern "C" {
11829    #[link_name = "\u{1}aws_lc_0_30_0_CBS_skip"]
11830    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11831}
11832extern "C" {
11833    #[link_name = "\u{1}aws_lc_0_30_0_CBS_data"]
11834    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11835}
11836extern "C" {
11837    #[link_name = "\u{1}aws_lc_0_30_0_CBS_len"]
11838    pub fn CBS_len(cbs: *const CBS) -> usize;
11839}
11840extern "C" {
11841    #[link_name = "\u{1}aws_lc_0_30_0_CBS_stow"]
11842    pub fn CBS_stow(
11843        cbs: *const CBS,
11844        out_ptr: *mut *mut u8,
11845        out_len: *mut usize,
11846    ) -> ::std::os::raw::c_int;
11847}
11848extern "C" {
11849    #[link_name = "\u{1}aws_lc_0_30_0_CBS_strdup"]
11850    pub fn CBS_strdup(
11851        cbs: *const CBS,
11852        out_ptr: *mut *mut ::std::os::raw::c_char,
11853    ) -> ::std::os::raw::c_int;
11854}
11855extern "C" {
11856    #[link_name = "\u{1}aws_lc_0_30_0_CBS_contains_zero_byte"]
11857    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11858}
11859extern "C" {
11860    #[link_name = "\u{1}aws_lc_0_30_0_CBS_mem_equal"]
11861    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11862}
11863extern "C" {
11864    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u8"]
11865    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11866}
11867extern "C" {
11868    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u16"]
11869    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11870}
11871extern "C" {
11872    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u16le"]
11873    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11874}
11875extern "C" {
11876    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u24"]
11877    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11878}
11879extern "C" {
11880    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u32"]
11881    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11882}
11883extern "C" {
11884    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u32le"]
11885    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11886}
11887extern "C" {
11888    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u64"]
11889    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11890}
11891extern "C" {
11892    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u64le"]
11893    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11894}
11895extern "C" {
11896    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_last_u8"]
11897    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11898}
11899extern "C" {
11900    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_bytes"]
11901    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11902}
11903extern "C" {
11904    #[link_name = "\u{1}aws_lc_0_30_0_CBS_copy_bytes"]
11905    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11906}
11907extern "C" {
11908    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u8_length_prefixed"]
11909    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11910}
11911extern "C" {
11912    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u16_length_prefixed"]
11913    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11914}
11915extern "C" {
11916    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u24_length_prefixed"]
11917    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11918}
11919extern "C" {
11920    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_until_first"]
11921    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11922}
11923extern "C" {
11924    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_u64_decimal"]
11925    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11926}
11927extern "C" {
11928    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_asn1"]
11929    pub fn CBS_get_asn1(
11930        cbs: *mut CBS,
11931        out: *mut CBS,
11932        tag_value: CBS_ASN1_TAG,
11933    ) -> ::std::os::raw::c_int;
11934}
11935extern "C" {
11936    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_asn1_element"]
11937    pub fn CBS_get_asn1_element(
11938        cbs: *mut CBS,
11939        out: *mut CBS,
11940        tag_value: CBS_ASN1_TAG,
11941    ) -> ::std::os::raw::c_int;
11942}
11943extern "C" {
11944    #[link_name = "\u{1}aws_lc_0_30_0_CBS_peek_asn1_tag"]
11945    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11946}
11947extern "C" {
11948    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_any_asn1"]
11949    pub fn CBS_get_any_asn1(
11950        cbs: *mut CBS,
11951        out: *mut CBS,
11952        out_tag: *mut CBS_ASN1_TAG,
11953    ) -> ::std::os::raw::c_int;
11954}
11955extern "C" {
11956    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_any_asn1_element"]
11957    pub fn CBS_get_any_asn1_element(
11958        cbs: *mut CBS,
11959        out: *mut CBS,
11960        out_tag: *mut CBS_ASN1_TAG,
11961        out_header_len: *mut usize,
11962    ) -> ::std::os::raw::c_int;
11963}
11964extern "C" {
11965    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_any_ber_asn1_element"]
11966    pub fn CBS_get_any_ber_asn1_element(
11967        cbs: *mut CBS,
11968        out: *mut CBS,
11969        out_tag: *mut CBS_ASN1_TAG,
11970        out_header_len: *mut usize,
11971        out_ber_found: *mut ::std::os::raw::c_int,
11972        out_indefinite: *mut ::std::os::raw::c_int,
11973    ) -> ::std::os::raw::c_int;
11974}
11975extern "C" {
11976    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_asn1_uint64"]
11977    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11978}
11979extern "C" {
11980    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_asn1_int64"]
11981    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11982}
11983extern "C" {
11984    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_asn1_bool"]
11985    pub fn CBS_get_asn1_bool(
11986        cbs: *mut CBS,
11987        out: *mut ::std::os::raw::c_int,
11988    ) -> ::std::os::raw::c_int;
11989}
11990extern "C" {
11991    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_optional_asn1"]
11992    pub fn CBS_get_optional_asn1(
11993        cbs: *mut CBS,
11994        out: *mut CBS,
11995        out_present: *mut ::std::os::raw::c_int,
11996        tag: CBS_ASN1_TAG,
11997    ) -> ::std::os::raw::c_int;
11998}
11999extern "C" {
12000    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_optional_asn1_octet_string"]
12001    pub fn CBS_get_optional_asn1_octet_string(
12002        cbs: *mut CBS,
12003        out: *mut CBS,
12004        out_present: *mut ::std::os::raw::c_int,
12005        tag: CBS_ASN1_TAG,
12006    ) -> ::std::os::raw::c_int;
12007}
12008extern "C" {
12009    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_optional_asn1_uint64"]
12010    pub fn CBS_get_optional_asn1_uint64(
12011        cbs: *mut CBS,
12012        out: *mut u64,
12013        tag: CBS_ASN1_TAG,
12014        default_value: u64,
12015    ) -> ::std::os::raw::c_int;
12016}
12017extern "C" {
12018    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_optional_asn1_bool"]
12019    pub fn CBS_get_optional_asn1_bool(
12020        cbs: *mut CBS,
12021        out: *mut ::std::os::raw::c_int,
12022        tag: CBS_ASN1_TAG,
12023        default_value: ::std::os::raw::c_int,
12024    ) -> ::std::os::raw::c_int;
12025}
12026extern "C" {
12027    #[link_name = "\u{1}aws_lc_0_30_0_CBS_is_valid_asn1_bitstring"]
12028    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
12029}
12030extern "C" {
12031    #[link_name = "\u{1}aws_lc_0_30_0_CBS_asn1_bitstring_has_bit"]
12032    pub fn CBS_asn1_bitstring_has_bit(
12033        cbs: *const CBS,
12034        bit: ::std::os::raw::c_uint,
12035    ) -> ::std::os::raw::c_int;
12036}
12037extern "C" {
12038    #[link_name = "\u{1}aws_lc_0_30_0_CBS_is_valid_asn1_integer"]
12039    pub fn CBS_is_valid_asn1_integer(
12040        cbs: *const CBS,
12041        out_is_negative: *mut ::std::os::raw::c_int,
12042    ) -> ::std::os::raw::c_int;
12043}
12044extern "C" {
12045    #[link_name = "\u{1}aws_lc_0_30_0_CBS_is_unsigned_asn1_integer"]
12046    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
12047}
12048extern "C" {
12049    #[link_name = "\u{1}aws_lc_0_30_0_CBS_is_valid_asn1_oid"]
12050    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
12051}
12052extern "C" {
12053    #[link_name = "\u{1}aws_lc_0_30_0_CBS_asn1_oid_to_text"]
12054    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
12055}
12056extern "C" {
12057    #[link_name = "\u{1}aws_lc_0_30_0_CBS_parse_generalized_time"]
12058    pub fn CBS_parse_generalized_time(
12059        cbs: *const CBS,
12060        out_tm: *mut tm,
12061        allow_timezone_offset: ::std::os::raw::c_int,
12062    ) -> ::std::os::raw::c_int;
12063}
12064extern "C" {
12065    #[link_name = "\u{1}aws_lc_0_30_0_CBS_parse_utc_time"]
12066    pub fn CBS_parse_utc_time(
12067        cbs: *const CBS,
12068        out_tm: *mut tm,
12069        allow_timezone_offset: ::std::os::raw::c_int,
12070    ) -> ::std::os::raw::c_int;
12071}
12072extern "C" {
12073    #[link_name = "\u{1}aws_lc_0_30_0_CBS_get_optional_asn1_int64"]
12074    pub fn CBS_get_optional_asn1_int64(
12075        cbs: *mut CBS,
12076        out: *mut i64,
12077        tag: CBS_ASN1_TAG,
12078        default_value: i64,
12079    ) -> ::std::os::raw::c_int;
12080}
12081#[repr(C)]
12082#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12083pub struct cbb_buffer_st {
12084    pub buf: *mut u8,
12085    pub len: usize,
12086    pub cap: usize,
12087    pub _bitfield_align_1: [u8; 0],
12088    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
12089    pub __bindgen_padding_0: [u8; 7usize],
12090}
12091#[test]
12092fn bindgen_test_layout_cbb_buffer_st() {
12093    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
12094    let ptr = UNINIT.as_ptr();
12095    assert_eq!(
12096        ::std::mem::size_of::<cbb_buffer_st>(),
12097        32usize,
12098        concat!("Size of: ", stringify!(cbb_buffer_st))
12099    );
12100    assert_eq!(
12101        ::std::mem::align_of::<cbb_buffer_st>(),
12102        8usize,
12103        concat!("Alignment of ", stringify!(cbb_buffer_st))
12104    );
12105    assert_eq!(
12106        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
12107        0usize,
12108        concat!(
12109            "Offset of field: ",
12110            stringify!(cbb_buffer_st),
12111            "::",
12112            stringify!(buf)
12113        )
12114    );
12115    assert_eq!(
12116        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
12117        8usize,
12118        concat!(
12119            "Offset of field: ",
12120            stringify!(cbb_buffer_st),
12121            "::",
12122            stringify!(len)
12123        )
12124    );
12125    assert_eq!(
12126        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
12127        16usize,
12128        concat!(
12129            "Offset of field: ",
12130            stringify!(cbb_buffer_st),
12131            "::",
12132            stringify!(cap)
12133        )
12134    );
12135}
12136impl Default for cbb_buffer_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}
12145impl cbb_buffer_st {
12146    #[inline]
12147    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
12148        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12149    }
12150    #[inline]
12151    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
12152        unsafe {
12153            let val: u32 = ::std::mem::transmute(val);
12154            self._bitfield_1.set(0usize, 1u8, val as u64)
12155        }
12156    }
12157    #[inline]
12158    pub fn error(&self) -> ::std::os::raw::c_uint {
12159        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
12160    }
12161    #[inline]
12162    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
12163        unsafe {
12164            let val: u32 = ::std::mem::transmute(val);
12165            self._bitfield_1.set(1usize, 1u8, val as u64)
12166        }
12167    }
12168    #[inline]
12169    pub fn new_bitfield_1(
12170        can_resize: ::std::os::raw::c_uint,
12171        error: ::std::os::raw::c_uint,
12172    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12173        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12174        __bindgen_bitfield_unit.set(0usize, 1u8, {
12175            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
12176            can_resize as u64
12177        });
12178        __bindgen_bitfield_unit.set(1usize, 1u8, {
12179            let error: u32 = unsafe { ::std::mem::transmute(error) };
12180            error as u64
12181        });
12182        __bindgen_bitfield_unit
12183    }
12184}
12185#[repr(C)]
12186#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12187pub struct cbb_child_st {
12188    pub base: *mut cbb_buffer_st,
12189    pub offset: usize,
12190    pub pending_len_len: u8,
12191    pub _bitfield_align_1: [u8; 0],
12192    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
12193    pub __bindgen_padding_0: [u16; 3usize],
12194}
12195#[test]
12196fn bindgen_test_layout_cbb_child_st() {
12197    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
12198    let ptr = UNINIT.as_ptr();
12199    assert_eq!(
12200        ::std::mem::size_of::<cbb_child_st>(),
12201        24usize,
12202        concat!("Size of: ", stringify!(cbb_child_st))
12203    );
12204    assert_eq!(
12205        ::std::mem::align_of::<cbb_child_st>(),
12206        8usize,
12207        concat!("Alignment of ", stringify!(cbb_child_st))
12208    );
12209    assert_eq!(
12210        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12211        0usize,
12212        concat!(
12213            "Offset of field: ",
12214            stringify!(cbb_child_st),
12215            "::",
12216            stringify!(base)
12217        )
12218    );
12219    assert_eq!(
12220        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
12221        8usize,
12222        concat!(
12223            "Offset of field: ",
12224            stringify!(cbb_child_st),
12225            "::",
12226            stringify!(offset)
12227        )
12228    );
12229    assert_eq!(
12230        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
12231        16usize,
12232        concat!(
12233            "Offset of field: ",
12234            stringify!(cbb_child_st),
12235            "::",
12236            stringify!(pending_len_len)
12237        )
12238    );
12239}
12240impl Default for cbb_child_st {
12241    fn default() -> Self {
12242        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12243        unsafe {
12244            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12245            s.assume_init()
12246        }
12247    }
12248}
12249impl cbb_child_st {
12250    #[inline]
12251    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
12252        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12253    }
12254    #[inline]
12255    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
12256        unsafe {
12257            let val: u32 = ::std::mem::transmute(val);
12258            self._bitfield_1.set(0usize, 1u8, val as u64)
12259        }
12260    }
12261    #[inline]
12262    pub fn new_bitfield_1(
12263        pending_is_asn1: ::std::os::raw::c_uint,
12264    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12265        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12266        __bindgen_bitfield_unit.set(0usize, 1u8, {
12267            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
12268            pending_is_asn1 as u64
12269        });
12270        __bindgen_bitfield_unit
12271    }
12272}
12273#[repr(C)]
12274#[derive(Copy, Clone)]
12275pub struct cbb_st {
12276    pub child: *mut CBB,
12277    pub is_child: ::std::os::raw::c_char,
12278    pub u: cbb_st__bindgen_ty_1,
12279}
12280#[repr(C)]
12281#[derive(Copy, Clone)]
12282pub union cbb_st__bindgen_ty_1 {
12283    pub base: cbb_buffer_st,
12284    pub child: cbb_child_st,
12285}
12286#[test]
12287fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
12288    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
12289    let ptr = UNINIT.as_ptr();
12290    assert_eq!(
12291        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
12292        32usize,
12293        concat!("Size of: ", stringify!(cbb_st__bindgen_ty_1))
12294    );
12295    assert_eq!(
12296        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
12297        8usize,
12298        concat!("Alignment of ", stringify!(cbb_st__bindgen_ty_1))
12299    );
12300    assert_eq!(
12301        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12302        0usize,
12303        concat!(
12304            "Offset of field: ",
12305            stringify!(cbb_st__bindgen_ty_1),
12306            "::",
12307            stringify!(base)
12308        )
12309    );
12310    assert_eq!(
12311        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12312        0usize,
12313        concat!(
12314            "Offset of field: ",
12315            stringify!(cbb_st__bindgen_ty_1),
12316            "::",
12317            stringify!(child)
12318        )
12319    );
12320}
12321impl Default for cbb_st__bindgen_ty_1 {
12322    fn default() -> Self {
12323        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12324        unsafe {
12325            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12326            s.assume_init()
12327        }
12328    }
12329}
12330#[test]
12331fn bindgen_test_layout_cbb_st() {
12332    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
12333    let ptr = UNINIT.as_ptr();
12334    assert_eq!(
12335        ::std::mem::size_of::<cbb_st>(),
12336        48usize,
12337        concat!("Size of: ", stringify!(cbb_st))
12338    );
12339    assert_eq!(
12340        ::std::mem::align_of::<cbb_st>(),
12341        8usize,
12342        concat!("Alignment of ", stringify!(cbb_st))
12343    );
12344    assert_eq!(
12345        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12346        0usize,
12347        concat!(
12348            "Offset of field: ",
12349            stringify!(cbb_st),
12350            "::",
12351            stringify!(child)
12352        )
12353    );
12354    assert_eq!(
12355        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
12356        8usize,
12357        concat!(
12358            "Offset of field: ",
12359            stringify!(cbb_st),
12360            "::",
12361            stringify!(is_child)
12362        )
12363    );
12364    assert_eq!(
12365        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12366        16usize,
12367        concat!("Offset of field: ", stringify!(cbb_st), "::", stringify!(u))
12368    );
12369}
12370impl Default for cbb_st {
12371    fn default() -> Self {
12372        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12373        unsafe {
12374            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12375            s.assume_init()
12376        }
12377    }
12378}
12379extern "C" {
12380    #[link_name = "\u{1}aws_lc_0_30_0_CBB_zero"]
12381    pub fn CBB_zero(cbb: *mut CBB);
12382}
12383extern "C" {
12384    #[link_name = "\u{1}aws_lc_0_30_0_CBB_init"]
12385    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
12386}
12387extern "C" {
12388    #[link_name = "\u{1}aws_lc_0_30_0_CBB_init_fixed"]
12389    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
12390}
12391extern "C" {
12392    #[link_name = "\u{1}aws_lc_0_30_0_CBB_cleanup"]
12393    pub fn CBB_cleanup(cbb: *mut CBB);
12394}
12395extern "C" {
12396    #[link_name = "\u{1}aws_lc_0_30_0_CBB_finish"]
12397    pub fn CBB_finish(
12398        cbb: *mut CBB,
12399        out_data: *mut *mut u8,
12400        out_len: *mut usize,
12401    ) -> ::std::os::raw::c_int;
12402}
12403extern "C" {
12404    #[link_name = "\u{1}aws_lc_0_30_0_CBB_flush"]
12405    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
12406}
12407extern "C" {
12408    #[link_name = "\u{1}aws_lc_0_30_0_CBB_data"]
12409    pub fn CBB_data(cbb: *const CBB) -> *const u8;
12410}
12411extern "C" {
12412    #[link_name = "\u{1}aws_lc_0_30_0_CBB_len"]
12413    pub fn CBB_len(cbb: *const CBB) -> usize;
12414}
12415extern "C" {
12416    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u8_length_prefixed"]
12417    pub fn CBB_add_u8_length_prefixed(
12418        cbb: *mut CBB,
12419        out_contents: *mut CBB,
12420    ) -> ::std::os::raw::c_int;
12421}
12422extern "C" {
12423    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u16_length_prefixed"]
12424    pub fn CBB_add_u16_length_prefixed(
12425        cbb: *mut CBB,
12426        out_contents: *mut CBB,
12427    ) -> ::std::os::raw::c_int;
12428}
12429extern "C" {
12430    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u24_length_prefixed"]
12431    pub fn CBB_add_u24_length_prefixed(
12432        cbb: *mut CBB,
12433        out_contents: *mut CBB,
12434    ) -> ::std::os::raw::c_int;
12435}
12436extern "C" {
12437    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1"]
12438    pub fn CBB_add_asn1(
12439        cbb: *mut CBB,
12440        out_contents: *mut CBB,
12441        tag: CBS_ASN1_TAG,
12442    ) -> ::std::os::raw::c_int;
12443}
12444extern "C" {
12445    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_bytes"]
12446    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
12447}
12448extern "C" {
12449    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_zeros"]
12450    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12451}
12452extern "C" {
12453    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_space"]
12454    pub fn CBB_add_space(
12455        cbb: *mut CBB,
12456        out_data: *mut *mut u8,
12457        len: usize,
12458    ) -> ::std::os::raw::c_int;
12459}
12460extern "C" {
12461    #[link_name = "\u{1}aws_lc_0_30_0_CBB_reserve"]
12462    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
12463}
12464extern "C" {
12465    #[link_name = "\u{1}aws_lc_0_30_0_CBB_did_write"]
12466    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12467}
12468extern "C" {
12469    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u8"]
12470    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
12471}
12472extern "C" {
12473    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u16"]
12474    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12475}
12476extern "C" {
12477    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u16le"]
12478    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12479}
12480extern "C" {
12481    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u24"]
12482    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12483}
12484extern "C" {
12485    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u32"]
12486    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12487}
12488extern "C" {
12489    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u32le"]
12490    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12491}
12492extern "C" {
12493    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u64"]
12494    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12495}
12496extern "C" {
12497    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_u64le"]
12498    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12499}
12500extern "C" {
12501    #[link_name = "\u{1}aws_lc_0_30_0_CBB_discard_child"]
12502    pub fn CBB_discard_child(cbb: *mut CBB);
12503}
12504extern "C" {
12505    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_uint64"]
12506    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12507}
12508extern "C" {
12509    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_uint64_with_tag"]
12510    pub fn CBB_add_asn1_uint64_with_tag(
12511        cbb: *mut CBB,
12512        value: u64,
12513        tag: CBS_ASN1_TAG,
12514    ) -> ::std::os::raw::c_int;
12515}
12516extern "C" {
12517    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_int64"]
12518    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
12519}
12520extern "C" {
12521    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_int64_with_tag"]
12522    pub fn CBB_add_asn1_int64_with_tag(
12523        cbb: *mut CBB,
12524        value: i64,
12525        tag: CBS_ASN1_TAG,
12526    ) -> ::std::os::raw::c_int;
12527}
12528extern "C" {
12529    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_octet_string"]
12530    pub fn CBB_add_asn1_octet_string(
12531        cbb: *mut CBB,
12532        data: *const u8,
12533        data_len: usize,
12534    ) -> ::std::os::raw::c_int;
12535}
12536extern "C" {
12537    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_bool"]
12538    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12539}
12540extern "C" {
12541    #[link_name = "\u{1}aws_lc_0_30_0_CBB_add_asn1_oid_from_text"]
12542    pub fn CBB_add_asn1_oid_from_text(
12543        cbb: *mut CBB,
12544        text: *const ::std::os::raw::c_char,
12545        len: usize,
12546    ) -> ::std::os::raw::c_int;
12547}
12548extern "C" {
12549    #[link_name = "\u{1}aws_lc_0_30_0_CBB_flush_asn1_set_of"]
12550    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
12551}
12552extern "C" {
12553    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12554}
12555extern "C" {
12556    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12557}
12558extern "C" {
12559    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12560}
12561extern "C" {
12562    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12563}
12564extern "C" {
12565    pub fn CBB_get_utf8_len(u: u32) -> usize;
12566}
12567extern "C" {
12568    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12569}
12570extern "C" {
12571    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12572}
12573extern "C" {
12574    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12575}
12576extern "C" {
12577    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12578}
12579extern "C" {
12580    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_chacha_20"]
12581    pub fn CRYPTO_chacha_20(
12582        out: *mut u8,
12583        in_: *const u8,
12584        in_len: usize,
12585        key: *const u8,
12586        nonce: *const u8,
12587        counter: u32,
12588    );
12589}
12590extern "C" {
12591    #[link_name = "\u{1}aws_lc_0_30_0_EVP_rc4"]
12592    pub fn EVP_rc4() -> *const EVP_CIPHER;
12593}
12594extern "C" {
12595    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_cbc"]
12596    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
12597}
12598extern "C" {
12599    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ecb"]
12600    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
12601}
12602extern "C" {
12603    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ede"]
12604    pub fn EVP_des_ede() -> *const EVP_CIPHER;
12605}
12606extern "C" {
12607    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ede3"]
12608    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
12609}
12610extern "C" {
12611    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ede_cbc"]
12612    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
12613}
12614extern "C" {
12615    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ede3_cbc"]
12616    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
12617}
12618extern "C" {
12619    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_ecb"]
12620    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
12621}
12622extern "C" {
12623    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cbc"]
12624    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
12625}
12626extern "C" {
12627    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_ctr"]
12628    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
12629}
12630extern "C" {
12631    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_ofb"]
12632    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
12633}
12634extern "C" {
12635    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_ecb"]
12636    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
12637}
12638extern "C" {
12639    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cbc"]
12640    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
12641}
12642extern "C" {
12643    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_ctr"]
12644    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
12645}
12646extern "C" {
12647    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_ofb"]
12648    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
12649}
12650extern "C" {
12651    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_xts"]
12652    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
12653}
12654extern "C" {
12655    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_wrap"]
12656    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
12657}
12658extern "C" {
12659    #[link_name = "\u{1}aws_lc_0_30_0_EVP_enc_null"]
12660    pub fn EVP_enc_null() -> *const EVP_CIPHER;
12661}
12662extern "C" {
12663    #[link_name = "\u{1}aws_lc_0_30_0_EVP_rc2_cbc"]
12664    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
12665}
12666extern "C" {
12667    #[link_name = "\u{1}aws_lc_0_30_0_EVP_rc2_40_cbc"]
12668    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
12669}
12670extern "C" {
12671    #[link_name = "\u{1}aws_lc_0_30_0_EVP_chacha20_poly1305"]
12672    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
12673}
12674extern "C" {
12675    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_cipherbynid"]
12676    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
12677}
12678extern "C" {
12679    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_init"]
12680    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
12681}
12682extern "C" {
12683    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_new"]
12684    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
12685}
12686extern "C" {
12687    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_cleanup"]
12688    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12689}
12690extern "C" {
12691    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_free"]
12692    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
12693}
12694extern "C" {
12695    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_copy"]
12696    pub fn EVP_CIPHER_CTX_copy(
12697        out: *mut EVP_CIPHER_CTX,
12698        in_: *const EVP_CIPHER_CTX,
12699    ) -> ::std::os::raw::c_int;
12700}
12701extern "C" {
12702    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_reset"]
12703    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12704}
12705extern "C" {
12706    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CipherInit_ex"]
12707    pub fn EVP_CipherInit_ex(
12708        ctx: *mut EVP_CIPHER_CTX,
12709        cipher: *const EVP_CIPHER,
12710        engine: *mut ENGINE,
12711        key: *const u8,
12712        iv: *const u8,
12713        enc: ::std::os::raw::c_int,
12714    ) -> ::std::os::raw::c_int;
12715}
12716extern "C" {
12717    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncryptInit_ex"]
12718    pub fn EVP_EncryptInit_ex(
12719        ctx: *mut EVP_CIPHER_CTX,
12720        cipher: *const EVP_CIPHER,
12721        impl_: *mut ENGINE,
12722        key: *const u8,
12723        iv: *const u8,
12724    ) -> ::std::os::raw::c_int;
12725}
12726extern "C" {
12727    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecryptInit_ex"]
12728    pub fn EVP_DecryptInit_ex(
12729        ctx: *mut EVP_CIPHER_CTX,
12730        cipher: *const EVP_CIPHER,
12731        impl_: *mut ENGINE,
12732        key: *const u8,
12733        iv: *const u8,
12734    ) -> ::std::os::raw::c_int;
12735}
12736extern "C" {
12737    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncryptUpdate"]
12738    pub fn EVP_EncryptUpdate(
12739        ctx: *mut EVP_CIPHER_CTX,
12740        out: *mut u8,
12741        out_len: *mut ::std::os::raw::c_int,
12742        in_: *const u8,
12743        in_len: ::std::os::raw::c_int,
12744    ) -> ::std::os::raw::c_int;
12745}
12746extern "C" {
12747    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncryptFinal_ex"]
12748    pub fn EVP_EncryptFinal_ex(
12749        ctx: *mut EVP_CIPHER_CTX,
12750        out: *mut u8,
12751        out_len: *mut ::std::os::raw::c_int,
12752    ) -> ::std::os::raw::c_int;
12753}
12754extern "C" {
12755    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecryptUpdate"]
12756    pub fn EVP_DecryptUpdate(
12757        ctx: *mut EVP_CIPHER_CTX,
12758        out: *mut u8,
12759        out_len: *mut ::std::os::raw::c_int,
12760        in_: *const u8,
12761        in_len: ::std::os::raw::c_int,
12762    ) -> ::std::os::raw::c_int;
12763}
12764extern "C" {
12765    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecryptFinal_ex"]
12766    pub fn EVP_DecryptFinal_ex(
12767        ctx: *mut EVP_CIPHER_CTX,
12768        out: *mut u8,
12769        out_len: *mut ::std::os::raw::c_int,
12770    ) -> ::std::os::raw::c_int;
12771}
12772extern "C" {
12773    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CipherUpdate"]
12774    pub fn EVP_CipherUpdate(
12775        ctx: *mut EVP_CIPHER_CTX,
12776        out: *mut u8,
12777        out_len: *mut ::std::os::raw::c_int,
12778        in_: *const u8,
12779        in_len: ::std::os::raw::c_int,
12780    ) -> ::std::os::raw::c_int;
12781}
12782extern "C" {
12783    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CipherFinal_ex"]
12784    pub fn EVP_CipherFinal_ex(
12785        ctx: *mut EVP_CIPHER_CTX,
12786        out: *mut u8,
12787        out_len: *mut ::std::os::raw::c_int,
12788    ) -> ::std::os::raw::c_int;
12789}
12790extern "C" {
12791    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_cipher"]
12792    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12793}
12794extern "C" {
12795    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_nid"]
12796    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_encrypting"]
12800    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12801}
12802extern "C" {
12803    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_block_size"]
12804    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12805}
12806extern "C" {
12807    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_key_length"]
12808    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12809}
12810extern "C" {
12811    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_iv_length"]
12812    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12813}
12814extern "C" {
12815    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_get_app_data"]
12816    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12817}
12818extern "C" {
12819    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_set_app_data"]
12820    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12821}
12822extern "C" {
12823    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_flags"]
12824    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12825}
12826extern "C" {
12827    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_mode"]
12828    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12829}
12830extern "C" {
12831    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_ctrl"]
12832    pub fn EVP_CIPHER_CTX_ctrl(
12833        ctx: *mut EVP_CIPHER_CTX,
12834        command: ::std::os::raw::c_int,
12835        arg: ::std::os::raw::c_int,
12836        ptr: *mut ::std::os::raw::c_void,
12837    ) -> ::std::os::raw::c_int;
12838}
12839extern "C" {
12840    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_set_padding"]
12841    pub fn EVP_CIPHER_CTX_set_padding(
12842        ctx: *mut EVP_CIPHER_CTX,
12843        pad: ::std::os::raw::c_int,
12844    ) -> ::std::os::raw::c_int;
12845}
12846extern "C" {
12847    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_set_key_length"]
12848    pub fn EVP_CIPHER_CTX_set_key_length(
12849        ctx: *mut EVP_CIPHER_CTX,
12850        key_len: ::std::os::raw::c_uint,
12851    ) -> ::std::os::raw::c_int;
12852}
12853extern "C" {
12854    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_nid"]
12855    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12856}
12857extern "C" {
12858    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_name"]
12859    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12860}
12861extern "C" {
12862    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_block_size"]
12863    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12864}
12865extern "C" {
12866    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_key_length"]
12867    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12868}
12869extern "C" {
12870    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_iv_length"]
12871    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12872}
12873extern "C" {
12874    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_flags"]
12875    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12876}
12877extern "C" {
12878    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_mode"]
12879    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12880}
12881extern "C" {
12882    #[link_name = "\u{1}aws_lc_0_30_0_EVP_BytesToKey"]
12883    pub fn EVP_BytesToKey(
12884        type_: *const EVP_CIPHER,
12885        md: *const EVP_MD,
12886        salt: *const u8,
12887        data: *const u8,
12888        data_len: usize,
12889        count: ::std::os::raw::c_uint,
12890        key: *mut u8,
12891        iv: *mut u8,
12892    ) -> ::std::os::raw::c_int;
12893}
12894extern "C" {
12895    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cbc_hmac_sha1"]
12896    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12897}
12898extern "C" {
12899    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cbc_hmac_sha1"]
12900    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12901}
12902extern "C" {
12903    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cbc_hmac_sha256"]
12904    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12905}
12906extern "C" {
12907    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cbc_hmac_sha256"]
12908    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12909}
12910extern "C" {
12911    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CipherInit"]
12912    pub fn EVP_CipherInit(
12913        ctx: *mut EVP_CIPHER_CTX,
12914        cipher: *const EVP_CIPHER,
12915        key: *const u8,
12916        iv: *const u8,
12917        enc: ::std::os::raw::c_int,
12918    ) -> ::std::os::raw::c_int;
12919}
12920extern "C" {
12921    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncryptInit"]
12922    pub fn EVP_EncryptInit(
12923        ctx: *mut EVP_CIPHER_CTX,
12924        cipher: *const EVP_CIPHER,
12925        key: *const u8,
12926        iv: *const u8,
12927    ) -> ::std::os::raw::c_int;
12928}
12929extern "C" {
12930    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecryptInit"]
12931    pub fn EVP_DecryptInit(
12932        ctx: *mut EVP_CIPHER_CTX,
12933        cipher: *const EVP_CIPHER,
12934        key: *const u8,
12935        iv: *const u8,
12936    ) -> ::std::os::raw::c_int;
12937}
12938extern "C" {
12939    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CipherFinal"]
12940    pub fn EVP_CipherFinal(
12941        ctx: *mut EVP_CIPHER_CTX,
12942        out: *mut u8,
12943        out_len: *mut ::std::os::raw::c_int,
12944    ) -> ::std::os::raw::c_int;
12945}
12946extern "C" {
12947    #[link_name = "\u{1}aws_lc_0_30_0_EVP_EncryptFinal"]
12948    pub fn EVP_EncryptFinal(
12949        ctx: *mut EVP_CIPHER_CTX,
12950        out: *mut u8,
12951        out_len: *mut ::std::os::raw::c_int,
12952    ) -> ::std::os::raw::c_int;
12953}
12954extern "C" {
12955    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DecryptFinal"]
12956    pub fn EVP_DecryptFinal(
12957        ctx: *mut EVP_CIPHER_CTX,
12958        out: *mut u8,
12959        out_len: *mut ::std::os::raw::c_int,
12960    ) -> ::std::os::raw::c_int;
12961}
12962extern "C" {
12963    #[link_name = "\u{1}aws_lc_0_30_0_EVP_Cipher"]
12964    pub fn EVP_Cipher(
12965        ctx: *mut EVP_CIPHER_CTX,
12966        out: *mut u8,
12967        in_: *const u8,
12968        in_len: usize,
12969    ) -> ::std::os::raw::c_int;
12970}
12971extern "C" {
12972    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_cipherbyname"]
12973    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12974}
12975extern "C" {
12976    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_gcm"]
12977    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12978}
12979extern "C" {
12980    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_gcm"]
12981    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12982}
12983extern "C" {
12984    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_ccm"]
12985    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12986}
12987extern "C" {
12988    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_ccm"]
12989    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12990}
12991extern "C" {
12992    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_ccm"]
12993    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12994}
12995extern "C" {
12996    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_ecb"]
12997    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12998}
12999extern "C" {
13000    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_cbc"]
13001    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
13002}
13003extern "C" {
13004    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_ctr"]
13005    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
13006}
13007extern "C" {
13008    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_gcm"]
13009    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
13010}
13011extern "C" {
13012    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_ofb"]
13013    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
13014}
13015extern "C" {
13016    #[link_name = "\u{1}aws_lc_0_30_0_EVP_des_ede3_ecb"]
13017    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
13018}
13019extern "C" {
13020    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cfb128"]
13021    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
13022}
13023extern "C" {
13024    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cfb"]
13025    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
13026}
13027extern "C" {
13028    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cfb1"]
13029    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
13030}
13031extern "C" {
13032    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_128_cfb8"]
13033    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
13034}
13035extern "C" {
13036    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_cfb128"]
13037    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
13038}
13039extern "C" {
13040    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_cfb"]
13041    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
13042}
13043extern "C" {
13044    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_cfb1"]
13045    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
13046}
13047extern "C" {
13048    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_192_cfb8"]
13049    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
13050}
13051extern "C" {
13052    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cfb128"]
13053    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
13054}
13055extern "C" {
13056    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cfb"]
13057    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
13058}
13059extern "C" {
13060    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cfb1"]
13061    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
13062}
13063extern "C" {
13064    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aes_256_cfb8"]
13065    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
13066}
13067extern "C" {
13068    #[link_name = "\u{1}aws_lc_0_30_0_EVP_bf_ecb"]
13069    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
13070}
13071extern "C" {
13072    #[link_name = "\u{1}aws_lc_0_30_0_EVP_bf_cbc"]
13073    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
13074}
13075extern "C" {
13076    #[link_name = "\u{1}aws_lc_0_30_0_EVP_bf_cfb"]
13077    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
13078}
13079extern "C" {
13080    #[link_name = "\u{1}aws_lc_0_30_0_EVP_cast5_ecb"]
13081    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
13082}
13083extern "C" {
13084    #[link_name = "\u{1}aws_lc_0_30_0_EVP_cast5_cbc"]
13085    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
13086}
13087extern "C" {
13088    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_CTX_set_flags"]
13089    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
13090}
13091extern "C" {
13092    #[link_name = "\u{1}aws_lc_0_30_0_EVP_add_cipher_alias"]
13093    pub fn EVP_add_cipher_alias(
13094        a: *const ::std::os::raw::c_char,
13095        b: *const ::std::os::raw::c_char,
13096    ) -> ::std::os::raw::c_int;
13097}
13098#[repr(C)]
13099#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13100pub struct evp_cipher_ctx_st {
13101    pub cipher: *const EVP_CIPHER,
13102    pub app_data: *mut ::std::os::raw::c_void,
13103    pub cipher_data: *mut ::std::os::raw::c_void,
13104    pub key_len: ::std::os::raw::c_uint,
13105    pub encrypt: ::std::os::raw::c_int,
13106    pub flags: u32,
13107    pub oiv: [u8; 16usize],
13108    pub iv: [u8; 16usize],
13109    pub buf: [u8; 32usize],
13110    pub buf_len: ::std::os::raw::c_int,
13111    pub num: ::std::os::raw::c_uint,
13112    pub final_used: ::std::os::raw::c_int,
13113    pub final_: [u8; 32usize],
13114    pub poisoned: ::std::os::raw::c_int,
13115}
13116#[test]
13117fn bindgen_test_layout_evp_cipher_ctx_st() {
13118    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
13119    let ptr = UNINIT.as_ptr();
13120    assert_eq!(
13121        ::std::mem::size_of::<evp_cipher_ctx_st>(),
13122        152usize,
13123        concat!("Size of: ", stringify!(evp_cipher_ctx_st))
13124    );
13125    assert_eq!(
13126        ::std::mem::align_of::<evp_cipher_ctx_st>(),
13127        8usize,
13128        concat!("Alignment of ", stringify!(evp_cipher_ctx_st))
13129    );
13130    assert_eq!(
13131        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
13132        0usize,
13133        concat!(
13134            "Offset of field: ",
13135            stringify!(evp_cipher_ctx_st),
13136            "::",
13137            stringify!(cipher)
13138        )
13139    );
13140    assert_eq!(
13141        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
13142        8usize,
13143        concat!(
13144            "Offset of field: ",
13145            stringify!(evp_cipher_ctx_st),
13146            "::",
13147            stringify!(app_data)
13148        )
13149    );
13150    assert_eq!(
13151        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
13152        16usize,
13153        concat!(
13154            "Offset of field: ",
13155            stringify!(evp_cipher_ctx_st),
13156            "::",
13157            stringify!(cipher_data)
13158        )
13159    );
13160    assert_eq!(
13161        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
13162        24usize,
13163        concat!(
13164            "Offset of field: ",
13165            stringify!(evp_cipher_ctx_st),
13166            "::",
13167            stringify!(key_len)
13168        )
13169    );
13170    assert_eq!(
13171        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
13172        28usize,
13173        concat!(
13174            "Offset of field: ",
13175            stringify!(evp_cipher_ctx_st),
13176            "::",
13177            stringify!(encrypt)
13178        )
13179    );
13180    assert_eq!(
13181        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13182        32usize,
13183        concat!(
13184            "Offset of field: ",
13185            stringify!(evp_cipher_ctx_st),
13186            "::",
13187            stringify!(flags)
13188        )
13189    );
13190    assert_eq!(
13191        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
13192        36usize,
13193        concat!(
13194            "Offset of field: ",
13195            stringify!(evp_cipher_ctx_st),
13196            "::",
13197            stringify!(oiv)
13198        )
13199    );
13200    assert_eq!(
13201        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13202        52usize,
13203        concat!(
13204            "Offset of field: ",
13205            stringify!(evp_cipher_ctx_st),
13206            "::",
13207            stringify!(iv)
13208        )
13209    );
13210    assert_eq!(
13211        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
13212        68usize,
13213        concat!(
13214            "Offset of field: ",
13215            stringify!(evp_cipher_ctx_st),
13216            "::",
13217            stringify!(buf)
13218        )
13219    );
13220    assert_eq!(
13221        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
13222        100usize,
13223        concat!(
13224            "Offset of field: ",
13225            stringify!(evp_cipher_ctx_st),
13226            "::",
13227            stringify!(buf_len)
13228        )
13229    );
13230    assert_eq!(
13231        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
13232        104usize,
13233        concat!(
13234            "Offset of field: ",
13235            stringify!(evp_cipher_ctx_st),
13236            "::",
13237            stringify!(num)
13238        )
13239    );
13240    assert_eq!(
13241        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
13242        108usize,
13243        concat!(
13244            "Offset of field: ",
13245            stringify!(evp_cipher_ctx_st),
13246            "::",
13247            stringify!(final_used)
13248        )
13249    );
13250    assert_eq!(
13251        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
13252        112usize,
13253        concat!(
13254            "Offset of field: ",
13255            stringify!(evp_cipher_ctx_st),
13256            "::",
13257            stringify!(final_)
13258        )
13259    );
13260    assert_eq!(
13261        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
13262        144usize,
13263        concat!(
13264            "Offset of field: ",
13265            stringify!(evp_cipher_ctx_st),
13266            "::",
13267            stringify!(poisoned)
13268        )
13269    );
13270}
13271impl Default for evp_cipher_ctx_st {
13272    fn default() -> Self {
13273        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13274        unsafe {
13275            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13276            s.assume_init()
13277        }
13278    }
13279}
13280#[repr(C)]
13281#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13282pub struct evp_cipher_info_st {
13283    pub cipher: *const EVP_CIPHER,
13284    pub iv: [::std::os::raw::c_uchar; 16usize],
13285}
13286#[test]
13287fn bindgen_test_layout_evp_cipher_info_st() {
13288    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
13289    let ptr = UNINIT.as_ptr();
13290    assert_eq!(
13291        ::std::mem::size_of::<evp_cipher_info_st>(),
13292        24usize,
13293        concat!("Size of: ", stringify!(evp_cipher_info_st))
13294    );
13295    assert_eq!(
13296        ::std::mem::align_of::<evp_cipher_info_st>(),
13297        8usize,
13298        concat!("Alignment of ", stringify!(evp_cipher_info_st))
13299    );
13300    assert_eq!(
13301        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
13302        0usize,
13303        concat!(
13304            "Offset of field: ",
13305            stringify!(evp_cipher_info_st),
13306            "::",
13307            stringify!(cipher)
13308        )
13309    );
13310    assert_eq!(
13311        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13312        8usize,
13313        concat!(
13314            "Offset of field: ",
13315            stringify!(evp_cipher_info_st),
13316            "::",
13317            stringify!(iv)
13318        )
13319    );
13320}
13321impl Default for evp_cipher_info_st {
13322    fn default() -> Self {
13323        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13324        unsafe {
13325            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13326            s.assume_init()
13327        }
13328    }
13329}
13330pub type EVP_CIPHER_INFO = evp_cipher_info_st;
13331extern "C" {
13332    #[link_name = "\u{1}aws_lc_0_30_0_AES_CMAC"]
13333    pub fn AES_CMAC(
13334        out: *mut u8,
13335        key: *const u8,
13336        key_len: usize,
13337        in_: *const u8,
13338        in_len: usize,
13339    ) -> ::std::os::raw::c_int;
13340}
13341extern "C" {
13342    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_CTX_new"]
13343    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
13344}
13345extern "C" {
13346    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_CTX_free"]
13347    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
13348}
13349extern "C" {
13350    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_CTX_copy"]
13351    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
13352}
13353extern "C" {
13354    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_Init"]
13355    pub fn CMAC_Init(
13356        ctx: *mut CMAC_CTX,
13357        key: *const ::std::os::raw::c_void,
13358        key_len: usize,
13359        cipher: *const EVP_CIPHER,
13360        engine: *mut ENGINE,
13361    ) -> ::std::os::raw::c_int;
13362}
13363extern "C" {
13364    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_Reset"]
13365    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
13366}
13367extern "C" {
13368    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_Update"]
13369    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
13370}
13371extern "C" {
13372    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_Final"]
13373    pub fn CMAC_Final(
13374        ctx: *mut CMAC_CTX,
13375        out: *mut u8,
13376        out_len: *mut usize,
13377    ) -> ::std::os::raw::c_int;
13378}
13379extern "C" {
13380    #[link_name = "\u{1}aws_lc_0_30_0_CMAC_CTX_get0_cipher_ctx"]
13381    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
13382}
13383#[repr(C)]
13384#[derive(Debug, Copy, Clone)]
13385pub struct lhash_st {
13386    _unused: [u8; 0],
13387}
13388pub type _LHASH = lhash_st;
13389extern "C" {
13390    #[link_name = "\u{1}aws_lc_0_30_0_lh_doall_arg"]
13391    pub fn lh_doall_arg(
13392        lh: *mut _LHASH,
13393        func: ::std::option::Option<
13394            unsafe extern "C" fn(
13395                arg1: *mut ::std::os::raw::c_void,
13396                arg2: *mut ::std::os::raw::c_void,
13397            ),
13398        >,
13399        arg: *mut ::std::os::raw::c_void,
13400    );
13401}
13402#[repr(C)]
13403#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13404pub struct conf_value_st {
13405    pub section: *mut ::std::os::raw::c_char,
13406    pub name: *mut ::std::os::raw::c_char,
13407    pub value: *mut ::std::os::raw::c_char,
13408}
13409#[test]
13410fn bindgen_test_layout_conf_value_st() {
13411    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
13412    let ptr = UNINIT.as_ptr();
13413    assert_eq!(
13414        ::std::mem::size_of::<conf_value_st>(),
13415        24usize,
13416        concat!("Size of: ", stringify!(conf_value_st))
13417    );
13418    assert_eq!(
13419        ::std::mem::align_of::<conf_value_st>(),
13420        8usize,
13421        concat!("Alignment of ", stringify!(conf_value_st))
13422    );
13423    assert_eq!(
13424        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
13425        0usize,
13426        concat!(
13427            "Offset of field: ",
13428            stringify!(conf_value_st),
13429            "::",
13430            stringify!(section)
13431        )
13432    );
13433    assert_eq!(
13434        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13435        8usize,
13436        concat!(
13437            "Offset of field: ",
13438            stringify!(conf_value_st),
13439            "::",
13440            stringify!(name)
13441        )
13442    );
13443    assert_eq!(
13444        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13445        16usize,
13446        concat!(
13447            "Offset of field: ",
13448            stringify!(conf_value_st),
13449            "::",
13450            stringify!(value)
13451        )
13452    );
13453}
13454impl Default for conf_value_st {
13455    fn default() -> Self {
13456        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13457        unsafe {
13458            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13459            s.assume_init()
13460        }
13461    }
13462}
13463#[repr(C)]
13464#[derive(Debug, Copy, Clone)]
13465pub struct stack_st_CONF_VALUE {
13466    _unused: [u8; 0],
13467}
13468pub type sk_CONF_VALUE_free_func =
13469    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
13470pub type sk_CONF_VALUE_copy_func =
13471    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
13472pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
13473    unsafe extern "C" fn(
13474        arg1: *const *const CONF_VALUE,
13475        arg2: *const *const CONF_VALUE,
13476    ) -> ::std::os::raw::c_int,
13477>;
13478pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
13479    unsafe extern "C" fn(
13480        arg1: *mut CONF_VALUE,
13481        arg2: *mut ::std::os::raw::c_void,
13482    ) -> ::std::os::raw::c_int,
13483>;
13484#[repr(C)]
13485#[derive(Debug, Copy, Clone)]
13486pub struct lhash_st_CONF_VALUE {
13487    _unused: [u8; 0],
13488}
13489#[repr(C)]
13490#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13491pub struct conf_st {
13492    pub data: *mut lhash_st_CONF_VALUE,
13493}
13494#[test]
13495fn bindgen_test_layout_conf_st() {
13496    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
13497    let ptr = UNINIT.as_ptr();
13498    assert_eq!(
13499        ::std::mem::size_of::<conf_st>(),
13500        8usize,
13501        concat!("Size of: ", stringify!(conf_st))
13502    );
13503    assert_eq!(
13504        ::std::mem::align_of::<conf_st>(),
13505        8usize,
13506        concat!("Alignment of ", stringify!(conf_st))
13507    );
13508    assert_eq!(
13509        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13510        0usize,
13511        concat!(
13512            "Offset of field: ",
13513            stringify!(conf_st),
13514            "::",
13515            stringify!(data)
13516        )
13517    );
13518}
13519impl Default for conf_st {
13520    fn default() -> Self {
13521        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13522        unsafe {
13523            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13524            s.assume_init()
13525        }
13526    }
13527}
13528extern "C" {
13529    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_new"]
13530    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
13531}
13532extern "C" {
13533    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_free"]
13534    pub fn NCONF_free(conf: *mut CONF);
13535}
13536extern "C" {
13537    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_load"]
13538    pub fn NCONF_load(
13539        conf: *mut CONF,
13540        filename: *const ::std::os::raw::c_char,
13541        out_error_line: *mut ::std::os::raw::c_long,
13542    ) -> ::std::os::raw::c_int;
13543}
13544extern "C" {
13545    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_load_bio"]
13546    pub fn NCONF_load_bio(
13547        conf: *mut CONF,
13548        bio: *mut BIO,
13549        out_error_line: *mut ::std::os::raw::c_long,
13550    ) -> ::std::os::raw::c_int;
13551}
13552extern "C" {
13553    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_get_section"]
13554    pub fn NCONF_get_section(
13555        conf: *const CONF,
13556        section: *const ::std::os::raw::c_char,
13557    ) -> *const stack_st_CONF_VALUE;
13558}
13559extern "C" {
13560    #[link_name = "\u{1}aws_lc_0_30_0_NCONF_get_string"]
13561    pub fn NCONF_get_string(
13562        conf: *const CONF,
13563        section: *const ::std::os::raw::c_char,
13564        name: *const ::std::os::raw::c_char,
13565    ) -> *const ::std::os::raw::c_char;
13566}
13567extern "C" {
13568    #[link_name = "\u{1}aws_lc_0_30_0_CONF_modules_load_file"]
13569    pub fn CONF_modules_load_file(
13570        filename: *const ::std::os::raw::c_char,
13571        appname: *const ::std::os::raw::c_char,
13572        flags: ::std::os::raw::c_ulong,
13573    ) -> ::std::os::raw::c_int;
13574}
13575extern "C" {
13576    #[link_name = "\u{1}aws_lc_0_30_0_CONF_get1_default_config_file"]
13577    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
13578}
13579extern "C" {
13580    #[link_name = "\u{1}aws_lc_0_30_0_CONF_modules_free"]
13581    pub fn CONF_modules_free();
13582}
13583extern "C" {
13584    #[link_name = "\u{1}aws_lc_0_30_0_CONF_modules_unload"]
13585    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
13586}
13587extern "C" {
13588    #[link_name = "\u{1}aws_lc_0_30_0_CONF_modules_finish"]
13589    pub fn CONF_modules_finish();
13590}
13591extern "C" {
13592    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_config"]
13593    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
13594}
13595extern "C" {
13596    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_no_config"]
13597    pub fn OPENSSL_no_config();
13598}
13599extern "C" {
13600    #[link_name = "\u{1}aws_lc_0_30_0_CTR_DRBG_new"]
13601    pub fn CTR_DRBG_new(
13602        entropy: *const u8,
13603        personalization: *const u8,
13604        personalization_len: usize,
13605    ) -> *mut CTR_DRBG_STATE;
13606}
13607extern "C" {
13608    #[link_name = "\u{1}aws_lc_0_30_0_CTR_DRBG_free"]
13609    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
13610}
13611extern "C" {
13612    #[link_name = "\u{1}aws_lc_0_30_0_CTR_DRBG_reseed"]
13613    pub fn CTR_DRBG_reseed(
13614        drbg: *mut CTR_DRBG_STATE,
13615        entropy: *const u8,
13616        additional_data: *const u8,
13617        additional_data_len: usize,
13618    ) -> ::std::os::raw::c_int;
13619}
13620extern "C" {
13621    #[link_name = "\u{1}aws_lc_0_30_0_CTR_DRBG_generate"]
13622    pub fn CTR_DRBG_generate(
13623        drbg: *mut CTR_DRBG_STATE,
13624        out: *mut u8,
13625        out_len: usize,
13626        additional_data: *const u8,
13627        additional_data_len: usize,
13628    ) -> ::std::os::raw::c_int;
13629}
13630extern "C" {
13631    #[link_name = "\u{1}aws_lc_0_30_0_CTR_DRBG_clear"]
13632    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
13633}
13634extern "C" {
13635    #[link_name = "\u{1}aws_lc_0_30_0_X25519_keypair"]
13636    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
13637}
13638extern "C" {
13639    #[link_name = "\u{1}aws_lc_0_30_0_X25519"]
13640    pub fn X25519(
13641        out_shared_key: *mut u8,
13642        private_key: *const u8,
13643        peer_public_value: *const u8,
13644    ) -> ::std::os::raw::c_int;
13645}
13646extern "C" {
13647    #[link_name = "\u{1}aws_lc_0_30_0_X25519_public_from_private"]
13648    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
13649}
13650extern "C" {
13651    #[link_name = "\u{1}aws_lc_0_30_0_ED25519_keypair"]
13652    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
13653}
13654extern "C" {
13655    #[link_name = "\u{1}aws_lc_0_30_0_ED25519_sign"]
13656    pub fn ED25519_sign(
13657        out_sig: *mut u8,
13658        message: *const u8,
13659        message_len: usize,
13660        private_key: *const u8,
13661    ) -> ::std::os::raw::c_int;
13662}
13663extern "C" {
13664    #[link_name = "\u{1}aws_lc_0_30_0_ED25519_verify"]
13665    pub fn ED25519_verify(
13666        message: *const u8,
13667        message_len: usize,
13668        signature: *const u8,
13669        public_key: *const u8,
13670    ) -> ::std::os::raw::c_int;
13671}
13672extern "C" {
13673    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ctx_sign"]
13674    pub fn ED25519ctx_sign(
13675        out_sig: *mut u8,
13676        message: *const u8,
13677        message_len: usize,
13678        private_key: *const u8,
13679        context: *const u8,
13680        context_len: usize,
13681    ) -> ::std::os::raw::c_int;
13682}
13683extern "C" {
13684    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ctx_verify"]
13685    pub fn ED25519ctx_verify(
13686        message: *const u8,
13687        message_len: usize,
13688        signature: *const u8,
13689        public_key: *const u8,
13690        context: *const u8,
13691        context_len: usize,
13692    ) -> ::std::os::raw::c_int;
13693}
13694extern "C" {
13695    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ph_sign"]
13696    pub fn ED25519ph_sign(
13697        out_sig: *mut u8,
13698        message: *const u8,
13699        message_len: usize,
13700        private_key: *const u8,
13701        context: *const u8,
13702        context_len: usize,
13703    ) -> ::std::os::raw::c_int;
13704}
13705extern "C" {
13706    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ph_verify"]
13707    pub fn ED25519ph_verify(
13708        message: *const u8,
13709        message_len: usize,
13710        signature: *const u8,
13711        public_key: *const u8,
13712        context: *const u8,
13713        context_len: usize,
13714    ) -> ::std::os::raw::c_int;
13715}
13716extern "C" {
13717    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ph_sign_digest"]
13718    pub fn ED25519ph_sign_digest(
13719        out_sig: *mut u8,
13720        digest: *const u8,
13721        private_key: *const u8,
13722        context: *const u8,
13723        context_len: usize,
13724    ) -> ::std::os::raw::c_int;
13725}
13726extern "C" {
13727    #[link_name = "\u{1}aws_lc_0_30_0_ED25519ph_verify_digest"]
13728    pub fn ED25519ph_verify_digest(
13729        digest: *const u8,
13730        signature: *const u8,
13731        public_key: *const u8,
13732        context: *const u8,
13733        context_len: usize,
13734    ) -> ::std::os::raw::c_int;
13735}
13736extern "C" {
13737    #[link_name = "\u{1}aws_lc_0_30_0_ED25519_keypair_from_seed"]
13738    pub fn ED25519_keypair_from_seed(
13739        out_public_key: *mut u8,
13740        out_private_key: *mut u8,
13741        seed: *const u8,
13742    );
13743}
13744pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
13745pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
13746pub type spake2_role_t = ::std::os::raw::c_uint;
13747extern "C" {
13748    #[link_name = "\u{1}aws_lc_0_30_0_SPAKE2_CTX_new"]
13749    pub fn SPAKE2_CTX_new(
13750        my_role: spake2_role_t,
13751        my_name: *const u8,
13752        my_name_len: usize,
13753        their_name: *const u8,
13754        their_name_len: usize,
13755    ) -> *mut SPAKE2_CTX;
13756}
13757extern "C" {
13758    #[link_name = "\u{1}aws_lc_0_30_0_SPAKE2_CTX_free"]
13759    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
13760}
13761extern "C" {
13762    #[link_name = "\u{1}aws_lc_0_30_0_SPAKE2_generate_msg"]
13763    pub fn SPAKE2_generate_msg(
13764        ctx: *mut SPAKE2_CTX,
13765        out: *mut u8,
13766        out_len: *mut usize,
13767        max_out_len: usize,
13768        password: *const u8,
13769        password_len: usize,
13770    ) -> ::std::os::raw::c_int;
13771}
13772extern "C" {
13773    #[link_name = "\u{1}aws_lc_0_30_0_SPAKE2_process_msg"]
13774    pub fn SPAKE2_process_msg(
13775        ctx: *mut SPAKE2_CTX,
13776        out_key: *mut u8,
13777        out_key_len: *mut usize,
13778        max_out_key_len: usize,
13779        their_msg: *const u8,
13780        their_msg_len: usize,
13781    ) -> ::std::os::raw::c_int;
13782}
13783#[repr(C)]
13784#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13785pub struct DES_cblock_st {
13786    pub bytes: [u8; 8usize],
13787}
13788#[test]
13789fn bindgen_test_layout_DES_cblock_st() {
13790    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
13791    let ptr = UNINIT.as_ptr();
13792    assert_eq!(
13793        ::std::mem::size_of::<DES_cblock_st>(),
13794        8usize,
13795        concat!("Size of: ", stringify!(DES_cblock_st))
13796    );
13797    assert_eq!(
13798        ::std::mem::align_of::<DES_cblock_st>(),
13799        1usize,
13800        concat!("Alignment of ", stringify!(DES_cblock_st))
13801    );
13802    assert_eq!(
13803        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
13804        0usize,
13805        concat!(
13806            "Offset of field: ",
13807            stringify!(DES_cblock_st),
13808            "::",
13809            stringify!(bytes)
13810        )
13811    );
13812}
13813pub type DES_cblock = DES_cblock_st;
13814pub type const_DES_cblock = DES_cblock_st;
13815#[repr(C)]
13816#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13817pub struct DES_ks {
13818    pub subkeys: [[u32; 2usize]; 16usize],
13819}
13820#[test]
13821fn bindgen_test_layout_DES_ks() {
13822    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
13823    let ptr = UNINIT.as_ptr();
13824    assert_eq!(
13825        ::std::mem::size_of::<DES_ks>(),
13826        128usize,
13827        concat!("Size of: ", stringify!(DES_ks))
13828    );
13829    assert_eq!(
13830        ::std::mem::align_of::<DES_ks>(),
13831        4usize,
13832        concat!("Alignment of ", stringify!(DES_ks))
13833    );
13834    assert_eq!(
13835        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
13836        0usize,
13837        concat!(
13838            "Offset of field: ",
13839            stringify!(DES_ks),
13840            "::",
13841            stringify!(subkeys)
13842        )
13843    );
13844}
13845pub type DES_key_schedule = DES_ks;
13846extern "C" {
13847    #[link_name = "\u{1}aws_lc_0_30_0_DES_is_weak_key"]
13848    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
13849}
13850extern "C" {
13851    #[link_name = "\u{1}aws_lc_0_30_0_DES_set_key"]
13852    pub fn DES_set_key(
13853        key: *const DES_cblock,
13854        schedule: *mut DES_key_schedule,
13855    ) -> ::std::os::raw::c_int;
13856}
13857extern "C" {
13858    #[link_name = "\u{1}aws_lc_0_30_0_DES_set_key_unchecked"]
13859    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
13860}
13861extern "C" {
13862    #[link_name = "\u{1}aws_lc_0_30_0_DES_key_sched"]
13863    pub fn DES_key_sched(
13864        key: *const DES_cblock,
13865        schedule: *mut DES_key_schedule,
13866    ) -> ::std::os::raw::c_int;
13867}
13868extern "C" {
13869    #[link_name = "\u{1}aws_lc_0_30_0_DES_set_odd_parity"]
13870    pub fn DES_set_odd_parity(key: *mut DES_cblock);
13871}
13872extern "C" {
13873    #[link_name = "\u{1}aws_lc_0_30_0_DES_ecb_encrypt"]
13874    pub fn DES_ecb_encrypt(
13875        in_: *const DES_cblock,
13876        out: *mut DES_cblock,
13877        schedule: *const DES_key_schedule,
13878        is_encrypt: ::std::os::raw::c_int,
13879    );
13880}
13881extern "C" {
13882    #[link_name = "\u{1}aws_lc_0_30_0_DES_ncbc_encrypt"]
13883    pub fn DES_ncbc_encrypt(
13884        in_: *const u8,
13885        out: *mut u8,
13886        len: usize,
13887        schedule: *const DES_key_schedule,
13888        ivec: *mut DES_cblock,
13889        enc: ::std::os::raw::c_int,
13890    );
13891}
13892extern "C" {
13893    #[link_name = "\u{1}aws_lc_0_30_0_DES_ecb3_encrypt"]
13894    pub fn DES_ecb3_encrypt(
13895        input: *const DES_cblock,
13896        output: *mut DES_cblock,
13897        ks1: *const DES_key_schedule,
13898        ks2: *const DES_key_schedule,
13899        ks3: *const DES_key_schedule,
13900        enc: ::std::os::raw::c_int,
13901    );
13902}
13903extern "C" {
13904    #[link_name = "\u{1}aws_lc_0_30_0_DES_ede3_cbc_encrypt"]
13905    pub fn DES_ede3_cbc_encrypt(
13906        in_: *const u8,
13907        out: *mut u8,
13908        len: usize,
13909        ks1: *const DES_key_schedule,
13910        ks2: *const DES_key_schedule,
13911        ks3: *const DES_key_schedule,
13912        ivec: *mut DES_cblock,
13913        enc: ::std::os::raw::c_int,
13914    );
13915}
13916extern "C" {
13917    #[link_name = "\u{1}aws_lc_0_30_0_DES_ede2_cbc_encrypt"]
13918    pub fn DES_ede2_cbc_encrypt(
13919        in_: *const u8,
13920        out: *mut u8,
13921        len: usize,
13922        ks1: *const DES_key_schedule,
13923        ks2: *const DES_key_schedule,
13924        ivec: *mut DES_cblock,
13925        enc: ::std::os::raw::c_int,
13926    );
13927}
13928extern "C" {
13929    #[link_name = "\u{1}aws_lc_0_30_0_DH_new"]
13930    pub fn DH_new() -> *mut DH;
13931}
13932extern "C" {
13933    #[link_name = "\u{1}aws_lc_0_30_0_DH_new_by_nid"]
13934    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13935}
13936extern "C" {
13937    #[link_name = "\u{1}aws_lc_0_30_0_DH_free"]
13938    pub fn DH_free(dh: *mut DH);
13939}
13940extern "C" {
13941    #[link_name = "\u{1}aws_lc_0_30_0_DH_up_ref"]
13942    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13943}
13944extern "C" {
13945    #[link_name = "\u{1}aws_lc_0_30_0_DH_bits"]
13946    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13947}
13948extern "C" {
13949    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_pub_key"]
13950    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13951}
13952extern "C" {
13953    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_priv_key"]
13954    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13955}
13956extern "C" {
13957    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_p"]
13958    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13959}
13960extern "C" {
13961    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_q"]
13962    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13963}
13964extern "C" {
13965    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_g"]
13966    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13967}
13968extern "C" {
13969    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_key"]
13970    pub fn DH_get0_key(
13971        dh: *const DH,
13972        out_pub_key: *mut *const BIGNUM,
13973        out_priv_key: *mut *const BIGNUM,
13974    );
13975}
13976extern "C" {
13977    #[link_name = "\u{1}aws_lc_0_30_0_DH_set0_key"]
13978    pub fn DH_set0_key(
13979        dh: *mut DH,
13980        pub_key: *mut BIGNUM,
13981        priv_key: *mut BIGNUM,
13982    ) -> ::std::os::raw::c_int;
13983}
13984extern "C" {
13985    #[link_name = "\u{1}aws_lc_0_30_0_DH_get0_pqg"]
13986    pub fn DH_get0_pqg(
13987        dh: *const DH,
13988        out_p: *mut *const BIGNUM,
13989        out_q: *mut *const BIGNUM,
13990        out_g: *mut *const BIGNUM,
13991    );
13992}
13993extern "C" {
13994    #[link_name = "\u{1}aws_lc_0_30_0_DH_set0_pqg"]
13995    pub fn DH_set0_pqg(
13996        dh: *mut DH,
13997        p: *mut BIGNUM,
13998        q: *mut BIGNUM,
13999        g: *mut BIGNUM,
14000    ) -> ::std::os::raw::c_int;
14001}
14002extern "C" {
14003    #[link_name = "\u{1}aws_lc_0_30_0_DH_set_length"]
14004    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
14005        -> ::std::os::raw::c_int;
14006}
14007extern "C" {
14008    #[link_name = "\u{1}aws_lc_0_30_0_DH_get_rfc7919_2048"]
14009    pub fn DH_get_rfc7919_2048() -> *mut DH;
14010}
14011extern "C" {
14012    #[link_name = "\u{1}aws_lc_0_30_0_DH_get_rfc7919_4096"]
14013    pub fn DH_get_rfc7919_4096() -> *mut DH;
14014}
14015extern "C" {
14016    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_1536"]
14017    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
14018}
14019extern "C" {
14020    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_2048"]
14021    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
14022}
14023extern "C" {
14024    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_3072"]
14025    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
14026}
14027extern "C" {
14028    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_4096"]
14029    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
14030}
14031extern "C" {
14032    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_6144"]
14033    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
14034}
14035extern "C" {
14036    #[link_name = "\u{1}aws_lc_0_30_0_BN_get_rfc3526_prime_8192"]
14037    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
14038}
14039extern "C" {
14040    #[link_name = "\u{1}aws_lc_0_30_0_DH_generate_parameters_ex"]
14041    pub fn DH_generate_parameters_ex(
14042        dh: *mut DH,
14043        prime_bits: ::std::os::raw::c_int,
14044        generator: ::std::os::raw::c_int,
14045        cb: *mut BN_GENCB,
14046    ) -> ::std::os::raw::c_int;
14047}
14048extern "C" {
14049    #[link_name = "\u{1}aws_lc_0_30_0_DH_generate_key"]
14050    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
14051}
14052extern "C" {
14053    #[link_name = "\u{1}aws_lc_0_30_0_DH_compute_key_padded"]
14054    pub fn DH_compute_key_padded(
14055        out: *mut u8,
14056        peers_key: *const BIGNUM,
14057        dh: *mut DH,
14058    ) -> ::std::os::raw::c_int;
14059}
14060extern "C" {
14061    #[link_name = "\u{1}aws_lc_0_30_0_DH_compute_key_hashed"]
14062    pub fn DH_compute_key_hashed(
14063        dh: *mut DH,
14064        out: *mut u8,
14065        out_len: *mut usize,
14066        max_out_len: usize,
14067        peers_key: *const BIGNUM,
14068        digest: *const EVP_MD,
14069    ) -> ::std::os::raw::c_int;
14070}
14071extern "C" {
14072    #[link_name = "\u{1}aws_lc_0_30_0_DH_size"]
14073    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
14074}
14075extern "C" {
14076    #[link_name = "\u{1}aws_lc_0_30_0_DH_num_bits"]
14077    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
14078}
14079extern "C" {
14080    #[link_name = "\u{1}aws_lc_0_30_0_DH_check"]
14081    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
14082}
14083extern "C" {
14084    #[link_name = "\u{1}aws_lc_0_30_0_DH_check_pub_key"]
14085    pub fn DH_check_pub_key(
14086        dh: *const DH,
14087        pub_key: *const BIGNUM,
14088        out_flags: *mut ::std::os::raw::c_int,
14089    ) -> ::std::os::raw::c_int;
14090}
14091extern "C" {
14092    #[link_name = "\u{1}aws_lc_0_30_0_DHparams_dup"]
14093    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
14094}
14095extern "C" {
14096    #[link_name = "\u{1}aws_lc_0_30_0_DH_parse_parameters"]
14097    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
14098}
14099extern "C" {
14100    #[link_name = "\u{1}aws_lc_0_30_0_DH_marshal_parameters"]
14101    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
14102}
14103extern "C" {
14104    #[link_name = "\u{1}aws_lc_0_30_0_DH_generate_parameters"]
14105    pub fn DH_generate_parameters(
14106        prime_len: ::std::os::raw::c_int,
14107        generator: ::std::os::raw::c_int,
14108        callback: ::std::option::Option<
14109            unsafe extern "C" fn(
14110                arg1: ::std::os::raw::c_int,
14111                arg2: ::std::os::raw::c_int,
14112                arg3: *mut ::std::os::raw::c_void,
14113            ),
14114        >,
14115        cb_arg: *mut ::std::os::raw::c_void,
14116    ) -> *mut DH;
14117}
14118extern "C" {
14119    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DHparams"]
14120    pub fn d2i_DHparams(
14121        ret: *mut *mut DH,
14122        inp: *mut *const ::std::os::raw::c_uchar,
14123        len: ::std::os::raw::c_long,
14124    ) -> *mut DH;
14125}
14126extern "C" {
14127    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DHparams"]
14128    pub fn i2d_DHparams(
14129        in_: *const DH,
14130        outp: *mut *mut ::std::os::raw::c_uchar,
14131    ) -> ::std::os::raw::c_int;
14132}
14133extern "C" {
14134    #[link_name = "\u{1}aws_lc_0_30_0_DH_compute_key"]
14135    pub fn DH_compute_key(
14136        out: *mut u8,
14137        peers_key: *const BIGNUM,
14138        dh: *mut DH,
14139    ) -> ::std::os::raw::c_int;
14140}
14141extern "C" {
14142    #[link_name = "\u{1}aws_lc_0_30_0_DH_get_2048_256"]
14143    pub fn DH_get_2048_256() -> *mut DH;
14144}
14145extern "C" {
14146    #[link_name = "\u{1}aws_lc_0_30_0_DH_clear_flags"]
14147    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
14148}
14149extern "C" {
14150    #[link_name = "\u{1}aws_lc_0_30_0_EVP_md4"]
14151    pub fn EVP_md4() -> *const EVP_MD;
14152}
14153extern "C" {
14154    #[link_name = "\u{1}aws_lc_0_30_0_EVP_md5"]
14155    pub fn EVP_md5() -> *const EVP_MD;
14156}
14157extern "C" {
14158    #[link_name = "\u{1}aws_lc_0_30_0_EVP_ripemd160"]
14159    pub fn EVP_ripemd160() -> *const EVP_MD;
14160}
14161extern "C" {
14162    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha1"]
14163    pub fn EVP_sha1() -> *const EVP_MD;
14164}
14165extern "C" {
14166    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha224"]
14167    pub fn EVP_sha224() -> *const EVP_MD;
14168}
14169extern "C" {
14170    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha256"]
14171    pub fn EVP_sha256() -> *const EVP_MD;
14172}
14173extern "C" {
14174    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha384"]
14175    pub fn EVP_sha384() -> *const EVP_MD;
14176}
14177extern "C" {
14178    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha512"]
14179    pub fn EVP_sha512() -> *const EVP_MD;
14180}
14181extern "C" {
14182    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha512_224"]
14183    pub fn EVP_sha512_224() -> *const EVP_MD;
14184}
14185extern "C" {
14186    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha512_256"]
14187    pub fn EVP_sha512_256() -> *const EVP_MD;
14188}
14189extern "C" {
14190    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha3_224"]
14191    pub fn EVP_sha3_224() -> *const EVP_MD;
14192}
14193extern "C" {
14194    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha3_256"]
14195    pub fn EVP_sha3_256() -> *const EVP_MD;
14196}
14197extern "C" {
14198    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha3_384"]
14199    pub fn EVP_sha3_384() -> *const EVP_MD;
14200}
14201extern "C" {
14202    #[link_name = "\u{1}aws_lc_0_30_0_EVP_sha3_512"]
14203    pub fn EVP_sha3_512() -> *const EVP_MD;
14204}
14205extern "C" {
14206    #[link_name = "\u{1}aws_lc_0_30_0_EVP_shake128"]
14207    pub fn EVP_shake128() -> *const EVP_MD;
14208}
14209extern "C" {
14210    #[link_name = "\u{1}aws_lc_0_30_0_EVP_shake256"]
14211    pub fn EVP_shake256() -> *const EVP_MD;
14212}
14213extern "C" {
14214    #[link_name = "\u{1}aws_lc_0_30_0_EVP_blake2b256"]
14215    pub fn EVP_blake2b256() -> *const EVP_MD;
14216}
14217extern "C" {
14218    #[link_name = "\u{1}aws_lc_0_30_0_EVP_md5_sha1"]
14219    pub fn EVP_md5_sha1() -> *const EVP_MD;
14220}
14221extern "C" {
14222    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_digestbynid"]
14223    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
14224}
14225extern "C" {
14226    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_digestbyobj"]
14227    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
14228}
14229extern "C" {
14230    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_init"]
14231    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
14232}
14233extern "C" {
14234    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_new"]
14235    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
14236}
14237extern "C" {
14238    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_cleanup"]
14239    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14240}
14241extern "C" {
14242    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_cleanse"]
14243    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
14244}
14245extern "C" {
14246    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_free"]
14247    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
14248}
14249extern "C" {
14250    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_copy_ex"]
14251    pub fn EVP_MD_CTX_copy_ex(
14252        out: *mut EVP_MD_CTX,
14253        in_: *const EVP_MD_CTX,
14254    ) -> ::std::os::raw::c_int;
14255}
14256extern "C" {
14257    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_move"]
14258    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
14259}
14260extern "C" {
14261    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_reset"]
14262    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14263}
14264extern "C" {
14265    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestInit_ex"]
14266    pub fn EVP_DigestInit_ex(
14267        ctx: *mut EVP_MD_CTX,
14268        type_: *const EVP_MD,
14269        engine: *mut ENGINE,
14270    ) -> ::std::os::raw::c_int;
14271}
14272extern "C" {
14273    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestInit"]
14274    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
14275}
14276extern "C" {
14277    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestUpdate"]
14278    pub fn EVP_DigestUpdate(
14279        ctx: *mut EVP_MD_CTX,
14280        data: *const ::std::os::raw::c_void,
14281        len: usize,
14282    ) -> ::std::os::raw::c_int;
14283}
14284extern "C" {
14285    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestFinal_ex"]
14286    pub fn EVP_DigestFinal_ex(
14287        ctx: *mut EVP_MD_CTX,
14288        md_out: *mut u8,
14289        out_size: *mut ::std::os::raw::c_uint,
14290    ) -> ::std::os::raw::c_int;
14291}
14292extern "C" {
14293    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestFinal"]
14294    pub fn EVP_DigestFinal(
14295        ctx: *mut EVP_MD_CTX,
14296        md_out: *mut u8,
14297        out_size: *mut ::std::os::raw::c_uint,
14298    ) -> ::std::os::raw::c_int;
14299}
14300extern "C" {
14301    #[link_name = "\u{1}aws_lc_0_30_0_EVP_Digest"]
14302    pub fn EVP_Digest(
14303        data: *const ::std::os::raw::c_void,
14304        len: usize,
14305        md_out: *mut u8,
14306        out_size: *mut ::std::os::raw::c_uint,
14307        type_: *const EVP_MD,
14308        impl_: *mut ENGINE,
14309    ) -> ::std::os::raw::c_int;
14310}
14311extern "C" {
14312    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_type"]
14313    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
14314}
14315extern "C" {
14316    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_flags"]
14317    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
14318}
14319extern "C" {
14320    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_size"]
14321    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
14322}
14323extern "C" {
14324    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_block_size"]
14325    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
14326}
14327extern "C" {
14328    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_md"]
14329    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
14330}
14331extern "C" {
14332    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_size"]
14333    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
14334}
14335extern "C" {
14336    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_block_size"]
14337    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
14338}
14339extern "C" {
14340    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_type"]
14341    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14342}
14343extern "C" {
14344    #[link_name = "\u{1}aws_lc_0_30_0_EVP_parse_digest_algorithm"]
14345    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
14346}
14347extern "C" {
14348    #[link_name = "\u{1}aws_lc_0_30_0_EVP_marshal_digest_algorithm"]
14349    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
14350}
14351extern "C" {
14352    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_copy"]
14353    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14354}
14355extern "C" {
14356    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_digestbyname"]
14357    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
14358}
14359extern "C" {
14360    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_create"]
14361    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
14362}
14363extern "C" {
14364    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_destroy"]
14365    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
14366}
14367extern "C" {
14368    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestFinalXOF"]
14369    pub fn EVP_DigestFinalXOF(
14370        ctx: *mut EVP_MD_CTX,
14371        out: *mut u8,
14372        len: usize,
14373    ) -> ::std::os::raw::c_int;
14374}
14375extern "C" {
14376    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestSqueeze"]
14377    pub fn EVP_DigestSqueeze(
14378        ctx: *mut EVP_MD_CTX,
14379        out: *mut u8,
14380        len: usize,
14381    ) -> ::std::os::raw::c_int;
14382}
14383extern "C" {
14384    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_meth_get_flags"]
14385    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
14386}
14387extern "C" {
14388    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_nid"]
14389    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
14390}
14391extern "C" {
14392    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_set_pkey_ctx"]
14393    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
14394}
14395extern "C" {
14396    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_get_pkey_ctx"]
14397    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14398}
14399extern "C" {
14400    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_pkey_ctx"]
14401    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14402}
14403#[repr(C)]
14404#[derive(Debug, Copy, Clone)]
14405pub struct evp_md_pctx_ops {
14406    _unused: [u8; 0],
14407}
14408#[repr(C)]
14409#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14410pub struct env_md_ctx_st {
14411    pub digest: *const EVP_MD,
14412    pub md_data: *mut ::std::os::raw::c_void,
14413    pub update: ::std::option::Option<
14414        unsafe extern "C" fn(
14415            ctx: *mut EVP_MD_CTX,
14416            data: *const ::std::os::raw::c_void,
14417            count: usize,
14418        ) -> ::std::os::raw::c_int,
14419    >,
14420    pub pctx: *mut EVP_PKEY_CTX,
14421    pub pctx_ops: *const evp_md_pctx_ops,
14422    pub flags: ::std::os::raw::c_ulong,
14423}
14424#[test]
14425fn bindgen_test_layout_env_md_ctx_st() {
14426    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
14427    let ptr = UNINIT.as_ptr();
14428    assert_eq!(
14429        ::std::mem::size_of::<env_md_ctx_st>(),
14430        48usize,
14431        concat!("Size of: ", stringify!(env_md_ctx_st))
14432    );
14433    assert_eq!(
14434        ::std::mem::align_of::<env_md_ctx_st>(),
14435        8usize,
14436        concat!("Alignment of ", stringify!(env_md_ctx_st))
14437    );
14438    assert_eq!(
14439        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
14440        0usize,
14441        concat!(
14442            "Offset of field: ",
14443            stringify!(env_md_ctx_st),
14444            "::",
14445            stringify!(digest)
14446        )
14447    );
14448    assert_eq!(
14449        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
14450        8usize,
14451        concat!(
14452            "Offset of field: ",
14453            stringify!(env_md_ctx_st),
14454            "::",
14455            stringify!(md_data)
14456        )
14457    );
14458    assert_eq!(
14459        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
14460        16usize,
14461        concat!(
14462            "Offset of field: ",
14463            stringify!(env_md_ctx_st),
14464            "::",
14465            stringify!(update)
14466        )
14467    );
14468    assert_eq!(
14469        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
14470        24usize,
14471        concat!(
14472            "Offset of field: ",
14473            stringify!(env_md_ctx_st),
14474            "::",
14475            stringify!(pctx)
14476        )
14477    );
14478    assert_eq!(
14479        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
14480        32usize,
14481        concat!(
14482            "Offset of field: ",
14483            stringify!(env_md_ctx_st),
14484            "::",
14485            stringify!(pctx_ops)
14486        )
14487    );
14488    assert_eq!(
14489        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
14490        40usize,
14491        concat!(
14492            "Offset of field: ",
14493            stringify!(env_md_ctx_st),
14494            "::",
14495            stringify!(flags)
14496        )
14497    );
14498}
14499impl Default for env_md_ctx_st {
14500    fn default() -> Self {
14501        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14502        unsafe {
14503            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14504            s.assume_init()
14505        }
14506    }
14507}
14508extern "C" {
14509    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_unstable_sha3_enable"]
14510    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
14511}
14512extern "C" {
14513    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_unstable_sha3_is_enabled"]
14514    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
14515}
14516extern "C" {
14517    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_CTX_set_flags"]
14518    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
14519}
14520extern "C" {
14521    #[link_name = "\u{1}aws_lc_0_30_0_EVP_add_digest"]
14522    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
14523}
14524extern "C" {
14525    #[link_name = "\u{1}aws_lc_0_30_0_EVP_md_null"]
14526    pub fn EVP_md_null() -> *const EVP_MD;
14527}
14528extern "C" {
14529    #[link_name = "\u{1}aws_lc_0_30_0_DSA_new"]
14530    pub fn DSA_new() -> *mut DSA;
14531}
14532extern "C" {
14533    #[link_name = "\u{1}aws_lc_0_30_0_DSA_free"]
14534    pub fn DSA_free(dsa: *mut DSA);
14535}
14536extern "C" {
14537    #[link_name = "\u{1}aws_lc_0_30_0_DSA_up_ref"]
14538    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
14539}
14540extern "C" {
14541    #[link_name = "\u{1}aws_lc_0_30_0_DSA_print"]
14542    pub fn DSA_print(
14543        bio: *mut BIO,
14544        dsa: *const DSA,
14545        indent: ::std::os::raw::c_int,
14546    ) -> ::std::os::raw::c_int;
14547}
14548extern "C" {
14549    #[link_name = "\u{1}aws_lc_0_30_0_DSA_print_fp"]
14550    pub fn DSA_print_fp(
14551        fp: *mut FILE,
14552        dsa: *const DSA,
14553        indent: ::std::os::raw::c_int,
14554    ) -> ::std::os::raw::c_int;
14555}
14556extern "C" {
14557    #[link_name = "\u{1}aws_lc_0_30_0_DSA_bits"]
14558    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
14559}
14560extern "C" {
14561    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_pub_key"]
14562    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
14563}
14564extern "C" {
14565    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_priv_key"]
14566    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
14567}
14568extern "C" {
14569    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_p"]
14570    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
14571}
14572extern "C" {
14573    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_q"]
14574    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
14575}
14576extern "C" {
14577    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_g"]
14578    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
14579}
14580extern "C" {
14581    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_key"]
14582    pub fn DSA_get0_key(
14583        dsa: *const DSA,
14584        out_pub_key: *mut *const BIGNUM,
14585        out_priv_key: *mut *const BIGNUM,
14586    );
14587}
14588extern "C" {
14589    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get0_pqg"]
14590    pub fn DSA_get0_pqg(
14591        dsa: *const DSA,
14592        out_p: *mut *const BIGNUM,
14593        out_q: *mut *const BIGNUM,
14594        out_g: *mut *const BIGNUM,
14595    );
14596}
14597extern "C" {
14598    #[link_name = "\u{1}aws_lc_0_30_0_DSA_set0_key"]
14599    pub fn DSA_set0_key(
14600        dsa: *mut DSA,
14601        pub_key: *mut BIGNUM,
14602        priv_key: *mut BIGNUM,
14603    ) -> ::std::os::raw::c_int;
14604}
14605extern "C" {
14606    #[link_name = "\u{1}aws_lc_0_30_0_DSA_set0_pqg"]
14607    pub fn DSA_set0_pqg(
14608        dsa: *mut DSA,
14609        p: *mut BIGNUM,
14610        q: *mut BIGNUM,
14611        g: *mut BIGNUM,
14612    ) -> ::std::os::raw::c_int;
14613}
14614extern "C" {
14615    #[link_name = "\u{1}aws_lc_0_30_0_DSA_generate_parameters_ex"]
14616    pub fn DSA_generate_parameters_ex(
14617        dsa: *mut DSA,
14618        bits: ::std::os::raw::c_uint,
14619        seed: *const u8,
14620        seed_len: usize,
14621        out_counter: *mut ::std::os::raw::c_int,
14622        out_h: *mut ::std::os::raw::c_ulong,
14623        cb: *mut BN_GENCB,
14624    ) -> ::std::os::raw::c_int;
14625}
14626extern "C" {
14627    #[link_name = "\u{1}aws_lc_0_30_0_DSAparams_dup"]
14628    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
14629}
14630extern "C" {
14631    #[link_name = "\u{1}aws_lc_0_30_0_DSA_generate_key"]
14632    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
14633}
14634#[repr(C)]
14635#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14636pub struct DSA_SIG_st {
14637    pub r: *mut BIGNUM,
14638    pub s: *mut BIGNUM,
14639}
14640#[test]
14641fn bindgen_test_layout_DSA_SIG_st() {
14642    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
14643    let ptr = UNINIT.as_ptr();
14644    assert_eq!(
14645        ::std::mem::size_of::<DSA_SIG_st>(),
14646        16usize,
14647        concat!("Size of: ", stringify!(DSA_SIG_st))
14648    );
14649    assert_eq!(
14650        ::std::mem::align_of::<DSA_SIG_st>(),
14651        8usize,
14652        concat!("Alignment of ", stringify!(DSA_SIG_st))
14653    );
14654    assert_eq!(
14655        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14656        0usize,
14657        concat!(
14658            "Offset of field: ",
14659            stringify!(DSA_SIG_st),
14660            "::",
14661            stringify!(r)
14662        )
14663    );
14664    assert_eq!(
14665        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14666        8usize,
14667        concat!(
14668            "Offset of field: ",
14669            stringify!(DSA_SIG_st),
14670            "::",
14671            stringify!(s)
14672        )
14673    );
14674}
14675impl Default for DSA_SIG_st {
14676    fn default() -> Self {
14677        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14678        unsafe {
14679            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14680            s.assume_init()
14681        }
14682    }
14683}
14684extern "C" {
14685    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_new"]
14686    pub fn DSA_SIG_new() -> *mut DSA_SIG;
14687}
14688extern "C" {
14689    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_free"]
14690    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
14691}
14692extern "C" {
14693    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_get0"]
14694    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
14695}
14696extern "C" {
14697    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_set0"]
14698    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
14699        -> ::std::os::raw::c_int;
14700}
14701extern "C" {
14702    #[link_name = "\u{1}aws_lc_0_30_0_DSA_do_sign"]
14703    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
14704}
14705extern "C" {
14706    #[link_name = "\u{1}aws_lc_0_30_0_DSA_do_verify"]
14707    pub fn DSA_do_verify(
14708        digest: *const u8,
14709        digest_len: usize,
14710        sig: *const DSA_SIG,
14711        dsa: *const DSA,
14712    ) -> ::std::os::raw::c_int;
14713}
14714extern "C" {
14715    #[link_name = "\u{1}aws_lc_0_30_0_DSA_do_check_signature"]
14716    pub fn DSA_do_check_signature(
14717        out_valid: *mut ::std::os::raw::c_int,
14718        digest: *const u8,
14719        digest_len: usize,
14720        sig: *const DSA_SIG,
14721        dsa: *const DSA,
14722    ) -> ::std::os::raw::c_int;
14723}
14724extern "C" {
14725    #[link_name = "\u{1}aws_lc_0_30_0_DSA_sign"]
14726    pub fn DSA_sign(
14727        type_: ::std::os::raw::c_int,
14728        digest: *const u8,
14729        digest_len: usize,
14730        out_sig: *mut u8,
14731        out_siglen: *mut ::std::os::raw::c_uint,
14732        dsa: *const DSA,
14733    ) -> ::std::os::raw::c_int;
14734}
14735extern "C" {
14736    #[link_name = "\u{1}aws_lc_0_30_0_DSA_verify"]
14737    pub fn DSA_verify(
14738        type_: ::std::os::raw::c_int,
14739        digest: *const u8,
14740        digest_len: usize,
14741        sig: *const u8,
14742        sig_len: usize,
14743        dsa: *const DSA,
14744    ) -> ::std::os::raw::c_int;
14745}
14746extern "C" {
14747    #[link_name = "\u{1}aws_lc_0_30_0_DSA_check_signature"]
14748    pub fn DSA_check_signature(
14749        out_valid: *mut ::std::os::raw::c_int,
14750        digest: *const u8,
14751        digest_len: usize,
14752        sig: *const u8,
14753        sig_len: usize,
14754        dsa: *const DSA,
14755    ) -> ::std::os::raw::c_int;
14756}
14757extern "C" {
14758    #[link_name = "\u{1}aws_lc_0_30_0_DSA_size"]
14759    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
14760}
14761extern "C" {
14762    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_parse"]
14763    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
14764}
14765extern "C" {
14766    #[link_name = "\u{1}aws_lc_0_30_0_DSA_SIG_marshal"]
14767    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
14768}
14769extern "C" {
14770    #[link_name = "\u{1}aws_lc_0_30_0_DSA_parse_public_key"]
14771    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
14772}
14773extern "C" {
14774    #[link_name = "\u{1}aws_lc_0_30_0_DSA_marshal_public_key"]
14775    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14776}
14777extern "C" {
14778    #[link_name = "\u{1}aws_lc_0_30_0_DSA_parse_private_key"]
14779    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
14780}
14781extern "C" {
14782    #[link_name = "\u{1}aws_lc_0_30_0_DSA_marshal_private_key"]
14783    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14784}
14785extern "C" {
14786    #[link_name = "\u{1}aws_lc_0_30_0_DSA_parse_parameters"]
14787    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
14788}
14789extern "C" {
14790    #[link_name = "\u{1}aws_lc_0_30_0_DSA_marshal_parameters"]
14791    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14792}
14793extern "C" {
14794    #[link_name = "\u{1}aws_lc_0_30_0_DSA_dup_DH"]
14795    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
14796}
14797extern "C" {
14798    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get_ex_new_index"]
14799    pub fn DSA_get_ex_new_index(
14800        argl: ::std::os::raw::c_long,
14801        argp: *mut ::std::os::raw::c_void,
14802        unused: *mut CRYPTO_EX_unused,
14803        dup_unused: CRYPTO_EX_dup,
14804        free_func: CRYPTO_EX_free,
14805    ) -> ::std::os::raw::c_int;
14806}
14807extern "C" {
14808    #[link_name = "\u{1}aws_lc_0_30_0_DSA_set_ex_data"]
14809    pub fn DSA_set_ex_data(
14810        dsa: *mut DSA,
14811        idx: ::std::os::raw::c_int,
14812        arg: *mut ::std::os::raw::c_void,
14813    ) -> ::std::os::raw::c_int;
14814}
14815extern "C" {
14816    #[link_name = "\u{1}aws_lc_0_30_0_DSA_get_ex_data"]
14817    pub fn DSA_get_ex_data(
14818        dsa: *const DSA,
14819        idx: ::std::os::raw::c_int,
14820    ) -> *mut ::std::os::raw::c_void;
14821}
14822extern "C" {
14823    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSA_SIG"]
14824    pub fn d2i_DSA_SIG(
14825        out_sig: *mut *mut DSA_SIG,
14826        inp: *mut *const u8,
14827        len: ::std::os::raw::c_long,
14828    ) -> *mut DSA_SIG;
14829}
14830extern "C" {
14831    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSA_SIG"]
14832    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14833}
14834extern "C" {
14835    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSAPublicKey"]
14836    pub fn d2i_DSAPublicKey(
14837        out: *mut *mut DSA,
14838        inp: *mut *const u8,
14839        len: ::std::os::raw::c_long,
14840    ) -> *mut DSA;
14841}
14842extern "C" {
14843    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSAPublicKey"]
14844    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14845}
14846extern "C" {
14847    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSAPrivateKey"]
14848    pub fn d2i_DSAPrivateKey(
14849        out: *mut *mut DSA,
14850        inp: *mut *const u8,
14851        len: ::std::os::raw::c_long,
14852    ) -> *mut DSA;
14853}
14854extern "C" {
14855    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSAPrivateKey"]
14856    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14857}
14858extern "C" {
14859    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSAparams"]
14860    pub fn d2i_DSAparams(
14861        out: *mut *mut DSA,
14862        inp: *mut *const u8,
14863        len: ::std::os::raw::c_long,
14864    ) -> *mut DSA;
14865}
14866extern "C" {
14867    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSAparams"]
14868    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14869}
14870#[repr(u32)]
14871#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14872pub enum point_conversion_form_t {
14873    POINT_CONVERSION_COMPRESSED = 2,
14874    POINT_CONVERSION_UNCOMPRESSED = 4,
14875    POINT_CONVERSION_HYBRID = 6,
14876}
14877extern "C" {
14878    #[link_name = "\u{1}aws_lc_0_30_0_EC_group_p224"]
14879    pub fn EC_group_p224() -> *const EC_GROUP;
14880}
14881extern "C" {
14882    #[link_name = "\u{1}aws_lc_0_30_0_EC_group_p256"]
14883    pub fn EC_group_p256() -> *const EC_GROUP;
14884}
14885extern "C" {
14886    #[link_name = "\u{1}aws_lc_0_30_0_EC_group_p384"]
14887    pub fn EC_group_p384() -> *const EC_GROUP;
14888}
14889extern "C" {
14890    #[link_name = "\u{1}aws_lc_0_30_0_EC_group_p521"]
14891    pub fn EC_group_p521() -> *const EC_GROUP;
14892}
14893extern "C" {
14894    #[link_name = "\u{1}aws_lc_0_30_0_EC_group_secp256k1"]
14895    pub fn EC_group_secp256k1() -> *const EC_GROUP;
14896}
14897extern "C" {
14898    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_new_by_curve_name"]
14899    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14900}
14901extern "C" {
14902    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_new_by_curve_name_mutable"]
14903    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14904}
14905extern "C" {
14906    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_cmp"]
14907    pub fn EC_GROUP_cmp(
14908        a: *const EC_GROUP,
14909        b: *const EC_GROUP,
14910        ignored: *mut BN_CTX,
14911    ) -> ::std::os::raw::c_int;
14912}
14913extern "C" {
14914    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get0_generator"]
14915    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14916}
14917extern "C" {
14918    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get0_order"]
14919    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14920}
14921extern "C" {
14922    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_order_bits"]
14923    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14924}
14925extern "C" {
14926    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_cofactor"]
14927    pub fn EC_GROUP_get_cofactor(
14928        group: *const EC_GROUP,
14929        cofactor: *mut BIGNUM,
14930        ctx: *mut BN_CTX,
14931    ) -> ::std::os::raw::c_int;
14932}
14933extern "C" {
14934    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_curve_GFp"]
14935    pub fn EC_GROUP_get_curve_GFp(
14936        group: *const EC_GROUP,
14937        out_p: *mut BIGNUM,
14938        out_a: *mut BIGNUM,
14939        out_b: *mut BIGNUM,
14940        ctx: *mut BN_CTX,
14941    ) -> ::std::os::raw::c_int;
14942}
14943extern "C" {
14944    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_curve_name"]
14945    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14946}
14947extern "C" {
14948    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_degree"]
14949    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14950}
14951extern "C" {
14952    #[link_name = "\u{1}aws_lc_0_30_0_EC_curve_nid2nist"]
14953    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14954}
14955extern "C" {
14956    #[link_name = "\u{1}aws_lc_0_30_0_EC_curve_nist2nid"]
14957    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14958}
14959extern "C" {
14960    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_new"]
14961    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14962}
14963extern "C" {
14964    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_free"]
14965    pub fn EC_POINT_free(point: *mut EC_POINT);
14966}
14967extern "C" {
14968    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_copy"]
14969    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14970}
14971extern "C" {
14972    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_dup"]
14973    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14974}
14975extern "C" {
14976    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_set_to_infinity"]
14977    pub fn EC_POINT_set_to_infinity(
14978        group: *const EC_GROUP,
14979        point: *mut EC_POINT,
14980    ) -> ::std::os::raw::c_int;
14981}
14982extern "C" {
14983    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_is_at_infinity"]
14984    pub fn EC_POINT_is_at_infinity(
14985        group: *const EC_GROUP,
14986        point: *const EC_POINT,
14987    ) -> ::std::os::raw::c_int;
14988}
14989extern "C" {
14990    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_is_on_curve"]
14991    pub fn EC_POINT_is_on_curve(
14992        group: *const EC_GROUP,
14993        point: *const EC_POINT,
14994        ctx: *mut BN_CTX,
14995    ) -> ::std::os::raw::c_int;
14996}
14997extern "C" {
14998    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_cmp"]
14999    pub fn EC_POINT_cmp(
15000        group: *const EC_GROUP,
15001        a: *const EC_POINT,
15002        b: *const EC_POINT,
15003        ctx: *mut BN_CTX,
15004    ) -> ::std::os::raw::c_int;
15005}
15006extern "C" {
15007    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_get_affine_coordinates_GFp"]
15008    pub fn EC_POINT_get_affine_coordinates_GFp(
15009        group: *const EC_GROUP,
15010        point: *const EC_POINT,
15011        x: *mut BIGNUM,
15012        y: *mut BIGNUM,
15013        ctx: *mut BN_CTX,
15014    ) -> ::std::os::raw::c_int;
15015}
15016extern "C" {
15017    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_get_affine_coordinates"]
15018    pub fn EC_POINT_get_affine_coordinates(
15019        group: *const EC_GROUP,
15020        point: *const EC_POINT,
15021        x: *mut BIGNUM,
15022        y: *mut BIGNUM,
15023        ctx: *mut BN_CTX,
15024    ) -> ::std::os::raw::c_int;
15025}
15026extern "C" {
15027    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_set_affine_coordinates_GFp"]
15028    pub fn EC_POINT_set_affine_coordinates_GFp(
15029        group: *const EC_GROUP,
15030        point: *mut EC_POINT,
15031        x: *const BIGNUM,
15032        y: *const BIGNUM,
15033        ctx: *mut BN_CTX,
15034    ) -> ::std::os::raw::c_int;
15035}
15036extern "C" {
15037    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_set_affine_coordinates"]
15038    pub fn EC_POINT_set_affine_coordinates(
15039        group: *const EC_GROUP,
15040        point: *mut EC_POINT,
15041        x: *const BIGNUM,
15042        y: *const BIGNUM,
15043        ctx: *mut BN_CTX,
15044    ) -> ::std::os::raw::c_int;
15045}
15046extern "C" {
15047    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_point2oct"]
15048    pub fn EC_POINT_point2oct(
15049        group: *const EC_GROUP,
15050        point: *const EC_POINT,
15051        form: point_conversion_form_t,
15052        buf: *mut u8,
15053        len: usize,
15054        ctx: *mut BN_CTX,
15055    ) -> usize;
15056}
15057extern "C" {
15058    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_point2cbb"]
15059    pub fn EC_POINT_point2cbb(
15060        out: *mut CBB,
15061        group: *const EC_GROUP,
15062        point: *const EC_POINT,
15063        form: point_conversion_form_t,
15064        ctx: *mut BN_CTX,
15065    ) -> ::std::os::raw::c_int;
15066}
15067extern "C" {
15068    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_oct2point"]
15069    pub fn EC_POINT_oct2point(
15070        group: *const EC_GROUP,
15071        point: *mut EC_POINT,
15072        buf: *const u8,
15073        len: usize,
15074        ctx: *mut BN_CTX,
15075    ) -> ::std::os::raw::c_int;
15076}
15077extern "C" {
15078    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_set_compressed_coordinates_GFp"]
15079    pub fn EC_POINT_set_compressed_coordinates_GFp(
15080        group: *const EC_GROUP,
15081        point: *mut EC_POINT,
15082        x: *const BIGNUM,
15083        y_bit: ::std::os::raw::c_int,
15084        ctx: *mut BN_CTX,
15085    ) -> ::std::os::raw::c_int;
15086}
15087extern "C" {
15088    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_add"]
15089    pub fn EC_POINT_add(
15090        group: *const EC_GROUP,
15091        r: *mut EC_POINT,
15092        a: *const EC_POINT,
15093        b: *const EC_POINT,
15094        ctx: *mut BN_CTX,
15095    ) -> ::std::os::raw::c_int;
15096}
15097extern "C" {
15098    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_dbl"]
15099    pub fn EC_POINT_dbl(
15100        group: *const EC_GROUP,
15101        r: *mut EC_POINT,
15102        a: *const EC_POINT,
15103        ctx: *mut BN_CTX,
15104    ) -> ::std::os::raw::c_int;
15105}
15106extern "C" {
15107    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_invert"]
15108    pub fn EC_POINT_invert(
15109        group: *const EC_GROUP,
15110        a: *mut EC_POINT,
15111        ctx: *mut BN_CTX,
15112    ) -> ::std::os::raw::c_int;
15113}
15114extern "C" {
15115    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_mul"]
15116    pub fn EC_POINT_mul(
15117        group: *const EC_GROUP,
15118        r: *mut EC_POINT,
15119        n: *const BIGNUM,
15120        q: *const EC_POINT,
15121        m: *const BIGNUM,
15122        ctx: *mut BN_CTX,
15123    ) -> ::std::os::raw::c_int;
15124}
15125extern "C" {
15126    #[link_name = "\u{1}aws_lc_0_30_0_EC_hash_to_curve_p256_xmd_sha256_sswu"]
15127    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
15128        group: *const EC_GROUP,
15129        out: *mut EC_POINT,
15130        dst: *const u8,
15131        dst_len: usize,
15132        msg: *const u8,
15133        msg_len: usize,
15134    ) -> ::std::os::raw::c_int;
15135}
15136extern "C" {
15137    #[link_name = "\u{1}aws_lc_0_30_0_EC_hash_to_curve_p384_xmd_sha384_sswu"]
15138    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
15139        group: *const EC_GROUP,
15140        out: *mut EC_POINT,
15141        dst: *const u8,
15142        dst_len: usize,
15143        msg: *const u8,
15144        msg_len: usize,
15145    ) -> ::std::os::raw::c_int;
15146}
15147extern "C" {
15148    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_free"]
15149    pub fn EC_GROUP_free(group: *mut EC_GROUP);
15150}
15151extern "C" {
15152    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_dup"]
15153    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
15154}
15155extern "C" {
15156    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_new_curve_GFp"]
15157    pub fn EC_GROUP_new_curve_GFp(
15158        p: *const BIGNUM,
15159        a: *const BIGNUM,
15160        b: *const BIGNUM,
15161        ctx: *mut BN_CTX,
15162    ) -> *mut EC_GROUP;
15163}
15164extern "C" {
15165    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_set_generator"]
15166    pub fn EC_GROUP_set_generator(
15167        group: *mut EC_GROUP,
15168        generator: *const EC_POINT,
15169        order: *const BIGNUM,
15170        cofactor: *const BIGNUM,
15171    ) -> ::std::os::raw::c_int;
15172}
15173extern "C" {
15174    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_point2bn"]
15175    pub fn EC_POINT_point2bn(
15176        group: *const EC_GROUP,
15177        point: *const EC_POINT,
15178        form: point_conversion_form_t,
15179        ret: *mut BIGNUM,
15180        ctx: *mut BN_CTX,
15181    ) -> *mut BIGNUM;
15182}
15183extern "C" {
15184    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_bn2point"]
15185    pub fn EC_POINT_bn2point(
15186        group: *const EC_GROUP,
15187        bn: *const BIGNUM,
15188        point: *mut EC_POINT,
15189        ctx: *mut BN_CTX,
15190    ) -> *mut EC_POINT;
15191}
15192extern "C" {
15193    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_order"]
15194    pub fn EC_GROUP_get_order(
15195        group: *const EC_GROUP,
15196        order: *mut BIGNUM,
15197        ctx: *mut BN_CTX,
15198    ) -> ::std::os::raw::c_int;
15199}
15200#[repr(C)]
15201#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15202pub struct EC_builtin_curve {
15203    pub nid: ::std::os::raw::c_int,
15204    pub comment: *const ::std::os::raw::c_char,
15205}
15206#[test]
15207fn bindgen_test_layout_EC_builtin_curve() {
15208    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
15209    let ptr = UNINIT.as_ptr();
15210    assert_eq!(
15211        ::std::mem::size_of::<EC_builtin_curve>(),
15212        16usize,
15213        concat!("Size of: ", stringify!(EC_builtin_curve))
15214    );
15215    assert_eq!(
15216        ::std::mem::align_of::<EC_builtin_curve>(),
15217        8usize,
15218        concat!("Alignment of ", stringify!(EC_builtin_curve))
15219    );
15220    assert_eq!(
15221        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
15222        0usize,
15223        concat!(
15224            "Offset of field: ",
15225            stringify!(EC_builtin_curve),
15226            "::",
15227            stringify!(nid)
15228        )
15229    );
15230    assert_eq!(
15231        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
15232        8usize,
15233        concat!(
15234            "Offset of field: ",
15235            stringify!(EC_builtin_curve),
15236            "::",
15237            stringify!(comment)
15238        )
15239    );
15240}
15241impl Default for EC_builtin_curve {
15242    fn default() -> Self {
15243        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15244        unsafe {
15245            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15246            s.assume_init()
15247        }
15248    }
15249}
15250extern "C" {
15251    #[link_name = "\u{1}aws_lc_0_30_0_EC_get_builtin_curves"]
15252    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
15253        -> usize;
15254}
15255extern "C" {
15256    #[link_name = "\u{1}aws_lc_0_30_0_EC_POINT_clear_free"]
15257    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
15258}
15259extern "C" {
15260    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_set_seed"]
15261    pub fn EC_GROUP_set_seed(
15262        group: *mut EC_GROUP,
15263        p: *const ::std::os::raw::c_uchar,
15264        len: usize,
15265    ) -> usize;
15266}
15267extern "C" {
15268    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get0_seed"]
15269    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
15270}
15271extern "C" {
15272    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_seed_len"]
15273    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
15274}
15275extern "C" {
15276    #[link_name = "\u{1}aws_lc_0_30_0_ECPKParameters_print"]
15277    pub fn ECPKParameters_print(
15278        bio: *mut BIO,
15279        group: *const EC_GROUP,
15280        offset: ::std::os::raw::c_int,
15281    ) -> ::std::os::raw::c_int;
15282}
15283extern "C" {
15284    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_set_asn1_flag"]
15285    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
15286}
15287extern "C" {
15288    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_asn1_flag"]
15289    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
15290}
15291extern "C" {
15292    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_set_point_conversion_form"]
15293    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
15294}
15295extern "C" {
15296    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_get_point_conversion_form"]
15297    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
15298}
15299#[repr(C)]
15300#[derive(Debug, Copy, Clone)]
15301pub struct ec_method_st {
15302    _unused: [u8; 0],
15303}
15304pub type EC_METHOD = ec_method_st;
15305extern "C" {
15306    #[link_name = "\u{1}aws_lc_0_30_0_EC_GROUP_method_of"]
15307    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
15308}
15309extern "C" {
15310    #[link_name = "\u{1}aws_lc_0_30_0_EC_METHOD_get_field_type"]
15311    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
15312}
15313extern "C" {
15314    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_new"]
15315    pub fn ENGINE_new() -> *mut ENGINE;
15316}
15317extern "C" {
15318    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_free"]
15319    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
15320}
15321extern "C" {
15322    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_set_RSA"]
15323    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
15324}
15325extern "C" {
15326    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_get_RSA"]
15327    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
15328}
15329extern "C" {
15330    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_set_EC"]
15331    pub fn ENGINE_set_EC(
15332        engine: *mut ENGINE,
15333        method: *const EC_KEY_METHOD,
15334    ) -> ::std::os::raw::c_int;
15335}
15336extern "C" {
15337    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_get_EC"]
15338    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
15339}
15340extern "C" {
15341    #[link_name = "\u{1}aws_lc_0_30_0_ENGINE_cleanup"]
15342    pub fn ENGINE_cleanup();
15343}
15344extern "C" {
15345    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_new"]
15346    pub fn EC_KEY_new() -> *mut EC_KEY;
15347}
15348extern "C" {
15349    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_new_method"]
15350    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
15351}
15352extern "C" {
15353    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_new_by_curve_name"]
15354    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
15355}
15356extern "C" {
15357    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_free"]
15358    pub fn EC_KEY_free(key: *mut EC_KEY);
15359}
15360extern "C" {
15361    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_dup"]
15362    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
15363}
15364extern "C" {
15365    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_up_ref"]
15366    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15367}
15368extern "C" {
15369    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_is_opaque"]
15370    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
15371}
15372extern "C" {
15373    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get0_group"]
15374    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
15375}
15376extern "C" {
15377    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_group"]
15378    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15379}
15380extern "C" {
15381    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get0_private_key"]
15382    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
15383}
15384extern "C" {
15385    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_private_key"]
15386    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
15387}
15388extern "C" {
15389    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get0_public_key"]
15390    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
15391}
15392extern "C" {
15393    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_public_key"]
15394    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
15395}
15396extern "C" {
15397    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_enc_flags"]
15398    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
15399}
15400extern "C" {
15401    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_enc_flags"]
15402    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
15403}
15404extern "C" {
15405    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_conv_form"]
15406    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
15407}
15408extern "C" {
15409    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_conv_form"]
15410    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
15411}
15412extern "C" {
15413    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_check_key"]
15414    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
15415}
15416extern "C" {
15417    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_check_fips"]
15418    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
15419}
15420extern "C" {
15421    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_public_key_affine_coordinates"]
15422    pub fn EC_KEY_set_public_key_affine_coordinates(
15423        key: *mut EC_KEY,
15424        x: *const BIGNUM,
15425        y: *const BIGNUM,
15426    ) -> ::std::os::raw::c_int;
15427}
15428extern "C" {
15429    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_key2buf"]
15430    pub fn EC_KEY_key2buf(
15431        key: *const EC_KEY,
15432        form: point_conversion_form_t,
15433        out_buf: *mut *mut ::std::os::raw::c_uchar,
15434        ctx: *mut BN_CTX,
15435    ) -> usize;
15436}
15437extern "C" {
15438    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_generate_key"]
15439    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15440}
15441extern "C" {
15442    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_generate_key_fips"]
15443    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15444}
15445extern "C" {
15446    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_derive_from_secret"]
15447    pub fn EC_KEY_derive_from_secret(
15448        group: *const EC_GROUP,
15449        secret: *const u8,
15450        secret_len: usize,
15451    ) -> *mut EC_KEY;
15452}
15453extern "C" {
15454    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_parse_private_key"]
15455    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
15456}
15457extern "C" {
15458    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_marshal_private_key"]
15459    pub fn EC_KEY_marshal_private_key(
15460        cbb: *mut CBB,
15461        key: *const EC_KEY,
15462        enc_flags: ::std::os::raw::c_uint,
15463    ) -> ::std::os::raw::c_int;
15464}
15465extern "C" {
15466    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_parse_curve_name"]
15467    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
15468}
15469extern "C" {
15470    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_marshal_curve_name"]
15471    pub fn EC_KEY_marshal_curve_name(
15472        cbb: *mut CBB,
15473        group: *const EC_GROUP,
15474    ) -> ::std::os::raw::c_int;
15475}
15476extern "C" {
15477    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_parse_parameters"]
15478    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
15479}
15480extern "C" {
15481    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_ex_new_index"]
15482    pub fn EC_KEY_get_ex_new_index(
15483        argl: ::std::os::raw::c_long,
15484        argp: *mut ::std::os::raw::c_void,
15485        unused: *mut CRYPTO_EX_unused,
15486        dup_unused: CRYPTO_EX_dup,
15487        free_func: CRYPTO_EX_free,
15488    ) -> ::std::os::raw::c_int;
15489}
15490extern "C" {
15491    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_ex_data"]
15492    pub fn EC_KEY_set_ex_data(
15493        r: *mut EC_KEY,
15494        idx: ::std::os::raw::c_int,
15495        arg: *mut ::std::os::raw::c_void,
15496    ) -> ::std::os::raw::c_int;
15497}
15498extern "C" {
15499    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_ex_data"]
15500    pub fn EC_KEY_get_ex_data(
15501        r: *const EC_KEY,
15502        idx: ::std::os::raw::c_int,
15503    ) -> *mut ::std::os::raw::c_void;
15504}
15505extern "C" {
15506    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECPrivateKey"]
15507    pub fn d2i_ECPrivateKey(
15508        out_key: *mut *mut EC_KEY,
15509        inp: *mut *const u8,
15510        len: ::std::os::raw::c_long,
15511    ) -> *mut EC_KEY;
15512}
15513extern "C" {
15514    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECPrivateKey"]
15515    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15516}
15517extern "C" {
15518    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECParameters"]
15519    pub fn d2i_ECParameters(
15520        out_key: *mut *mut EC_KEY,
15521        inp: *mut *const u8,
15522        len: ::std::os::raw::c_long,
15523    ) -> *mut EC_KEY;
15524}
15525extern "C" {
15526    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECParameters"]
15527    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15528}
15529extern "C" {
15530    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECPKParameters_bio"]
15531    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
15532}
15533extern "C" {
15534    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECPKParameters_bio"]
15535    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15536}
15537extern "C" {
15538    #[link_name = "\u{1}aws_lc_0_30_0_o2i_ECPublicKey"]
15539    pub fn o2i_ECPublicKey(
15540        out_key: *mut *mut EC_KEY,
15541        inp: *mut *const u8,
15542        len: ::std::os::raw::c_long,
15543    ) -> *mut EC_KEY;
15544}
15545extern "C" {
15546    #[link_name = "\u{1}aws_lc_0_30_0_i2o_ECPublicKey"]
15547    pub fn i2o_ECPublicKey(
15548        key: *const EC_KEY,
15549        outp: *mut *mut ::std::os::raw::c_uchar,
15550    ) -> ::std::os::raw::c_int;
15551}
15552extern "C" {
15553    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_default_method"]
15554    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
15555}
15556extern "C" {
15557    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_OpenSSL"]
15558    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
15559}
15560extern "C" {
15561    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_METHOD_new"]
15562    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
15563}
15564extern "C" {
15565    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_METHOD_free"]
15566    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
15567}
15568extern "C" {
15569    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_method"]
15570    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
15571}
15572extern "C" {
15573    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_get_method"]
15574    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
15575}
15576extern "C" {
15577    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_METHOD_set_sign_awslc"]
15578    pub fn EC_KEY_METHOD_set_sign_awslc(
15579        meth: *mut EC_KEY_METHOD,
15580        sign: ::std::option::Option<
15581            unsafe extern "C" fn(
15582                type_: ::std::os::raw::c_int,
15583                digest: *const u8,
15584                digest_len: ::std::os::raw::c_int,
15585                sig: *mut u8,
15586                siglen: *mut ::std::os::raw::c_uint,
15587                k_inv: *const BIGNUM,
15588                r: *const BIGNUM,
15589                eckey: *mut EC_KEY,
15590            ) -> ::std::os::raw::c_int,
15591        >,
15592        sign_sig: ::std::option::Option<
15593            unsafe extern "C" fn(
15594                digest: *const u8,
15595                digest_len: ::std::os::raw::c_int,
15596                in_kinv: *const BIGNUM,
15597                in_r: *const BIGNUM,
15598                eckey: *mut EC_KEY,
15599            ) -> *mut ECDSA_SIG,
15600        >,
15601    );
15602}
15603extern "C" {
15604    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_METHOD_set_init_awslc"]
15605    pub fn EC_KEY_METHOD_set_init_awslc(
15606        meth: *mut EC_KEY_METHOD,
15607        init: ::std::option::Option<
15608            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
15609        >,
15610        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
15611    );
15612}
15613extern "C" {
15614    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_METHOD_set_flags"]
15615    pub fn EC_KEY_METHOD_set_flags(
15616        meth: *mut EC_KEY_METHOD,
15617        flags: ::std::os::raw::c_int,
15618    ) -> ::std::os::raw::c_int;
15619}
15620extern "C" {
15621    #[link_name = "\u{1}aws_lc_0_30_0_EC_KEY_set_asn1_flag"]
15622    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
15623}
15624extern "C" {
15625    #[link_name = "\u{1}aws_lc_0_30_0_ECDH_compute_key"]
15626    pub fn ECDH_compute_key(
15627        out: *mut ::std::os::raw::c_void,
15628        outlen: usize,
15629        pub_key: *const EC_POINT,
15630        priv_key: *const EC_KEY,
15631        kdf: ::std::option::Option<
15632            unsafe extern "C" fn(
15633                in_: *const ::std::os::raw::c_void,
15634                inlen: usize,
15635                out: *mut ::std::os::raw::c_void,
15636                outlen: *mut usize,
15637            ) -> *mut ::std::os::raw::c_void,
15638        >,
15639    ) -> ::std::os::raw::c_int;
15640}
15641extern "C" {
15642    #[link_name = "\u{1}aws_lc_0_30_0_ECDH_compute_key_fips"]
15643    pub fn ECDH_compute_key_fips(
15644        out: *mut u8,
15645        out_len: usize,
15646        pub_key: *const EC_POINT,
15647        priv_key: *const EC_KEY,
15648    ) -> ::std::os::raw::c_int;
15649}
15650extern "C" {
15651    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_sign"]
15652    pub fn ECDSA_sign(
15653        type_: ::std::os::raw::c_int,
15654        digest: *const u8,
15655        digest_len: usize,
15656        sig: *mut u8,
15657        sig_len: *mut ::std::os::raw::c_uint,
15658        key: *const EC_KEY,
15659    ) -> ::std::os::raw::c_int;
15660}
15661extern "C" {
15662    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_verify"]
15663    pub fn ECDSA_verify(
15664        type_: ::std::os::raw::c_int,
15665        digest: *const u8,
15666        digest_len: usize,
15667        sig: *const u8,
15668        sig_len: usize,
15669        key: *const EC_KEY,
15670    ) -> ::std::os::raw::c_int;
15671}
15672extern "C" {
15673    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_size"]
15674    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
15675}
15676#[repr(C)]
15677#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15678pub struct ecdsa_sig_st {
15679    pub r: *mut BIGNUM,
15680    pub s: *mut BIGNUM,
15681}
15682#[test]
15683fn bindgen_test_layout_ecdsa_sig_st() {
15684    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
15685    let ptr = UNINIT.as_ptr();
15686    assert_eq!(
15687        ::std::mem::size_of::<ecdsa_sig_st>(),
15688        16usize,
15689        concat!("Size of: ", stringify!(ecdsa_sig_st))
15690    );
15691    assert_eq!(
15692        ::std::mem::align_of::<ecdsa_sig_st>(),
15693        8usize,
15694        concat!("Alignment of ", stringify!(ecdsa_sig_st))
15695    );
15696    assert_eq!(
15697        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
15698        0usize,
15699        concat!(
15700            "Offset of field: ",
15701            stringify!(ecdsa_sig_st),
15702            "::",
15703            stringify!(r)
15704        )
15705    );
15706    assert_eq!(
15707        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15708        8usize,
15709        concat!(
15710            "Offset of field: ",
15711            stringify!(ecdsa_sig_st),
15712            "::",
15713            stringify!(s)
15714        )
15715    );
15716}
15717impl Default for ecdsa_sig_st {
15718    fn default() -> Self {
15719        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15720        unsafe {
15721            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15722            s.assume_init()
15723        }
15724    }
15725}
15726extern "C" {
15727    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_new"]
15728    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
15729}
15730extern "C" {
15731    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_free"]
15732    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
15733}
15734extern "C" {
15735    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_get0_r"]
15736    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
15737}
15738extern "C" {
15739    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_get0_s"]
15740    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
15741}
15742extern "C" {
15743    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_get0"]
15744    pub fn ECDSA_SIG_get0(
15745        sig: *const ECDSA_SIG,
15746        out_r: *mut *const BIGNUM,
15747        out_s: *mut *const BIGNUM,
15748    );
15749}
15750extern "C" {
15751    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_set0"]
15752    pub fn ECDSA_SIG_set0(
15753        sig: *mut ECDSA_SIG,
15754        r: *mut BIGNUM,
15755        s: *mut BIGNUM,
15756    ) -> ::std::os::raw::c_int;
15757}
15758extern "C" {
15759    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_do_sign"]
15760    pub fn ECDSA_do_sign(
15761        digest: *const u8,
15762        digest_len: usize,
15763        key: *const EC_KEY,
15764    ) -> *mut ECDSA_SIG;
15765}
15766extern "C" {
15767    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_do_verify"]
15768    pub fn ECDSA_do_verify(
15769        digest: *const u8,
15770        digest_len: usize,
15771        sig: *const ECDSA_SIG,
15772        key: *const EC_KEY,
15773    ) -> ::std::os::raw::c_int;
15774}
15775extern "C" {
15776    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_parse"]
15777    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
15778}
15779extern "C" {
15780    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_from_bytes"]
15781    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
15782}
15783extern "C" {
15784    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_marshal"]
15785    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
15786}
15787extern "C" {
15788    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_to_bytes"]
15789    pub fn ECDSA_SIG_to_bytes(
15790        out_bytes: *mut *mut u8,
15791        out_len: *mut usize,
15792        sig: *const ECDSA_SIG,
15793    ) -> ::std::os::raw::c_int;
15794}
15795extern "C" {
15796    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_SIG_max_len"]
15797    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
15798}
15799extern "C" {
15800    #[link_name = "\u{1}aws_lc_0_30_0_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
15801    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
15802        digest: *const u8,
15803        digest_len: usize,
15804        eckey: *const EC_KEY,
15805        nonce: *const u8,
15806        nonce_len: usize,
15807    ) -> *mut ECDSA_SIG;
15808}
15809extern "C" {
15810    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECDSA_SIG"]
15811    pub fn d2i_ECDSA_SIG(
15812        out: *mut *mut ECDSA_SIG,
15813        inp: *mut *const u8,
15814        len: ::std::os::raw::c_long,
15815    ) -> *mut ECDSA_SIG;
15816}
15817extern "C" {
15818    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECDSA_SIG"]
15819    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15820}
15821extern "C" {
15822    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_gcm"]
15823    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
15824}
15825extern "C" {
15826    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_192_gcm"]
15827    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
15828}
15829extern "C" {
15830    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_gcm"]
15831    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
15832}
15833extern "C" {
15834    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_chacha20_poly1305"]
15835    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
15836}
15837extern "C" {
15838    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_xchacha20_poly1305"]
15839    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
15840}
15841extern "C" {
15842    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_ctr_hmac_sha256"]
15843    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
15844}
15845extern "C" {
15846    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_ctr_hmac_sha256"]
15847    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
15848}
15849extern "C" {
15850    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_gcm_siv"]
15851    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
15852}
15853extern "C" {
15854    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_gcm_siv"]
15855    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
15856}
15857extern "C" {
15858    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_gcm_randnonce"]
15859    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
15860}
15861extern "C" {
15862    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_gcm_randnonce"]
15863    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
15864}
15865extern "C" {
15866    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_ccm_bluetooth"]
15867    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
15868}
15869extern "C" {
15870    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_ccm_bluetooth_8"]
15871    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
15872}
15873extern "C" {
15874    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_ccm_matter"]
15875    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
15876}
15877extern "C" {
15878    #[link_name = "\u{1}aws_lc_0_30_0_EVP_has_aes_hardware"]
15879    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
15880}
15881extern "C" {
15882    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_key_length"]
15883    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
15884}
15885extern "C" {
15886    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_nonce_length"]
15887    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
15888}
15889extern "C" {
15890    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_max_overhead"]
15891    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
15892}
15893extern "C" {
15894    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_max_tag_len"]
15895    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
15896}
15897#[repr(C)]
15898#[derive(Copy, Clone)]
15899pub union evp_aead_ctx_st_state {
15900    pub opaque: [u8; 564usize],
15901    pub alignment: u64,
15902    pub ptr: *mut ::std::os::raw::c_void,
15903}
15904#[test]
15905fn bindgen_test_layout_evp_aead_ctx_st_state() {
15906    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
15907        ::std::mem::MaybeUninit::uninit();
15908    let ptr = UNINIT.as_ptr();
15909    assert_eq!(
15910        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
15911        568usize,
15912        concat!("Size of: ", stringify!(evp_aead_ctx_st_state))
15913    );
15914    assert_eq!(
15915        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
15916        8usize,
15917        concat!("Alignment of ", stringify!(evp_aead_ctx_st_state))
15918    );
15919    assert_eq!(
15920        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
15921        0usize,
15922        concat!(
15923            "Offset of field: ",
15924            stringify!(evp_aead_ctx_st_state),
15925            "::",
15926            stringify!(opaque)
15927        )
15928    );
15929    assert_eq!(
15930        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
15931        0usize,
15932        concat!(
15933            "Offset of field: ",
15934            stringify!(evp_aead_ctx_st_state),
15935            "::",
15936            stringify!(alignment)
15937        )
15938    );
15939    assert_eq!(
15940        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15941        0usize,
15942        concat!(
15943            "Offset of field: ",
15944            stringify!(evp_aead_ctx_st_state),
15945            "::",
15946            stringify!(ptr)
15947        )
15948    );
15949}
15950impl Default for evp_aead_ctx_st_state {
15951    fn default() -> Self {
15952        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15953        unsafe {
15954            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15955            s.assume_init()
15956        }
15957    }
15958}
15959#[repr(C)]
15960#[derive(Copy, Clone)]
15961pub struct evp_aead_ctx_st {
15962    pub aead: *const EVP_AEAD,
15963    pub state: evp_aead_ctx_st_state,
15964    pub state_offset: u8,
15965    pub tag_len: u8,
15966}
15967#[test]
15968fn bindgen_test_layout_evp_aead_ctx_st() {
15969    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15970    let ptr = UNINIT.as_ptr();
15971    assert_eq!(
15972        ::std::mem::size_of::<evp_aead_ctx_st>(),
15973        584usize,
15974        concat!("Size of: ", stringify!(evp_aead_ctx_st))
15975    );
15976    assert_eq!(
15977        ::std::mem::align_of::<evp_aead_ctx_st>(),
15978        8usize,
15979        concat!("Alignment of ", stringify!(evp_aead_ctx_st))
15980    );
15981    assert_eq!(
15982        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15983        0usize,
15984        concat!(
15985            "Offset of field: ",
15986            stringify!(evp_aead_ctx_st),
15987            "::",
15988            stringify!(aead)
15989        )
15990    );
15991    assert_eq!(
15992        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15993        8usize,
15994        concat!(
15995            "Offset of field: ",
15996            stringify!(evp_aead_ctx_st),
15997            "::",
15998            stringify!(state)
15999        )
16000    );
16001    assert_eq!(
16002        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
16003        576usize,
16004        concat!(
16005            "Offset of field: ",
16006            stringify!(evp_aead_ctx_st),
16007            "::",
16008            stringify!(state_offset)
16009        )
16010    );
16011    assert_eq!(
16012        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
16013        577usize,
16014        concat!(
16015            "Offset of field: ",
16016            stringify!(evp_aead_ctx_st),
16017            "::",
16018            stringify!(tag_len)
16019        )
16020    );
16021}
16022impl Default for evp_aead_ctx_st {
16023    fn default() -> Self {
16024        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16025        unsafe {
16026            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16027            s.assume_init()
16028        }
16029    }
16030}
16031extern "C" {
16032    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_zero"]
16033    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
16034}
16035extern "C" {
16036    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_new"]
16037    pub fn EVP_AEAD_CTX_new(
16038        aead: *const EVP_AEAD,
16039        key: *const u8,
16040        key_len: usize,
16041        tag_len: usize,
16042    ) -> *mut EVP_AEAD_CTX;
16043}
16044extern "C" {
16045    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_free"]
16046    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
16047}
16048extern "C" {
16049    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_init"]
16050    pub fn EVP_AEAD_CTX_init(
16051        ctx: *mut EVP_AEAD_CTX,
16052        aead: *const EVP_AEAD,
16053        key: *const u8,
16054        key_len: usize,
16055        tag_len: usize,
16056        impl_: *mut ENGINE,
16057    ) -> ::std::os::raw::c_int;
16058}
16059extern "C" {
16060    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_cleanup"]
16061    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
16062}
16063extern "C" {
16064    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_seal"]
16065    pub fn EVP_AEAD_CTX_seal(
16066        ctx: *const EVP_AEAD_CTX,
16067        out: *mut u8,
16068        out_len: *mut usize,
16069        max_out_len: usize,
16070        nonce: *const u8,
16071        nonce_len: usize,
16072        in_: *const u8,
16073        in_len: usize,
16074        ad: *const u8,
16075        ad_len: usize,
16076    ) -> ::std::os::raw::c_int;
16077}
16078extern "C" {
16079    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_open"]
16080    pub fn EVP_AEAD_CTX_open(
16081        ctx: *const EVP_AEAD_CTX,
16082        out: *mut u8,
16083        out_len: *mut usize,
16084        max_out_len: usize,
16085        nonce: *const u8,
16086        nonce_len: usize,
16087        in_: *const u8,
16088        in_len: usize,
16089        ad: *const u8,
16090        ad_len: usize,
16091    ) -> ::std::os::raw::c_int;
16092}
16093extern "C" {
16094    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_seal_scatter"]
16095    pub fn EVP_AEAD_CTX_seal_scatter(
16096        ctx: *const EVP_AEAD_CTX,
16097        out: *mut u8,
16098        out_tag: *mut u8,
16099        out_tag_len: *mut usize,
16100        max_out_tag_len: usize,
16101        nonce: *const u8,
16102        nonce_len: usize,
16103        in_: *const u8,
16104        in_len: usize,
16105        extra_in: *const u8,
16106        extra_in_len: usize,
16107        ad: *const u8,
16108        ad_len: usize,
16109    ) -> ::std::os::raw::c_int;
16110}
16111extern "C" {
16112    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_open_gather"]
16113    pub fn EVP_AEAD_CTX_open_gather(
16114        ctx: *const EVP_AEAD_CTX,
16115        out: *mut u8,
16116        nonce: *const u8,
16117        nonce_len: usize,
16118        in_: *const u8,
16119        in_len: usize,
16120        in_tag: *const u8,
16121        in_tag_len: usize,
16122        ad: *const u8,
16123        ad_len: usize,
16124    ) -> ::std::os::raw::c_int;
16125}
16126extern "C" {
16127    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_aead"]
16128    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
16129}
16130extern "C" {
16131    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_cbc_sha1_tls"]
16132    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
16133}
16134extern "C" {
16135    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
16136    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16137}
16138extern "C" {
16139    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_cbc_sha1_tls"]
16140    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
16141}
16142extern "C" {
16143    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
16144    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16145}
16146extern "C" {
16147    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_cbc_sha256_tls"]
16148    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
16149}
16150extern "C" {
16151    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
16152    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
16153}
16154extern "C" {
16155    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_cbc_sha384_tls"]
16156    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
16157}
16158extern "C" {
16159    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_des_ede3_cbc_sha1_tls"]
16160    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
16161}
16162extern "C" {
16163    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
16164    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16165}
16166extern "C" {
16167    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_null_sha1_tls"]
16168    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
16169}
16170extern "C" {
16171    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_gcm_tls12"]
16172    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
16173}
16174extern "C" {
16175    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_gcm_tls12"]
16176    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
16177}
16178extern "C" {
16179    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_128_gcm_tls13"]
16180    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
16181}
16182extern "C" {
16183    #[link_name = "\u{1}aws_lc_0_30_0_EVP_aead_aes_256_gcm_tls13"]
16184    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
16185}
16186pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
16187pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
16188pub type evp_aead_direction_t = ::std::os::raw::c_uint;
16189extern "C" {
16190    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_init_with_direction"]
16191    pub fn EVP_AEAD_CTX_init_with_direction(
16192        ctx: *mut EVP_AEAD_CTX,
16193        aead: *const EVP_AEAD,
16194        key: *const u8,
16195        key_len: usize,
16196        tag_len: usize,
16197        dir: evp_aead_direction_t,
16198    ) -> ::std::os::raw::c_int;
16199}
16200extern "C" {
16201    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_get_iv"]
16202    pub fn EVP_AEAD_CTX_get_iv(
16203        ctx: *const EVP_AEAD_CTX,
16204        out_iv: *mut *const u8,
16205        out_len: *mut usize,
16206    ) -> ::std::os::raw::c_int;
16207}
16208extern "C" {
16209    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_CTX_tag_len"]
16210    pub fn EVP_AEAD_CTX_tag_len(
16211        ctx: *const EVP_AEAD_CTX,
16212        out_tag_len: *mut usize,
16213        in_len: usize,
16214        extra_in_len: usize,
16215    ) -> ::std::os::raw::c_int;
16216}
16217extern "C" {
16218    #[link_name = "\u{1}aws_lc_0_30_0_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
16219    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
16220        ipv4_address: u32,
16221        nanosecs: u64,
16222        out_iv: *mut u8,
16223    ) -> ::std::os::raw::c_int;
16224}
16225extern "C" {
16226    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_dup"]
16227    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
16228}
16229extern "C" {
16230    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_cmp"]
16231    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16232}
16233extern "C" {
16234    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_get0_data"]
16235    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
16236}
16237extern "C" {
16238    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_length"]
16239    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
16240}
16241extern "C" {
16242    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_obj2nid"]
16243    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16244}
16245extern "C" {
16246    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_cbs2nid"]
16247    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
16248}
16249extern "C" {
16250    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_sn2nid"]
16251    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16252}
16253extern "C" {
16254    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_ln2nid"]
16255    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16256}
16257extern "C" {
16258    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_txt2nid"]
16259    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16260}
16261extern "C" {
16262    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_nid2obj"]
16263    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
16264}
16265extern "C" {
16266    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_get_undef"]
16267    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
16268}
16269extern "C" {
16270    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_nid2sn"]
16271    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16272}
16273extern "C" {
16274    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_nid2ln"]
16275    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16276}
16277extern "C" {
16278    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_nid2cbb"]
16279    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16280}
16281extern "C" {
16282    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_txt2obj"]
16283    pub fn OBJ_txt2obj(
16284        s: *const ::std::os::raw::c_char,
16285        dont_search_names: ::std::os::raw::c_int,
16286    ) -> *mut ASN1_OBJECT;
16287}
16288extern "C" {
16289    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_obj2txt"]
16290    pub fn OBJ_obj2txt(
16291        out: *mut ::std::os::raw::c_char,
16292        out_len: ::std::os::raw::c_int,
16293        obj: *const ASN1_OBJECT,
16294        always_return_oid: ::std::os::raw::c_int,
16295    ) -> ::std::os::raw::c_int;
16296}
16297extern "C" {
16298    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_create"]
16299    pub fn OBJ_create(
16300        oid: *const ::std::os::raw::c_char,
16301        short_name: *const ::std::os::raw::c_char,
16302        long_name: *const ::std::os::raw::c_char,
16303    ) -> ::std::os::raw::c_int;
16304}
16305extern "C" {
16306    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_find_sigid_algs"]
16307    pub fn OBJ_find_sigid_algs(
16308        sign_nid: ::std::os::raw::c_int,
16309        out_digest_nid: *mut ::std::os::raw::c_int,
16310        out_pkey_nid: *mut ::std::os::raw::c_int,
16311    ) -> ::std::os::raw::c_int;
16312}
16313extern "C" {
16314    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_find_sigid_by_algs"]
16315    pub fn OBJ_find_sigid_by_algs(
16316        out_sign_nid: *mut ::std::os::raw::c_int,
16317        digest_nid: ::std::os::raw::c_int,
16318        pkey_nid: ::std::os::raw::c_int,
16319    ) -> ::std::os::raw::c_int;
16320}
16321#[repr(C)]
16322#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16323pub struct obj_name_st {
16324    pub type_: ::std::os::raw::c_int,
16325    pub alias: ::std::os::raw::c_int,
16326    pub name: *const ::std::os::raw::c_char,
16327    pub data: *const ::std::os::raw::c_char,
16328}
16329#[test]
16330fn bindgen_test_layout_obj_name_st() {
16331    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
16332    let ptr = UNINIT.as_ptr();
16333    assert_eq!(
16334        ::std::mem::size_of::<obj_name_st>(),
16335        24usize,
16336        concat!("Size of: ", stringify!(obj_name_st))
16337    );
16338    assert_eq!(
16339        ::std::mem::align_of::<obj_name_st>(),
16340        8usize,
16341        concat!("Alignment of ", stringify!(obj_name_st))
16342    );
16343    assert_eq!(
16344        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16345        0usize,
16346        concat!(
16347            "Offset of field: ",
16348            stringify!(obj_name_st),
16349            "::",
16350            stringify!(type_)
16351        )
16352    );
16353    assert_eq!(
16354        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
16355        4usize,
16356        concat!(
16357            "Offset of field: ",
16358            stringify!(obj_name_st),
16359            "::",
16360            stringify!(alias)
16361        )
16362    );
16363    assert_eq!(
16364        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16365        8usize,
16366        concat!(
16367            "Offset of field: ",
16368            stringify!(obj_name_st),
16369            "::",
16370            stringify!(name)
16371        )
16372    );
16373    assert_eq!(
16374        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16375        16usize,
16376        concat!(
16377            "Offset of field: ",
16378            stringify!(obj_name_st),
16379            "::",
16380            stringify!(data)
16381        )
16382    );
16383}
16384impl Default for obj_name_st {
16385    fn default() -> Self {
16386        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16387        unsafe {
16388            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16389            s.assume_init()
16390        }
16391    }
16392}
16393pub type OBJ_NAME = obj_name_st;
16394extern "C" {
16395    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_NAME_do_all_sorted"]
16396    pub fn OBJ_NAME_do_all_sorted(
16397        type_: ::std::os::raw::c_int,
16398        callback: ::std::option::Option<
16399            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
16400        >,
16401        arg: *mut ::std::os::raw::c_void,
16402    );
16403}
16404extern "C" {
16405    #[link_name = "\u{1}aws_lc_0_30_0_OBJ_cleanup"]
16406    pub fn OBJ_cleanup();
16407}
16408extern "C" {
16409    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_new"]
16410    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
16411}
16412extern "C" {
16413    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_free"]
16414    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
16415}
16416extern "C" {
16417    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_up_ref"]
16418    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16419}
16420extern "C" {
16421    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_is_opaque"]
16422    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16423}
16424extern "C" {
16425    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_cmp"]
16426    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
16427}
16428extern "C" {
16429    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_copy_parameters"]
16430    pub fn EVP_PKEY_copy_parameters(
16431        to: *mut EVP_PKEY,
16432        from: *const EVP_PKEY,
16433    ) -> ::std::os::raw::c_int;
16434}
16435extern "C" {
16436    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_missing_parameters"]
16437    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16438}
16439extern "C" {
16440    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_size"]
16441    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16442}
16443extern "C" {
16444    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_bits"]
16445    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16446}
16447extern "C" {
16448    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_id"]
16449    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16450}
16451extern "C" {
16452    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_get0_name"]
16453    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16454}
16455extern "C" {
16456    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_name"]
16457    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16458}
16459extern "C" {
16460    #[link_name = "\u{1}aws_lc_0_30_0_EVP_get_pw_prompt"]
16461    pub fn EVP_get_pw_prompt() -> *mut ::std::os::raw::c_char;
16462}
16463extern "C" {
16464    #[link_name = "\u{1}aws_lc_0_30_0_EVP_read_pw_string"]
16465    pub fn EVP_read_pw_string(
16466        buf: *mut ::std::os::raw::c_char,
16467        length: ::std::os::raw::c_int,
16468        prompt: *const ::std::os::raw::c_char,
16469        verify: ::std::os::raw::c_int,
16470    ) -> ::std::os::raw::c_int;
16471}
16472extern "C" {
16473    #[link_name = "\u{1}aws_lc_0_30_0_EVP_read_pw_string_min"]
16474    pub fn EVP_read_pw_string_min(
16475        buf: *mut ::std::os::raw::c_char,
16476        min_length: ::std::os::raw::c_int,
16477        length: ::std::os::raw::c_int,
16478        prompt: *const ::std::os::raw::c_char,
16479        verify: ::std::os::raw::c_int,
16480    ) -> ::std::os::raw::c_int;
16481}
16482extern "C" {
16483    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set1_RSA"]
16484    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16485}
16486extern "C" {
16487    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_assign_RSA"]
16488    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16489}
16490extern "C" {
16491    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get0_RSA"]
16492    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16493}
16494extern "C" {
16495    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get1_RSA"]
16496    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16497}
16498extern "C" {
16499    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set1_DSA"]
16500    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16501}
16502extern "C" {
16503    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_assign_DSA"]
16504    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16505}
16506extern "C" {
16507    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get0_DSA"]
16508    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16509}
16510extern "C" {
16511    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get1_DSA"]
16512    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16513}
16514extern "C" {
16515    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set1_EC_KEY"]
16516    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16517}
16518extern "C" {
16519    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_assign_EC_KEY"]
16520    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16521}
16522extern "C" {
16523    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get0_EC_KEY"]
16524    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16525}
16526extern "C" {
16527    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get1_EC_KEY"]
16528    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16529}
16530extern "C" {
16531    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set1_DH"]
16532    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16533}
16534extern "C" {
16535    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_assign_DH"]
16536    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16537}
16538extern "C" {
16539    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get0_DH"]
16540    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
16541}
16542extern "C" {
16543    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get1_DH"]
16544    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
16545}
16546extern "C" {
16547    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
16548    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
16549        ctx: *mut EVP_PKEY_CTX,
16550        pbits: ::std::os::raw::c_int,
16551    ) -> ::std::os::raw::c_int;
16552}
16553extern "C" {
16554    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dh_paramgen_generator"]
16555    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
16556        ctx: *mut EVP_PKEY_CTX,
16557        gen: ::std::os::raw::c_int,
16558    ) -> ::std::os::raw::c_int;
16559}
16560extern "C" {
16561    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set_type"]
16562    pub fn EVP_PKEY_set_type(
16563        pkey: *mut EVP_PKEY,
16564        type_: ::std::os::raw::c_int,
16565    ) -> ::std::os::raw::c_int;
16566}
16567extern "C" {
16568    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set_type_str"]
16569    pub fn EVP_PKEY_set_type_str(
16570        pkey: *mut EVP_PKEY,
16571        str_: *const ::std::os::raw::c_char,
16572        len: ::std::os::raw::c_int,
16573    ) -> ::std::os::raw::c_int;
16574}
16575extern "C" {
16576    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_cmp_parameters"]
16577    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
16578        -> ::std::os::raw::c_int;
16579}
16580extern "C" {
16581    #[link_name = "\u{1}aws_lc_0_30_0_EVP_parse_public_key"]
16582    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16583}
16584extern "C" {
16585    #[link_name = "\u{1}aws_lc_0_30_0_EVP_marshal_public_key"]
16586    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16587}
16588extern "C" {
16589    #[link_name = "\u{1}aws_lc_0_30_0_EVP_parse_private_key"]
16590    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16591}
16592extern "C" {
16593    #[link_name = "\u{1}aws_lc_0_30_0_EVP_marshal_private_key"]
16594    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16595}
16596extern "C" {
16597    #[link_name = "\u{1}aws_lc_0_30_0_EVP_marshal_private_key_v2"]
16598    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
16599        -> ::std::os::raw::c_int;
16600}
16601extern "C" {
16602    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_new_raw_private_key"]
16603    pub fn EVP_PKEY_new_raw_private_key(
16604        type_: ::std::os::raw::c_int,
16605        unused: *mut ENGINE,
16606        in_: *const u8,
16607        len: usize,
16608    ) -> *mut EVP_PKEY;
16609}
16610extern "C" {
16611    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_new_raw_public_key"]
16612    pub fn EVP_PKEY_new_raw_public_key(
16613        type_: ::std::os::raw::c_int,
16614        unused: *mut ENGINE,
16615        in_: *const u8,
16616        len: usize,
16617    ) -> *mut EVP_PKEY;
16618}
16619extern "C" {
16620    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get_raw_private_key"]
16621    pub fn EVP_PKEY_get_raw_private_key(
16622        pkey: *const EVP_PKEY,
16623        out: *mut u8,
16624        out_len: *mut usize,
16625    ) -> ::std::os::raw::c_int;
16626}
16627extern "C" {
16628    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get_raw_public_key"]
16629    pub fn EVP_PKEY_get_raw_public_key(
16630        pkey: *const EVP_PKEY,
16631        out: *mut u8,
16632        out_len: *mut usize,
16633    ) -> ::std::os::raw::c_int;
16634}
16635extern "C" {
16636    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestSignInit"]
16637    pub fn EVP_DigestSignInit(
16638        ctx: *mut EVP_MD_CTX,
16639        pctx: *mut *mut EVP_PKEY_CTX,
16640        type_: *const EVP_MD,
16641        e: *mut ENGINE,
16642        pkey: *mut EVP_PKEY,
16643    ) -> ::std::os::raw::c_int;
16644}
16645extern "C" {
16646    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestSignUpdate"]
16647    pub fn EVP_DigestSignUpdate(
16648        ctx: *mut EVP_MD_CTX,
16649        data: *const ::std::os::raw::c_void,
16650        len: usize,
16651    ) -> ::std::os::raw::c_int;
16652}
16653extern "C" {
16654    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestSignFinal"]
16655    pub fn EVP_DigestSignFinal(
16656        ctx: *mut EVP_MD_CTX,
16657        out_sig: *mut u8,
16658        out_sig_len: *mut usize,
16659    ) -> ::std::os::raw::c_int;
16660}
16661extern "C" {
16662    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestSign"]
16663    pub fn EVP_DigestSign(
16664        ctx: *mut EVP_MD_CTX,
16665        out_sig: *mut u8,
16666        out_sig_len: *mut usize,
16667        data: *const u8,
16668        data_len: usize,
16669    ) -> ::std::os::raw::c_int;
16670}
16671extern "C" {
16672    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestVerifyInit"]
16673    pub fn EVP_DigestVerifyInit(
16674        ctx: *mut EVP_MD_CTX,
16675        pctx: *mut *mut EVP_PKEY_CTX,
16676        type_: *const EVP_MD,
16677        e: *mut ENGINE,
16678        pkey: *mut EVP_PKEY,
16679    ) -> ::std::os::raw::c_int;
16680}
16681extern "C" {
16682    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestVerifyUpdate"]
16683    pub fn EVP_DigestVerifyUpdate(
16684        ctx: *mut EVP_MD_CTX,
16685        data: *const ::std::os::raw::c_void,
16686        len: usize,
16687    ) -> ::std::os::raw::c_int;
16688}
16689extern "C" {
16690    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestVerifyFinal"]
16691    pub fn EVP_DigestVerifyFinal(
16692        ctx: *mut EVP_MD_CTX,
16693        sig: *const u8,
16694        sig_len: usize,
16695    ) -> ::std::os::raw::c_int;
16696}
16697extern "C" {
16698    #[link_name = "\u{1}aws_lc_0_30_0_EVP_DigestVerify"]
16699    pub fn EVP_DigestVerify(
16700        ctx: *mut EVP_MD_CTX,
16701        sig: *const u8,
16702        sig_len: usize,
16703        data: *const u8,
16704        len: usize,
16705    ) -> ::std::os::raw::c_int;
16706}
16707extern "C" {
16708    #[link_name = "\u{1}aws_lc_0_30_0_EVP_SignInit_ex"]
16709    pub fn EVP_SignInit_ex(
16710        ctx: *mut EVP_MD_CTX,
16711        type_: *const EVP_MD,
16712        impl_: *mut ENGINE,
16713    ) -> ::std::os::raw::c_int;
16714}
16715extern "C" {
16716    #[link_name = "\u{1}aws_lc_0_30_0_EVP_SignInit"]
16717    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16718}
16719extern "C" {
16720    #[link_name = "\u{1}aws_lc_0_30_0_EVP_SignUpdate"]
16721    pub fn EVP_SignUpdate(
16722        ctx: *mut EVP_MD_CTX,
16723        data: *const ::std::os::raw::c_void,
16724        len: usize,
16725    ) -> ::std::os::raw::c_int;
16726}
16727extern "C" {
16728    #[link_name = "\u{1}aws_lc_0_30_0_EVP_SignFinal"]
16729    pub fn EVP_SignFinal(
16730        ctx: *const EVP_MD_CTX,
16731        sig: *mut u8,
16732        out_sig_len: *mut ::std::os::raw::c_uint,
16733        pkey: *mut EVP_PKEY,
16734    ) -> ::std::os::raw::c_int;
16735}
16736extern "C" {
16737    #[link_name = "\u{1}aws_lc_0_30_0_EVP_VerifyInit_ex"]
16738    pub fn EVP_VerifyInit_ex(
16739        ctx: *mut EVP_MD_CTX,
16740        type_: *const EVP_MD,
16741        impl_: *mut ENGINE,
16742    ) -> ::std::os::raw::c_int;
16743}
16744extern "C" {
16745    #[link_name = "\u{1}aws_lc_0_30_0_EVP_VerifyInit"]
16746    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16747}
16748extern "C" {
16749    #[link_name = "\u{1}aws_lc_0_30_0_EVP_VerifyUpdate"]
16750    pub fn EVP_VerifyUpdate(
16751        ctx: *mut EVP_MD_CTX,
16752        data: *const ::std::os::raw::c_void,
16753        len: usize,
16754    ) -> ::std::os::raw::c_int;
16755}
16756extern "C" {
16757    #[link_name = "\u{1}aws_lc_0_30_0_EVP_VerifyFinal"]
16758    pub fn EVP_VerifyFinal(
16759        ctx: *mut EVP_MD_CTX,
16760        sig: *const u8,
16761        sig_len: usize,
16762        pkey: *mut EVP_PKEY,
16763    ) -> ::std::os::raw::c_int;
16764}
16765extern "C" {
16766    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_print_public"]
16767    pub fn EVP_PKEY_print_public(
16768        out: *mut BIO,
16769        pkey: *const EVP_PKEY,
16770        indent: ::std::os::raw::c_int,
16771        pctx: *mut ASN1_PCTX,
16772    ) -> ::std::os::raw::c_int;
16773}
16774extern "C" {
16775    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_print_private"]
16776    pub fn EVP_PKEY_print_private(
16777        out: *mut BIO,
16778        pkey: *const EVP_PKEY,
16779        indent: ::std::os::raw::c_int,
16780        pctx: *mut ASN1_PCTX,
16781    ) -> ::std::os::raw::c_int;
16782}
16783extern "C" {
16784    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_print_params"]
16785    pub fn EVP_PKEY_print_params(
16786        out: *mut BIO,
16787        pkey: *const EVP_PKEY,
16788        indent: ::std::os::raw::c_int,
16789        pctx: *mut ASN1_PCTX,
16790    ) -> ::std::os::raw::c_int;
16791}
16792extern "C" {
16793    #[link_name = "\u{1}aws_lc_0_30_0_PKCS5_PBKDF2_HMAC"]
16794    pub fn PKCS5_PBKDF2_HMAC(
16795        password: *const ::std::os::raw::c_char,
16796        password_len: usize,
16797        salt: *const u8,
16798        salt_len: usize,
16799        iterations: u32,
16800        digest: *const EVP_MD,
16801        key_len: usize,
16802        out_key: *mut u8,
16803    ) -> ::std::os::raw::c_int;
16804}
16805extern "C" {
16806    #[link_name = "\u{1}aws_lc_0_30_0_PKCS5_PBKDF2_HMAC_SHA1"]
16807    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16808        password: *const ::std::os::raw::c_char,
16809        password_len: usize,
16810        salt: *const u8,
16811        salt_len: usize,
16812        iterations: u32,
16813        key_len: usize,
16814        out_key: *mut u8,
16815    ) -> ::std::os::raw::c_int;
16816}
16817extern "C" {
16818    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PBE_scrypt"]
16819    pub fn EVP_PBE_scrypt(
16820        password: *const ::std::os::raw::c_char,
16821        password_len: usize,
16822        salt: *const u8,
16823        salt_len: usize,
16824        N: u64,
16825        r: u64,
16826        p: u64,
16827        max_mem: usize,
16828        out_key: *mut u8,
16829        key_len: usize,
16830    ) -> ::std::os::raw::c_int;
16831}
16832extern "C" {
16833    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_new"]
16834    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16835}
16836extern "C" {
16837    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_new_id"]
16838    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16839}
16840extern "C" {
16841    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_free"]
16842    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16843}
16844extern "C" {
16845    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_dup"]
16846    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16847}
16848extern "C" {
16849    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get0_pkey"]
16850    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16851}
16852extern "C" {
16853    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_sign_init"]
16854    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16855}
16856extern "C" {
16857    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_sign"]
16858    pub fn EVP_PKEY_sign(
16859        ctx: *mut EVP_PKEY_CTX,
16860        sig: *mut u8,
16861        sig_len: *mut usize,
16862        digest: *const u8,
16863        digest_len: usize,
16864    ) -> ::std::os::raw::c_int;
16865}
16866extern "C" {
16867    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_verify_init"]
16868    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16869}
16870extern "C" {
16871    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_verify"]
16872    pub fn EVP_PKEY_verify(
16873        ctx: *mut EVP_PKEY_CTX,
16874        sig: *const u8,
16875        sig_len: usize,
16876        digest: *const u8,
16877        digest_len: usize,
16878    ) -> ::std::os::raw::c_int;
16879}
16880extern "C" {
16881    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_encrypt_init"]
16882    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16883}
16884extern "C" {
16885    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_encrypt"]
16886    pub fn EVP_PKEY_encrypt(
16887        ctx: *mut EVP_PKEY_CTX,
16888        out: *mut u8,
16889        out_len: *mut usize,
16890        in_: *const u8,
16891        in_len: usize,
16892    ) -> ::std::os::raw::c_int;
16893}
16894extern "C" {
16895    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_decrypt_init"]
16896    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16897}
16898extern "C" {
16899    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_decrypt"]
16900    pub fn EVP_PKEY_decrypt(
16901        ctx: *mut EVP_PKEY_CTX,
16902        out: *mut u8,
16903        out_len: *mut usize,
16904        in_: *const u8,
16905        in_len: usize,
16906    ) -> ::std::os::raw::c_int;
16907}
16908extern "C" {
16909    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_verify_recover_init"]
16910    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16911}
16912extern "C" {
16913    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_verify_recover"]
16914    pub fn EVP_PKEY_verify_recover(
16915        ctx: *mut EVP_PKEY_CTX,
16916        out: *mut u8,
16917        out_len: *mut usize,
16918        sig: *const u8,
16919        siglen: usize,
16920    ) -> ::std::os::raw::c_int;
16921}
16922extern "C" {
16923    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_derive_init"]
16924    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16925}
16926extern "C" {
16927    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_derive_set_peer"]
16928    pub fn EVP_PKEY_derive_set_peer(
16929        ctx: *mut EVP_PKEY_CTX,
16930        peer: *mut EVP_PKEY,
16931    ) -> ::std::os::raw::c_int;
16932}
16933extern "C" {
16934    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_derive"]
16935    pub fn EVP_PKEY_derive(
16936        ctx: *mut EVP_PKEY_CTX,
16937        key: *mut u8,
16938        out_key_len: *mut usize,
16939    ) -> ::std::os::raw::c_int;
16940}
16941extern "C" {
16942    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_keygen_init"]
16943    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16944}
16945extern "C" {
16946    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_keygen"]
16947    pub fn EVP_PKEY_keygen(
16948        ctx: *mut EVP_PKEY_CTX,
16949        out_pkey: *mut *mut EVP_PKEY,
16950    ) -> ::std::os::raw::c_int;
16951}
16952extern "C" {
16953    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_encapsulate"]
16954    pub fn EVP_PKEY_encapsulate(
16955        ctx: *mut EVP_PKEY_CTX,
16956        ciphertext: *mut u8,
16957        ciphertext_len: *mut usize,
16958        shared_secret: *mut u8,
16959        shared_secret_len: *mut usize,
16960    ) -> ::std::os::raw::c_int;
16961}
16962extern "C" {
16963    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_decapsulate"]
16964    pub fn EVP_PKEY_decapsulate(
16965        ctx: *mut EVP_PKEY_CTX,
16966        shared_secret: *mut u8,
16967        shared_secret_len: *mut usize,
16968        ciphertext: *const u8,
16969        ciphertext_len: usize,
16970    ) -> ::std::os::raw::c_int;
16971}
16972extern "C" {
16973    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_paramgen_init"]
16974    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16975}
16976extern "C" {
16977    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_paramgen"]
16978    pub fn EVP_PKEY_paramgen(
16979        ctx: *mut EVP_PKEY_CTX,
16980        out_pkey: *mut *mut EVP_PKEY,
16981    ) -> ::std::os::raw::c_int;
16982}
16983extern "C" {
16984    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_signature_md"]
16985    pub fn EVP_PKEY_CTX_set_signature_md(
16986        ctx: *mut EVP_PKEY_CTX,
16987        md: *const EVP_MD,
16988    ) -> ::std::os::raw::c_int;
16989}
16990extern "C" {
16991    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_signature_md"]
16992    pub fn EVP_PKEY_CTX_get_signature_md(
16993        ctx: *mut EVP_PKEY_CTX,
16994        out_md: *mut *const EVP_MD,
16995    ) -> ::std::os::raw::c_int;
16996}
16997extern "C" {
16998    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_signature_context"]
16999    pub fn EVP_PKEY_CTX_set_signature_context(
17000        ctx: *mut EVP_PKEY_CTX,
17001        context: *const u8,
17002        context_len: usize,
17003    ) -> ::std::os::raw::c_int;
17004}
17005extern "C" {
17006    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get0_signature_context"]
17007    pub fn EVP_PKEY_CTX_get0_signature_context(
17008        ctx: *mut EVP_PKEY_CTX,
17009        context: *mut *const u8,
17010        context_len: *mut usize,
17011    ) -> ::std::os::raw::c_int;
17012}
17013extern "C" {
17014    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_padding"]
17015    pub fn EVP_PKEY_CTX_set_rsa_padding(
17016        ctx: *mut EVP_PKEY_CTX,
17017        padding: ::std::os::raw::c_int,
17018    ) -> ::std::os::raw::c_int;
17019}
17020extern "C" {
17021    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_rsa_padding"]
17022    pub fn EVP_PKEY_CTX_get_rsa_padding(
17023        ctx: *mut EVP_PKEY_CTX,
17024        out_padding: *mut ::std::os::raw::c_int,
17025    ) -> ::std::os::raw::c_int;
17026}
17027extern "C" {
17028    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
17029    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
17030        ctx: *mut EVP_PKEY_CTX,
17031        salt_len: ::std::os::raw::c_int,
17032    ) -> ::std::os::raw::c_int;
17033}
17034extern "C" {
17035    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
17036    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
17037        ctx: *mut EVP_PKEY_CTX,
17038        out_salt_len: *mut ::std::os::raw::c_int,
17039    ) -> ::std::os::raw::c_int;
17040}
17041extern "C" {
17042    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_keygen_bits"]
17043    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
17044        ctx: *mut EVP_PKEY_CTX,
17045        bits: ::std::os::raw::c_int,
17046    ) -> ::std::os::raw::c_int;
17047}
17048extern "C" {
17049    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
17050    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
17051        ctx: *mut EVP_PKEY_CTX,
17052        e: *mut BIGNUM,
17053    ) -> ::std::os::raw::c_int;
17054}
17055extern "C" {
17056    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_oaep_md"]
17057    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
17058        ctx: *mut EVP_PKEY_CTX,
17059        md: *const EVP_MD,
17060    ) -> ::std::os::raw::c_int;
17061}
17062extern "C" {
17063    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_rsa_oaep_md"]
17064    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
17065        ctx: *mut EVP_PKEY_CTX,
17066        out_md: *mut *const EVP_MD,
17067    ) -> ::std::os::raw::c_int;
17068}
17069extern "C" {
17070    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_mgf1_md"]
17071    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
17072        ctx: *mut EVP_PKEY_CTX,
17073        md: *const EVP_MD,
17074    ) -> ::std::os::raw::c_int;
17075}
17076extern "C" {
17077    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_rsa_mgf1_md"]
17078    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
17079        ctx: *mut EVP_PKEY_CTX,
17080        out_md: *mut *const EVP_MD,
17081    ) -> ::std::os::raw::c_int;
17082}
17083extern "C" {
17084    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set0_rsa_oaep_label"]
17085    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
17086        ctx: *mut EVP_PKEY_CTX,
17087        label: *mut u8,
17088        label_len: usize,
17089    ) -> ::std::os::raw::c_int;
17090}
17091extern "C" {
17092    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get0_rsa_oaep_label"]
17093    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
17094        ctx: *mut EVP_PKEY_CTX,
17095        out_label: *mut *const u8,
17096    ) -> ::std::os::raw::c_int;
17097}
17098extern "C" {
17099    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
17100    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
17101        ctx: *mut EVP_PKEY_CTX,
17102        nid: ::std::os::raw::c_int,
17103    ) -> ::std::os::raw::c_int;
17104}
17105extern "C" {
17106    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_kem_set_params"]
17107    pub fn EVP_PKEY_CTX_kem_set_params(
17108        ctx: *mut EVP_PKEY_CTX,
17109        nid: ::std::os::raw::c_int,
17110    ) -> ::std::os::raw::c_int;
17111}
17112extern "C" {
17113    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_kem_new_raw_public_key"]
17114    pub fn EVP_PKEY_kem_new_raw_public_key(
17115        nid: ::std::os::raw::c_int,
17116        in_: *const u8,
17117        len: usize,
17118    ) -> *mut EVP_PKEY;
17119}
17120extern "C" {
17121    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_kem_new_raw_secret_key"]
17122    pub fn EVP_PKEY_kem_new_raw_secret_key(
17123        nid: ::std::os::raw::c_int,
17124        in_: *const u8,
17125        len: usize,
17126    ) -> *mut EVP_PKEY;
17127}
17128extern "C" {
17129    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_kem_new_raw_key"]
17130    pub fn EVP_PKEY_kem_new_raw_key(
17131        nid: ::std::os::raw::c_int,
17132        in_public: *const u8,
17133        len_public: usize,
17134        in_secret: *const u8,
17135        len_secret: usize,
17136    ) -> *mut EVP_PKEY;
17137}
17138extern "C" {
17139    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_kem_check_key"]
17140    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
17141}
17142extern "C" {
17143    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_pqdsa_set_params"]
17144    pub fn EVP_PKEY_CTX_pqdsa_set_params(
17145        ctx: *mut EVP_PKEY_CTX,
17146        nid: ::std::os::raw::c_int,
17147    ) -> ::std::os::raw::c_int;
17148}
17149extern "C" {
17150    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_pqdsa_new_raw_public_key"]
17151    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
17152        nid: ::std::os::raw::c_int,
17153        in_: *const u8,
17154        len: usize,
17155    ) -> *mut EVP_PKEY;
17156}
17157extern "C" {
17158    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_pqdsa_new_raw_private_key"]
17159    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
17160        nid: ::std::os::raw::c_int,
17161        in_: *const u8,
17162        len: usize,
17163    ) -> *mut EVP_PKEY;
17164}
17165extern "C" {
17166    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dh_pad"]
17167    pub fn EVP_PKEY_CTX_set_dh_pad(
17168        ctx: *mut EVP_PKEY_CTX,
17169        pad: ::std::os::raw::c_int,
17170    ) -> ::std::os::raw::c_int;
17171}
17172extern "C" {
17173    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_asn1_get_count"]
17174    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
17175}
17176extern "C" {
17177    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_asn1_get0"]
17178    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
17179}
17180extern "C" {
17181    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_asn1_find"]
17182    pub fn EVP_PKEY_asn1_find(
17183        _pe: *mut *mut ENGINE,
17184        type_: ::std::os::raw::c_int,
17185    ) -> *const EVP_PKEY_ASN1_METHOD;
17186}
17187extern "C" {
17188    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_asn1_find_str"]
17189    pub fn EVP_PKEY_asn1_find_str(
17190        _pe: *mut *mut ENGINE,
17191        name: *const ::std::os::raw::c_char,
17192        len: ::std::os::raw::c_int,
17193    ) -> *const EVP_PKEY_ASN1_METHOD;
17194}
17195extern "C" {
17196    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_asn1_get0_info"]
17197    pub fn EVP_PKEY_asn1_get0_info(
17198        ppkey_id: *mut ::std::os::raw::c_int,
17199        pkey_base_id: *mut ::std::os::raw::c_int,
17200        ppkey_flags: *mut ::std::os::raw::c_int,
17201        pinfo: *mut *const ::std::os::raw::c_char,
17202        ppem_str: *mut *const ::std::os::raw::c_char,
17203        ameth: *const EVP_PKEY_ASN1_METHOD,
17204    ) -> ::std::os::raw::c_int;
17205}
17206pub type EVP_PKEY_gen_cb =
17207    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
17208extern "C" {
17209    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_cb"]
17210    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
17211}
17212extern "C" {
17213    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_keygen_info"]
17214    pub fn EVP_PKEY_CTX_get_keygen_info(
17215        ctx: *mut EVP_PKEY_CTX,
17216        idx: ::std::os::raw::c_int,
17217    ) -> ::std::os::raw::c_int;
17218}
17219extern "C" {
17220    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_app_data"]
17221    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
17222}
17223extern "C" {
17224    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_get_app_data"]
17225    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
17226}
17227extern "C" {
17228    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_get_pkey_type"]
17229    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17230}
17231extern "C" {
17232    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_pkey_type"]
17233    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17234}
17235extern "C" {
17236    #[link_name = "\u{1}aws_lc_0_30_0_EVP_CIPHER_do_all_sorted"]
17237    pub fn EVP_CIPHER_do_all_sorted(
17238        callback: ::std::option::Option<
17239            unsafe extern "C" fn(
17240                cipher: *const EVP_CIPHER,
17241                name: *const ::std::os::raw::c_char,
17242                unused: *const ::std::os::raw::c_char,
17243                arg: *mut ::std::os::raw::c_void,
17244            ),
17245        >,
17246        arg: *mut ::std::os::raw::c_void,
17247    );
17248}
17249extern "C" {
17250    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_do_all_sorted"]
17251    pub fn EVP_MD_do_all_sorted(
17252        callback: ::std::option::Option<
17253            unsafe extern "C" fn(
17254                cipher: *const EVP_MD,
17255                name: *const ::std::os::raw::c_char,
17256                unused: *const ::std::os::raw::c_char,
17257                arg: *mut ::std::os::raw::c_void,
17258            ),
17259        >,
17260        arg: *mut ::std::os::raw::c_void,
17261    );
17262}
17263extern "C" {
17264    #[link_name = "\u{1}aws_lc_0_30_0_EVP_MD_do_all"]
17265    pub fn EVP_MD_do_all(
17266        callback: ::std::option::Option<
17267            unsafe extern "C" fn(
17268                cipher: *const EVP_MD,
17269                name: *const ::std::os::raw::c_char,
17270                unused: *const ::std::os::raw::c_char,
17271                arg: *mut ::std::os::raw::c_void,
17272            ),
17273        >,
17274        arg: *mut ::std::os::raw::c_void,
17275    );
17276}
17277extern "C" {
17278    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PrivateKey"]
17279    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17280}
17281extern "C" {
17282    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PublicKey"]
17283    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17284}
17285extern "C" {
17286    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PrivateKey"]
17287    pub fn d2i_PrivateKey(
17288        type_: ::std::os::raw::c_int,
17289        out: *mut *mut EVP_PKEY,
17290        inp: *mut *const u8,
17291        len: ::std::os::raw::c_long,
17292    ) -> *mut EVP_PKEY;
17293}
17294extern "C" {
17295    #[link_name = "\u{1}aws_lc_0_30_0_d2i_AutoPrivateKey"]
17296    pub fn d2i_AutoPrivateKey(
17297        out: *mut *mut EVP_PKEY,
17298        inp: *mut *const u8,
17299        len: ::std::os::raw::c_long,
17300    ) -> *mut EVP_PKEY;
17301}
17302extern "C" {
17303    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PublicKey"]
17304    pub fn d2i_PublicKey(
17305        type_: ::std::os::raw::c_int,
17306        out: *mut *mut EVP_PKEY,
17307        inp: *mut *const u8,
17308        len: ::std::os::raw::c_long,
17309    ) -> *mut EVP_PKEY;
17310}
17311extern "C" {
17312    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_ec_param_enc"]
17313    pub fn EVP_PKEY_CTX_set_ec_param_enc(
17314        ctx: *mut EVP_PKEY_CTX,
17315        encoding: ::std::os::raw::c_int,
17316    ) -> ::std::os::raw::c_int;
17317}
17318extern "C" {
17319    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_set1_tls_encodedpoint"]
17320    pub fn EVP_PKEY_set1_tls_encodedpoint(
17321        pkey: *mut EVP_PKEY,
17322        in_: *const u8,
17323        len: usize,
17324    ) -> ::std::os::raw::c_int;
17325}
17326extern "C" {
17327    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get1_tls_encodedpoint"]
17328    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
17329}
17330extern "C" {
17331    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_base_id"]
17332    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
17333}
17334extern "C" {
17335    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
17336    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
17337        ctx: *mut EVP_PKEY_CTX,
17338        md: *const EVP_MD,
17339    ) -> ::std::os::raw::c_int;
17340}
17341extern "C" {
17342    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
17343    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
17344        ctx: *mut EVP_PKEY_CTX,
17345        salt_len: ::std::os::raw::c_int,
17346    ) -> ::std::os::raw::c_int;
17347}
17348extern "C" {
17349    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
17350    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
17351        ctx: *mut EVP_PKEY_CTX,
17352        md: *const EVP_MD,
17353    ) -> ::std::os::raw::c_int;
17354}
17355extern "C" {
17356    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PUBKEY"]
17357    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17358}
17359extern "C" {
17360    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PUBKEY"]
17361    pub fn d2i_PUBKEY(
17362        out: *mut *mut EVP_PKEY,
17363        inp: *mut *const u8,
17364        len: ::std::os::raw::c_long,
17365    ) -> *mut EVP_PKEY;
17366}
17367extern "C" {
17368    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSA_PUBKEY"]
17369    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17370}
17371extern "C" {
17372    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSA_PUBKEY"]
17373    pub fn d2i_RSA_PUBKEY(
17374        out: *mut *mut RSA,
17375        inp: *mut *const u8,
17376        len: ::std::os::raw::c_long,
17377    ) -> *mut RSA;
17378}
17379extern "C" {
17380    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSA_PUBKEY"]
17381    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17382}
17383extern "C" {
17384    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSA_PUBKEY"]
17385    pub fn d2i_DSA_PUBKEY(
17386        out: *mut *mut DSA,
17387        inp: *mut *const u8,
17388        len: ::std::os::raw::c_long,
17389    ) -> *mut DSA;
17390}
17391extern "C" {
17392    #[link_name = "\u{1}aws_lc_0_30_0_i2d_EC_PUBKEY"]
17393    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17394}
17395extern "C" {
17396    #[link_name = "\u{1}aws_lc_0_30_0_d2i_EC_PUBKEY"]
17397    pub fn d2i_EC_PUBKEY(
17398        out: *mut *mut EC_KEY,
17399        inp: *mut *const u8,
17400        len: ::std::os::raw::c_long,
17401    ) -> *mut EC_KEY;
17402}
17403extern "C" {
17404    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_assign"]
17405    pub fn EVP_PKEY_assign(
17406        pkey: *mut EVP_PKEY,
17407        type_: ::std::os::raw::c_int,
17408        key: *mut ::std::os::raw::c_void,
17409    ) -> ::std::os::raw::c_int;
17410}
17411extern "C" {
17412    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_type"]
17413    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17414}
17415extern "C" {
17416    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_new_mac_key"]
17417    pub fn EVP_PKEY_new_mac_key(
17418        type_: ::std::os::raw::c_int,
17419        engine: *mut ENGINE,
17420        mac_key: *const u8,
17421        mac_key_len: usize,
17422    ) -> *mut EVP_PKEY;
17423}
17424extern "C" {
17425    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_get0"]
17426    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
17427}
17428extern "C" {
17429    #[link_name = "\u{1}aws_lc_0_30_0_OpenSSL_add_all_algorithms"]
17430    pub fn OpenSSL_add_all_algorithms();
17431}
17432extern "C" {
17433    #[link_name = "\u{1}aws_lc_0_30_0_OPENSSL_add_all_algorithms_conf"]
17434    pub fn OPENSSL_add_all_algorithms_conf();
17435}
17436extern "C" {
17437    #[link_name = "\u{1}aws_lc_0_30_0_OpenSSL_add_all_ciphers"]
17438    pub fn OpenSSL_add_all_ciphers();
17439}
17440extern "C" {
17441    #[link_name = "\u{1}aws_lc_0_30_0_OpenSSL_add_all_digests"]
17442    pub fn OpenSSL_add_all_digests();
17443}
17444extern "C" {
17445    #[link_name = "\u{1}aws_lc_0_30_0_EVP_cleanup"]
17446    pub fn EVP_cleanup();
17447}
17448extern "C" {
17449    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
17450    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
17451        ctx: *mut EVP_PKEY_CTX,
17452        nbits: ::std::os::raw::c_int,
17453    ) -> ::std::os::raw::c_int;
17454}
17455extern "C" {
17456    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dsa_paramgen_md"]
17457    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
17458        ctx: *mut EVP_PKEY_CTX,
17459        md: *const EVP_MD,
17460    ) -> ::std::os::raw::c_int;
17461}
17462extern "C" {
17463    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
17464    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
17465        ctx: *mut EVP_PKEY_CTX,
17466        qbits: ::std::os::raw::c_int,
17467    ) -> ::std::os::raw::c_int;
17468}
17469extern "C" {
17470    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_ctrl_str"]
17471    pub fn EVP_PKEY_CTX_ctrl_str(
17472        ctx: *mut EVP_PKEY_CTX,
17473        type_: *const ::std::os::raw::c_char,
17474        value: *const ::std::os::raw::c_char,
17475    ) -> ::std::os::raw::c_int;
17476}
17477extern "C" {
17478    #[link_name = "\u{1}aws_lc_0_30_0_HKDF"]
17479    pub fn HKDF(
17480        out_key: *mut u8,
17481        out_len: usize,
17482        digest: *const EVP_MD,
17483        secret: *const u8,
17484        secret_len: usize,
17485        salt: *const u8,
17486        salt_len: usize,
17487        info: *const u8,
17488        info_len: usize,
17489    ) -> ::std::os::raw::c_int;
17490}
17491extern "C" {
17492    #[link_name = "\u{1}aws_lc_0_30_0_HKDF_extract"]
17493    pub fn HKDF_extract(
17494        out_key: *mut u8,
17495        out_len: *mut usize,
17496        digest: *const EVP_MD,
17497        secret: *const u8,
17498        secret_len: usize,
17499        salt: *const u8,
17500        salt_len: usize,
17501    ) -> ::std::os::raw::c_int;
17502}
17503extern "C" {
17504    #[link_name = "\u{1}aws_lc_0_30_0_HKDF_expand"]
17505    pub fn HKDF_expand(
17506        out_key: *mut u8,
17507        out_len: usize,
17508        digest: *const EVP_MD,
17509        prk: *const u8,
17510        prk_len: usize,
17511        info: *const u8,
17512        info_len: usize,
17513    ) -> ::std::os::raw::c_int;
17514}
17515extern "C" {
17516    #[link_name = "\u{1}aws_lc_0_30_0_MD5_Init"]
17517    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17518}
17519extern "C" {
17520    #[link_name = "\u{1}aws_lc_0_30_0_MD5_Update"]
17521    pub fn MD5_Update(
17522        md5: *mut MD5_CTX,
17523        data: *const ::std::os::raw::c_void,
17524        len: usize,
17525    ) -> ::std::os::raw::c_int;
17526}
17527extern "C" {
17528    #[link_name = "\u{1}aws_lc_0_30_0_MD5_Final"]
17529    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17530}
17531extern "C" {
17532    #[link_name = "\u{1}aws_lc_0_30_0_MD5"]
17533    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
17534}
17535extern "C" {
17536    #[link_name = "\u{1}aws_lc_0_30_0_MD5_Transform"]
17537    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
17538}
17539#[repr(C)]
17540#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17541pub struct md5_state_st {
17542    pub h: [u32; 4usize],
17543    pub Nl: u32,
17544    pub Nh: u32,
17545    pub data: [u8; 64usize],
17546    pub num: ::std::os::raw::c_uint,
17547}
17548#[test]
17549fn bindgen_test_layout_md5_state_st() {
17550    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
17551    let ptr = UNINIT.as_ptr();
17552    assert_eq!(
17553        ::std::mem::size_of::<md5_state_st>(),
17554        92usize,
17555        concat!("Size of: ", stringify!(md5_state_st))
17556    );
17557    assert_eq!(
17558        ::std::mem::align_of::<md5_state_st>(),
17559        4usize,
17560        concat!("Alignment of ", stringify!(md5_state_st))
17561    );
17562    assert_eq!(
17563        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
17564        0usize,
17565        concat!(
17566            "Offset of field: ",
17567            stringify!(md5_state_st),
17568            "::",
17569            stringify!(h)
17570        )
17571    );
17572    assert_eq!(
17573        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
17574        16usize,
17575        concat!(
17576            "Offset of field: ",
17577            stringify!(md5_state_st),
17578            "::",
17579            stringify!(Nl)
17580        )
17581    );
17582    assert_eq!(
17583        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
17584        20usize,
17585        concat!(
17586            "Offset of field: ",
17587            stringify!(md5_state_st),
17588            "::",
17589            stringify!(Nh)
17590        )
17591    );
17592    assert_eq!(
17593        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17594        24usize,
17595        concat!(
17596            "Offset of field: ",
17597            stringify!(md5_state_st),
17598            "::",
17599            stringify!(data)
17600        )
17601    );
17602    assert_eq!(
17603        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
17604        88usize,
17605        concat!(
17606            "Offset of field: ",
17607            stringify!(md5_state_st),
17608            "::",
17609            stringify!(num)
17610        )
17611    );
17612}
17613impl Default for md5_state_st {
17614    fn default() -> Self {
17615        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17616        unsafe {
17617            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17618            s.assume_init()
17619        }
17620    }
17621}
17622extern "C" {
17623    #[link_name = "\u{1}aws_lc_0_30_0_HMAC"]
17624    pub fn HMAC(
17625        evp_md: *const EVP_MD,
17626        key: *const ::std::os::raw::c_void,
17627        key_len: usize,
17628        data: *const u8,
17629        data_len: usize,
17630        out: *mut u8,
17631        out_len: *mut ::std::os::raw::c_uint,
17632    ) -> *mut u8;
17633}
17634extern "C" {
17635    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_init"]
17636    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
17637}
17638extern "C" {
17639    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_new"]
17640    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
17641}
17642extern "C" {
17643    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_cleanup"]
17644    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
17645}
17646extern "C" {
17647    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_cleanse"]
17648    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
17649}
17650extern "C" {
17651    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_free"]
17652    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
17653}
17654extern "C" {
17655    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_Init_ex"]
17656    pub fn HMAC_Init_ex(
17657        ctx: *mut HMAC_CTX,
17658        key: *const ::std::os::raw::c_void,
17659        key_len: usize,
17660        md: *const EVP_MD,
17661        impl_: *mut ENGINE,
17662    ) -> ::std::os::raw::c_int;
17663}
17664extern "C" {
17665    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_Update"]
17666    pub fn HMAC_Update(
17667        ctx: *mut HMAC_CTX,
17668        data: *const u8,
17669        data_len: usize,
17670    ) -> ::std::os::raw::c_int;
17671}
17672extern "C" {
17673    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_Final"]
17674    pub fn HMAC_Final(
17675        ctx: *mut HMAC_CTX,
17676        out: *mut u8,
17677        out_len: *mut ::std::os::raw::c_uint,
17678    ) -> ::std::os::raw::c_int;
17679}
17680extern "C" {
17681    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_size"]
17682    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
17683}
17684extern "C" {
17685    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_get_md"]
17686    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
17687}
17688extern "C" {
17689    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_copy_ex"]
17690    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17691}
17692extern "C" {
17693    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_reset"]
17694    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
17695}
17696extern "C" {
17697    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_set_precomputed_key_export"]
17698    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
17699}
17700extern "C" {
17701    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_get_precomputed_key"]
17702    pub fn HMAC_get_precomputed_key(
17703        ctx: *mut HMAC_CTX,
17704        out: *mut u8,
17705        out_len: *mut usize,
17706    ) -> ::std::os::raw::c_int;
17707}
17708extern "C" {
17709    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_Init_from_precomputed_key"]
17710    pub fn HMAC_Init_from_precomputed_key(
17711        ctx: *mut HMAC_CTX,
17712        precomputed_key: *const u8,
17713        precompute_key_len: usize,
17714        md: *const EVP_MD,
17715    ) -> ::std::os::raw::c_int;
17716}
17717extern "C" {
17718    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_Init"]
17719    pub fn HMAC_Init(
17720        ctx: *mut HMAC_CTX,
17721        key: *const ::std::os::raw::c_void,
17722        key_len: ::std::os::raw::c_int,
17723        md: *const EVP_MD,
17724    ) -> ::std::os::raw::c_int;
17725}
17726extern "C" {
17727    #[link_name = "\u{1}aws_lc_0_30_0_HMAC_CTX_copy"]
17728    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17729}
17730#[repr(C)]
17731#[derive(Debug, Copy, Clone)]
17732pub struct hmac_methods_st {
17733    _unused: [u8; 0],
17734}
17735pub type HmacMethods = hmac_methods_st;
17736#[repr(C)]
17737#[derive(Copy, Clone)]
17738pub union md_ctx_union {
17739    pub md5: MD5_CTX,
17740    pub sha1: SHA_CTX,
17741    pub sha256: SHA256_CTX,
17742    pub sha512: SHA512_CTX,
17743    pub sha3: [u8; 400usize],
17744}
17745#[test]
17746fn bindgen_test_layout_md_ctx_union() {
17747    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
17748    let ptr = UNINIT.as_ptr();
17749    assert_eq!(
17750        ::std::mem::size_of::<md_ctx_union>(),
17751        400usize,
17752        concat!("Size of: ", stringify!(md_ctx_union))
17753    );
17754    assert_eq!(
17755        ::std::mem::align_of::<md_ctx_union>(),
17756        8usize,
17757        concat!("Alignment of ", stringify!(md_ctx_union))
17758    );
17759    assert_eq!(
17760        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
17761        0usize,
17762        concat!(
17763            "Offset of field: ",
17764            stringify!(md_ctx_union),
17765            "::",
17766            stringify!(md5)
17767        )
17768    );
17769    assert_eq!(
17770        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
17771        0usize,
17772        concat!(
17773            "Offset of field: ",
17774            stringify!(md_ctx_union),
17775            "::",
17776            stringify!(sha1)
17777        )
17778    );
17779    assert_eq!(
17780        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
17781        0usize,
17782        concat!(
17783            "Offset of field: ",
17784            stringify!(md_ctx_union),
17785            "::",
17786            stringify!(sha256)
17787        )
17788    );
17789    assert_eq!(
17790        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
17791        0usize,
17792        concat!(
17793            "Offset of field: ",
17794            stringify!(md_ctx_union),
17795            "::",
17796            stringify!(sha512)
17797        )
17798    );
17799    assert_eq!(
17800        unsafe { ::std::ptr::addr_of!((*ptr).sha3) as usize - ptr as usize },
17801        0usize,
17802        concat!(
17803            "Offset of field: ",
17804            stringify!(md_ctx_union),
17805            "::",
17806            stringify!(sha3)
17807        )
17808    );
17809}
17810impl Default for md_ctx_union {
17811    fn default() -> Self {
17812        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17813        unsafe {
17814            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17815            s.assume_init()
17816        }
17817    }
17818}
17819#[repr(C)]
17820#[derive(Copy, Clone)]
17821pub struct hmac_ctx_st {
17822    pub md: *const EVP_MD,
17823    pub methods: *const HmacMethods,
17824    pub md_ctx: md_ctx_union,
17825    pub i_ctx: md_ctx_union,
17826    pub o_ctx: md_ctx_union,
17827    pub state: i8,
17828}
17829#[test]
17830fn bindgen_test_layout_hmac_ctx_st() {
17831    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
17832    let ptr = UNINIT.as_ptr();
17833    assert_eq!(
17834        ::std::mem::size_of::<hmac_ctx_st>(),
17835        1224usize,
17836        concat!("Size of: ", stringify!(hmac_ctx_st))
17837    );
17838    assert_eq!(
17839        ::std::mem::align_of::<hmac_ctx_st>(),
17840        8usize,
17841        concat!("Alignment of ", stringify!(hmac_ctx_st))
17842    );
17843    assert_eq!(
17844        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
17845        0usize,
17846        concat!(
17847            "Offset of field: ",
17848            stringify!(hmac_ctx_st),
17849            "::",
17850            stringify!(md)
17851        )
17852    );
17853    assert_eq!(
17854        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
17855        8usize,
17856        concat!(
17857            "Offset of field: ",
17858            stringify!(hmac_ctx_st),
17859            "::",
17860            stringify!(methods)
17861        )
17862    );
17863    assert_eq!(
17864        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
17865        16usize,
17866        concat!(
17867            "Offset of field: ",
17868            stringify!(hmac_ctx_st),
17869            "::",
17870            stringify!(md_ctx)
17871        )
17872    );
17873    assert_eq!(
17874        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
17875        416usize,
17876        concat!(
17877            "Offset of field: ",
17878            stringify!(hmac_ctx_st),
17879            "::",
17880            stringify!(i_ctx)
17881        )
17882    );
17883    assert_eq!(
17884        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
17885        816usize,
17886        concat!(
17887            "Offset of field: ",
17888            stringify!(hmac_ctx_st),
17889            "::",
17890            stringify!(o_ctx)
17891        )
17892    );
17893    assert_eq!(
17894        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
17895        1216usize,
17896        concat!(
17897            "Offset of field: ",
17898            stringify!(hmac_ctx_st),
17899            "::",
17900            stringify!(state)
17901        )
17902    );
17903}
17904impl Default for hmac_ctx_st {
17905    fn default() -> Self {
17906        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17907        unsafe {
17908            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17909            s.assume_init()
17910        }
17911    }
17912}
17913extern "C" {
17914    #[link_name = "\u{1}aws_lc_0_30_0_EVP_hpke_x25519_hkdf_sha256"]
17915    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
17916}
17917extern "C" {
17918    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEM_id"]
17919    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
17920}
17921extern "C" {
17922    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEM_public_key_len"]
17923    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17924}
17925extern "C" {
17926    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEM_private_key_len"]
17927    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17928}
17929extern "C" {
17930    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEM_enc_len"]
17931    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
17932}
17933extern "C" {
17934    #[link_name = "\u{1}aws_lc_0_30_0_EVP_hpke_hkdf_sha256"]
17935    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
17936}
17937extern "C" {
17938    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KDF_id"]
17939    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
17940}
17941extern "C" {
17942    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KDF_hkdf_md"]
17943    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
17944}
17945extern "C" {
17946    #[link_name = "\u{1}aws_lc_0_30_0_EVP_hpke_aes_128_gcm"]
17947    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
17948}
17949extern "C" {
17950    #[link_name = "\u{1}aws_lc_0_30_0_EVP_hpke_aes_256_gcm"]
17951    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
17952}
17953extern "C" {
17954    #[link_name = "\u{1}aws_lc_0_30_0_EVP_hpke_chacha20_poly1305"]
17955    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
17956}
17957extern "C" {
17958    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_AEAD_id"]
17959    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17960}
17961extern "C" {
17962    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_AEAD_aead"]
17963    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17964}
17965extern "C" {
17966    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_zero"]
17967    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17968}
17969extern "C" {
17970    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_cleanup"]
17971    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17972}
17973extern "C" {
17974    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_new"]
17975    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17976}
17977extern "C" {
17978    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_free"]
17979    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17980}
17981extern "C" {
17982    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_copy"]
17983    pub fn EVP_HPKE_KEY_copy(
17984        dst: *mut EVP_HPKE_KEY,
17985        src: *const EVP_HPKE_KEY,
17986    ) -> ::std::os::raw::c_int;
17987}
17988extern "C" {
17989    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_move"]
17990    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17991}
17992extern "C" {
17993    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_init"]
17994    pub fn EVP_HPKE_KEY_init(
17995        key: *mut EVP_HPKE_KEY,
17996        kem: *const EVP_HPKE_KEM,
17997        priv_key: *const u8,
17998        priv_key_len: usize,
17999    ) -> ::std::os::raw::c_int;
18000}
18001extern "C" {
18002    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_generate"]
18003    pub fn EVP_HPKE_KEY_generate(
18004        key: *mut EVP_HPKE_KEY,
18005        kem: *const EVP_HPKE_KEM,
18006    ) -> ::std::os::raw::c_int;
18007}
18008extern "C" {
18009    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_kem"]
18010    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
18011}
18012extern "C" {
18013    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_public_key"]
18014    pub fn EVP_HPKE_KEY_public_key(
18015        key: *const EVP_HPKE_KEY,
18016        out: *mut u8,
18017        out_len: *mut usize,
18018        max_out: usize,
18019    ) -> ::std::os::raw::c_int;
18020}
18021extern "C" {
18022    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_KEY_private_key"]
18023    pub fn EVP_HPKE_KEY_private_key(
18024        key: *const EVP_HPKE_KEY,
18025        out: *mut u8,
18026        out_len: *mut usize,
18027        max_out: usize,
18028    ) -> ::std::os::raw::c_int;
18029}
18030extern "C" {
18031    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_zero"]
18032    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
18033}
18034extern "C" {
18035    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_cleanup"]
18036    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
18037}
18038extern "C" {
18039    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_new"]
18040    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
18041}
18042extern "C" {
18043    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_free"]
18044    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
18045}
18046extern "C" {
18047    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_sender"]
18048    pub fn EVP_HPKE_CTX_setup_sender(
18049        ctx: *mut EVP_HPKE_CTX,
18050        out_enc: *mut u8,
18051        out_enc_len: *mut usize,
18052        max_enc: usize,
18053        kem: *const EVP_HPKE_KEM,
18054        kdf: *const EVP_HPKE_KDF,
18055        aead: *const EVP_HPKE_AEAD,
18056        peer_public_key: *const u8,
18057        peer_public_key_len: usize,
18058        info: *const u8,
18059        info_len: usize,
18060    ) -> ::std::os::raw::c_int;
18061}
18062extern "C" {
18063    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
18064    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
18065        ctx: *mut EVP_HPKE_CTX,
18066        out_enc: *mut u8,
18067        out_enc_len: *mut usize,
18068        max_enc: usize,
18069        kem: *const EVP_HPKE_KEM,
18070        kdf: *const EVP_HPKE_KDF,
18071        aead: *const EVP_HPKE_AEAD,
18072        peer_public_key: *const u8,
18073        peer_public_key_len: usize,
18074        info: *const u8,
18075        info_len: usize,
18076        seed: *const u8,
18077        seed_len: usize,
18078    ) -> ::std::os::raw::c_int;
18079}
18080extern "C" {
18081    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_recipient"]
18082    pub fn EVP_HPKE_CTX_setup_recipient(
18083        ctx: *mut EVP_HPKE_CTX,
18084        key: *const EVP_HPKE_KEY,
18085        kdf: *const EVP_HPKE_KDF,
18086        aead: *const EVP_HPKE_AEAD,
18087        enc: *const u8,
18088        enc_len: usize,
18089        info: *const u8,
18090        info_len: usize,
18091    ) -> ::std::os::raw::c_int;
18092}
18093extern "C" {
18094    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_auth_sender"]
18095    pub fn EVP_HPKE_CTX_setup_auth_sender(
18096        ctx: *mut EVP_HPKE_CTX,
18097        out_enc: *mut u8,
18098        out_enc_len: *mut usize,
18099        max_enc: usize,
18100        key: *const EVP_HPKE_KEY,
18101        kdf: *const EVP_HPKE_KDF,
18102        aead: *const EVP_HPKE_AEAD,
18103        peer_public_key: *const u8,
18104        peer_public_key_len: usize,
18105        info: *const u8,
18106        info_len: usize,
18107    ) -> ::std::os::raw::c_int;
18108}
18109extern "C" {
18110    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
18111    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
18112        ctx: *mut EVP_HPKE_CTX,
18113        out_enc: *mut u8,
18114        out_enc_len: *mut usize,
18115        max_enc: usize,
18116        key: *const EVP_HPKE_KEY,
18117        kdf: *const EVP_HPKE_KDF,
18118        aead: *const EVP_HPKE_AEAD,
18119        peer_public_key: *const u8,
18120        peer_public_key_len: usize,
18121        info: *const u8,
18122        info_len: usize,
18123        seed: *const u8,
18124        seed_len: usize,
18125    ) -> ::std::os::raw::c_int;
18126}
18127extern "C" {
18128    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_setup_auth_recipient"]
18129    pub fn EVP_HPKE_CTX_setup_auth_recipient(
18130        ctx: *mut EVP_HPKE_CTX,
18131        key: *const EVP_HPKE_KEY,
18132        kdf: *const EVP_HPKE_KDF,
18133        aead: *const EVP_HPKE_AEAD,
18134        enc: *const u8,
18135        enc_len: usize,
18136        info: *const u8,
18137        info_len: usize,
18138        peer_public_key: *const u8,
18139        peer_public_key_len: usize,
18140    ) -> ::std::os::raw::c_int;
18141}
18142extern "C" {
18143    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_open"]
18144    pub fn EVP_HPKE_CTX_open(
18145        ctx: *mut EVP_HPKE_CTX,
18146        out: *mut u8,
18147        out_len: *mut usize,
18148        max_out_len: usize,
18149        in_: *const u8,
18150        in_len: usize,
18151        ad: *const u8,
18152        ad_len: usize,
18153    ) -> ::std::os::raw::c_int;
18154}
18155extern "C" {
18156    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_seal"]
18157    pub fn EVP_HPKE_CTX_seal(
18158        ctx: *mut EVP_HPKE_CTX,
18159        out: *mut u8,
18160        out_len: *mut usize,
18161        max_out_len: usize,
18162        in_: *const u8,
18163        in_len: usize,
18164        ad: *const u8,
18165        ad_len: usize,
18166    ) -> ::std::os::raw::c_int;
18167}
18168extern "C" {
18169    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_export"]
18170    pub fn EVP_HPKE_CTX_export(
18171        ctx: *const EVP_HPKE_CTX,
18172        out: *mut u8,
18173        secret_len: usize,
18174        context: *const u8,
18175        context_len: usize,
18176    ) -> ::std::os::raw::c_int;
18177}
18178extern "C" {
18179    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_max_overhead"]
18180    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
18181}
18182extern "C" {
18183    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_kem"]
18184    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
18185}
18186extern "C" {
18187    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_aead"]
18188    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
18189}
18190extern "C" {
18191    #[link_name = "\u{1}aws_lc_0_30_0_EVP_HPKE_CTX_kdf"]
18192    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
18193}
18194#[repr(C)]
18195#[derive(Copy, Clone)]
18196pub struct evp_hpke_ctx_st {
18197    pub kem: *const EVP_HPKE_KEM,
18198    pub aead: *const EVP_HPKE_AEAD,
18199    pub kdf: *const EVP_HPKE_KDF,
18200    pub aead_ctx: EVP_AEAD_CTX,
18201    pub base_nonce: [u8; 24usize],
18202    pub exporter_secret: [u8; 64usize],
18203    pub seq: u64,
18204    pub is_sender: ::std::os::raw::c_int,
18205}
18206#[test]
18207fn bindgen_test_layout_evp_hpke_ctx_st() {
18208    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
18209    let ptr = UNINIT.as_ptr();
18210    assert_eq!(
18211        ::std::mem::size_of::<evp_hpke_ctx_st>(),
18212        712usize,
18213        concat!("Size of: ", stringify!(evp_hpke_ctx_st))
18214    );
18215    assert_eq!(
18216        ::std::mem::align_of::<evp_hpke_ctx_st>(),
18217        8usize,
18218        concat!("Alignment of ", stringify!(evp_hpke_ctx_st))
18219    );
18220    assert_eq!(
18221        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18222        0usize,
18223        concat!(
18224            "Offset of field: ",
18225            stringify!(evp_hpke_ctx_st),
18226            "::",
18227            stringify!(kem)
18228        )
18229    );
18230    assert_eq!(
18231        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
18232        8usize,
18233        concat!(
18234            "Offset of field: ",
18235            stringify!(evp_hpke_ctx_st),
18236            "::",
18237            stringify!(aead)
18238        )
18239    );
18240    assert_eq!(
18241        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
18242        16usize,
18243        concat!(
18244            "Offset of field: ",
18245            stringify!(evp_hpke_ctx_st),
18246            "::",
18247            stringify!(kdf)
18248        )
18249    );
18250    assert_eq!(
18251        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
18252        24usize,
18253        concat!(
18254            "Offset of field: ",
18255            stringify!(evp_hpke_ctx_st),
18256            "::",
18257            stringify!(aead_ctx)
18258        )
18259    );
18260    assert_eq!(
18261        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
18262        608usize,
18263        concat!(
18264            "Offset of field: ",
18265            stringify!(evp_hpke_ctx_st),
18266            "::",
18267            stringify!(base_nonce)
18268        )
18269    );
18270    assert_eq!(
18271        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
18272        632usize,
18273        concat!(
18274            "Offset of field: ",
18275            stringify!(evp_hpke_ctx_st),
18276            "::",
18277            stringify!(exporter_secret)
18278        )
18279    );
18280    assert_eq!(
18281        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
18282        696usize,
18283        concat!(
18284            "Offset of field: ",
18285            stringify!(evp_hpke_ctx_st),
18286            "::",
18287            stringify!(seq)
18288        )
18289    );
18290    assert_eq!(
18291        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
18292        704usize,
18293        concat!(
18294            "Offset of field: ",
18295            stringify!(evp_hpke_ctx_st),
18296            "::",
18297            stringify!(is_sender)
18298        )
18299    );
18300}
18301impl Default for evp_hpke_ctx_st {
18302    fn default() -> Self {
18303        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18304        unsafe {
18305            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18306            s.assume_init()
18307        }
18308    }
18309}
18310#[repr(C)]
18311#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18312pub struct evp_hpke_key_st {
18313    pub kem: *const EVP_HPKE_KEM,
18314    pub private_key: [u8; 32usize],
18315    pub public_key: [u8; 32usize],
18316}
18317#[test]
18318fn bindgen_test_layout_evp_hpke_key_st() {
18319    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
18320    let ptr = UNINIT.as_ptr();
18321    assert_eq!(
18322        ::std::mem::size_of::<evp_hpke_key_st>(),
18323        72usize,
18324        concat!("Size of: ", stringify!(evp_hpke_key_st))
18325    );
18326    assert_eq!(
18327        ::std::mem::align_of::<evp_hpke_key_st>(),
18328        8usize,
18329        concat!("Alignment of ", stringify!(evp_hpke_key_st))
18330    );
18331    assert_eq!(
18332        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18333        0usize,
18334        concat!(
18335            "Offset of field: ",
18336            stringify!(evp_hpke_key_st),
18337            "::",
18338            stringify!(kem)
18339        )
18340    );
18341    assert_eq!(
18342        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
18343        8usize,
18344        concat!(
18345            "Offset of field: ",
18346            stringify!(evp_hpke_key_st),
18347            "::",
18348            stringify!(private_key)
18349        )
18350    );
18351    assert_eq!(
18352        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
18353        40usize,
18354        concat!(
18355            "Offset of field: ",
18356            stringify!(evp_hpke_key_st),
18357            "::",
18358            stringify!(public_key)
18359        )
18360    );
18361}
18362impl Default for evp_hpke_key_st {
18363    fn default() -> Self {
18364        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18365        unsafe {
18366            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18367            s.assume_init()
18368        }
18369    }
18370}
18371#[repr(C)]
18372#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18373pub struct HRSS_private_key {
18374    pub opaque: [u8; 1808usize],
18375}
18376#[test]
18377fn bindgen_test_layout_HRSS_private_key() {
18378    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
18379    let ptr = UNINIT.as_ptr();
18380    assert_eq!(
18381        ::std::mem::size_of::<HRSS_private_key>(),
18382        1808usize,
18383        concat!("Size of: ", stringify!(HRSS_private_key))
18384    );
18385    assert_eq!(
18386        ::std::mem::align_of::<HRSS_private_key>(),
18387        1usize,
18388        concat!("Alignment of ", stringify!(HRSS_private_key))
18389    );
18390    assert_eq!(
18391        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18392        0usize,
18393        concat!(
18394            "Offset of field: ",
18395            stringify!(HRSS_private_key),
18396            "::",
18397            stringify!(opaque)
18398        )
18399    );
18400}
18401impl Default for HRSS_private_key {
18402    fn default() -> Self {
18403        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18404        unsafe {
18405            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18406            s.assume_init()
18407        }
18408    }
18409}
18410#[repr(C)]
18411#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18412pub struct HRSS_public_key {
18413    pub opaque: [u8; 1424usize],
18414}
18415#[test]
18416fn bindgen_test_layout_HRSS_public_key() {
18417    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
18418    let ptr = UNINIT.as_ptr();
18419    assert_eq!(
18420        ::std::mem::size_of::<HRSS_public_key>(),
18421        1424usize,
18422        concat!("Size of: ", stringify!(HRSS_public_key))
18423    );
18424    assert_eq!(
18425        ::std::mem::align_of::<HRSS_public_key>(),
18426        1usize,
18427        concat!("Alignment of ", stringify!(HRSS_public_key))
18428    );
18429    assert_eq!(
18430        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18431        0usize,
18432        concat!(
18433            "Offset of field: ",
18434            stringify!(HRSS_public_key),
18435            "::",
18436            stringify!(opaque)
18437        )
18438    );
18439}
18440impl Default for HRSS_public_key {
18441    fn default() -> Self {
18442        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18443        unsafe {
18444            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18445            s.assume_init()
18446        }
18447    }
18448}
18449extern "C" {
18450    #[link_name = "\u{1}aws_lc_0_30_0_HRSS_generate_key"]
18451    pub fn HRSS_generate_key(
18452        out_pub: *mut HRSS_public_key,
18453        out_priv: *mut HRSS_private_key,
18454        input: *const u8,
18455    ) -> ::std::os::raw::c_int;
18456}
18457extern "C" {
18458    #[link_name = "\u{1}aws_lc_0_30_0_HRSS_encap"]
18459    pub fn HRSS_encap(
18460        out_ciphertext: *mut u8,
18461        out_shared_key: *mut u8,
18462        in_pub: *const HRSS_public_key,
18463        in_: *const u8,
18464    ) -> ::std::os::raw::c_int;
18465}
18466extern "C" {
18467    #[link_name = "\u{1}aws_lc_0_30_0_HRSS_decap"]
18468    pub fn HRSS_decap(
18469        out_shared_key: *mut u8,
18470        in_priv: *const HRSS_private_key,
18471        ciphertext: *const u8,
18472        ciphertext_len: usize,
18473    ) -> ::std::os::raw::c_int;
18474}
18475extern "C" {
18476    #[link_name = "\u{1}aws_lc_0_30_0_HRSS_marshal_public_key"]
18477    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
18478}
18479extern "C" {
18480    #[link_name = "\u{1}aws_lc_0_30_0_HRSS_parse_public_key"]
18481    pub fn HRSS_parse_public_key(
18482        out: *mut HRSS_public_key,
18483        in_: *const u8,
18484    ) -> ::std::os::raw::c_int;
18485}
18486extern "C" {
18487    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_tls1_prf"]
18488    pub fn CRYPTO_tls1_prf(
18489        digest: *const EVP_MD,
18490        out: *mut u8,
18491        out_len: usize,
18492        secret: *const u8,
18493        secret_len: usize,
18494        label: *const ::std::os::raw::c_char,
18495        label_len: usize,
18496        seed1: *const u8,
18497        seed1_len: usize,
18498        seed2: *const u8,
18499        seed2_len: usize,
18500    ) -> ::std::os::raw::c_int;
18501}
18502extern "C" {
18503    #[link_name = "\u{1}aws_lc_0_30_0_SSKDF_digest"]
18504    pub fn SSKDF_digest(
18505        out_key: *mut u8,
18506        out_len: usize,
18507        digest: *const EVP_MD,
18508        secret: *const u8,
18509        secret_len: usize,
18510        info: *const u8,
18511        info_len: usize,
18512    ) -> ::std::os::raw::c_int;
18513}
18514extern "C" {
18515    #[link_name = "\u{1}aws_lc_0_30_0_SSKDF_hmac"]
18516    pub fn SSKDF_hmac(
18517        out_key: *mut u8,
18518        out_len: usize,
18519        digest: *const EVP_MD,
18520        secret: *const u8,
18521        secret_len: usize,
18522        info: *const u8,
18523        info_len: usize,
18524        salt: *const u8,
18525        salt_len: usize,
18526    ) -> ::std::os::raw::c_int;
18527}
18528extern "C" {
18529    #[link_name = "\u{1}aws_lc_0_30_0_KBKDF_ctr_hmac"]
18530    pub fn KBKDF_ctr_hmac(
18531        out_key: *mut u8,
18532        out_len: usize,
18533        digest: *const EVP_MD,
18534        secret: *const u8,
18535        secret_len: usize,
18536        info: *const u8,
18537        info_len: usize,
18538    ) -> ::std::os::raw::c_int;
18539}
18540extern "C" {
18541    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_hkdf_mode"]
18542    pub fn EVP_PKEY_CTX_hkdf_mode(
18543        ctx: *mut EVP_PKEY_CTX,
18544        mode: ::std::os::raw::c_int,
18545    ) -> ::std::os::raw::c_int;
18546}
18547extern "C" {
18548    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set_hkdf_md"]
18549    pub fn EVP_PKEY_CTX_set_hkdf_md(
18550        ctx: *mut EVP_PKEY_CTX,
18551        md: *const EVP_MD,
18552    ) -> ::std::os::raw::c_int;
18553}
18554extern "C" {
18555    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set1_hkdf_key"]
18556    pub fn EVP_PKEY_CTX_set1_hkdf_key(
18557        ctx: *mut EVP_PKEY_CTX,
18558        key: *const u8,
18559        key_len: usize,
18560    ) -> ::std::os::raw::c_int;
18561}
18562extern "C" {
18563    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_set1_hkdf_salt"]
18564    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
18565        ctx: *mut EVP_PKEY_CTX,
18566        salt: *const u8,
18567        salt_len: usize,
18568    ) -> ::std::os::raw::c_int;
18569}
18570extern "C" {
18571    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_CTX_add1_hkdf_info"]
18572    pub fn EVP_PKEY_CTX_add1_hkdf_info(
18573        ctx: *mut EVP_PKEY_CTX,
18574        info: *const u8,
18575        info_len: usize,
18576    ) -> ::std::os::raw::c_int;
18577}
18578extern "C" {
18579    #[link_name = "\u{1}aws_lc_0_30_0_MD4_Init"]
18580    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18581}
18582extern "C" {
18583    #[link_name = "\u{1}aws_lc_0_30_0_MD4_Update"]
18584    pub fn MD4_Update(
18585        md4: *mut MD4_CTX,
18586        data: *const ::std::os::raw::c_void,
18587        len: usize,
18588    ) -> ::std::os::raw::c_int;
18589}
18590extern "C" {
18591    #[link_name = "\u{1}aws_lc_0_30_0_MD4_Final"]
18592    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18593}
18594extern "C" {
18595    #[link_name = "\u{1}aws_lc_0_30_0_MD4"]
18596    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
18597}
18598extern "C" {
18599    #[link_name = "\u{1}aws_lc_0_30_0_MD4_Transform"]
18600    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
18601}
18602#[repr(C)]
18603#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18604pub struct md4_state_st {
18605    pub h: [u32; 4usize],
18606    pub Nl: u32,
18607    pub Nh: u32,
18608    pub data: [u8; 64usize],
18609    pub num: ::std::os::raw::c_uint,
18610}
18611#[test]
18612fn bindgen_test_layout_md4_state_st() {
18613    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
18614    let ptr = UNINIT.as_ptr();
18615    assert_eq!(
18616        ::std::mem::size_of::<md4_state_st>(),
18617        92usize,
18618        concat!("Size of: ", stringify!(md4_state_st))
18619    );
18620    assert_eq!(
18621        ::std::mem::align_of::<md4_state_st>(),
18622        4usize,
18623        concat!("Alignment of ", stringify!(md4_state_st))
18624    );
18625    assert_eq!(
18626        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
18627        0usize,
18628        concat!(
18629            "Offset of field: ",
18630            stringify!(md4_state_st),
18631            "::",
18632            stringify!(h)
18633        )
18634    );
18635    assert_eq!(
18636        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
18637        16usize,
18638        concat!(
18639            "Offset of field: ",
18640            stringify!(md4_state_st),
18641            "::",
18642            stringify!(Nl)
18643        )
18644    );
18645    assert_eq!(
18646        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
18647        20usize,
18648        concat!(
18649            "Offset of field: ",
18650            stringify!(md4_state_st),
18651            "::",
18652            stringify!(Nh)
18653        )
18654    );
18655    assert_eq!(
18656        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18657        24usize,
18658        concat!(
18659            "Offset of field: ",
18660            stringify!(md4_state_st),
18661            "::",
18662            stringify!(data)
18663        )
18664    );
18665    assert_eq!(
18666        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
18667        88usize,
18668        concat!(
18669            "Offset of field: ",
18670            stringify!(md4_state_st),
18671            "::",
18672            stringify!(num)
18673        )
18674    );
18675}
18676impl Default for md4_state_st {
18677    fn default() -> Self {
18678        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18679        unsafe {
18680            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18681            s.assume_init()
18682        }
18683    }
18684}
18685#[repr(C)]
18686#[derive(Debug, Copy, Clone)]
18687pub struct stack_st_CRYPTO_BUFFER {
18688    _unused: [u8; 0],
18689}
18690#[repr(C)]
18691#[derive(Debug, Copy, Clone)]
18692pub struct stack_st_X509 {
18693    _unused: [u8; 0],
18694}
18695#[repr(C)]
18696#[derive(Debug, Copy, Clone)]
18697pub struct stack_st_X509_CRL {
18698    _unused: [u8; 0],
18699}
18700extern "C" {
18701    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_raw_certificates"]
18702    pub fn PKCS7_get_raw_certificates(
18703        out_certs: *mut stack_st_CRYPTO_BUFFER,
18704        cbs: *mut CBS,
18705        pool: *mut CRYPTO_BUFFER_POOL,
18706    ) -> ::std::os::raw::c_int;
18707}
18708extern "C" {
18709    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_certificates"]
18710    pub fn PKCS7_get_certificates(
18711        out_certs: *mut stack_st_X509,
18712        cbs: *mut CBS,
18713    ) -> ::std::os::raw::c_int;
18714}
18715extern "C" {
18716    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_bundle_raw_certificates"]
18717    pub fn PKCS7_bundle_raw_certificates(
18718        out: *mut CBB,
18719        certs: *const stack_st_CRYPTO_BUFFER,
18720    ) -> ::std::os::raw::c_int;
18721}
18722extern "C" {
18723    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_bundle_certificates"]
18724    pub fn PKCS7_bundle_certificates(
18725        out: *mut CBB,
18726        certs: *const stack_st_X509,
18727    ) -> ::std::os::raw::c_int;
18728}
18729extern "C" {
18730    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_CRLs"]
18731    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
18732        -> ::std::os::raw::c_int;
18733}
18734extern "C" {
18735    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_bundle_CRLs"]
18736    pub fn PKCS7_bundle_CRLs(
18737        out: *mut CBB,
18738        crls: *const stack_st_X509_CRL,
18739    ) -> ::std::os::raw::c_int;
18740}
18741extern "C" {
18742    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_PEM_certificates"]
18743    pub fn PKCS7_get_PEM_certificates(
18744        out_certs: *mut stack_st_X509,
18745        pem_bio: *mut BIO,
18746    ) -> ::std::os::raw::c_int;
18747}
18748extern "C" {
18749    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_PEM_CRLs"]
18750    pub fn PKCS7_get_PEM_CRLs(
18751        out_crls: *mut stack_st_X509_CRL,
18752        pem_bio: *mut BIO,
18753    ) -> ::std::os::raw::c_int;
18754}
18755extern "C" {
18756    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS7_bio"]
18757    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
18758}
18759extern "C" {
18760    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS7_bio"]
18761    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
18762}
18763extern "C" {
18764    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_data"]
18765    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
18766}
18767extern "C" {
18768    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_digest"]
18769    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
18770}
18771extern "C" {
18772    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_encrypted"]
18773    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
18774}
18775extern "C" {
18776    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_enveloped"]
18777    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18778}
18779extern "C" {
18780    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_signed"]
18781    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
18782}
18783extern "C" {
18784    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_type_is_signedAndEnveloped"]
18785    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18786}
18787#[repr(C)]
18788#[derive(Copy, Clone)]
18789pub struct pkcs7_st {
18790    pub type_: *mut ASN1_OBJECT,
18791    pub d: pkcs7_st__bindgen_ty_1,
18792}
18793#[repr(C)]
18794#[derive(Copy, Clone)]
18795pub union pkcs7_st__bindgen_ty_1 {
18796    pub ptr: *mut ::std::os::raw::c_char,
18797    pub data: *mut ASN1_OCTET_STRING,
18798    pub sign: *mut PKCS7_SIGNED,
18799    pub enveloped: *mut PKCS7_ENVELOPE,
18800    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
18801    pub digest: *mut PKCS7_DIGEST,
18802    pub encrypted: *mut PKCS7_ENCRYPT,
18803}
18804#[test]
18805fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
18806    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
18807        ::std::mem::MaybeUninit::uninit();
18808    let ptr = UNINIT.as_ptr();
18809    assert_eq!(
18810        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
18811        8usize,
18812        concat!("Size of: ", stringify!(pkcs7_st__bindgen_ty_1))
18813    );
18814    assert_eq!(
18815        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
18816        8usize,
18817        concat!("Alignment of ", stringify!(pkcs7_st__bindgen_ty_1))
18818    );
18819    assert_eq!(
18820        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
18821        0usize,
18822        concat!(
18823            "Offset of field: ",
18824            stringify!(pkcs7_st__bindgen_ty_1),
18825            "::",
18826            stringify!(ptr)
18827        )
18828    );
18829    assert_eq!(
18830        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18831        0usize,
18832        concat!(
18833            "Offset of field: ",
18834            stringify!(pkcs7_st__bindgen_ty_1),
18835            "::",
18836            stringify!(data)
18837        )
18838    );
18839    assert_eq!(
18840        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
18841        0usize,
18842        concat!(
18843            "Offset of field: ",
18844            stringify!(pkcs7_st__bindgen_ty_1),
18845            "::",
18846            stringify!(sign)
18847        )
18848    );
18849    assert_eq!(
18850        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
18851        0usize,
18852        concat!(
18853            "Offset of field: ",
18854            stringify!(pkcs7_st__bindgen_ty_1),
18855            "::",
18856            stringify!(enveloped)
18857        )
18858    );
18859    assert_eq!(
18860        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
18861        0usize,
18862        concat!(
18863            "Offset of field: ",
18864            stringify!(pkcs7_st__bindgen_ty_1),
18865            "::",
18866            stringify!(signed_and_enveloped)
18867        )
18868    );
18869    assert_eq!(
18870        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
18871        0usize,
18872        concat!(
18873            "Offset of field: ",
18874            stringify!(pkcs7_st__bindgen_ty_1),
18875            "::",
18876            stringify!(digest)
18877        )
18878    );
18879    assert_eq!(
18880        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
18881        0usize,
18882        concat!(
18883            "Offset of field: ",
18884            stringify!(pkcs7_st__bindgen_ty_1),
18885            "::",
18886            stringify!(encrypted)
18887        )
18888    );
18889}
18890impl Default for pkcs7_st__bindgen_ty_1 {
18891    fn default() -> Self {
18892        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18893        unsafe {
18894            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18895            s.assume_init()
18896        }
18897    }
18898}
18899#[test]
18900fn bindgen_test_layout_pkcs7_st() {
18901    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
18902    let ptr = UNINIT.as_ptr();
18903    assert_eq!(
18904        ::std::mem::size_of::<pkcs7_st>(),
18905        16usize,
18906        concat!("Size of: ", stringify!(pkcs7_st))
18907    );
18908    assert_eq!(
18909        ::std::mem::align_of::<pkcs7_st>(),
18910        8usize,
18911        concat!("Alignment of ", stringify!(pkcs7_st))
18912    );
18913    assert_eq!(
18914        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
18915        0usize,
18916        concat!(
18917            "Offset of field: ",
18918            stringify!(pkcs7_st),
18919            "::",
18920            stringify!(type_)
18921        )
18922    );
18923    assert_eq!(
18924        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
18925        8usize,
18926        concat!(
18927            "Offset of field: ",
18928            stringify!(pkcs7_st),
18929            "::",
18930            stringify!(d)
18931        )
18932    );
18933}
18934impl Default for pkcs7_st {
18935    fn default() -> Self {
18936        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18937        unsafe {
18938            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18939            s.assume_init()
18940        }
18941    }
18942}
18943#[repr(C)]
18944#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18945pub struct pkcs7_signed_st {
18946    pub version: *mut ASN1_INTEGER,
18947    pub md_algs: *mut stack_st_X509_ALGOR,
18948    pub contents: *mut PKCS7,
18949    pub cert: *mut stack_st_X509,
18950    pub crl: *mut stack_st_X509_CRL,
18951    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18952}
18953#[test]
18954fn bindgen_test_layout_pkcs7_signed_st() {
18955    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
18956    let ptr = UNINIT.as_ptr();
18957    assert_eq!(
18958        ::std::mem::size_of::<pkcs7_signed_st>(),
18959        48usize,
18960        concat!("Size of: ", stringify!(pkcs7_signed_st))
18961    );
18962    assert_eq!(
18963        ::std::mem::align_of::<pkcs7_signed_st>(),
18964        8usize,
18965        concat!("Alignment of ", stringify!(pkcs7_signed_st))
18966    );
18967    assert_eq!(
18968        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18969        0usize,
18970        concat!(
18971            "Offset of field: ",
18972            stringify!(pkcs7_signed_st),
18973            "::",
18974            stringify!(version)
18975        )
18976    );
18977    assert_eq!(
18978        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18979        8usize,
18980        concat!(
18981            "Offset of field: ",
18982            stringify!(pkcs7_signed_st),
18983            "::",
18984            stringify!(md_algs)
18985        )
18986    );
18987    assert_eq!(
18988        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
18989        16usize,
18990        concat!(
18991            "Offset of field: ",
18992            stringify!(pkcs7_signed_st),
18993            "::",
18994            stringify!(contents)
18995        )
18996    );
18997    assert_eq!(
18998        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18999        24usize,
19000        concat!(
19001            "Offset of field: ",
19002            stringify!(pkcs7_signed_st),
19003            "::",
19004            stringify!(cert)
19005        )
19006    );
19007    assert_eq!(
19008        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
19009        32usize,
19010        concat!(
19011            "Offset of field: ",
19012            stringify!(pkcs7_signed_st),
19013            "::",
19014            stringify!(crl)
19015        )
19016    );
19017    assert_eq!(
19018        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
19019        40usize,
19020        concat!(
19021            "Offset of field: ",
19022            stringify!(pkcs7_signed_st),
19023            "::",
19024            stringify!(signer_info)
19025        )
19026    );
19027}
19028impl Default for pkcs7_signed_st {
19029    fn default() -> Self {
19030        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19031        unsafe {
19032            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19033            s.assume_init()
19034        }
19035    }
19036}
19037#[repr(C)]
19038#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19039pub struct pkcs7_signer_info_st {
19040    pub version: *mut ASN1_INTEGER,
19041    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
19042    pub digest_alg: *mut X509_ALGOR,
19043    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
19044    pub digest_enc_alg: *mut X509_ALGOR,
19045    pub enc_digest: *mut ASN1_OCTET_STRING,
19046    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
19047    pub pkey: *mut EVP_PKEY,
19048}
19049#[test]
19050fn bindgen_test_layout_pkcs7_signer_info_st() {
19051    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
19052    let ptr = UNINIT.as_ptr();
19053    assert_eq!(
19054        ::std::mem::size_of::<pkcs7_signer_info_st>(),
19055        64usize,
19056        concat!("Size of: ", stringify!(pkcs7_signer_info_st))
19057    );
19058    assert_eq!(
19059        ::std::mem::align_of::<pkcs7_signer_info_st>(),
19060        8usize,
19061        concat!("Alignment of ", stringify!(pkcs7_signer_info_st))
19062    );
19063    assert_eq!(
19064        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19065        0usize,
19066        concat!(
19067            "Offset of field: ",
19068            stringify!(pkcs7_signer_info_st),
19069            "::",
19070            stringify!(version)
19071        )
19072    );
19073    assert_eq!(
19074        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
19075        8usize,
19076        concat!(
19077            "Offset of field: ",
19078            stringify!(pkcs7_signer_info_st),
19079            "::",
19080            stringify!(issuer_and_serial)
19081        )
19082    );
19083    assert_eq!(
19084        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
19085        16usize,
19086        concat!(
19087            "Offset of field: ",
19088            stringify!(pkcs7_signer_info_st),
19089            "::",
19090            stringify!(digest_alg)
19091        )
19092    );
19093    assert_eq!(
19094        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
19095        24usize,
19096        concat!(
19097            "Offset of field: ",
19098            stringify!(pkcs7_signer_info_st),
19099            "::",
19100            stringify!(auth_attr)
19101        )
19102    );
19103    assert_eq!(
19104        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
19105        32usize,
19106        concat!(
19107            "Offset of field: ",
19108            stringify!(pkcs7_signer_info_st),
19109            "::",
19110            stringify!(digest_enc_alg)
19111        )
19112    );
19113    assert_eq!(
19114        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
19115        40usize,
19116        concat!(
19117            "Offset of field: ",
19118            stringify!(pkcs7_signer_info_st),
19119            "::",
19120            stringify!(enc_digest)
19121        )
19122    );
19123    assert_eq!(
19124        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
19125        48usize,
19126        concat!(
19127            "Offset of field: ",
19128            stringify!(pkcs7_signer_info_st),
19129            "::",
19130            stringify!(unauth_attr)
19131        )
19132    );
19133    assert_eq!(
19134        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
19135        56usize,
19136        concat!(
19137            "Offset of field: ",
19138            stringify!(pkcs7_signer_info_st),
19139            "::",
19140            stringify!(pkey)
19141        )
19142    );
19143}
19144impl Default for pkcs7_signer_info_st {
19145    fn default() -> Self {
19146        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19147        unsafe {
19148            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19149            s.assume_init()
19150        }
19151    }
19152}
19153#[repr(C)]
19154#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19155pub struct pkcs7_sign_envelope_st {
19156    pub version: *mut ASN1_INTEGER,
19157    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
19158    pub md_algs: *mut stack_st_X509_ALGOR,
19159    pub enc_data: *mut PKCS7_ENC_CONTENT,
19160    pub cert: *mut stack_st_X509,
19161    pub crl: *mut stack_st_X509_CRL,
19162    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
19163}
19164#[test]
19165fn bindgen_test_layout_pkcs7_sign_envelope_st() {
19166    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
19167        ::std::mem::MaybeUninit::uninit();
19168    let ptr = UNINIT.as_ptr();
19169    assert_eq!(
19170        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
19171        56usize,
19172        concat!("Size of: ", stringify!(pkcs7_sign_envelope_st))
19173    );
19174    assert_eq!(
19175        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
19176        8usize,
19177        concat!("Alignment of ", stringify!(pkcs7_sign_envelope_st))
19178    );
19179    assert_eq!(
19180        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19181        0usize,
19182        concat!(
19183            "Offset of field: ",
19184            stringify!(pkcs7_sign_envelope_st),
19185            "::",
19186            stringify!(version)
19187        )
19188    );
19189    assert_eq!(
19190        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
19191        8usize,
19192        concat!(
19193            "Offset of field: ",
19194            stringify!(pkcs7_sign_envelope_st),
19195            "::",
19196            stringify!(recipientinfo)
19197        )
19198    );
19199    assert_eq!(
19200        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
19201        16usize,
19202        concat!(
19203            "Offset of field: ",
19204            stringify!(pkcs7_sign_envelope_st),
19205            "::",
19206            stringify!(md_algs)
19207        )
19208    );
19209    assert_eq!(
19210        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19211        24usize,
19212        concat!(
19213            "Offset of field: ",
19214            stringify!(pkcs7_sign_envelope_st),
19215            "::",
19216            stringify!(enc_data)
19217        )
19218    );
19219    assert_eq!(
19220        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19221        32usize,
19222        concat!(
19223            "Offset of field: ",
19224            stringify!(pkcs7_sign_envelope_st),
19225            "::",
19226            stringify!(cert)
19227        )
19228    );
19229    assert_eq!(
19230        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
19231        40usize,
19232        concat!(
19233            "Offset of field: ",
19234            stringify!(pkcs7_sign_envelope_st),
19235            "::",
19236            stringify!(crl)
19237        )
19238    );
19239    assert_eq!(
19240        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
19241        48usize,
19242        concat!(
19243            "Offset of field: ",
19244            stringify!(pkcs7_sign_envelope_st),
19245            "::",
19246            stringify!(signer_info)
19247        )
19248    );
19249}
19250impl Default for pkcs7_sign_envelope_st {
19251    fn default() -> Self {
19252        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19253        unsafe {
19254            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19255            s.assume_init()
19256        }
19257    }
19258}
19259#[repr(C)]
19260#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19261pub struct pkcs7_envelope_st {
19262    pub version: *mut ASN1_INTEGER,
19263    pub enc_data: *mut PKCS7_ENC_CONTENT,
19264    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
19265}
19266#[test]
19267fn bindgen_test_layout_pkcs7_envelope_st() {
19268    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
19269    let ptr = UNINIT.as_ptr();
19270    assert_eq!(
19271        ::std::mem::size_of::<pkcs7_envelope_st>(),
19272        24usize,
19273        concat!("Size of: ", stringify!(pkcs7_envelope_st))
19274    );
19275    assert_eq!(
19276        ::std::mem::align_of::<pkcs7_envelope_st>(),
19277        8usize,
19278        concat!("Alignment of ", stringify!(pkcs7_envelope_st))
19279    );
19280    assert_eq!(
19281        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19282        0usize,
19283        concat!(
19284            "Offset of field: ",
19285            stringify!(pkcs7_envelope_st),
19286            "::",
19287            stringify!(version)
19288        )
19289    );
19290    assert_eq!(
19291        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19292        8usize,
19293        concat!(
19294            "Offset of field: ",
19295            stringify!(pkcs7_envelope_st),
19296            "::",
19297            stringify!(enc_data)
19298        )
19299    );
19300    assert_eq!(
19301        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
19302        16usize,
19303        concat!(
19304            "Offset of field: ",
19305            stringify!(pkcs7_envelope_st),
19306            "::",
19307            stringify!(recipientinfo)
19308        )
19309    );
19310}
19311impl Default for pkcs7_envelope_st {
19312    fn default() -> Self {
19313        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19314        unsafe {
19315            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19316            s.assume_init()
19317        }
19318    }
19319}
19320#[repr(C)]
19321#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19322pub struct pkcs7_recip_info_st {
19323    pub version: *mut ASN1_INTEGER,
19324    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
19325    pub key_enc_algor: *mut X509_ALGOR,
19326    pub enc_key: *mut ASN1_OCTET_STRING,
19327    pub cert: *mut X509,
19328}
19329#[test]
19330fn bindgen_test_layout_pkcs7_recip_info_st() {
19331    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
19332    let ptr = UNINIT.as_ptr();
19333    assert_eq!(
19334        ::std::mem::size_of::<pkcs7_recip_info_st>(),
19335        40usize,
19336        concat!("Size of: ", stringify!(pkcs7_recip_info_st))
19337    );
19338    assert_eq!(
19339        ::std::mem::align_of::<pkcs7_recip_info_st>(),
19340        8usize,
19341        concat!("Alignment of ", stringify!(pkcs7_recip_info_st))
19342    );
19343    assert_eq!(
19344        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19345        0usize,
19346        concat!(
19347            "Offset of field: ",
19348            stringify!(pkcs7_recip_info_st),
19349            "::",
19350            stringify!(version)
19351        )
19352    );
19353    assert_eq!(
19354        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
19355        8usize,
19356        concat!(
19357            "Offset of field: ",
19358            stringify!(pkcs7_recip_info_st),
19359            "::",
19360            stringify!(issuer_and_serial)
19361        )
19362    );
19363    assert_eq!(
19364        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
19365        16usize,
19366        concat!(
19367            "Offset of field: ",
19368            stringify!(pkcs7_recip_info_st),
19369            "::",
19370            stringify!(key_enc_algor)
19371        )
19372    );
19373    assert_eq!(
19374        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
19375        24usize,
19376        concat!(
19377            "Offset of field: ",
19378            stringify!(pkcs7_recip_info_st),
19379            "::",
19380            stringify!(enc_key)
19381        )
19382    );
19383    assert_eq!(
19384        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19385        32usize,
19386        concat!(
19387            "Offset of field: ",
19388            stringify!(pkcs7_recip_info_st),
19389            "::",
19390            stringify!(cert)
19391        )
19392    );
19393}
19394impl Default for pkcs7_recip_info_st {
19395    fn default() -> Self {
19396        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19397        unsafe {
19398            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19399            s.assume_init()
19400        }
19401    }
19402}
19403#[repr(C)]
19404#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19405pub struct pkcs7_issuer_and_serial_st {
19406    pub issuer: *mut X509_NAME,
19407    pub serial: *mut ASN1_INTEGER,
19408}
19409#[test]
19410fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
19411    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
19412        ::std::mem::MaybeUninit::uninit();
19413    let ptr = UNINIT.as_ptr();
19414    assert_eq!(
19415        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
19416        16usize,
19417        concat!("Size of: ", stringify!(pkcs7_issuer_and_serial_st))
19418    );
19419    assert_eq!(
19420        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
19421        8usize,
19422        concat!("Alignment of ", stringify!(pkcs7_issuer_and_serial_st))
19423    );
19424    assert_eq!(
19425        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
19426        0usize,
19427        concat!(
19428            "Offset of field: ",
19429            stringify!(pkcs7_issuer_and_serial_st),
19430            "::",
19431            stringify!(issuer)
19432        )
19433    );
19434    assert_eq!(
19435        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
19436        8usize,
19437        concat!(
19438            "Offset of field: ",
19439            stringify!(pkcs7_issuer_and_serial_st),
19440            "::",
19441            stringify!(serial)
19442        )
19443    );
19444}
19445impl Default for pkcs7_issuer_and_serial_st {
19446    fn default() -> Self {
19447        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19448        unsafe {
19449            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19450            s.assume_init()
19451        }
19452    }
19453}
19454extern "C" {
19455    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_new"]
19456    pub fn PKCS7_new() -> *mut PKCS7;
19457}
19458extern "C" {
19459    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_free"]
19460    pub fn PKCS7_free(a: *mut PKCS7);
19461}
19462extern "C" {
19463    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS7"]
19464    pub fn d2i_PKCS7(
19465        a: *mut *mut PKCS7,
19466        in_: *mut *const ::std::os::raw::c_uchar,
19467        len: ::std::os::raw::c_long,
19468    ) -> *mut PKCS7;
19469}
19470extern "C" {
19471    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS7"]
19472    pub fn i2d_PKCS7(
19473        a: *mut PKCS7,
19474        out: *mut *mut ::std::os::raw::c_uchar,
19475    ) -> ::std::os::raw::c_int;
19476}
19477extern "C" {
19478    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_it"]
19479    pub static PKCS7_it: ASN1_ITEM;
19480}
19481extern "C" {
19482    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_RECIP_INFO_new"]
19483    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
19484}
19485extern "C" {
19486    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_RECIP_INFO_free"]
19487    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
19488}
19489extern "C" {
19490    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS7_RECIP_INFO"]
19491    pub fn d2i_PKCS7_RECIP_INFO(
19492        a: *mut *mut PKCS7_RECIP_INFO,
19493        in_: *mut *const ::std::os::raw::c_uchar,
19494        len: ::std::os::raw::c_long,
19495    ) -> *mut PKCS7_RECIP_INFO;
19496}
19497extern "C" {
19498    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS7_RECIP_INFO"]
19499    pub fn i2d_PKCS7_RECIP_INFO(
19500        a: *mut PKCS7_RECIP_INFO,
19501        out: *mut *mut ::std::os::raw::c_uchar,
19502    ) -> ::std::os::raw::c_int;
19503}
19504extern "C" {
19505    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_RECIP_INFO_it"]
19506    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
19507}
19508extern "C" {
19509    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_SIGNER_INFO_new"]
19510    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
19511}
19512extern "C" {
19513    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_SIGNER_INFO_free"]
19514    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
19515}
19516extern "C" {
19517    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS7_SIGNER_INFO"]
19518    pub fn d2i_PKCS7_SIGNER_INFO(
19519        a: *mut *mut PKCS7_SIGNER_INFO,
19520        in_: *mut *const ::std::os::raw::c_uchar,
19521        len: ::std::os::raw::c_long,
19522    ) -> *mut PKCS7_SIGNER_INFO;
19523}
19524extern "C" {
19525    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS7_SIGNER_INFO"]
19526    pub fn i2d_PKCS7_SIGNER_INFO(
19527        a: *mut PKCS7_SIGNER_INFO,
19528        out: *mut *mut ::std::os::raw::c_uchar,
19529    ) -> ::std::os::raw::c_int;
19530}
19531extern "C" {
19532    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_SIGNER_INFO_it"]
19533    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
19534}
19535#[repr(C)]
19536#[derive(Debug, Copy, Clone)]
19537pub struct stack_st_PKCS7_RECIP_INFO {
19538    _unused: [u8; 0],
19539}
19540pub type sk_PKCS7_RECIP_INFO_free_func =
19541    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
19542pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
19543    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
19544>;
19545pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
19546    unsafe extern "C" fn(
19547        arg1: *const *const PKCS7_RECIP_INFO,
19548        arg2: *const *const PKCS7_RECIP_INFO,
19549    ) -> ::std::os::raw::c_int,
19550>;
19551pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
19552    unsafe extern "C" fn(
19553        arg1: *mut PKCS7_RECIP_INFO,
19554        arg2: *mut ::std::os::raw::c_void,
19555    ) -> ::std::os::raw::c_int,
19556>;
19557#[repr(C)]
19558#[derive(Debug, Copy, Clone)]
19559pub struct stack_st_PKCS7_SIGNER_INFO {
19560    _unused: [u8; 0],
19561}
19562pub type sk_PKCS7_SIGNER_INFO_free_func =
19563    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
19564pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
19565    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
19566>;
19567pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
19568    unsafe extern "C" fn(
19569        arg1: *const *const PKCS7_SIGNER_INFO,
19570        arg2: *const *const PKCS7_SIGNER_INFO,
19571    ) -> ::std::os::raw::c_int,
19572>;
19573pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
19574    unsafe extern "C" fn(
19575        arg1: *mut PKCS7_SIGNER_INFO,
19576        arg2: *mut ::std::os::raw::c_void,
19577    ) -> ::std::os::raw::c_int,
19578>;
19579extern "C" {
19580    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_dup"]
19581    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
19582}
19583extern "C" {
19584    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_signed_attribute"]
19585    pub fn PKCS7_get_signed_attribute(
19586        si: *const PKCS7_SIGNER_INFO,
19587        nid: ::std::os::raw::c_int,
19588    ) -> *mut ASN1_TYPE;
19589}
19590extern "C" {
19591    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_signer_info"]
19592    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
19593}
19594extern "C" {
19595    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_RECIP_INFO_set"]
19596    pub fn PKCS7_RECIP_INFO_set(
19597        p7i: *mut PKCS7_RECIP_INFO,
19598        x509: *mut X509,
19599    ) -> ::std::os::raw::c_int;
19600}
19601extern "C" {
19602    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_SIGNER_INFO_set"]
19603    pub fn PKCS7_SIGNER_INFO_set(
19604        p7i: *mut PKCS7_SIGNER_INFO,
19605        x509: *mut X509,
19606        pkey: *mut EVP_PKEY,
19607        dgst: *const EVP_MD,
19608    ) -> ::std::os::raw::c_int;
19609}
19610extern "C" {
19611    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_add_certificate"]
19612    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
19613}
19614extern "C" {
19615    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_add_crl"]
19616    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
19617}
19618extern "C" {
19619    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_add_recipient_info"]
19620    pub fn PKCS7_add_recipient_info(
19621        p7: *mut PKCS7,
19622        ri: *mut PKCS7_RECIP_INFO,
19623    ) -> ::std::os::raw::c_int;
19624}
19625extern "C" {
19626    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_add_signer"]
19627    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
19628}
19629extern "C" {
19630    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_content_new"]
19631    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19632}
19633extern "C" {
19634    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_set_content"]
19635    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
19636}
19637extern "C" {
19638    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_set_cipher"]
19639    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
19640}
19641extern "C" {
19642    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_set_type"]
19643    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19644}
19645extern "C" {
19646    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_RECIP_INFO_get0_alg"]
19647    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
19648}
19649extern "C" {
19650    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_SIGNER_INFO_get0_algs"]
19651    pub fn PKCS7_SIGNER_INFO_get0_algs(
19652        si: *mut PKCS7_SIGNER_INFO,
19653        pk: *mut *mut EVP_PKEY,
19654        pdig: *mut *mut X509_ALGOR,
19655        psig: *mut *mut X509_ALGOR,
19656    );
19657}
19658extern "C" {
19659    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_sign"]
19660    pub fn PKCS7_sign(
19661        sign_cert: *mut X509,
19662        pkey: *mut EVP_PKEY,
19663        certs: *mut stack_st_X509,
19664        data: *mut BIO,
19665        flags: ::std::os::raw::c_int,
19666    ) -> *mut PKCS7;
19667}
19668extern "C" {
19669    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_verify"]
19670    pub fn PKCS7_verify(
19671        p7: *mut PKCS7,
19672        certs: *mut stack_st_X509,
19673        store: *mut X509_STORE,
19674        indata: *mut BIO,
19675        outdata: *mut BIO,
19676        flags: ::std::os::raw::c_int,
19677    ) -> ::std::os::raw::c_int;
19678}
19679extern "C" {
19680    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_is_detached"]
19681    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19682}
19683extern "C" {
19684    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_set_detached"]
19685    pub fn PKCS7_set_detached(
19686        p7: *mut PKCS7,
19687        detach: ::std::os::raw::c_int,
19688    ) -> ::std::os::raw::c_int;
19689}
19690extern "C" {
19691    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_detached"]
19692    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19693}
19694extern "C" {
19695    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_dataInit"]
19696    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
19697}
19698extern "C" {
19699    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_dataFinal"]
19700    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
19701}
19702extern "C" {
19703    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_set_digest"]
19704    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
19705}
19706extern "C" {
19707    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get_recipient_info"]
19708    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
19709}
19710extern "C" {
19711    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_add_recipient"]
19712    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
19713}
19714extern "C" {
19715    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_get0_signers"]
19716    pub fn PKCS7_get0_signers(
19717        p7: *mut PKCS7,
19718        certs: *mut stack_st_X509,
19719        flags: ::std::os::raw::c_int,
19720    ) -> *mut stack_st_X509;
19721}
19722extern "C" {
19723    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_encrypt"]
19724    pub fn PKCS7_encrypt(
19725        certs: *mut stack_st_X509,
19726        in_: *mut BIO,
19727        cipher: *const EVP_CIPHER,
19728        flags: ::std::os::raw::c_int,
19729    ) -> *mut PKCS7;
19730}
19731extern "C" {
19732    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_decrypt"]
19733    pub fn PKCS7_decrypt(
19734        p7: *mut PKCS7,
19735        pkey: *mut EVP_PKEY,
19736        cert: *mut X509,
19737        data: *mut BIO,
19738        flags: ::std::os::raw::c_int,
19739    ) -> ::std::os::raw::c_int;
19740}
19741extern "C" {
19742    #[link_name = "\u{1}aws_lc_0_30_0_SMIME_read_PKCS7"]
19743    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
19744}
19745extern "C" {
19746    #[link_name = "\u{1}aws_lc_0_30_0_SMIME_write_PKCS7"]
19747    pub fn SMIME_write_PKCS7(
19748        out: *mut BIO,
19749        p7: *mut PKCS7,
19750        data: *mut BIO,
19751        flags: ::std::os::raw::c_int,
19752    ) -> ::std::os::raw::c_int;
19753}
19754extern "C" {
19755    #[link_name = "\u{1}aws_lc_0_30_0_PKCS7_print_ctx"]
19756    pub fn PKCS7_print_ctx(
19757        bio: *mut BIO,
19758        pkcs7: *mut PKCS7,
19759        indent: ::std::os::raw::c_int,
19760        pctx: *const ASN1_PCTX,
19761    ) -> ::std::os::raw::c_int;
19762}
19763pub type sk_CRYPTO_BUFFER_free_func =
19764    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
19765pub type sk_CRYPTO_BUFFER_copy_func =
19766    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
19767pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
19768    unsafe extern "C" fn(
19769        arg1: *const *const CRYPTO_BUFFER,
19770        arg2: *const *const CRYPTO_BUFFER,
19771    ) -> ::std::os::raw::c_int,
19772>;
19773pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
19774    unsafe extern "C" fn(
19775        arg1: *mut CRYPTO_BUFFER,
19776        arg2: *mut ::std::os::raw::c_void,
19777    ) -> ::std::os::raw::c_int,
19778>;
19779extern "C" {
19780    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_POOL_new"]
19781    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
19782}
19783extern "C" {
19784    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_POOL_free"]
19785    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
19786}
19787extern "C" {
19788    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_new"]
19789    pub fn CRYPTO_BUFFER_new(
19790        data: *const u8,
19791        len: usize,
19792        pool: *mut CRYPTO_BUFFER_POOL,
19793    ) -> *mut CRYPTO_BUFFER;
19794}
19795extern "C" {
19796    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_alloc"]
19797    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
19798}
19799extern "C" {
19800    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_new_from_CBS"]
19801    pub fn CRYPTO_BUFFER_new_from_CBS(
19802        cbs: *const CBS,
19803        pool: *mut CRYPTO_BUFFER_POOL,
19804    ) -> *mut CRYPTO_BUFFER;
19805}
19806extern "C" {
19807    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_new_from_static_data_unsafe"]
19808    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
19809        data: *const u8,
19810        len: usize,
19811        pool: *mut CRYPTO_BUFFER_POOL,
19812    ) -> *mut CRYPTO_BUFFER;
19813}
19814extern "C" {
19815    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_free"]
19816    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
19817}
19818extern "C" {
19819    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_up_ref"]
19820    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
19821}
19822extern "C" {
19823    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_data"]
19824    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
19825}
19826extern "C" {
19827    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_len"]
19828    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
19829}
19830extern "C" {
19831    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_BUFFER_init_CBS"]
19832    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
19833}
19834extern "C" {
19835    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_public_key"]
19836    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19837}
19838extern "C" {
19839    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_private_key"]
19840    pub fn RSA_new_private_key(
19841        n: *const BIGNUM,
19842        e: *const BIGNUM,
19843        d: *const BIGNUM,
19844        p: *const BIGNUM,
19845        q: *const BIGNUM,
19846        dmp1: *const BIGNUM,
19847        dmq1: *const BIGNUM,
19848        iqmp: *const BIGNUM,
19849    ) -> *mut RSA;
19850}
19851extern "C" {
19852    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new"]
19853    pub fn RSA_new() -> *mut RSA;
19854}
19855extern "C" {
19856    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_method"]
19857    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
19858}
19859extern "C" {
19860    #[link_name = "\u{1}aws_lc_0_30_0_RSA_free"]
19861    pub fn RSA_free(rsa: *mut RSA);
19862}
19863extern "C" {
19864    #[link_name = "\u{1}aws_lc_0_30_0_RSA_up_ref"]
19865    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
19866}
19867extern "C" {
19868    #[link_name = "\u{1}aws_lc_0_30_0_RSA_bits"]
19869    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
19870}
19871extern "C" {
19872    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_n"]
19873    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
19874}
19875extern "C" {
19876    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_e"]
19877    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
19878}
19879extern "C" {
19880    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_d"]
19881    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
19882}
19883extern "C" {
19884    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_p"]
19885    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
19886}
19887extern "C" {
19888    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_q"]
19889    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
19890}
19891extern "C" {
19892    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_dmp1"]
19893    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
19894}
19895extern "C" {
19896    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_dmq1"]
19897    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
19898}
19899extern "C" {
19900    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_iqmp"]
19901    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
19902}
19903extern "C" {
19904    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_key"]
19905    pub fn RSA_get0_key(
19906        rsa: *const RSA,
19907        out_n: *mut *const BIGNUM,
19908        out_e: *mut *const BIGNUM,
19909        out_d: *mut *const BIGNUM,
19910    );
19911}
19912extern "C" {
19913    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_factors"]
19914    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
19915}
19916extern "C" {
19917    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_crt_params"]
19918    pub fn RSA_get0_crt_params(
19919        rsa: *const RSA,
19920        out_dmp1: *mut *const BIGNUM,
19921        out_dmq1: *mut *const BIGNUM,
19922        out_iqmp: *mut *const BIGNUM,
19923    );
19924}
19925extern "C" {
19926    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set0_key"]
19927    pub fn RSA_set0_key(
19928        rsa: *mut RSA,
19929        n: *mut BIGNUM,
19930        e: *mut BIGNUM,
19931        d: *mut BIGNUM,
19932    ) -> ::std::os::raw::c_int;
19933}
19934extern "C" {
19935    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set0_factors"]
19936    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
19937        -> ::std::os::raw::c_int;
19938}
19939extern "C" {
19940    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set0_crt_params"]
19941    pub fn RSA_set0_crt_params(
19942        rsa: *mut RSA,
19943        dmp1: *mut BIGNUM,
19944        dmq1: *mut BIGNUM,
19945        iqmp: *mut BIGNUM,
19946    ) -> ::std::os::raw::c_int;
19947}
19948extern "C" {
19949    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get_default_method"]
19950    pub fn RSA_get_default_method() -> *const RSA_METHOD;
19951}
19952extern "C" {
19953    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_new"]
19954    pub fn RSA_meth_new(
19955        name: *const ::std::os::raw::c_char,
19956        flags: ::std::os::raw::c_int,
19957    ) -> *mut RSA_METHOD;
19958}
19959extern "C" {
19960    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set_method"]
19961    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
19962}
19963extern "C" {
19964    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get_method"]
19965    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
19966}
19967extern "C" {
19968    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_free"]
19969    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
19970}
19971extern "C" {
19972    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_init"]
19973    pub fn RSA_meth_set_init(
19974        meth: *mut RSA_METHOD,
19975        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19976    ) -> ::std::os::raw::c_int;
19977}
19978extern "C" {
19979    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_finish"]
19980    pub fn RSA_meth_set_finish(
19981        meth: *mut RSA_METHOD,
19982        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19983    ) -> ::std::os::raw::c_int;
19984}
19985extern "C" {
19986    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_priv_dec"]
19987    pub fn RSA_meth_set_priv_dec(
19988        meth: *mut RSA_METHOD,
19989        priv_dec: ::std::option::Option<
19990            unsafe extern "C" fn(
19991                max_out: ::std::os::raw::c_int,
19992                from: *const u8,
19993                to: *mut u8,
19994                rsa: *mut RSA,
19995                padding: ::std::os::raw::c_int,
19996            ) -> ::std::os::raw::c_int,
19997        >,
19998    ) -> ::std::os::raw::c_int;
19999}
20000extern "C" {
20001    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_priv_enc"]
20002    pub fn RSA_meth_set_priv_enc(
20003        meth: *mut RSA_METHOD,
20004        priv_enc: ::std::option::Option<
20005            unsafe extern "C" fn(
20006                max_out: ::std::os::raw::c_int,
20007                from: *const u8,
20008                to: *mut u8,
20009                rsa: *mut RSA,
20010                padding: ::std::os::raw::c_int,
20011            ) -> ::std::os::raw::c_int,
20012        >,
20013    ) -> ::std::os::raw::c_int;
20014}
20015extern "C" {
20016    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_pub_dec"]
20017    pub fn RSA_meth_set_pub_dec(
20018        meth: *mut RSA_METHOD,
20019        pub_dec: ::std::option::Option<
20020            unsafe extern "C" fn(
20021                max_out: ::std::os::raw::c_int,
20022                from: *const u8,
20023                to: *mut u8,
20024                rsa: *mut RSA,
20025                padding: ::std::os::raw::c_int,
20026            ) -> ::std::os::raw::c_int,
20027        >,
20028    ) -> ::std::os::raw::c_int;
20029}
20030extern "C" {
20031    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_pub_enc"]
20032    pub fn RSA_meth_set_pub_enc(
20033        meth: *mut RSA_METHOD,
20034        pub_enc: ::std::option::Option<
20035            unsafe extern "C" fn(
20036                max_out: ::std::os::raw::c_int,
20037                from: *const u8,
20038                to: *mut u8,
20039                rsa: *mut RSA,
20040                padding: ::std::os::raw::c_int,
20041            ) -> ::std::os::raw::c_int,
20042        >,
20043    ) -> ::std::os::raw::c_int;
20044}
20045extern "C" {
20046    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set0_app_data"]
20047    pub fn RSA_meth_set0_app_data(
20048        meth: *mut RSA_METHOD,
20049        app_data: *mut ::std::os::raw::c_void,
20050    ) -> ::std::os::raw::c_int;
20051}
20052extern "C" {
20053    #[link_name = "\u{1}aws_lc_0_30_0_RSA_meth_set_sign"]
20054    pub fn RSA_meth_set_sign(
20055        meth: *mut RSA_METHOD,
20056        sign: ::std::option::Option<
20057            unsafe extern "C" fn(
20058                type_: ::std::os::raw::c_int,
20059                m: *const ::std::os::raw::c_uchar,
20060                m_length: ::std::os::raw::c_uint,
20061                sigret: *mut ::std::os::raw::c_uchar,
20062                siglen: *mut ::std::os::raw::c_uint,
20063                rsa: *const RSA,
20064            ) -> ::std::os::raw::c_int,
20065        >,
20066    ) -> ::std::os::raw::c_int;
20067}
20068extern "C" {
20069    #[link_name = "\u{1}aws_lc_0_30_0_RSA_generate_key_ex"]
20070    pub fn RSA_generate_key_ex(
20071        rsa: *mut RSA,
20072        bits: ::std::os::raw::c_int,
20073        e: *const BIGNUM,
20074        cb: *mut BN_GENCB,
20075    ) -> ::std::os::raw::c_int;
20076}
20077extern "C" {
20078    #[link_name = "\u{1}aws_lc_0_30_0_RSA_generate_key_fips"]
20079    pub fn RSA_generate_key_fips(
20080        rsa: *mut RSA,
20081        bits: ::std::os::raw::c_int,
20082        cb: *mut BN_GENCB,
20083    ) -> ::std::os::raw::c_int;
20084}
20085extern "C" {
20086    #[link_name = "\u{1}aws_lc_0_30_0_RSA_encrypt"]
20087    pub fn RSA_encrypt(
20088        rsa: *mut RSA,
20089        out_len: *mut usize,
20090        out: *mut u8,
20091        max_out: usize,
20092        in_: *const u8,
20093        in_len: usize,
20094        padding: ::std::os::raw::c_int,
20095    ) -> ::std::os::raw::c_int;
20096}
20097extern "C" {
20098    #[link_name = "\u{1}aws_lc_0_30_0_RSA_decrypt"]
20099    pub fn RSA_decrypt(
20100        rsa: *mut RSA,
20101        out_len: *mut usize,
20102        out: *mut u8,
20103        max_out: usize,
20104        in_: *const u8,
20105        in_len: usize,
20106        padding: ::std::os::raw::c_int,
20107    ) -> ::std::os::raw::c_int;
20108}
20109extern "C" {
20110    #[link_name = "\u{1}aws_lc_0_30_0_RSA_public_encrypt"]
20111    pub fn RSA_public_encrypt(
20112        flen: usize,
20113        from: *const u8,
20114        to: *mut u8,
20115        rsa: *mut RSA,
20116        padding: ::std::os::raw::c_int,
20117    ) -> ::std::os::raw::c_int;
20118}
20119extern "C" {
20120    #[link_name = "\u{1}aws_lc_0_30_0_RSA_private_decrypt"]
20121    pub fn RSA_private_decrypt(
20122        flen: usize,
20123        from: *const u8,
20124        to: *mut u8,
20125        rsa: *mut RSA,
20126        padding: ::std::os::raw::c_int,
20127    ) -> ::std::os::raw::c_int;
20128}
20129extern "C" {
20130    #[link_name = "\u{1}aws_lc_0_30_0_RSA_sign"]
20131    pub fn RSA_sign(
20132        hash_nid: ::std::os::raw::c_int,
20133        digest: *const u8,
20134        digest_len: usize,
20135        out: *mut u8,
20136        out_len: *mut ::std::os::raw::c_uint,
20137        rsa: *mut RSA,
20138    ) -> ::std::os::raw::c_int;
20139}
20140extern "C" {
20141    #[link_name = "\u{1}aws_lc_0_30_0_RSA_sign_pss_mgf1"]
20142    pub fn RSA_sign_pss_mgf1(
20143        rsa: *mut RSA,
20144        out_len: *mut usize,
20145        out: *mut u8,
20146        max_out: usize,
20147        digest: *const u8,
20148        digest_len: usize,
20149        md: *const EVP_MD,
20150        mgf1_md: *const EVP_MD,
20151        salt_len: ::std::os::raw::c_int,
20152    ) -> ::std::os::raw::c_int;
20153}
20154extern "C" {
20155    #[link_name = "\u{1}aws_lc_0_30_0_RSA_sign_raw"]
20156    pub fn RSA_sign_raw(
20157        rsa: *mut RSA,
20158        out_len: *mut usize,
20159        out: *mut u8,
20160        max_out: usize,
20161        in_: *const u8,
20162        in_len: usize,
20163        padding: ::std::os::raw::c_int,
20164    ) -> ::std::os::raw::c_int;
20165}
20166extern "C" {
20167    #[link_name = "\u{1}aws_lc_0_30_0_RSA_verify"]
20168    pub fn RSA_verify(
20169        hash_nid: ::std::os::raw::c_int,
20170        digest: *const u8,
20171        digest_len: usize,
20172        sig: *const u8,
20173        sig_len: usize,
20174        rsa: *mut RSA,
20175    ) -> ::std::os::raw::c_int;
20176}
20177extern "C" {
20178    #[link_name = "\u{1}aws_lc_0_30_0_RSA_verify_pss_mgf1"]
20179    pub fn RSA_verify_pss_mgf1(
20180        rsa: *mut RSA,
20181        digest: *const u8,
20182        digest_len: usize,
20183        md: *const EVP_MD,
20184        mgf1_md: *const EVP_MD,
20185        salt_len: ::std::os::raw::c_int,
20186        sig: *const u8,
20187        sig_len: usize,
20188    ) -> ::std::os::raw::c_int;
20189}
20190extern "C" {
20191    #[link_name = "\u{1}aws_lc_0_30_0_RSA_verify_raw"]
20192    pub fn RSA_verify_raw(
20193        rsa: *mut RSA,
20194        out_len: *mut usize,
20195        out: *mut u8,
20196        max_out: usize,
20197        in_: *const u8,
20198        in_len: usize,
20199        padding: ::std::os::raw::c_int,
20200    ) -> ::std::os::raw::c_int;
20201}
20202extern "C" {
20203    #[link_name = "\u{1}aws_lc_0_30_0_RSA_private_encrypt"]
20204    pub fn RSA_private_encrypt(
20205        flen: usize,
20206        from: *const u8,
20207        to: *mut u8,
20208        rsa: *mut RSA,
20209        padding: ::std::os::raw::c_int,
20210    ) -> ::std::os::raw::c_int;
20211}
20212extern "C" {
20213    #[link_name = "\u{1}aws_lc_0_30_0_RSA_public_decrypt"]
20214    pub fn RSA_public_decrypt(
20215        flen: usize,
20216        from: *const u8,
20217        to: *mut u8,
20218        rsa: *mut RSA,
20219        padding: ::std::os::raw::c_int,
20220    ) -> ::std::os::raw::c_int;
20221}
20222extern "C" {
20223    #[link_name = "\u{1}aws_lc_0_30_0_RSA_size"]
20224    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
20225}
20226extern "C" {
20227    #[link_name = "\u{1}aws_lc_0_30_0_RSA_is_opaque"]
20228    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
20229}
20230extern "C" {
20231    #[link_name = "\u{1}aws_lc_0_30_0_RSAPublicKey_dup"]
20232    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
20233}
20234extern "C" {
20235    #[link_name = "\u{1}aws_lc_0_30_0_RSAPrivateKey_dup"]
20236    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
20237}
20238extern "C" {
20239    #[link_name = "\u{1}aws_lc_0_30_0_RSA_check_key"]
20240    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
20241}
20242extern "C" {
20243    #[link_name = "\u{1}aws_lc_0_30_0_RSA_check_fips"]
20244    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
20245}
20246extern "C" {
20247    #[link_name = "\u{1}aws_lc_0_30_0_RSA_verify_PKCS1_PSS_mgf1"]
20248    pub fn RSA_verify_PKCS1_PSS_mgf1(
20249        rsa: *const RSA,
20250        mHash: *const u8,
20251        Hash: *const EVP_MD,
20252        mgf1Hash: *const EVP_MD,
20253        EM: *const u8,
20254        sLen: ::std::os::raw::c_int,
20255    ) -> ::std::os::raw::c_int;
20256}
20257extern "C" {
20258    #[link_name = "\u{1}aws_lc_0_30_0_RSA_padding_add_PKCS1_PSS_mgf1"]
20259    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
20260        rsa: *const RSA,
20261        EM: *mut u8,
20262        mHash: *const u8,
20263        Hash: *const EVP_MD,
20264        mgf1Hash: *const EVP_MD,
20265        sLen: ::std::os::raw::c_int,
20266    ) -> ::std::os::raw::c_int;
20267}
20268extern "C" {
20269    #[link_name = "\u{1}aws_lc_0_30_0_RSA_padding_add_PKCS1_OAEP_mgf1"]
20270    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
20271        to: *mut u8,
20272        to_len: usize,
20273        from: *const u8,
20274        from_len: usize,
20275        param: *const u8,
20276        param_len: usize,
20277        md: *const EVP_MD,
20278        mgf1md: *const EVP_MD,
20279    ) -> ::std::os::raw::c_int;
20280}
20281extern "C" {
20282    #[link_name = "\u{1}aws_lc_0_30_0_PKCS1_MGF1"]
20283    pub fn PKCS1_MGF1(
20284        out: *mut u8,
20285        len: usize,
20286        seed: *const u8,
20287        seed_len: usize,
20288        md: *const EVP_MD,
20289    ) -> ::std::os::raw::c_int;
20290}
20291extern "C" {
20292    #[link_name = "\u{1}aws_lc_0_30_0_RSA_add_pkcs1_prefix"]
20293    pub fn RSA_add_pkcs1_prefix(
20294        out_msg: *mut *mut u8,
20295        out_msg_len: *mut usize,
20296        is_alloced: *mut ::std::os::raw::c_int,
20297        hash_nid: ::std::os::raw::c_int,
20298        digest: *const u8,
20299        digest_len: usize,
20300    ) -> ::std::os::raw::c_int;
20301}
20302extern "C" {
20303    #[link_name = "\u{1}aws_lc_0_30_0_RSA_parse_public_key"]
20304    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
20305}
20306extern "C" {
20307    #[link_name = "\u{1}aws_lc_0_30_0_RSA_public_key_from_bytes"]
20308    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20309}
20310extern "C" {
20311    #[link_name = "\u{1}aws_lc_0_30_0_RSA_marshal_public_key"]
20312    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20313}
20314extern "C" {
20315    #[link_name = "\u{1}aws_lc_0_30_0_RSA_public_key_to_bytes"]
20316    pub fn RSA_public_key_to_bytes(
20317        out_bytes: *mut *mut u8,
20318        out_len: *mut usize,
20319        rsa: *const RSA,
20320    ) -> ::std::os::raw::c_int;
20321}
20322extern "C" {
20323    #[link_name = "\u{1}aws_lc_0_30_0_RSA_parse_private_key"]
20324    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
20325}
20326extern "C" {
20327    #[link_name = "\u{1}aws_lc_0_30_0_RSA_private_key_from_bytes"]
20328    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20329}
20330extern "C" {
20331    #[link_name = "\u{1}aws_lc_0_30_0_RSA_marshal_private_key"]
20332    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20333}
20334extern "C" {
20335    #[link_name = "\u{1}aws_lc_0_30_0_RSA_private_key_to_bytes"]
20336    pub fn RSA_private_key_to_bytes(
20337        out_bytes: *mut *mut u8,
20338        out_len: *mut usize,
20339        rsa: *const RSA,
20340    ) -> ::std::os::raw::c_int;
20341}
20342extern "C" {
20343    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_private_key_no_crt"]
20344    pub fn RSA_new_private_key_no_crt(
20345        n: *const BIGNUM,
20346        e: *const BIGNUM,
20347        d: *const BIGNUM,
20348    ) -> *mut RSA;
20349}
20350extern "C" {
20351    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_private_key_no_e"]
20352    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
20353}
20354extern "C" {
20355    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_public_key_large_e"]
20356    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
20357}
20358extern "C" {
20359    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_private_key_large_e"]
20360    pub fn RSA_new_private_key_large_e(
20361        n: *const BIGNUM,
20362        e: *const BIGNUM,
20363        d: *const BIGNUM,
20364        p: *const BIGNUM,
20365        q: *const BIGNUM,
20366        dmp1: *const BIGNUM,
20367        dmq1: *const BIGNUM,
20368        iqmp: *const BIGNUM,
20369    ) -> *mut RSA;
20370}
20371extern "C" {
20372    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get_ex_new_index"]
20373    pub fn RSA_get_ex_new_index(
20374        argl: ::std::os::raw::c_long,
20375        argp: *mut ::std::os::raw::c_void,
20376        unused: *mut CRYPTO_EX_unused,
20377        dup_unused: CRYPTO_EX_dup,
20378        free_func: CRYPTO_EX_free,
20379    ) -> ::std::os::raw::c_int;
20380}
20381extern "C" {
20382    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set_ex_data"]
20383    pub fn RSA_set_ex_data(
20384        rsa: *mut RSA,
20385        idx: ::std::os::raw::c_int,
20386        arg: *mut ::std::os::raw::c_void,
20387    ) -> ::std::os::raw::c_int;
20388}
20389extern "C" {
20390    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get_ex_data"]
20391    pub fn RSA_get_ex_data(
20392        rsa: *const RSA,
20393        idx: ::std::os::raw::c_int,
20394    ) -> *mut ::std::os::raw::c_void;
20395}
20396extern "C" {
20397    #[link_name = "\u{1}aws_lc_0_30_0_RSA_flags"]
20398    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
20399}
20400extern "C" {
20401    #[link_name = "\u{1}aws_lc_0_30_0_RSA_set_flags"]
20402    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
20403}
20404extern "C" {
20405    #[link_name = "\u{1}aws_lc_0_30_0_RSA_test_flags"]
20406    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20407}
20408extern "C" {
20409    #[link_name = "\u{1}aws_lc_0_30_0_RSA_blinding_on"]
20410    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
20411}
20412extern "C" {
20413    #[link_name = "\u{1}aws_lc_0_30_0_RSA_blinding_off_temp_for_accp_compatibility"]
20414    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
20415}
20416extern "C" {
20417    #[link_name = "\u{1}aws_lc_0_30_0_RSA_pkey_ctx_ctrl"]
20418    pub fn RSA_pkey_ctx_ctrl(
20419        ctx: *mut EVP_PKEY_CTX,
20420        optype: ::std::os::raw::c_int,
20421        cmd: ::std::os::raw::c_int,
20422        p1: ::std::os::raw::c_int,
20423        p2: *mut ::std::os::raw::c_void,
20424    ) -> ::std::os::raw::c_int;
20425}
20426extern "C" {
20427    #[link_name = "\u{1}aws_lc_0_30_0_RSA_generate_key"]
20428    pub fn RSA_generate_key(
20429        bits: ::std::os::raw::c_int,
20430        e: u64,
20431        callback: *mut ::std::os::raw::c_void,
20432        cb_arg: *mut ::std::os::raw::c_void,
20433    ) -> *mut RSA;
20434}
20435extern "C" {
20436    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPublicKey"]
20437    pub fn d2i_RSAPublicKey(
20438        out: *mut *mut RSA,
20439        inp: *mut *const u8,
20440        len: ::std::os::raw::c_long,
20441    ) -> *mut RSA;
20442}
20443extern "C" {
20444    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPublicKey"]
20445    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20446}
20447extern "C" {
20448    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPrivateKey"]
20449    pub fn d2i_RSAPrivateKey(
20450        out: *mut *mut RSA,
20451        inp: *mut *const u8,
20452        len: ::std::os::raw::c_long,
20453    ) -> *mut RSA;
20454}
20455extern "C" {
20456    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPrivateKey"]
20457    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20458}
20459extern "C" {
20460    #[link_name = "\u{1}aws_lc_0_30_0_RSA_padding_add_PKCS1_PSS"]
20461    pub fn RSA_padding_add_PKCS1_PSS(
20462        rsa: *const RSA,
20463        EM: *mut u8,
20464        mHash: *const u8,
20465        Hash: *const EVP_MD,
20466        sLen: ::std::os::raw::c_int,
20467    ) -> ::std::os::raw::c_int;
20468}
20469extern "C" {
20470    #[link_name = "\u{1}aws_lc_0_30_0_RSA_verify_PKCS1_PSS"]
20471    pub fn RSA_verify_PKCS1_PSS(
20472        rsa: *const RSA,
20473        mHash: *const u8,
20474        Hash: *const EVP_MD,
20475        EM: *const u8,
20476        sLen: ::std::os::raw::c_int,
20477    ) -> ::std::os::raw::c_int;
20478}
20479extern "C" {
20480    #[link_name = "\u{1}aws_lc_0_30_0_RSA_padding_add_PKCS1_OAEP"]
20481    pub fn RSA_padding_add_PKCS1_OAEP(
20482        to: *mut u8,
20483        to_len: usize,
20484        from: *const u8,
20485        from_len: usize,
20486        param: *const u8,
20487        param_len: usize,
20488    ) -> ::std::os::raw::c_int;
20489}
20490extern "C" {
20491    #[link_name = "\u{1}aws_lc_0_30_0_RSA_print"]
20492    pub fn RSA_print(
20493        bio: *mut BIO,
20494        rsa: *const RSA,
20495        indent: ::std::os::raw::c_int,
20496    ) -> ::std::os::raw::c_int;
20497}
20498extern "C" {
20499    #[link_name = "\u{1}aws_lc_0_30_0_RSA_print_fp"]
20500    pub fn RSA_print_fp(
20501        fp: *mut FILE,
20502        rsa: *const RSA,
20503        indent: ::std::os::raw::c_int,
20504    ) -> ::std::os::raw::c_int;
20505}
20506extern "C" {
20507    #[link_name = "\u{1}aws_lc_0_30_0_RSA_get0_pss_params"]
20508    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
20509}
20510extern "C" {
20511    #[link_name = "\u{1}aws_lc_0_30_0_RSA_new_method_no_e"]
20512    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
20513}
20514pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
20515pub type sk_X509_copy_func =
20516    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
20517pub type sk_X509_cmp_func = ::std::option::Option<
20518    unsafe extern "C" fn(
20519        arg1: *const *const X509,
20520        arg2: *const *const X509,
20521    ) -> ::std::os::raw::c_int,
20522>;
20523pub type sk_X509_delete_if_func = ::std::option::Option<
20524    unsafe extern "C" fn(
20525        arg1: *mut X509,
20526        arg2: *mut ::std::os::raw::c_void,
20527    ) -> ::std::os::raw::c_int,
20528>;
20529extern "C" {
20530    #[link_name = "\u{1}aws_lc_0_30_0_X509_it"]
20531    pub static X509_it: ASN1_ITEM;
20532}
20533extern "C" {
20534    #[link_name = "\u{1}aws_lc_0_30_0_X509_up_ref"]
20535    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
20536}
20537extern "C" {
20538    #[link_name = "\u{1}aws_lc_0_30_0_X509_chain_up_ref"]
20539    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
20540}
20541extern "C" {
20542    #[link_name = "\u{1}aws_lc_0_30_0_X509_dup"]
20543    pub fn X509_dup(x509: *mut X509) -> *mut X509;
20544}
20545extern "C" {
20546    #[link_name = "\u{1}aws_lc_0_30_0_X509_free"]
20547    pub fn X509_free(x509: *mut X509);
20548}
20549extern "C" {
20550    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509"]
20551    pub fn d2i_X509(
20552        out: *mut *mut X509,
20553        inp: *mut *const u8,
20554        len: ::std::os::raw::c_long,
20555    ) -> *mut X509;
20556}
20557extern "C" {
20558    #[link_name = "\u{1}aws_lc_0_30_0_X509_parse_from_buffer"]
20559    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
20560}
20561extern "C" {
20562    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509"]
20563    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20564}
20565extern "C" {
20566    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_version"]
20567    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
20568}
20569extern "C" {
20570    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_serialNumber"]
20571    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
20572}
20573extern "C" {
20574    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_notBefore"]
20575    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
20576}
20577extern "C" {
20578    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_notAfter"]
20579    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
20580}
20581extern "C" {
20582    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_issuer_name"]
20583    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
20584}
20585extern "C" {
20586    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_subject_name"]
20587    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
20588}
20589extern "C" {
20590    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_X509_PUBKEY"]
20591    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
20592}
20593extern "C" {
20594    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_pubkey"]
20595    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20596}
20597extern "C" {
20598    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_pubkey"]
20599    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20600}
20601extern "C" {
20602    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_pubkey_bitstr"]
20603    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
20604}
20605extern "C" {
20606    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_private_key"]
20607    pub fn X509_check_private_key(
20608        x509: *const X509,
20609        pkey: *const EVP_PKEY,
20610    ) -> ::std::os::raw::c_int;
20611}
20612extern "C" {
20613    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_uids"]
20614    pub fn X509_get0_uids(
20615        x509: *const X509,
20616        out_issuer_uid: *mut *const ASN1_BIT_STRING,
20617        out_subject_uid: *mut *const ASN1_BIT_STRING,
20618    );
20619}
20620extern "C" {
20621    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_extension_flags"]
20622    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
20623}
20624extern "C" {
20625    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_pathlen"]
20626    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
20627}
20628extern "C" {
20629    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_key_usage"]
20630    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
20631}
20632extern "C" {
20633    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_extended_key_usage"]
20634    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
20635}
20636extern "C" {
20637    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_subject_key_id"]
20638    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20639}
20640extern "C" {
20641    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_authority_key_id"]
20642    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20643}
20644#[repr(C)]
20645#[derive(Debug, Copy, Clone)]
20646pub struct stack_st_GENERAL_NAME {
20647    _unused: [u8; 0],
20648}
20649pub type sk_GENERAL_NAME_free_func =
20650    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
20651pub type sk_GENERAL_NAME_copy_func =
20652    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
20653pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
20654    unsafe extern "C" fn(
20655        arg1: *const *const GENERAL_NAME,
20656        arg2: *const *const GENERAL_NAME,
20657    ) -> ::std::os::raw::c_int,
20658>;
20659pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
20660    unsafe extern "C" fn(
20661        arg1: *mut GENERAL_NAME,
20662        arg2: *mut ::std::os::raw::c_void,
20663    ) -> ::std::os::raw::c_int,
20664>;
20665pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
20666extern "C" {
20667    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_authority_issuer"]
20668    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
20669}
20670extern "C" {
20671    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_authority_serial"]
20672    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
20673}
20674#[repr(C)]
20675#[derive(Debug, Copy, Clone)]
20676pub struct stack_st_X509_EXTENSION {
20677    _unused: [u8; 0],
20678}
20679extern "C" {
20680    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_extensions"]
20681    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
20682}
20683extern "C" {
20684    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext_count"]
20685    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
20686}
20687extern "C" {
20688    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext_by_NID"]
20689    pub fn X509_get_ext_by_NID(
20690        x: *const X509,
20691        nid: ::std::os::raw::c_int,
20692        lastpos: ::std::os::raw::c_int,
20693    ) -> ::std::os::raw::c_int;
20694}
20695extern "C" {
20696    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext_by_OBJ"]
20697    pub fn X509_get_ext_by_OBJ(
20698        x: *const X509,
20699        obj: *const ASN1_OBJECT,
20700        lastpos: ::std::os::raw::c_int,
20701    ) -> ::std::os::raw::c_int;
20702}
20703extern "C" {
20704    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext_by_critical"]
20705    pub fn X509_get_ext_by_critical(
20706        x: *const X509,
20707        crit: ::std::os::raw::c_int,
20708        lastpos: ::std::os::raw::c_int,
20709    ) -> ::std::os::raw::c_int;
20710}
20711extern "C" {
20712    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext"]
20713    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20714}
20715extern "C" {
20716    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ext_d2i"]
20717    pub fn X509_get_ext_d2i(
20718        x509: *const X509,
20719        nid: ::std::os::raw::c_int,
20720        out_critical: *mut ::std::os::raw::c_int,
20721        out_idx: *mut ::std::os::raw::c_int,
20722    ) -> *mut ::std::os::raw::c_void;
20723}
20724extern "C" {
20725    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_tbs_sigalg"]
20726    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
20727}
20728extern "C" {
20729    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_signature_info"]
20730    pub fn X509_get_signature_info(
20731        x509: *mut X509,
20732        digest_nid: *mut ::std::os::raw::c_int,
20733        pubkey_nid: *mut ::std::os::raw::c_int,
20734        sec_bits: *mut ::std::os::raw::c_int,
20735        flags: *mut u32,
20736    ) -> ::std::os::raw::c_int;
20737}
20738extern "C" {
20739    #[link_name = "\u{1}aws_lc_0_30_0_X509_get0_signature"]
20740    pub fn X509_get0_signature(
20741        out_sig: *mut *const ASN1_BIT_STRING,
20742        out_alg: *mut *const X509_ALGOR,
20743        x509: *const X509,
20744    );
20745}
20746extern "C" {
20747    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_signature_nid"]
20748    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
20749}
20750extern "C" {
20751    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_tbs"]
20752    pub fn i2d_X509_tbs(
20753        x509: *mut X509,
20754        outp: *mut *mut ::std::os::raw::c_uchar,
20755    ) -> ::std::os::raw::c_int;
20756}
20757extern "C" {
20758    #[link_name = "\u{1}aws_lc_0_30_0_X509_verify"]
20759    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20760}
20761extern "C" {
20762    #[link_name = "\u{1}aws_lc_0_30_0_X509_get1_email"]
20763    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20764}
20765extern "C" {
20766    #[link_name = "\u{1}aws_lc_0_30_0_X509_get1_ocsp"]
20767    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20768}
20769extern "C" {
20770    #[link_name = "\u{1}aws_lc_0_30_0_X509_email_free"]
20771    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
20772}
20773extern "C" {
20774    #[link_name = "\u{1}aws_lc_0_30_0_X509_cmp"]
20775    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
20776}
20777extern "C" {
20778    #[link_name = "\u{1}aws_lc_0_30_0_X509_new"]
20779    pub fn X509_new() -> *mut X509;
20780}
20781extern "C" {
20782    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_version"]
20783    pub fn X509_set_version(
20784        x509: *mut X509,
20785        version: ::std::os::raw::c_long,
20786    ) -> ::std::os::raw::c_int;
20787}
20788extern "C" {
20789    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_serialNumber"]
20790    pub fn X509_set_serialNumber(
20791        x509: *mut X509,
20792        serial: *const ASN1_INTEGER,
20793    ) -> ::std::os::raw::c_int;
20794}
20795extern "C" {
20796    #[link_name = "\u{1}aws_lc_0_30_0_X509_set1_notBefore"]
20797    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20798}
20799extern "C" {
20800    #[link_name = "\u{1}aws_lc_0_30_0_X509_set1_notAfter"]
20801    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20802}
20803extern "C" {
20804    #[link_name = "\u{1}aws_lc_0_30_0_X509_getm_notBefore"]
20805    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
20806}
20807extern "C" {
20808    #[link_name = "\u{1}aws_lc_0_30_0_X509_getm_notAfter"]
20809    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
20810}
20811extern "C" {
20812    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_issuer_name"]
20813    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20814}
20815extern "C" {
20816    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_subject_name"]
20817    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20818}
20819extern "C" {
20820    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_pubkey"]
20821    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20822}
20823extern "C" {
20824    #[link_name = "\u{1}aws_lc_0_30_0_X509_delete_ext"]
20825    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20826}
20827extern "C" {
20828    #[link_name = "\u{1}aws_lc_0_30_0_X509_add_ext"]
20829    pub fn X509_add_ext(
20830        x: *mut X509,
20831        ex: *const X509_EXTENSION,
20832        loc: ::std::os::raw::c_int,
20833    ) -> ::std::os::raw::c_int;
20834}
20835extern "C" {
20836    #[link_name = "\u{1}aws_lc_0_30_0_X509_add1_ext_i2d"]
20837    pub fn X509_add1_ext_i2d(
20838        x: *mut X509,
20839        nid: ::std::os::raw::c_int,
20840        value: *mut ::std::os::raw::c_void,
20841        crit: ::std::os::raw::c_int,
20842        flags: ::std::os::raw::c_ulong,
20843    ) -> ::std::os::raw::c_int;
20844}
20845extern "C" {
20846    #[link_name = "\u{1}aws_lc_0_30_0_X509_sign"]
20847    pub fn X509_sign(
20848        x509: *mut X509,
20849        pkey: *mut EVP_PKEY,
20850        md: *const EVP_MD,
20851    ) -> ::std::os::raw::c_int;
20852}
20853extern "C" {
20854    #[link_name = "\u{1}aws_lc_0_30_0_X509_sign_ctx"]
20855    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20856}
20857extern "C" {
20858    #[link_name = "\u{1}aws_lc_0_30_0_i2d_re_X509_tbs"]
20859    pub fn i2d_re_X509_tbs(
20860        x509: *mut X509,
20861        outp: *mut *mut ::std::os::raw::c_uchar,
20862    ) -> ::std::os::raw::c_int;
20863}
20864extern "C" {
20865    #[link_name = "\u{1}aws_lc_0_30_0_X509_set1_signature_algo"]
20866    pub fn X509_set1_signature_algo(
20867        x509: *mut X509,
20868        algo: *const X509_ALGOR,
20869    ) -> ::std::os::raw::c_int;
20870}
20871extern "C" {
20872    #[link_name = "\u{1}aws_lc_0_30_0_X509_set1_signature_value"]
20873    pub fn X509_set1_signature_value(
20874        x509: *mut X509,
20875        sig: *const u8,
20876        sig_len: usize,
20877    ) -> ::std::os::raw::c_int;
20878}
20879extern "C" {
20880    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_AUX"]
20881    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20882}
20883extern "C" {
20884    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_AUX"]
20885    pub fn d2i_X509_AUX(
20886        x509: *mut *mut X509,
20887        inp: *mut *const u8,
20888        length: ::std::os::raw::c_long,
20889    ) -> *mut X509;
20890}
20891extern "C" {
20892    #[link_name = "\u{1}aws_lc_0_30_0_X509_alias_set1"]
20893    pub fn X509_alias_set1(
20894        x509: *mut X509,
20895        name: *const u8,
20896        len: ossl_ssize_t,
20897    ) -> ::std::os::raw::c_int;
20898}
20899extern "C" {
20900    #[link_name = "\u{1}aws_lc_0_30_0_X509_keyid_set1"]
20901    pub fn X509_keyid_set1(
20902        x509: *mut X509,
20903        id: *const u8,
20904        len: ossl_ssize_t,
20905    ) -> ::std::os::raw::c_int;
20906}
20907extern "C" {
20908    #[link_name = "\u{1}aws_lc_0_30_0_X509_alias_get0"]
20909    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20910}
20911extern "C" {
20912    #[link_name = "\u{1}aws_lc_0_30_0_X509_keyid_get0"]
20913    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20914}
20915extern "C" {
20916    #[link_name = "\u{1}aws_lc_0_30_0_X509_add1_trust_object"]
20917    pub fn X509_add1_trust_object(
20918        x509: *mut X509,
20919        obj: *const ASN1_OBJECT,
20920    ) -> ::std::os::raw::c_int;
20921}
20922extern "C" {
20923    #[link_name = "\u{1}aws_lc_0_30_0_X509_add1_reject_object"]
20924    pub fn X509_add1_reject_object(
20925        x509: *mut X509,
20926        obj: *const ASN1_OBJECT,
20927    ) -> ::std::os::raw::c_int;
20928}
20929extern "C" {
20930    #[link_name = "\u{1}aws_lc_0_30_0_X509_trust_clear"]
20931    pub fn X509_trust_clear(x509: *mut X509);
20932}
20933extern "C" {
20934    #[link_name = "\u{1}aws_lc_0_30_0_X509_reject_clear"]
20935    pub fn X509_reject_clear(x509: *mut X509);
20936}
20937pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
20938pub type sk_X509_CRL_copy_func =
20939    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
20940pub type sk_X509_CRL_cmp_func = ::std::option::Option<
20941    unsafe extern "C" fn(
20942        arg1: *const *const X509_CRL,
20943        arg2: *const *const X509_CRL,
20944    ) -> ::std::os::raw::c_int,
20945>;
20946pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
20947    unsafe extern "C" fn(
20948        arg1: *mut X509_CRL,
20949        arg2: *mut ::std::os::raw::c_void,
20950    ) -> ::std::os::raw::c_int,
20951>;
20952#[repr(C)]
20953#[derive(Debug, Copy, Clone)]
20954pub struct stack_st_X509_REVOKED {
20955    _unused: [u8; 0],
20956}
20957pub type sk_X509_REVOKED_free_func =
20958    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
20959pub type sk_X509_REVOKED_copy_func =
20960    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
20961pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
20962    unsafe extern "C" fn(
20963        arg1: *const *const X509_REVOKED,
20964        arg2: *const *const X509_REVOKED,
20965    ) -> ::std::os::raw::c_int,
20966>;
20967pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
20968    unsafe extern "C" fn(
20969        arg1: *mut X509_REVOKED,
20970        arg2: *mut ::std::os::raw::c_void,
20971    ) -> ::std::os::raw::c_int,
20972>;
20973extern "C" {
20974    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_it"]
20975    pub static X509_CRL_it: ASN1_ITEM;
20976}
20977extern "C" {
20978    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_up_ref"]
20979    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20980}
20981extern "C" {
20982    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_dup"]
20983    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
20984}
20985extern "C" {
20986    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_free"]
20987    pub fn X509_CRL_free(crl: *mut X509_CRL);
20988}
20989extern "C" {
20990    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_CRL"]
20991    pub fn d2i_X509_CRL(
20992        out: *mut *mut X509_CRL,
20993        inp: *mut *const u8,
20994        len: ::std::os::raw::c_long,
20995    ) -> *mut X509_CRL;
20996}
20997extern "C" {
20998    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_CRL"]
20999    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21000}
21001extern "C" {
21002    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_match"]
21003    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
21004}
21005extern "C" {
21006    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_version"]
21007    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
21008}
21009extern "C" {
21010    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_lastUpdate"]
21011    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
21012}
21013extern "C" {
21014    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_nextUpdate"]
21015    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
21016}
21017extern "C" {
21018    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_issuer"]
21019    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
21020}
21021extern "C" {
21022    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_by_serial"]
21023    pub fn X509_CRL_get0_by_serial(
21024        crl: *mut X509_CRL,
21025        out: *mut *mut X509_REVOKED,
21026        serial: *const ASN1_INTEGER,
21027    ) -> ::std::os::raw::c_int;
21028}
21029extern "C" {
21030    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_by_cert"]
21031    pub fn X509_CRL_get0_by_cert(
21032        crl: *mut X509_CRL,
21033        out: *mut *mut X509_REVOKED,
21034        x509: *mut X509,
21035    ) -> ::std::os::raw::c_int;
21036}
21037extern "C" {
21038    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_REVOKED"]
21039    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
21040}
21041extern "C" {
21042    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_extensions"]
21043    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
21044}
21045extern "C" {
21046    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext_count"]
21047    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
21048}
21049extern "C" {
21050    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext_by_NID"]
21051    pub fn X509_CRL_get_ext_by_NID(
21052        x: *const X509_CRL,
21053        nid: ::std::os::raw::c_int,
21054        lastpos: ::std::os::raw::c_int,
21055    ) -> ::std::os::raw::c_int;
21056}
21057extern "C" {
21058    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext_by_OBJ"]
21059    pub fn X509_CRL_get_ext_by_OBJ(
21060        x: *const X509_CRL,
21061        obj: *const ASN1_OBJECT,
21062        lastpos: ::std::os::raw::c_int,
21063    ) -> ::std::os::raw::c_int;
21064}
21065extern "C" {
21066    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext_by_critical"]
21067    pub fn X509_CRL_get_ext_by_critical(
21068        x: *const X509_CRL,
21069        crit: ::std::os::raw::c_int,
21070        lastpos: ::std::os::raw::c_int,
21071    ) -> ::std::os::raw::c_int;
21072}
21073extern "C" {
21074    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext"]
21075    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
21076}
21077extern "C" {
21078    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_ext_d2i"]
21079    pub fn X509_CRL_get_ext_d2i(
21080        crl: *const X509_CRL,
21081        nid: ::std::os::raw::c_int,
21082        out_critical: *mut ::std::os::raw::c_int,
21083        out_idx: *mut ::std::os::raw::c_int,
21084    ) -> *mut ::std::os::raw::c_void;
21085}
21086extern "C" {
21087    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get0_signature"]
21088    pub fn X509_CRL_get0_signature(
21089        crl: *const X509_CRL,
21090        out_sig: *mut *const ASN1_BIT_STRING,
21091        out_alg: *mut *const X509_ALGOR,
21092    );
21093}
21094extern "C" {
21095    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_signature_nid"]
21096    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
21097}
21098extern "C" {
21099    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_CRL_tbs"]
21100    pub fn i2d_X509_CRL_tbs(
21101        crl: *mut X509_CRL,
21102        outp: *mut *mut ::std::os::raw::c_uchar,
21103    ) -> ::std::os::raw::c_int;
21104}
21105extern "C" {
21106    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_verify"]
21107    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21108}
21109extern "C" {
21110    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_new"]
21111    pub fn X509_CRL_new() -> *mut X509_CRL;
21112}
21113extern "C" {
21114    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set_version"]
21115    pub fn X509_CRL_set_version(
21116        crl: *mut X509_CRL,
21117        version: ::std::os::raw::c_long,
21118    ) -> ::std::os::raw::c_int;
21119}
21120extern "C" {
21121    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set_issuer_name"]
21122    pub fn X509_CRL_set_issuer_name(
21123        crl: *mut X509_CRL,
21124        name: *mut X509_NAME,
21125    ) -> ::std::os::raw::c_int;
21126}
21127extern "C" {
21128    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set1_lastUpdate"]
21129    pub fn X509_CRL_set1_lastUpdate(
21130        crl: *mut X509_CRL,
21131        tm: *const ASN1_TIME,
21132    ) -> ::std::os::raw::c_int;
21133}
21134extern "C" {
21135    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set1_nextUpdate"]
21136    pub fn X509_CRL_set1_nextUpdate(
21137        crl: *mut X509_CRL,
21138        tm: *const ASN1_TIME,
21139    ) -> ::std::os::raw::c_int;
21140}
21141extern "C" {
21142    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_add0_revoked"]
21143    pub fn X509_CRL_add0_revoked(
21144        crl: *mut X509_CRL,
21145        rev: *mut X509_REVOKED,
21146    ) -> ::std::os::raw::c_int;
21147}
21148extern "C" {
21149    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_sort"]
21150    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
21151}
21152extern "C" {
21153    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_delete_ext"]
21154    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
21155        -> *mut X509_EXTENSION;
21156}
21157extern "C" {
21158    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_add_ext"]
21159    pub fn X509_CRL_add_ext(
21160        x: *mut X509_CRL,
21161        ex: *const X509_EXTENSION,
21162        loc: ::std::os::raw::c_int,
21163    ) -> ::std::os::raw::c_int;
21164}
21165extern "C" {
21166    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_add1_ext_i2d"]
21167    pub fn X509_CRL_add1_ext_i2d(
21168        x: *mut X509_CRL,
21169        nid: ::std::os::raw::c_int,
21170        value: *mut ::std::os::raw::c_void,
21171        crit: ::std::os::raw::c_int,
21172        flags: ::std::os::raw::c_ulong,
21173    ) -> ::std::os::raw::c_int;
21174}
21175extern "C" {
21176    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_sign"]
21177    pub fn X509_CRL_sign(
21178        crl: *mut X509_CRL,
21179        pkey: *mut EVP_PKEY,
21180        md: *const EVP_MD,
21181    ) -> ::std::os::raw::c_int;
21182}
21183extern "C" {
21184    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_sign_ctx"]
21185    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
21186}
21187extern "C" {
21188    #[link_name = "\u{1}aws_lc_0_30_0_i2d_re_X509_CRL_tbs"]
21189    pub fn i2d_re_X509_CRL_tbs(
21190        crl: *mut X509_CRL,
21191        outp: *mut *mut ::std::os::raw::c_uchar,
21192    ) -> ::std::os::raw::c_int;
21193}
21194extern "C" {
21195    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set1_signature_algo"]
21196    pub fn X509_CRL_set1_signature_algo(
21197        crl: *mut X509_CRL,
21198        algo: *const X509_ALGOR,
21199    ) -> ::std::os::raw::c_int;
21200}
21201extern "C" {
21202    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_set1_signature_value"]
21203    pub fn X509_CRL_set1_signature_value(
21204        crl: *mut X509_CRL,
21205        sig: *const u8,
21206        sig_len: usize,
21207    ) -> ::std::os::raw::c_int;
21208}
21209extern "C" {
21210    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_http_nbio"]
21211    pub fn X509_CRL_http_nbio(
21212        rctx: *mut OCSP_REQ_CTX,
21213        pcrl: *mut *mut X509_CRL,
21214    ) -> ::std::os::raw::c_int;
21215}
21216extern "C" {
21217    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_it"]
21218    pub static X509_REVOKED_it: ASN1_ITEM;
21219}
21220extern "C" {
21221    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_new"]
21222    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
21223}
21224extern "C" {
21225    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_free"]
21226    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
21227}
21228extern "C" {
21229    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_REVOKED"]
21230    pub fn d2i_X509_REVOKED(
21231        out: *mut *mut X509_REVOKED,
21232        inp: *mut *const u8,
21233        len: ::std::os::raw::c_long,
21234    ) -> *mut X509_REVOKED;
21235}
21236extern "C" {
21237    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_REVOKED"]
21238    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21239}
21240extern "C" {
21241    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_dup"]
21242    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
21243}
21244extern "C" {
21245    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get0_serialNumber"]
21246    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
21247}
21248extern "C" {
21249    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_set_serialNumber"]
21250    pub fn X509_REVOKED_set_serialNumber(
21251        revoked: *mut X509_REVOKED,
21252        serial: *const ASN1_INTEGER,
21253    ) -> ::std::os::raw::c_int;
21254}
21255extern "C" {
21256    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get0_revocationDate"]
21257    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
21258}
21259extern "C" {
21260    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_set_revocationDate"]
21261    pub fn X509_REVOKED_set_revocationDate(
21262        revoked: *mut X509_REVOKED,
21263        tm: *const ASN1_TIME,
21264    ) -> ::std::os::raw::c_int;
21265}
21266extern "C" {
21267    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get0_extensions"]
21268    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
21269}
21270extern "C" {
21271    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext_count"]
21272    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
21273}
21274extern "C" {
21275    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext_by_NID"]
21276    pub fn X509_REVOKED_get_ext_by_NID(
21277        x: *const X509_REVOKED,
21278        nid: ::std::os::raw::c_int,
21279        lastpos: ::std::os::raw::c_int,
21280    ) -> ::std::os::raw::c_int;
21281}
21282extern "C" {
21283    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext_by_OBJ"]
21284    pub fn X509_REVOKED_get_ext_by_OBJ(
21285        x: *const X509_REVOKED,
21286        obj: *const ASN1_OBJECT,
21287        lastpos: ::std::os::raw::c_int,
21288    ) -> ::std::os::raw::c_int;
21289}
21290extern "C" {
21291    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext_by_critical"]
21292    pub fn X509_REVOKED_get_ext_by_critical(
21293        x: *const X509_REVOKED,
21294        crit: ::std::os::raw::c_int,
21295        lastpos: ::std::os::raw::c_int,
21296    ) -> ::std::os::raw::c_int;
21297}
21298extern "C" {
21299    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext"]
21300    pub fn X509_REVOKED_get_ext(
21301        x: *const X509_REVOKED,
21302        loc: ::std::os::raw::c_int,
21303    ) -> *mut X509_EXTENSION;
21304}
21305extern "C" {
21306    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_delete_ext"]
21307    pub fn X509_REVOKED_delete_ext(
21308        x: *mut X509_REVOKED,
21309        loc: ::std::os::raw::c_int,
21310    ) -> *mut X509_EXTENSION;
21311}
21312extern "C" {
21313    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_add_ext"]
21314    pub fn X509_REVOKED_add_ext(
21315        x: *mut X509_REVOKED,
21316        ex: *const X509_EXTENSION,
21317        loc: ::std::os::raw::c_int,
21318    ) -> ::std::os::raw::c_int;
21319}
21320extern "C" {
21321    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_get_ext_d2i"]
21322    pub fn X509_REVOKED_get_ext_d2i(
21323        revoked: *const X509_REVOKED,
21324        nid: ::std::os::raw::c_int,
21325        out_critical: *mut ::std::os::raw::c_int,
21326        out_idx: *mut ::std::os::raw::c_int,
21327    ) -> *mut ::std::os::raw::c_void;
21328}
21329extern "C" {
21330    #[link_name = "\u{1}aws_lc_0_30_0_X509_REVOKED_add1_ext_i2d"]
21331    pub fn X509_REVOKED_add1_ext_i2d(
21332        x: *mut X509_REVOKED,
21333        nid: ::std::os::raw::c_int,
21334        value: *mut ::std::os::raw::c_void,
21335        crit: ::std::os::raw::c_int,
21336        flags: ::std::os::raw::c_ulong,
21337    ) -> ::std::os::raw::c_int;
21338}
21339extern "C" {
21340    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_it"]
21341    pub static X509_REQ_it: ASN1_ITEM;
21342}
21343extern "C" {
21344    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_dup"]
21345    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
21346}
21347extern "C" {
21348    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_free"]
21349    pub fn X509_REQ_free(req: *mut X509_REQ);
21350}
21351extern "C" {
21352    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_REQ"]
21353    pub fn d2i_X509_REQ(
21354        out: *mut *mut X509_REQ,
21355        inp: *mut *const u8,
21356        len: ::std::os::raw::c_long,
21357    ) -> *mut X509_REQ;
21358}
21359extern "C" {
21360    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_REQ"]
21361    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21362}
21363extern "C" {
21364    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_version"]
21365    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
21366}
21367extern "C" {
21368    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_subject_name"]
21369    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
21370}
21371extern "C" {
21372    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get0_pubkey"]
21373    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21374}
21375extern "C" {
21376    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_pubkey"]
21377    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21378}
21379extern "C" {
21380    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_check_private_key"]
21381    pub fn X509_REQ_check_private_key(
21382        req: *const X509_REQ,
21383        pkey: *const EVP_PKEY,
21384    ) -> ::std::os::raw::c_int;
21385}
21386extern "C" {
21387    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_attr_count"]
21388    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
21389}
21390extern "C" {
21391    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_attr"]
21392    pub fn X509_REQ_get_attr(
21393        req: *const X509_REQ,
21394        loc: ::std::os::raw::c_int,
21395    ) -> *mut X509_ATTRIBUTE;
21396}
21397extern "C" {
21398    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_attr_by_NID"]
21399    pub fn X509_REQ_get_attr_by_NID(
21400        req: *const X509_REQ,
21401        nid: ::std::os::raw::c_int,
21402        lastpos: ::std::os::raw::c_int,
21403    ) -> ::std::os::raw::c_int;
21404}
21405extern "C" {
21406    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_attr_by_OBJ"]
21407    pub fn X509_REQ_get_attr_by_OBJ(
21408        req: *const X509_REQ,
21409        obj: *const ASN1_OBJECT,
21410        lastpos: ::std::os::raw::c_int,
21411    ) -> ::std::os::raw::c_int;
21412}
21413extern "C" {
21414    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_extension_nid"]
21415    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
21416}
21417extern "C" {
21418    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_extensions"]
21419    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
21420}
21421extern "C" {
21422    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get0_signature"]
21423    pub fn X509_REQ_get0_signature(
21424        req: *const X509_REQ,
21425        out_sig: *mut *const ASN1_BIT_STRING,
21426        out_alg: *mut *const X509_ALGOR,
21427    );
21428}
21429extern "C" {
21430    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get_signature_nid"]
21431    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
21432}
21433extern "C" {
21434    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_verify"]
21435    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21436}
21437extern "C" {
21438    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_get1_email"]
21439    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
21440}
21441extern "C" {
21442    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_new"]
21443    pub fn X509_REQ_new() -> *mut X509_REQ;
21444}
21445extern "C" {
21446    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_set_version"]
21447    pub fn X509_REQ_set_version(
21448        req: *mut X509_REQ,
21449        version: ::std::os::raw::c_long,
21450    ) -> ::std::os::raw::c_int;
21451}
21452extern "C" {
21453    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_set_subject_name"]
21454    pub fn X509_REQ_set_subject_name(
21455        req: *mut X509_REQ,
21456        name: *mut X509_NAME,
21457    ) -> ::std::os::raw::c_int;
21458}
21459extern "C" {
21460    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_set_pubkey"]
21461    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21462}
21463extern "C" {
21464    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_delete_attr"]
21465    pub fn X509_REQ_delete_attr(
21466        req: *mut X509_REQ,
21467        loc: ::std::os::raw::c_int,
21468    ) -> *mut X509_ATTRIBUTE;
21469}
21470extern "C" {
21471    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add1_attr"]
21472    pub fn X509_REQ_add1_attr(
21473        req: *mut X509_REQ,
21474        attr: *const X509_ATTRIBUTE,
21475    ) -> ::std::os::raw::c_int;
21476}
21477extern "C" {
21478    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add1_attr_by_OBJ"]
21479    pub fn X509_REQ_add1_attr_by_OBJ(
21480        req: *mut X509_REQ,
21481        obj: *const ASN1_OBJECT,
21482        attrtype: ::std::os::raw::c_int,
21483        data: *const ::std::os::raw::c_uchar,
21484        len: ::std::os::raw::c_int,
21485    ) -> ::std::os::raw::c_int;
21486}
21487extern "C" {
21488    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add1_attr_by_NID"]
21489    pub fn X509_REQ_add1_attr_by_NID(
21490        req: *mut X509_REQ,
21491        nid: ::std::os::raw::c_int,
21492        attrtype: ::std::os::raw::c_int,
21493        data: *const ::std::os::raw::c_uchar,
21494        len: ::std::os::raw::c_int,
21495    ) -> ::std::os::raw::c_int;
21496}
21497extern "C" {
21498    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add1_attr_by_txt"]
21499    pub fn X509_REQ_add1_attr_by_txt(
21500        req: *mut X509_REQ,
21501        attrname: *const ::std::os::raw::c_char,
21502        attrtype: ::std::os::raw::c_int,
21503        data: *const ::std::os::raw::c_uchar,
21504        len: ::std::os::raw::c_int,
21505    ) -> ::std::os::raw::c_int;
21506}
21507extern "C" {
21508    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add_extensions_nid"]
21509    pub fn X509_REQ_add_extensions_nid(
21510        req: *mut X509_REQ,
21511        exts: *const stack_st_X509_EXTENSION,
21512        nid: ::std::os::raw::c_int,
21513    ) -> ::std::os::raw::c_int;
21514}
21515extern "C" {
21516    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_add_extensions"]
21517    pub fn X509_REQ_add_extensions(
21518        req: *mut X509_REQ,
21519        exts: *const stack_st_X509_EXTENSION,
21520    ) -> ::std::os::raw::c_int;
21521}
21522extern "C" {
21523    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_sign"]
21524    pub fn X509_REQ_sign(
21525        req: *mut X509_REQ,
21526        pkey: *mut EVP_PKEY,
21527        md: *const EVP_MD,
21528    ) -> ::std::os::raw::c_int;
21529}
21530extern "C" {
21531    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_sign_ctx"]
21532    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
21533}
21534extern "C" {
21535    #[link_name = "\u{1}aws_lc_0_30_0_i2d_re_X509_REQ_tbs"]
21536    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21537}
21538extern "C" {
21539    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_set1_signature_algo"]
21540    pub fn X509_REQ_set1_signature_algo(
21541        req: *mut X509_REQ,
21542        algo: *const X509_ALGOR,
21543    ) -> ::std::os::raw::c_int;
21544}
21545extern "C" {
21546    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_set1_signature_value"]
21547    pub fn X509_REQ_set1_signature_value(
21548        req: *mut X509_REQ,
21549        sig: *const u8,
21550        sig_len: usize,
21551    ) -> ::std::os::raw::c_int;
21552}
21553#[repr(C)]
21554#[derive(Debug, Copy, Clone)]
21555pub struct stack_st_X509_NAME_ENTRY {
21556    _unused: [u8; 0],
21557}
21558pub type sk_X509_NAME_ENTRY_free_func =
21559    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
21560pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
21561    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
21562>;
21563pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
21564    unsafe extern "C" fn(
21565        arg1: *const *const X509_NAME_ENTRY,
21566        arg2: *const *const X509_NAME_ENTRY,
21567    ) -> ::std::os::raw::c_int,
21568>;
21569pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
21570    unsafe extern "C" fn(
21571        arg1: *mut X509_NAME_ENTRY,
21572        arg2: *mut ::std::os::raw::c_void,
21573    ) -> ::std::os::raw::c_int,
21574>;
21575#[repr(C)]
21576#[derive(Debug, Copy, Clone)]
21577pub struct stack_st_X509_NAME {
21578    _unused: [u8; 0],
21579}
21580pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
21581pub type sk_X509_NAME_copy_func =
21582    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
21583pub type sk_X509_NAME_cmp_func = ::std::option::Option<
21584    unsafe extern "C" fn(
21585        arg1: *const *const X509_NAME,
21586        arg2: *const *const X509_NAME,
21587    ) -> ::std::os::raw::c_int,
21588>;
21589pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
21590    unsafe extern "C" fn(
21591        arg1: *mut X509_NAME,
21592        arg2: *mut ::std::os::raw::c_void,
21593    ) -> ::std::os::raw::c_int,
21594>;
21595extern "C" {
21596    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_it"]
21597    pub static X509_NAME_it: ASN1_ITEM;
21598}
21599extern "C" {
21600    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_new"]
21601    pub fn X509_NAME_new() -> *mut X509_NAME;
21602}
21603extern "C" {
21604    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_free"]
21605    pub fn X509_NAME_free(name: *mut X509_NAME);
21606}
21607extern "C" {
21608    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_NAME"]
21609    pub fn d2i_X509_NAME(
21610        out: *mut *mut X509_NAME,
21611        inp: *mut *const u8,
21612        len: ::std::os::raw::c_long,
21613    ) -> *mut X509_NAME;
21614}
21615extern "C" {
21616    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_NAME"]
21617    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21618}
21619extern "C" {
21620    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_dup"]
21621    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
21622}
21623extern "C" {
21624    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_cmp"]
21625    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
21626}
21627extern "C" {
21628    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get0_der"]
21629    pub fn X509_NAME_get0_der(
21630        name: *mut X509_NAME,
21631        out_der: *mut *const u8,
21632        out_der_len: *mut usize,
21633    ) -> ::std::os::raw::c_int;
21634}
21635extern "C" {
21636    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_set"]
21637    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
21638}
21639extern "C" {
21640    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_entry_count"]
21641    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
21642}
21643extern "C" {
21644    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get_index_by_NID"]
21645    pub fn X509_NAME_get_index_by_NID(
21646        name: *const X509_NAME,
21647        nid: ::std::os::raw::c_int,
21648        lastpos: ::std::os::raw::c_int,
21649    ) -> ::std::os::raw::c_int;
21650}
21651extern "C" {
21652    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get_index_by_OBJ"]
21653    pub fn X509_NAME_get_index_by_OBJ(
21654        name: *const X509_NAME,
21655        obj: *const ASN1_OBJECT,
21656        lastpos: ::std::os::raw::c_int,
21657    ) -> ::std::os::raw::c_int;
21658}
21659extern "C" {
21660    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get_entry"]
21661    pub fn X509_NAME_get_entry(
21662        name: *const X509_NAME,
21663        loc: ::std::os::raw::c_int,
21664    ) -> *mut X509_NAME_ENTRY;
21665}
21666extern "C" {
21667    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_delete_entry"]
21668    pub fn X509_NAME_delete_entry(
21669        name: *mut X509_NAME,
21670        loc: ::std::os::raw::c_int,
21671    ) -> *mut X509_NAME_ENTRY;
21672}
21673extern "C" {
21674    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_add_entry"]
21675    pub fn X509_NAME_add_entry(
21676        name: *mut X509_NAME,
21677        entry: *const X509_NAME_ENTRY,
21678        loc: ::std::os::raw::c_int,
21679        set: ::std::os::raw::c_int,
21680    ) -> ::std::os::raw::c_int;
21681}
21682extern "C" {
21683    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_add_entry_by_OBJ"]
21684    pub fn X509_NAME_add_entry_by_OBJ(
21685        name: *mut X509_NAME,
21686        obj: *const ASN1_OBJECT,
21687        type_: ::std::os::raw::c_int,
21688        bytes: *const u8,
21689        len: ossl_ssize_t,
21690        loc: ::std::os::raw::c_int,
21691        set: ::std::os::raw::c_int,
21692    ) -> ::std::os::raw::c_int;
21693}
21694extern "C" {
21695    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_add_entry_by_NID"]
21696    pub fn X509_NAME_add_entry_by_NID(
21697        name: *mut X509_NAME,
21698        nid: ::std::os::raw::c_int,
21699        type_: ::std::os::raw::c_int,
21700        bytes: *const u8,
21701        len: ossl_ssize_t,
21702        loc: ::std::os::raw::c_int,
21703        set: ::std::os::raw::c_int,
21704    ) -> ::std::os::raw::c_int;
21705}
21706extern "C" {
21707    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_add_entry_by_txt"]
21708    pub fn X509_NAME_add_entry_by_txt(
21709        name: *mut X509_NAME,
21710        field: *const ::std::os::raw::c_char,
21711        type_: ::std::os::raw::c_int,
21712        bytes: *const u8,
21713        len: ossl_ssize_t,
21714        loc: ::std::os::raw::c_int,
21715        set: ::std::os::raw::c_int,
21716    ) -> ::std::os::raw::c_int;
21717}
21718extern "C" {
21719    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_it"]
21720    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
21721}
21722extern "C" {
21723    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_new"]
21724    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
21725}
21726extern "C" {
21727    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_free"]
21728    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
21729}
21730extern "C" {
21731    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_NAME_ENTRY"]
21732    pub fn d2i_X509_NAME_ENTRY(
21733        out: *mut *mut X509_NAME_ENTRY,
21734        inp: *mut *const u8,
21735        len: ::std::os::raw::c_long,
21736    ) -> *mut X509_NAME_ENTRY;
21737}
21738extern "C" {
21739    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_NAME_ENTRY"]
21740    pub fn i2d_X509_NAME_ENTRY(
21741        in_: *const X509_NAME_ENTRY,
21742        outp: *mut *mut u8,
21743    ) -> ::std::os::raw::c_int;
21744}
21745extern "C" {
21746    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_dup"]
21747    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
21748}
21749extern "C" {
21750    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_get_object"]
21751    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
21752}
21753extern "C" {
21754    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_set_object"]
21755    pub fn X509_NAME_ENTRY_set_object(
21756        entry: *mut X509_NAME_ENTRY,
21757        obj: *const ASN1_OBJECT,
21758    ) -> ::std::os::raw::c_int;
21759}
21760extern "C" {
21761    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_get_data"]
21762    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
21763}
21764extern "C" {
21765    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_set_data"]
21766    pub fn X509_NAME_ENTRY_set_data(
21767        entry: *mut X509_NAME_ENTRY,
21768        type_: ::std::os::raw::c_int,
21769        bytes: *const u8,
21770        len: ossl_ssize_t,
21771    ) -> ::std::os::raw::c_int;
21772}
21773extern "C" {
21774    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_set"]
21775    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
21776}
21777extern "C" {
21778    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_create_by_OBJ"]
21779    pub fn X509_NAME_ENTRY_create_by_OBJ(
21780        out: *mut *mut X509_NAME_ENTRY,
21781        obj: *const ASN1_OBJECT,
21782        type_: ::std::os::raw::c_int,
21783        bytes: *const u8,
21784        len: ossl_ssize_t,
21785    ) -> *mut X509_NAME_ENTRY;
21786}
21787extern "C" {
21788    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_create_by_NID"]
21789    pub fn X509_NAME_ENTRY_create_by_NID(
21790        out: *mut *mut X509_NAME_ENTRY,
21791        nid: ::std::os::raw::c_int,
21792        type_: ::std::os::raw::c_int,
21793        bytes: *const u8,
21794        len: ossl_ssize_t,
21795    ) -> *mut X509_NAME_ENTRY;
21796}
21797extern "C" {
21798    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_ENTRY_create_by_txt"]
21799    pub fn X509_NAME_ENTRY_create_by_txt(
21800        out: *mut *mut X509_NAME_ENTRY,
21801        field: *const ::std::os::raw::c_char,
21802        type_: ::std::os::raw::c_int,
21803        bytes: *const u8,
21804        len: ossl_ssize_t,
21805    ) -> *mut X509_NAME_ENTRY;
21806}
21807extern "C" {
21808    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_it"]
21809    pub static X509_PUBKEY_it: ASN1_ITEM;
21810}
21811extern "C" {
21812    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_new"]
21813    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
21814}
21815extern "C" {
21816    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_free"]
21817    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
21818}
21819extern "C" {
21820    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_PUBKEY"]
21821    pub fn d2i_X509_PUBKEY(
21822        out: *mut *mut X509_PUBKEY,
21823        inp: *mut *const u8,
21824        len: ::std::os::raw::c_long,
21825    ) -> *mut X509_PUBKEY;
21826}
21827extern "C" {
21828    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_PUBKEY"]
21829    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21830}
21831extern "C" {
21832    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_set"]
21833    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21834}
21835extern "C" {
21836    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_get0"]
21837    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21838}
21839extern "C" {
21840    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_get"]
21841    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21842}
21843extern "C" {
21844    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_set0_param"]
21845    pub fn X509_PUBKEY_set0_param(
21846        pub_: *mut X509_PUBKEY,
21847        obj: *mut ASN1_OBJECT,
21848        param_type: ::std::os::raw::c_int,
21849        param_value: *mut ::std::os::raw::c_void,
21850        key: *mut u8,
21851        key_len: ::std::os::raw::c_int,
21852    ) -> ::std::os::raw::c_int;
21853}
21854extern "C" {
21855    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_get0_param"]
21856    pub fn X509_PUBKEY_get0_param(
21857        out_obj: *mut *mut ASN1_OBJECT,
21858        out_key: *mut *const u8,
21859        out_key_len: *mut ::std::os::raw::c_int,
21860        out_alg: *mut *mut X509_ALGOR,
21861        pub_: *mut X509_PUBKEY,
21862    ) -> ::std::os::raw::c_int;
21863}
21864extern "C" {
21865    #[link_name = "\u{1}aws_lc_0_30_0_X509_PUBKEY_get0_public_key"]
21866    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
21867}
21868extern "C" {
21869    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_it"]
21870    pub static X509_EXTENSION_it: ASN1_ITEM;
21871}
21872extern "C" {
21873    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_new"]
21874    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
21875}
21876extern "C" {
21877    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_free"]
21878    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
21879}
21880extern "C" {
21881    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_EXTENSION"]
21882    pub fn d2i_X509_EXTENSION(
21883        out: *mut *mut X509_EXTENSION,
21884        inp: *mut *const u8,
21885        len: ::std::os::raw::c_long,
21886    ) -> *mut X509_EXTENSION;
21887}
21888extern "C" {
21889    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_EXTENSION"]
21890    pub fn i2d_X509_EXTENSION(
21891        ex: *const X509_EXTENSION,
21892        outp: *mut *mut u8,
21893    ) -> ::std::os::raw::c_int;
21894}
21895extern "C" {
21896    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_dup"]
21897    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
21898}
21899extern "C" {
21900    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_create_by_NID"]
21901    pub fn X509_EXTENSION_create_by_NID(
21902        ex: *mut *mut X509_EXTENSION,
21903        nid: ::std::os::raw::c_int,
21904        crit: ::std::os::raw::c_int,
21905        data: *const ASN1_OCTET_STRING,
21906    ) -> *mut X509_EXTENSION;
21907}
21908extern "C" {
21909    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_create_by_OBJ"]
21910    pub fn X509_EXTENSION_create_by_OBJ(
21911        ex: *mut *mut X509_EXTENSION,
21912        obj: *const ASN1_OBJECT,
21913        crit: ::std::os::raw::c_int,
21914        data: *const ASN1_OCTET_STRING,
21915    ) -> *mut X509_EXTENSION;
21916}
21917extern "C" {
21918    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_get_object"]
21919    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
21920}
21921extern "C" {
21922    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_get_data"]
21923    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
21924}
21925extern "C" {
21926    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_get_critical"]
21927    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21928}
21929extern "C" {
21930    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_set_object"]
21931    pub fn X509_EXTENSION_set_object(
21932        ex: *mut X509_EXTENSION,
21933        obj: *const ASN1_OBJECT,
21934    ) -> ::std::os::raw::c_int;
21935}
21936extern "C" {
21937    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_set_critical"]
21938    pub fn X509_EXTENSION_set_critical(
21939        ex: *mut X509_EXTENSION,
21940        crit: ::std::os::raw::c_int,
21941    ) -> ::std::os::raw::c_int;
21942}
21943extern "C" {
21944    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSION_set_data"]
21945    pub fn X509_EXTENSION_set_data(
21946        ex: *mut X509_EXTENSION,
21947        data: *const ASN1_OCTET_STRING,
21948    ) -> ::std::os::raw::c_int;
21949}
21950pub type sk_X509_EXTENSION_free_func =
21951    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
21952pub type sk_X509_EXTENSION_copy_func =
21953    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
21954pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
21955    unsafe extern "C" fn(
21956        arg1: *const *const X509_EXTENSION,
21957        arg2: *const *const X509_EXTENSION,
21958    ) -> ::std::os::raw::c_int,
21959>;
21960pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
21961    unsafe extern "C" fn(
21962        arg1: *mut X509_EXTENSION,
21963        arg2: *mut ::std::os::raw::c_void,
21964    ) -> ::std::os::raw::c_int,
21965>;
21966pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
21967extern "C" {
21968    #[link_name = "\u{1}aws_lc_0_30_0_X509_EXTENSIONS_it"]
21969    pub static X509_EXTENSIONS_it: ASN1_ITEM;
21970}
21971extern "C" {
21972    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_EXTENSIONS"]
21973    pub fn d2i_X509_EXTENSIONS(
21974        out: *mut *mut X509_EXTENSIONS,
21975        inp: *mut *const u8,
21976        len: ::std::os::raw::c_long,
21977    ) -> *mut X509_EXTENSIONS;
21978}
21979extern "C" {
21980    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_EXTENSIONS"]
21981    pub fn i2d_X509_EXTENSIONS(
21982        alg: *const X509_EXTENSIONS,
21983        outp: *mut *mut u8,
21984    ) -> ::std::os::raw::c_int;
21985}
21986extern "C" {
21987    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_get_ext_count"]
21988    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
21989}
21990extern "C" {
21991    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_get_ext_by_NID"]
21992    pub fn X509v3_get_ext_by_NID(
21993        x: *const stack_st_X509_EXTENSION,
21994        nid: ::std::os::raw::c_int,
21995        lastpos: ::std::os::raw::c_int,
21996    ) -> ::std::os::raw::c_int;
21997}
21998extern "C" {
21999    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_get_ext_by_OBJ"]
22000    pub fn X509v3_get_ext_by_OBJ(
22001        x: *const stack_st_X509_EXTENSION,
22002        obj: *const ASN1_OBJECT,
22003        lastpos: ::std::os::raw::c_int,
22004    ) -> ::std::os::raw::c_int;
22005}
22006extern "C" {
22007    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_get_ext_by_critical"]
22008    pub fn X509v3_get_ext_by_critical(
22009        x: *const stack_st_X509_EXTENSION,
22010        crit: ::std::os::raw::c_int,
22011        lastpos: ::std::os::raw::c_int,
22012    ) -> ::std::os::raw::c_int;
22013}
22014extern "C" {
22015    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_get_ext"]
22016    pub fn X509v3_get_ext(
22017        x: *const stack_st_X509_EXTENSION,
22018        loc: ::std::os::raw::c_int,
22019    ) -> *mut X509_EXTENSION;
22020}
22021extern "C" {
22022    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_delete_ext"]
22023    pub fn X509v3_delete_ext(
22024        x: *mut stack_st_X509_EXTENSION,
22025        loc: ::std::os::raw::c_int,
22026    ) -> *mut X509_EXTENSION;
22027}
22028extern "C" {
22029    #[link_name = "\u{1}aws_lc_0_30_0_X509v3_add_ext"]
22030    pub fn X509v3_add_ext(
22031        x: *mut *mut stack_st_X509_EXTENSION,
22032        ex: *const X509_EXTENSION,
22033        loc: ::std::os::raw::c_int,
22034    ) -> *mut stack_st_X509_EXTENSION;
22035}
22036extern "C" {
22037    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_d2i"]
22038    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
22039}
22040extern "C" {
22041    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_get_d2i"]
22042    pub fn X509V3_get_d2i(
22043        extensions: *const stack_st_X509_EXTENSION,
22044        nid: ::std::os::raw::c_int,
22045        out_critical: *mut ::std::os::raw::c_int,
22046        out_idx: *mut ::std::os::raw::c_int,
22047    ) -> *mut ::std::os::raw::c_void;
22048}
22049extern "C" {
22050    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_free"]
22051    pub fn X509V3_EXT_free(
22052        nid: ::std::os::raw::c_int,
22053        ext_data: *mut ::std::os::raw::c_void,
22054    ) -> ::std::os::raw::c_int;
22055}
22056extern "C" {
22057    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_i2d"]
22058    pub fn X509V3_EXT_i2d(
22059        ext_nid: ::std::os::raw::c_int,
22060        crit: ::std::os::raw::c_int,
22061        ext_struc: *mut ::std::os::raw::c_void,
22062    ) -> *mut X509_EXTENSION;
22063}
22064extern "C" {
22065    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_add1_i2d"]
22066    pub fn X509V3_add1_i2d(
22067        x: *mut *mut stack_st_X509_EXTENSION,
22068        nid: ::std::os::raw::c_int,
22069        value: *mut ::std::os::raw::c_void,
22070        crit: ::std::os::raw::c_int,
22071        flags: ::std::os::raw::c_ulong,
22072    ) -> ::std::os::raw::c_int;
22073}
22074#[repr(C)]
22075#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22076pub struct otherName_st {
22077    pub type_id: *mut ASN1_OBJECT,
22078    pub value: *mut ASN1_TYPE,
22079}
22080#[test]
22081fn bindgen_test_layout_otherName_st() {
22082    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
22083    let ptr = UNINIT.as_ptr();
22084    assert_eq!(
22085        ::std::mem::size_of::<otherName_st>(),
22086        16usize,
22087        concat!("Size of: ", stringify!(otherName_st))
22088    );
22089    assert_eq!(
22090        ::std::mem::align_of::<otherName_st>(),
22091        8usize,
22092        concat!("Alignment of ", stringify!(otherName_st))
22093    );
22094    assert_eq!(
22095        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
22096        0usize,
22097        concat!(
22098            "Offset of field: ",
22099            stringify!(otherName_st),
22100            "::",
22101            stringify!(type_id)
22102        )
22103    );
22104    assert_eq!(
22105        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
22106        8usize,
22107        concat!(
22108            "Offset of field: ",
22109            stringify!(otherName_st),
22110            "::",
22111            stringify!(value)
22112        )
22113    );
22114}
22115impl Default for otherName_st {
22116    fn default() -> Self {
22117        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22118        unsafe {
22119            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22120            s.assume_init()
22121        }
22122    }
22123}
22124pub type OTHERNAME = otherName_st;
22125#[repr(C)]
22126#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22127pub struct EDIPartyName_st {
22128    pub nameAssigner: *mut ASN1_STRING,
22129    pub partyName: *mut ASN1_STRING,
22130}
22131#[test]
22132fn bindgen_test_layout_EDIPartyName_st() {
22133    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
22134    let ptr = UNINIT.as_ptr();
22135    assert_eq!(
22136        ::std::mem::size_of::<EDIPartyName_st>(),
22137        16usize,
22138        concat!("Size of: ", stringify!(EDIPartyName_st))
22139    );
22140    assert_eq!(
22141        ::std::mem::align_of::<EDIPartyName_st>(),
22142        8usize,
22143        concat!("Alignment of ", stringify!(EDIPartyName_st))
22144    );
22145    assert_eq!(
22146        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
22147        0usize,
22148        concat!(
22149            "Offset of field: ",
22150            stringify!(EDIPartyName_st),
22151            "::",
22152            stringify!(nameAssigner)
22153        )
22154    );
22155    assert_eq!(
22156        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
22157        8usize,
22158        concat!(
22159            "Offset of field: ",
22160            stringify!(EDIPartyName_st),
22161            "::",
22162            stringify!(partyName)
22163        )
22164    );
22165}
22166impl Default for EDIPartyName_st {
22167    fn default() -> Self {
22168        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22169        unsafe {
22170            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22171            s.assume_init()
22172        }
22173    }
22174}
22175pub type EDIPARTYNAME = EDIPartyName_st;
22176#[repr(C)]
22177#[derive(Copy, Clone)]
22178pub struct GENERAL_NAME_st {
22179    pub type_: ::std::os::raw::c_int,
22180    pub d: GENERAL_NAME_st__bindgen_ty_1,
22181}
22182#[repr(C)]
22183#[derive(Copy, Clone)]
22184pub union GENERAL_NAME_st__bindgen_ty_1 {
22185    pub ptr: *mut ::std::os::raw::c_char,
22186    pub otherName: *mut OTHERNAME,
22187    pub rfc822Name: *mut ASN1_IA5STRING,
22188    pub dNSName: *mut ASN1_IA5STRING,
22189    pub x400Address: *mut ASN1_STRING,
22190    pub directoryName: *mut X509_NAME,
22191    pub ediPartyName: *mut EDIPARTYNAME,
22192    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
22193    pub iPAddress: *mut ASN1_OCTET_STRING,
22194    pub registeredID: *mut ASN1_OBJECT,
22195    pub ip: *mut ASN1_OCTET_STRING,
22196    pub dirn: *mut X509_NAME,
22197    pub ia5: *mut ASN1_IA5STRING,
22198    pub rid: *mut ASN1_OBJECT,
22199}
22200#[test]
22201fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
22202    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
22203        ::std::mem::MaybeUninit::uninit();
22204    let ptr = UNINIT.as_ptr();
22205    assert_eq!(
22206        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22207        8usize,
22208        concat!("Size of: ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22209    );
22210    assert_eq!(
22211        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22212        8usize,
22213        concat!("Alignment of ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22214    );
22215    assert_eq!(
22216        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
22217        0usize,
22218        concat!(
22219            "Offset of field: ",
22220            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22221            "::",
22222            stringify!(ptr)
22223        )
22224    );
22225    assert_eq!(
22226        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
22227        0usize,
22228        concat!(
22229            "Offset of field: ",
22230            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22231            "::",
22232            stringify!(otherName)
22233        )
22234    );
22235    assert_eq!(
22236        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
22237        0usize,
22238        concat!(
22239            "Offset of field: ",
22240            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22241            "::",
22242            stringify!(rfc822Name)
22243        )
22244    );
22245    assert_eq!(
22246        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
22247        0usize,
22248        concat!(
22249            "Offset of field: ",
22250            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22251            "::",
22252            stringify!(dNSName)
22253        )
22254    );
22255    assert_eq!(
22256        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
22257        0usize,
22258        concat!(
22259            "Offset of field: ",
22260            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22261            "::",
22262            stringify!(x400Address)
22263        )
22264    );
22265    assert_eq!(
22266        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
22267        0usize,
22268        concat!(
22269            "Offset of field: ",
22270            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22271            "::",
22272            stringify!(directoryName)
22273        )
22274    );
22275    assert_eq!(
22276        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
22277        0usize,
22278        concat!(
22279            "Offset of field: ",
22280            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22281            "::",
22282            stringify!(ediPartyName)
22283        )
22284    );
22285    assert_eq!(
22286        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
22287        0usize,
22288        concat!(
22289            "Offset of field: ",
22290            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22291            "::",
22292            stringify!(uniformResourceIdentifier)
22293        )
22294    );
22295    assert_eq!(
22296        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
22297        0usize,
22298        concat!(
22299            "Offset of field: ",
22300            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22301            "::",
22302            stringify!(iPAddress)
22303        )
22304    );
22305    assert_eq!(
22306        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
22307        0usize,
22308        concat!(
22309            "Offset of field: ",
22310            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22311            "::",
22312            stringify!(registeredID)
22313        )
22314    );
22315    assert_eq!(
22316        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
22317        0usize,
22318        concat!(
22319            "Offset of field: ",
22320            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22321            "::",
22322            stringify!(ip)
22323        )
22324    );
22325    assert_eq!(
22326        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
22327        0usize,
22328        concat!(
22329            "Offset of field: ",
22330            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22331            "::",
22332            stringify!(dirn)
22333        )
22334    );
22335    assert_eq!(
22336        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
22337        0usize,
22338        concat!(
22339            "Offset of field: ",
22340            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22341            "::",
22342            stringify!(ia5)
22343        )
22344    );
22345    assert_eq!(
22346        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
22347        0usize,
22348        concat!(
22349            "Offset of field: ",
22350            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22351            "::",
22352            stringify!(rid)
22353        )
22354    );
22355}
22356impl Default for GENERAL_NAME_st__bindgen_ty_1 {
22357    fn default() -> Self {
22358        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22359        unsafe {
22360            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22361            s.assume_init()
22362        }
22363    }
22364}
22365#[test]
22366fn bindgen_test_layout_GENERAL_NAME_st() {
22367    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
22368    let ptr = UNINIT.as_ptr();
22369    assert_eq!(
22370        ::std::mem::size_of::<GENERAL_NAME_st>(),
22371        16usize,
22372        concat!("Size of: ", stringify!(GENERAL_NAME_st))
22373    );
22374    assert_eq!(
22375        ::std::mem::align_of::<GENERAL_NAME_st>(),
22376        8usize,
22377        concat!("Alignment of ", stringify!(GENERAL_NAME_st))
22378    );
22379    assert_eq!(
22380        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
22381        0usize,
22382        concat!(
22383            "Offset of field: ",
22384            stringify!(GENERAL_NAME_st),
22385            "::",
22386            stringify!(type_)
22387        )
22388    );
22389    assert_eq!(
22390        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
22391        8usize,
22392        concat!(
22393            "Offset of field: ",
22394            stringify!(GENERAL_NAME_st),
22395            "::",
22396            stringify!(d)
22397        )
22398    );
22399}
22400impl Default for GENERAL_NAME_st {
22401    fn default() -> Self {
22402        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22403        unsafe {
22404            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22405            s.assume_init()
22406        }
22407    }
22408}
22409extern "C" {
22410    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_new"]
22411    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
22412}
22413extern "C" {
22414    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_free"]
22415    pub fn GENERAL_NAME_free(gen: *mut GENERAL_NAME);
22416}
22417extern "C" {
22418    #[link_name = "\u{1}aws_lc_0_30_0_d2i_GENERAL_NAME"]
22419    pub fn d2i_GENERAL_NAME(
22420        out: *mut *mut GENERAL_NAME,
22421        inp: *mut *const u8,
22422        len: ::std::os::raw::c_long,
22423    ) -> *mut GENERAL_NAME;
22424}
22425extern "C" {
22426    #[link_name = "\u{1}aws_lc_0_30_0_i2d_GENERAL_NAME"]
22427    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22428}
22429extern "C" {
22430    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_dup"]
22431    pub fn GENERAL_NAME_dup(gen: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
22432}
22433extern "C" {
22434    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAMES_new"]
22435    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
22436}
22437extern "C" {
22438    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAMES_free"]
22439    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
22440}
22441extern "C" {
22442    #[link_name = "\u{1}aws_lc_0_30_0_d2i_GENERAL_NAMES"]
22443    pub fn d2i_GENERAL_NAMES(
22444        out: *mut *mut GENERAL_NAMES,
22445        inp: *mut *const u8,
22446        len: ::std::os::raw::c_long,
22447    ) -> *mut GENERAL_NAMES;
22448}
22449extern "C" {
22450    #[link_name = "\u{1}aws_lc_0_30_0_i2d_GENERAL_NAMES"]
22451    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22452}
22453extern "C" {
22454    #[link_name = "\u{1}aws_lc_0_30_0_OTHERNAME_new"]
22455    pub fn OTHERNAME_new() -> *mut OTHERNAME;
22456}
22457extern "C" {
22458    #[link_name = "\u{1}aws_lc_0_30_0_OTHERNAME_free"]
22459    pub fn OTHERNAME_free(name: *mut OTHERNAME);
22460}
22461extern "C" {
22462    #[link_name = "\u{1}aws_lc_0_30_0_EDIPARTYNAME_new"]
22463    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
22464}
22465extern "C" {
22466    #[link_name = "\u{1}aws_lc_0_30_0_EDIPARTYNAME_free"]
22467    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
22468}
22469extern "C" {
22470    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_set0_value"]
22471    pub fn GENERAL_NAME_set0_value(
22472        gen: *mut GENERAL_NAME,
22473        type_: ::std::os::raw::c_int,
22474        value: *mut ::std::os::raw::c_void,
22475    );
22476}
22477extern "C" {
22478    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_get0_value"]
22479    pub fn GENERAL_NAME_get0_value(
22480        gen: *const GENERAL_NAME,
22481        out_type: *mut ::std::os::raw::c_int,
22482    ) -> *mut ::std::os::raw::c_void;
22483}
22484extern "C" {
22485    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_set0_othername"]
22486    pub fn GENERAL_NAME_set0_othername(
22487        gen: *mut GENERAL_NAME,
22488        oid: *mut ASN1_OBJECT,
22489        value: *mut ASN1_TYPE,
22490    ) -> ::std::os::raw::c_int;
22491}
22492extern "C" {
22493    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_get0_otherName"]
22494    pub fn GENERAL_NAME_get0_otherName(
22495        gen: *const GENERAL_NAME,
22496        out_oid: *mut *mut ASN1_OBJECT,
22497        out_value: *mut *mut ASN1_TYPE,
22498    ) -> ::std::os::raw::c_int;
22499}
22500#[repr(C)]
22501#[derive(Debug, Copy, Clone)]
22502pub struct stack_st_X509_ALGOR {
22503    _unused: [u8; 0],
22504}
22505pub type sk_X509_ALGOR_free_func =
22506    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
22507pub type sk_X509_ALGOR_copy_func =
22508    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
22509pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
22510    unsafe extern "C" fn(
22511        arg1: *const *const X509_ALGOR,
22512        arg2: *const *const X509_ALGOR,
22513    ) -> ::std::os::raw::c_int,
22514>;
22515pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
22516    unsafe extern "C" fn(
22517        arg1: *mut X509_ALGOR,
22518        arg2: *mut ::std::os::raw::c_void,
22519    ) -> ::std::os::raw::c_int,
22520>;
22521extern "C" {
22522    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_it"]
22523    pub static X509_ALGOR_it: ASN1_ITEM;
22524}
22525extern "C" {
22526    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_new"]
22527    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
22528}
22529extern "C" {
22530    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_dup"]
22531    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
22532}
22533extern "C" {
22534    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_free"]
22535    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
22536}
22537extern "C" {
22538    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_ALGOR"]
22539    pub fn d2i_X509_ALGOR(
22540        out: *mut *mut X509_ALGOR,
22541        inp: *mut *const u8,
22542        len: ::std::os::raw::c_long,
22543    ) -> *mut X509_ALGOR;
22544}
22545extern "C" {
22546    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_ALGOR"]
22547    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22548}
22549extern "C" {
22550    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_set0"]
22551    pub fn X509_ALGOR_set0(
22552        alg: *mut X509_ALGOR,
22553        obj: *mut ASN1_OBJECT,
22554        param_type: ::std::os::raw::c_int,
22555        param_value: *mut ::std::os::raw::c_void,
22556    ) -> ::std::os::raw::c_int;
22557}
22558extern "C" {
22559    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_get0"]
22560    pub fn X509_ALGOR_get0(
22561        out_obj: *mut *const ASN1_OBJECT,
22562        out_param_type: *mut ::std::os::raw::c_int,
22563        out_param_value: *mut *const ::std::os::raw::c_void,
22564        alg: *const X509_ALGOR,
22565    );
22566}
22567extern "C" {
22568    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_set_md"]
22569    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
22570}
22571extern "C" {
22572    #[link_name = "\u{1}aws_lc_0_30_0_X509_ALGOR_cmp"]
22573    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
22574}
22575#[repr(C)]
22576#[derive(Debug, Copy, Clone)]
22577pub struct stack_st_X509_ATTRIBUTE {
22578    _unused: [u8; 0],
22579}
22580pub type sk_X509_ATTRIBUTE_free_func =
22581    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
22582pub type sk_X509_ATTRIBUTE_copy_func =
22583    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
22584pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
22585    unsafe extern "C" fn(
22586        arg1: *const *const X509_ATTRIBUTE,
22587        arg2: *const *const X509_ATTRIBUTE,
22588    ) -> ::std::os::raw::c_int,
22589>;
22590pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
22591    unsafe extern "C" fn(
22592        arg1: *mut X509_ATTRIBUTE,
22593        arg2: *mut ::std::os::raw::c_void,
22594    ) -> ::std::os::raw::c_int,
22595>;
22596extern "C" {
22597    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_it"]
22598    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
22599}
22600extern "C" {
22601    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_new"]
22602    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
22603}
22604extern "C" {
22605    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_dup"]
22606    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
22607}
22608extern "C" {
22609    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_free"]
22610    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
22611}
22612extern "C" {
22613    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_ATTRIBUTE"]
22614    pub fn d2i_X509_ATTRIBUTE(
22615        out: *mut *mut X509_ATTRIBUTE,
22616        inp: *mut *const u8,
22617        len: ::std::os::raw::c_long,
22618    ) -> *mut X509_ATTRIBUTE;
22619}
22620extern "C" {
22621    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_ATTRIBUTE"]
22622    pub fn i2d_X509_ATTRIBUTE(
22623        alg: *const X509_ATTRIBUTE,
22624        outp: *mut *mut u8,
22625    ) -> ::std::os::raw::c_int;
22626}
22627extern "C" {
22628    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_create"]
22629    pub fn X509_ATTRIBUTE_create(
22630        nid: ::std::os::raw::c_int,
22631        attrtype: ::std::os::raw::c_int,
22632        value: *mut ::std::os::raw::c_void,
22633    ) -> *mut X509_ATTRIBUTE;
22634}
22635extern "C" {
22636    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_create_by_NID"]
22637    pub fn X509_ATTRIBUTE_create_by_NID(
22638        attr: *mut *mut X509_ATTRIBUTE,
22639        nid: ::std::os::raw::c_int,
22640        attrtype: ::std::os::raw::c_int,
22641        data: *const ::std::os::raw::c_void,
22642        len: ::std::os::raw::c_int,
22643    ) -> *mut X509_ATTRIBUTE;
22644}
22645extern "C" {
22646    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_create_by_OBJ"]
22647    pub fn X509_ATTRIBUTE_create_by_OBJ(
22648        attr: *mut *mut X509_ATTRIBUTE,
22649        obj: *const ASN1_OBJECT,
22650        attrtype: ::std::os::raw::c_int,
22651        data: *const ::std::os::raw::c_void,
22652        len: ::std::os::raw::c_int,
22653    ) -> *mut X509_ATTRIBUTE;
22654}
22655extern "C" {
22656    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_create_by_txt"]
22657    pub fn X509_ATTRIBUTE_create_by_txt(
22658        attr: *mut *mut X509_ATTRIBUTE,
22659        attrname: *const ::std::os::raw::c_char,
22660        type_: ::std::os::raw::c_int,
22661        bytes: *const ::std::os::raw::c_uchar,
22662        len: ::std::os::raw::c_int,
22663    ) -> *mut X509_ATTRIBUTE;
22664}
22665extern "C" {
22666    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_set1_object"]
22667    pub fn X509_ATTRIBUTE_set1_object(
22668        attr: *mut X509_ATTRIBUTE,
22669        obj: *const ASN1_OBJECT,
22670    ) -> ::std::os::raw::c_int;
22671}
22672extern "C" {
22673    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_set1_data"]
22674    pub fn X509_ATTRIBUTE_set1_data(
22675        attr: *mut X509_ATTRIBUTE,
22676        attrtype: ::std::os::raw::c_int,
22677        data: *const ::std::os::raw::c_void,
22678        len: ::std::os::raw::c_int,
22679    ) -> ::std::os::raw::c_int;
22680}
22681extern "C" {
22682    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_get0_data"]
22683    pub fn X509_ATTRIBUTE_get0_data(
22684        attr: *mut X509_ATTRIBUTE,
22685        idx: ::std::os::raw::c_int,
22686        attrtype: ::std::os::raw::c_int,
22687        unused: *mut ::std::os::raw::c_void,
22688    ) -> *mut ::std::os::raw::c_void;
22689}
22690extern "C" {
22691    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_count"]
22692    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
22693}
22694extern "C" {
22695    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_get0_object"]
22696    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
22697}
22698extern "C" {
22699    #[link_name = "\u{1}aws_lc_0_30_0_X509_ATTRIBUTE_get0_type"]
22700    pub fn X509_ATTRIBUTE_get0_type(
22701        attr: *mut X509_ATTRIBUTE,
22702        idx: ::std::os::raw::c_int,
22703    ) -> *mut ASN1_TYPE;
22704}
22705extern "C" {
22706    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_new"]
22707    pub fn X509_STORE_new() -> *mut X509_STORE;
22708}
22709extern "C" {
22710    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_up_ref"]
22711    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22712}
22713extern "C" {
22714    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_free"]
22715    pub fn X509_STORE_free(store: *mut X509_STORE);
22716}
22717extern "C" {
22718    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_add_cert"]
22719    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
22720}
22721extern "C" {
22722    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_add_crl"]
22723    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22724}
22725extern "C" {
22726    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_get0_param"]
22727    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
22728}
22729extern "C" {
22730    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set1_param"]
22731    pub fn X509_STORE_set1_param(
22732        store: *mut X509_STORE,
22733        param: *const X509_VERIFY_PARAM,
22734    ) -> ::std::os::raw::c_int;
22735}
22736extern "C" {
22737    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_flags"]
22738    pub fn X509_STORE_set_flags(
22739        store: *mut X509_STORE,
22740        flags: ::std::os::raw::c_ulong,
22741    ) -> ::std::os::raw::c_int;
22742}
22743extern "C" {
22744    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_depth"]
22745    pub fn X509_STORE_set_depth(
22746        store: *mut X509_STORE,
22747        depth: ::std::os::raw::c_int,
22748    ) -> ::std::os::raw::c_int;
22749}
22750extern "C" {
22751    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_purpose"]
22752    pub fn X509_STORE_set_purpose(
22753        store: *mut X509_STORE,
22754        purpose: ::std::os::raw::c_int,
22755    ) -> ::std::os::raw::c_int;
22756}
22757extern "C" {
22758    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_trust"]
22759    pub fn X509_STORE_set_trust(
22760        store: *mut X509_STORE,
22761        trust: ::std::os::raw::c_int,
22762    ) -> ::std::os::raw::c_int;
22763}
22764#[repr(C)]
22765#[derive(Debug, Copy, Clone)]
22766pub struct stack_st_X509_OBJECT {
22767    _unused: [u8; 0],
22768}
22769pub type sk_X509_OBJECT_free_func =
22770    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
22771pub type sk_X509_OBJECT_copy_func =
22772    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
22773pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
22774    unsafe extern "C" fn(
22775        arg1: *const *const X509_OBJECT,
22776        arg2: *const *const X509_OBJECT,
22777    ) -> ::std::os::raw::c_int,
22778>;
22779pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
22780    unsafe extern "C" fn(
22781        arg1: *mut X509_OBJECT,
22782        arg2: *mut ::std::os::raw::c_void,
22783    ) -> ::std::os::raw::c_int,
22784>;
22785extern "C" {
22786    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_new"]
22787    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
22788}
22789extern "C" {
22790    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_free"]
22791    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
22792}
22793extern "C" {
22794    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_get_type"]
22795    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
22796}
22797extern "C" {
22798    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_get0_X509"]
22799    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
22800}
22801extern "C" {
22802    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_new"]
22803    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
22804}
22805extern "C" {
22806    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_free"]
22807    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
22808}
22809extern "C" {
22810    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_init"]
22811    pub fn X509_STORE_CTX_init(
22812        ctx: *mut X509_STORE_CTX,
22813        store: *mut X509_STORE,
22814        x509: *mut X509,
22815        chain: *mut stack_st_X509,
22816    ) -> ::std::os::raw::c_int;
22817}
22818extern "C" {
22819    #[link_name = "\u{1}aws_lc_0_30_0_X509_verify_cert"]
22820    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22821}
22822extern "C" {
22823    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_chain"]
22824    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22825}
22826extern "C" {
22827    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get1_chain"]
22828    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22829}
22830extern "C" {
22831    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_cert"]
22832    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
22833}
22834extern "C" {
22835    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_error"]
22836    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22837}
22838extern "C" {
22839    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_error"]
22840    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
22841}
22842extern "C" {
22843    #[link_name = "\u{1}aws_lc_0_30_0_X509_verify_cert_error_string"]
22844    pub fn X509_verify_cert_error_string(
22845        err: ::std::os::raw::c_long,
22846    ) -> *const ::std::os::raw::c_char;
22847}
22848extern "C" {
22849    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_error_depth"]
22850    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22851}
22852extern "C" {
22853    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_current_cert"]
22854    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22855}
22856extern "C" {
22857    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_current_issuer"]
22858    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
22859}
22860extern "C" {
22861    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_current_crl"]
22862    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
22863}
22864extern "C" {
22865    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_store"]
22866    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
22867}
22868extern "C" {
22869    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_cert"]
22870    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22871}
22872extern "C" {
22873    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_untrusted"]
22874    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22875}
22876extern "C" {
22877    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set0_trusted_stack"]
22878    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22879}
22880extern "C" {
22881    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set0_crls"]
22882    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
22883}
22884extern "C" {
22885    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_default"]
22886    pub fn X509_STORE_CTX_set_default(
22887        ctx: *mut X509_STORE_CTX,
22888        name: *const ::std::os::raw::c_char,
22889    ) -> ::std::os::raw::c_int;
22890}
22891extern "C" {
22892    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_param"]
22893    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
22894}
22895extern "C" {
22896    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set0_param"]
22897    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
22898}
22899extern "C" {
22900    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_flags"]
22901    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
22902}
22903extern "C" {
22904    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_time"]
22905    pub fn X509_STORE_CTX_set_time(
22906        ctx: *mut X509_STORE_CTX,
22907        flags: ::std::os::raw::c_ulong,
22908        t: time_t,
22909    );
22910}
22911extern "C" {
22912    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_time_posix"]
22913    pub fn X509_STORE_CTX_set_time_posix(
22914        ctx: *mut X509_STORE_CTX,
22915        flags: ::std::os::raw::c_ulong,
22916        t: i64,
22917    );
22918}
22919extern "C" {
22920    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_depth"]
22921    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
22922}
22923extern "C" {
22924    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_purpose"]
22925    pub fn X509_STORE_CTX_set_purpose(
22926        ctx: *mut X509_STORE_CTX,
22927        purpose: ::std::os::raw::c_int,
22928    ) -> ::std::os::raw::c_int;
22929}
22930extern "C" {
22931    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_trust"]
22932    pub fn X509_STORE_CTX_set_trust(
22933        ctx: *mut X509_STORE_CTX,
22934        trust: ::std::os::raw::c_int,
22935    ) -> ::std::os::raw::c_int;
22936}
22937extern "C" {
22938    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_add_custom_crit_oid"]
22939    pub fn X509_STORE_CTX_add_custom_crit_oid(
22940        ctx: *mut X509_STORE_CTX,
22941        oid: *mut ASN1_OBJECT,
22942    ) -> ::std::os::raw::c_int;
22943}
22944pub type X509_STORE_CTX_verify_crit_oids_cb = ::std::option::Option<
22945    unsafe extern "C" fn(
22946        ctx: *mut X509_STORE_CTX,
22947        x509: *mut X509,
22948        oids: *mut stack_st_ASN1_OBJECT,
22949    ) -> ::std::os::raw::c_int,
22950>;
22951extern "C" {
22952    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_verify_crit_oids"]
22953    pub fn X509_STORE_CTX_set_verify_crit_oids(
22954        ctx: *mut X509_STORE_CTX,
22955        verify_custom_crit_oids: X509_STORE_CTX_verify_crit_oids_cb,
22956    );
22957}
22958extern "C" {
22959    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_new"]
22960    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
22961}
22962extern "C" {
22963    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_free"]
22964    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
22965}
22966extern "C" {
22967    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_inherit"]
22968    pub fn X509_VERIFY_PARAM_inherit(
22969        to: *mut X509_VERIFY_PARAM,
22970        from: *const X509_VERIFY_PARAM,
22971    ) -> ::std::os::raw::c_int;
22972}
22973extern "C" {
22974    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1"]
22975    pub fn X509_VERIFY_PARAM_set1(
22976        to: *mut X509_VERIFY_PARAM,
22977        from: *const X509_VERIFY_PARAM,
22978    ) -> ::std::os::raw::c_int;
22979}
22980extern "C" {
22981    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_flags"]
22982    pub fn X509_VERIFY_PARAM_set_flags(
22983        param: *mut X509_VERIFY_PARAM,
22984        flags: ::std::os::raw::c_ulong,
22985    ) -> ::std::os::raw::c_int;
22986}
22987extern "C" {
22988    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_clear_flags"]
22989    pub fn X509_VERIFY_PARAM_clear_flags(
22990        param: *mut X509_VERIFY_PARAM,
22991        flags: ::std::os::raw::c_ulong,
22992    ) -> ::std::os::raw::c_int;
22993}
22994extern "C" {
22995    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_get_flags"]
22996    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
22997}
22998extern "C" {
22999    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_depth"]
23000    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
23001}
23002extern "C" {
23003    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_get_depth"]
23004    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
23005}
23006extern "C" {
23007    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_time"]
23008    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
23009}
23010extern "C" {
23011    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_time_posix"]
23012    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
23013}
23014extern "C" {
23015    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_add0_policy"]
23016    pub fn X509_VERIFY_PARAM_add0_policy(
23017        param: *mut X509_VERIFY_PARAM,
23018        policy: *mut ASN1_OBJECT,
23019    ) -> ::std::os::raw::c_int;
23020}
23021extern "C" {
23022    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1_policies"]
23023    pub fn X509_VERIFY_PARAM_set1_policies(
23024        param: *mut X509_VERIFY_PARAM,
23025        policies: *const stack_st_ASN1_OBJECT,
23026    ) -> ::std::os::raw::c_int;
23027}
23028extern "C" {
23029    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1_host"]
23030    pub fn X509_VERIFY_PARAM_set1_host(
23031        param: *mut X509_VERIFY_PARAM,
23032        name: *const ::std::os::raw::c_char,
23033        name_len: usize,
23034    ) -> ::std::os::raw::c_int;
23035}
23036extern "C" {
23037    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_add1_host"]
23038    pub fn X509_VERIFY_PARAM_add1_host(
23039        param: *mut X509_VERIFY_PARAM,
23040        name: *const ::std::os::raw::c_char,
23041        name_len: usize,
23042    ) -> ::std::os::raw::c_int;
23043}
23044extern "C" {
23045    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_hostflags"]
23046    pub fn X509_VERIFY_PARAM_set_hostflags(
23047        param: *mut X509_VERIFY_PARAM,
23048        flags: ::std::os::raw::c_uint,
23049    );
23050}
23051extern "C" {
23052    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_get_hostflags"]
23053    pub fn X509_VERIFY_PARAM_get_hostflags(
23054        param: *const X509_VERIFY_PARAM,
23055    ) -> ::std::os::raw::c_uint;
23056}
23057extern "C" {
23058    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1_email"]
23059    pub fn X509_VERIFY_PARAM_set1_email(
23060        param: *mut X509_VERIFY_PARAM,
23061        email: *const ::std::os::raw::c_char,
23062        email_len: usize,
23063    ) -> ::std::os::raw::c_int;
23064}
23065extern "C" {
23066    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1_ip"]
23067    pub fn X509_VERIFY_PARAM_set1_ip(
23068        param: *mut X509_VERIFY_PARAM,
23069        ip: *const u8,
23070        ip_len: usize,
23071    ) -> ::std::os::raw::c_int;
23072}
23073extern "C" {
23074    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set1_ip_asc"]
23075    pub fn X509_VERIFY_PARAM_set1_ip_asc(
23076        param: *mut X509_VERIFY_PARAM,
23077        ipasc: *const ::std::os::raw::c_char,
23078    ) -> ::std::os::raw::c_int;
23079}
23080extern "C" {
23081    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_purpose"]
23082    pub fn X509_VERIFY_PARAM_set_purpose(
23083        param: *mut X509_VERIFY_PARAM,
23084        purpose: ::std::os::raw::c_int,
23085    ) -> ::std::os::raw::c_int;
23086}
23087extern "C" {
23088    #[link_name = "\u{1}aws_lc_0_30_0_X509_VERIFY_PARAM_set_trust"]
23089    pub fn X509_VERIFY_PARAM_set_trust(
23090        param: *mut X509_VERIFY_PARAM,
23091        trust: ::std::os::raw::c_int,
23092    ) -> ::std::os::raw::c_int;
23093}
23094extern "C" {
23095    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_load_locations"]
23096    pub fn X509_STORE_load_locations(
23097        store: *mut X509_STORE,
23098        file: *const ::std::os::raw::c_char,
23099        dir: *const ::std::os::raw::c_char,
23100    ) -> ::std::os::raw::c_int;
23101}
23102extern "C" {
23103    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_add_lookup"]
23104    pub fn X509_STORE_add_lookup(
23105        store: *mut X509_STORE,
23106        method: *const X509_LOOKUP_METHOD,
23107    ) -> *mut X509_LOOKUP;
23108}
23109extern "C" {
23110    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_hash_dir"]
23111    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
23112}
23113extern "C" {
23114    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_file"]
23115    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
23116}
23117extern "C" {
23118    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_load_file"]
23119    pub fn X509_LOOKUP_load_file(
23120        lookup: *mut X509_LOOKUP,
23121        file: *const ::std::os::raw::c_char,
23122        type_: ::std::os::raw::c_int,
23123    ) -> ::std::os::raw::c_int;
23124}
23125extern "C" {
23126    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_add_dir"]
23127    pub fn X509_LOOKUP_add_dir(
23128        lookup: *mut X509_LOOKUP,
23129        path: *const ::std::os::raw::c_char,
23130        type_: ::std::os::raw::c_int,
23131    ) -> ::std::os::raw::c_int;
23132}
23133extern "C" {
23134    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_ctrl"]
23135    pub fn X509_LOOKUP_ctrl(
23136        lookup: *mut X509_LOOKUP,
23137        cmd: ::std::os::raw::c_int,
23138        argc: *const ::std::os::raw::c_char,
23139        argl: ::std::os::raw::c_long,
23140        ret: *mut *mut ::std::os::raw::c_char,
23141    ) -> ::std::os::raw::c_int;
23142}
23143extern "C" {
23144    #[link_name = "\u{1}aws_lc_0_30_0_X509_load_cert_file"]
23145    pub fn X509_load_cert_file(
23146        lookup: *mut X509_LOOKUP,
23147        file: *const ::std::os::raw::c_char,
23148        type_: ::std::os::raw::c_int,
23149    ) -> ::std::os::raw::c_int;
23150}
23151extern "C" {
23152    #[link_name = "\u{1}aws_lc_0_30_0_X509_load_crl_file"]
23153    pub fn X509_load_crl_file(
23154        lookup: *mut X509_LOOKUP,
23155        file: *const ::std::os::raw::c_char,
23156        type_: ::std::os::raw::c_int,
23157    ) -> ::std::os::raw::c_int;
23158}
23159extern "C" {
23160    #[link_name = "\u{1}aws_lc_0_30_0_X509_load_cert_crl_file"]
23161    pub fn X509_load_cert_crl_file(
23162        lookup: *mut X509_LOOKUP,
23163        file: *const ::std::os::raw::c_char,
23164        type_: ::std::os::raw::c_int,
23165    ) -> ::std::os::raw::c_int;
23166}
23167extern "C" {
23168    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_hash"]
23169    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
23170}
23171extern "C" {
23172    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_hash_old"]
23173    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
23174}
23175extern "C" {
23176    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_default_paths"]
23177    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
23178}
23179extern "C" {
23180    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_cert_area"]
23181    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
23182}
23183extern "C" {
23184    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_cert_dir"]
23185    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
23186}
23187extern "C" {
23188    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_cert_file"]
23189    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
23190}
23191extern "C" {
23192    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_private_dir"]
23193    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
23194}
23195extern "C" {
23196    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_cert_dir_env"]
23197    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
23198}
23199extern "C" {
23200    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_default_cert_file_env"]
23201    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
23202}
23203#[repr(C)]
23204#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23205pub struct Netscape_spki_st {
23206    pub spkac: *mut NETSCAPE_SPKAC,
23207    pub sig_algor: *mut X509_ALGOR,
23208    pub signature: *mut ASN1_BIT_STRING,
23209}
23210#[test]
23211fn bindgen_test_layout_Netscape_spki_st() {
23212    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
23213    let ptr = UNINIT.as_ptr();
23214    assert_eq!(
23215        ::std::mem::size_of::<Netscape_spki_st>(),
23216        24usize,
23217        concat!("Size of: ", stringify!(Netscape_spki_st))
23218    );
23219    assert_eq!(
23220        ::std::mem::align_of::<Netscape_spki_st>(),
23221        8usize,
23222        concat!("Alignment of ", stringify!(Netscape_spki_st))
23223    );
23224    assert_eq!(
23225        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
23226        0usize,
23227        concat!(
23228            "Offset of field: ",
23229            stringify!(Netscape_spki_st),
23230            "::",
23231            stringify!(spkac)
23232        )
23233    );
23234    assert_eq!(
23235        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
23236        8usize,
23237        concat!(
23238            "Offset of field: ",
23239            stringify!(Netscape_spki_st),
23240            "::",
23241            stringify!(sig_algor)
23242        )
23243    );
23244    assert_eq!(
23245        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
23246        16usize,
23247        concat!(
23248            "Offset of field: ",
23249            stringify!(Netscape_spki_st),
23250            "::",
23251            stringify!(signature)
23252        )
23253    );
23254}
23255impl Default for Netscape_spki_st {
23256    fn default() -> Self {
23257        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23258        unsafe {
23259            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23260            s.assume_init()
23261        }
23262    }
23263}
23264extern "C" {
23265    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_it"]
23266    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
23267}
23268extern "C" {
23269    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_new"]
23270    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
23271}
23272extern "C" {
23273    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_free"]
23274    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
23275}
23276extern "C" {
23277    #[link_name = "\u{1}aws_lc_0_30_0_d2i_NETSCAPE_SPKI"]
23278    pub fn d2i_NETSCAPE_SPKI(
23279        out: *mut *mut NETSCAPE_SPKI,
23280        inp: *mut *const u8,
23281        len: ::std::os::raw::c_long,
23282    ) -> *mut NETSCAPE_SPKI;
23283}
23284extern "C" {
23285    #[link_name = "\u{1}aws_lc_0_30_0_i2d_NETSCAPE_SPKI"]
23286    pub fn i2d_NETSCAPE_SPKI(
23287        spki: *const NETSCAPE_SPKI,
23288        outp: *mut *mut u8,
23289    ) -> ::std::os::raw::c_int;
23290}
23291extern "C" {
23292    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_verify"]
23293    pub fn NETSCAPE_SPKI_verify(
23294        spki: *mut NETSCAPE_SPKI,
23295        pkey: *mut EVP_PKEY,
23296    ) -> ::std::os::raw::c_int;
23297}
23298extern "C" {
23299    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_b64_decode"]
23300    pub fn NETSCAPE_SPKI_b64_decode(
23301        str_: *const ::std::os::raw::c_char,
23302        len: ossl_ssize_t,
23303    ) -> *mut NETSCAPE_SPKI;
23304}
23305extern "C" {
23306    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_b64_encode"]
23307    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
23308}
23309extern "C" {
23310    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_get_pubkey"]
23311    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
23312}
23313extern "C" {
23314    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_set_pubkey"]
23315    pub fn NETSCAPE_SPKI_set_pubkey(
23316        spki: *mut NETSCAPE_SPKI,
23317        pkey: *mut EVP_PKEY,
23318    ) -> ::std::os::raw::c_int;
23319}
23320extern "C" {
23321    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_sign"]
23322    pub fn NETSCAPE_SPKI_sign(
23323        spki: *mut NETSCAPE_SPKI,
23324        pkey: *mut EVP_PKEY,
23325        md: *const EVP_MD,
23326    ) -> ::std::os::raw::c_int;
23327}
23328#[repr(C)]
23329#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23330pub struct Netscape_spkac_st {
23331    pub pubkey: *mut X509_PUBKEY,
23332    pub challenge: *mut ASN1_IA5STRING,
23333}
23334#[test]
23335fn bindgen_test_layout_Netscape_spkac_st() {
23336    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
23337    let ptr = UNINIT.as_ptr();
23338    assert_eq!(
23339        ::std::mem::size_of::<Netscape_spkac_st>(),
23340        16usize,
23341        concat!("Size of: ", stringify!(Netscape_spkac_st))
23342    );
23343    assert_eq!(
23344        ::std::mem::align_of::<Netscape_spkac_st>(),
23345        8usize,
23346        concat!("Alignment of ", stringify!(Netscape_spkac_st))
23347    );
23348    assert_eq!(
23349        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
23350        0usize,
23351        concat!(
23352            "Offset of field: ",
23353            stringify!(Netscape_spkac_st),
23354            "::",
23355            stringify!(pubkey)
23356        )
23357    );
23358    assert_eq!(
23359        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
23360        8usize,
23361        concat!(
23362            "Offset of field: ",
23363            stringify!(Netscape_spkac_st),
23364            "::",
23365            stringify!(challenge)
23366        )
23367    );
23368}
23369impl Default for Netscape_spkac_st {
23370    fn default() -> Self {
23371        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23372        unsafe {
23373            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23374            s.assume_init()
23375        }
23376    }
23377}
23378extern "C" {
23379    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKAC_it"]
23380    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
23381}
23382extern "C" {
23383    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKAC_new"]
23384    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
23385}
23386extern "C" {
23387    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKAC_free"]
23388    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
23389}
23390extern "C" {
23391    #[link_name = "\u{1}aws_lc_0_30_0_d2i_NETSCAPE_SPKAC"]
23392    pub fn d2i_NETSCAPE_SPKAC(
23393        out: *mut *mut NETSCAPE_SPKAC,
23394        inp: *mut *const u8,
23395        len: ::std::os::raw::c_long,
23396    ) -> *mut NETSCAPE_SPKAC;
23397}
23398extern "C" {
23399    #[link_name = "\u{1}aws_lc_0_30_0_i2d_NETSCAPE_SPKAC"]
23400    pub fn i2d_NETSCAPE_SPKAC(
23401        spkac: *const NETSCAPE_SPKAC,
23402        outp: *mut *mut u8,
23403    ) -> ::std::os::raw::c_int;
23404}
23405extern "C" {
23406    #[link_name = "\u{1}aws_lc_0_30_0_NETSCAPE_SPKI_print"]
23407    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
23408}
23409#[repr(C)]
23410#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23411pub struct rsa_pss_params_st {
23412    pub hashAlgorithm: *mut X509_ALGOR,
23413    pub maskGenAlgorithm: *mut X509_ALGOR,
23414    pub saltLength: *mut ASN1_INTEGER,
23415    pub trailerField: *mut ASN1_INTEGER,
23416    pub maskHash: *mut X509_ALGOR,
23417}
23418#[test]
23419fn bindgen_test_layout_rsa_pss_params_st() {
23420    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
23421    let ptr = UNINIT.as_ptr();
23422    assert_eq!(
23423        ::std::mem::size_of::<rsa_pss_params_st>(),
23424        40usize,
23425        concat!("Size of: ", stringify!(rsa_pss_params_st))
23426    );
23427    assert_eq!(
23428        ::std::mem::align_of::<rsa_pss_params_st>(),
23429        8usize,
23430        concat!("Alignment of ", stringify!(rsa_pss_params_st))
23431    );
23432    assert_eq!(
23433        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
23434        0usize,
23435        concat!(
23436            "Offset of field: ",
23437            stringify!(rsa_pss_params_st),
23438            "::",
23439            stringify!(hashAlgorithm)
23440        )
23441    );
23442    assert_eq!(
23443        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
23444        8usize,
23445        concat!(
23446            "Offset of field: ",
23447            stringify!(rsa_pss_params_st),
23448            "::",
23449            stringify!(maskGenAlgorithm)
23450        )
23451    );
23452    assert_eq!(
23453        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
23454        16usize,
23455        concat!(
23456            "Offset of field: ",
23457            stringify!(rsa_pss_params_st),
23458            "::",
23459            stringify!(saltLength)
23460        )
23461    );
23462    assert_eq!(
23463        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
23464        24usize,
23465        concat!(
23466            "Offset of field: ",
23467            stringify!(rsa_pss_params_st),
23468            "::",
23469            stringify!(trailerField)
23470        )
23471    );
23472    assert_eq!(
23473        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
23474        32usize,
23475        concat!(
23476            "Offset of field: ",
23477            stringify!(rsa_pss_params_st),
23478            "::",
23479            stringify!(maskHash)
23480        )
23481    );
23482}
23483impl Default for rsa_pss_params_st {
23484    fn default() -> Self {
23485        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23486        unsafe {
23487            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23488            s.assume_init()
23489        }
23490    }
23491}
23492extern "C" {
23493    #[link_name = "\u{1}aws_lc_0_30_0_RSA_PSS_PARAMS_it"]
23494    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
23495}
23496extern "C" {
23497    #[link_name = "\u{1}aws_lc_0_30_0_RSA_PSS_PARAMS_new"]
23498    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
23499}
23500extern "C" {
23501    #[link_name = "\u{1}aws_lc_0_30_0_RSA_PSS_PARAMS_free"]
23502    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
23503}
23504extern "C" {
23505    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSA_PSS_PARAMS"]
23506    pub fn d2i_RSA_PSS_PARAMS(
23507        out: *mut *mut RSA_PSS_PARAMS,
23508        inp: *mut *const u8,
23509        len: ::std::os::raw::c_long,
23510    ) -> *mut RSA_PSS_PARAMS;
23511}
23512extern "C" {
23513    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSA_PSS_PARAMS"]
23514    pub fn i2d_RSA_PSS_PARAMS(
23515        in_: *const RSA_PSS_PARAMS,
23516        outp: *mut *mut u8,
23517    ) -> ::std::os::raw::c_int;
23518}
23519extern "C" {
23520    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_PRIV_KEY_INFO_it"]
23521    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
23522}
23523extern "C" {
23524    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_PRIV_KEY_INFO_new"]
23525    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
23526}
23527extern "C" {
23528    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_PRIV_KEY_INFO_free"]
23529    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
23530}
23531extern "C" {
23532    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8_PRIV_KEY_INFO"]
23533    pub fn d2i_PKCS8_PRIV_KEY_INFO(
23534        out: *mut *mut PKCS8_PRIV_KEY_INFO,
23535        inp: *mut *const u8,
23536        len: ::std::os::raw::c_long,
23537    ) -> *mut PKCS8_PRIV_KEY_INFO;
23538}
23539extern "C" {
23540    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8_PRIV_KEY_INFO"]
23541    pub fn i2d_PKCS8_PRIV_KEY_INFO(
23542        key: *const PKCS8_PRIV_KEY_INFO,
23543        outp: *mut *mut u8,
23544    ) -> ::std::os::raw::c_int;
23545}
23546extern "C" {
23547    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKCS82PKEY"]
23548    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
23549}
23550extern "C" {
23551    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY2PKCS8"]
23552    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
23553}
23554extern "C" {
23555    #[link_name = "\u{1}aws_lc_0_30_0_X509_SIG_it"]
23556    pub static X509_SIG_it: ASN1_ITEM;
23557}
23558extern "C" {
23559    #[link_name = "\u{1}aws_lc_0_30_0_X509_SIG_new"]
23560    pub fn X509_SIG_new() -> *mut X509_SIG;
23561}
23562extern "C" {
23563    #[link_name = "\u{1}aws_lc_0_30_0_X509_SIG_free"]
23564    pub fn X509_SIG_free(key: *mut X509_SIG);
23565}
23566extern "C" {
23567    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_SIG"]
23568    pub fn d2i_X509_SIG(
23569        out: *mut *mut X509_SIG,
23570        inp: *mut *const u8,
23571        len: ::std::os::raw::c_long,
23572    ) -> *mut X509_SIG;
23573}
23574extern "C" {
23575    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_SIG"]
23576    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
23577}
23578extern "C" {
23579    #[link_name = "\u{1}aws_lc_0_30_0_X509_SIG_get0"]
23580    pub fn X509_SIG_get0(
23581        sig: *const X509_SIG,
23582        out_alg: *mut *const X509_ALGOR,
23583        out_digest: *mut *const ASN1_OCTET_STRING,
23584    );
23585}
23586extern "C" {
23587    #[link_name = "\u{1}aws_lc_0_30_0_X509_SIG_getm"]
23588    pub fn X509_SIG_getm(
23589        sig: *mut X509_SIG,
23590        out_alg: *mut *mut X509_ALGOR,
23591        out_digest: *mut *mut ASN1_OCTET_STRING,
23592    );
23593}
23594extern "C" {
23595    #[link_name = "\u{1}aws_lc_0_30_0_X509_print_ex"]
23596    pub fn X509_print_ex(
23597        bp: *mut BIO,
23598        x: *mut X509,
23599        nmflag: ::std::os::raw::c_ulong,
23600        cflag: ::std::os::raw::c_ulong,
23601    ) -> ::std::os::raw::c_int;
23602}
23603extern "C" {
23604    #[link_name = "\u{1}aws_lc_0_30_0_X509_print_ex_fp"]
23605    pub fn X509_print_ex_fp(
23606        fp: *mut FILE,
23607        x: *mut X509,
23608        nmflag: ::std::os::raw::c_ulong,
23609        cflag: ::std::os::raw::c_ulong,
23610    ) -> ::std::os::raw::c_int;
23611}
23612extern "C" {
23613    #[link_name = "\u{1}aws_lc_0_30_0_X509_print"]
23614    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
23615}
23616extern "C" {
23617    #[link_name = "\u{1}aws_lc_0_30_0_X509_print_fp"]
23618    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
23619}
23620extern "C" {
23621    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_print"]
23622    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23623}
23624extern "C" {
23625    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_print_fp"]
23626    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23627}
23628extern "C" {
23629    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_print_ex"]
23630    pub fn X509_REQ_print_ex(
23631        bp: *mut BIO,
23632        x: *mut X509_REQ,
23633        nmflag: ::std::os::raw::c_ulong,
23634        cflag: ::std::os::raw::c_ulong,
23635    ) -> ::std::os::raw::c_int;
23636}
23637extern "C" {
23638    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_print"]
23639    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23640}
23641extern "C" {
23642    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_print_fp"]
23643    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23644}
23645extern "C" {
23646    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_print_ex"]
23647    pub fn X509_NAME_print_ex(
23648        out: *mut BIO,
23649        nm: *const X509_NAME,
23650        indent: ::std::os::raw::c_int,
23651        flags: ::std::os::raw::c_ulong,
23652    ) -> ::std::os::raw::c_int;
23653}
23654extern "C" {
23655    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_print"]
23656    pub fn X509_NAME_print(
23657        bp: *mut BIO,
23658        name: *const X509_NAME,
23659        obase: ::std::os::raw::c_int,
23660    ) -> ::std::os::raw::c_int;
23661}
23662extern "C" {
23663    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_oneline"]
23664    pub fn X509_NAME_oneline(
23665        name: *const X509_NAME,
23666        buf: *mut ::std::os::raw::c_char,
23667        size: ::std::os::raw::c_int,
23668    ) -> *mut ::std::os::raw::c_char;
23669}
23670extern "C" {
23671    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_print_ex_fp"]
23672    pub fn X509_NAME_print_ex_fp(
23673        fp: *mut FILE,
23674        nm: *const X509_NAME,
23675        indent: ::std::os::raw::c_int,
23676        flags: ::std::os::raw::c_ulong,
23677    ) -> ::std::os::raw::c_int;
23678}
23679extern "C" {
23680    #[link_name = "\u{1}aws_lc_0_30_0_X509_signature_dump"]
23681    pub fn X509_signature_dump(
23682        bio: *mut BIO,
23683        sig: *const ASN1_STRING,
23684        indent: ::std::os::raw::c_int,
23685    ) -> ::std::os::raw::c_int;
23686}
23687extern "C" {
23688    #[link_name = "\u{1}aws_lc_0_30_0_X509_signature_print"]
23689    pub fn X509_signature_print(
23690        bio: *mut BIO,
23691        alg: *const X509_ALGOR,
23692        sig: *const ASN1_STRING,
23693    ) -> ::std::os::raw::c_int;
23694}
23695extern "C" {
23696    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_print"]
23697    pub fn X509V3_EXT_print(
23698        out: *mut BIO,
23699        ext: *const X509_EXTENSION,
23700        flag: ::std::os::raw::c_ulong,
23701        indent: ::std::os::raw::c_int,
23702    ) -> ::std::os::raw::c_int;
23703}
23704extern "C" {
23705    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_print_fp"]
23706    pub fn X509V3_EXT_print_fp(
23707        out: *mut FILE,
23708        ext: *const X509_EXTENSION,
23709        flag: ::std::os::raw::c_int,
23710        indent: ::std::os::raw::c_int,
23711    ) -> ::std::os::raw::c_int;
23712}
23713extern "C" {
23714    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_extensions_print"]
23715    pub fn X509V3_extensions_print(
23716        out: *mut BIO,
23717        title: *const ::std::os::raw::c_char,
23718        exts: *const stack_st_X509_EXTENSION,
23719        flag: ::std::os::raw::c_ulong,
23720        indent: ::std::os::raw::c_int,
23721    ) -> ::std::os::raw::c_int;
23722}
23723extern "C" {
23724    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_NAME_print"]
23725    pub fn GENERAL_NAME_print(out: *mut BIO, gen: *const GENERAL_NAME) -> ::std::os::raw::c_int;
23726}
23727extern "C" {
23728    #[link_name = "\u{1}aws_lc_0_30_0_X509_pubkey_digest"]
23729    pub fn X509_pubkey_digest(
23730        x509: *const X509,
23731        md: *const EVP_MD,
23732        out: *mut u8,
23733        out_len: *mut ::std::os::raw::c_uint,
23734    ) -> ::std::os::raw::c_int;
23735}
23736extern "C" {
23737    #[link_name = "\u{1}aws_lc_0_30_0_X509_digest"]
23738    pub fn X509_digest(
23739        x509: *const X509,
23740        md: *const EVP_MD,
23741        out: *mut u8,
23742        out_len: *mut ::std::os::raw::c_uint,
23743    ) -> ::std::os::raw::c_int;
23744}
23745extern "C" {
23746    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_digest"]
23747    pub fn X509_CRL_digest(
23748        crl: *const X509_CRL,
23749        md: *const EVP_MD,
23750        out: *mut u8,
23751        out_len: *mut ::std::os::raw::c_uint,
23752    ) -> ::std::os::raw::c_int;
23753}
23754extern "C" {
23755    #[link_name = "\u{1}aws_lc_0_30_0_X509_REQ_digest"]
23756    pub fn X509_REQ_digest(
23757        req: *const X509_REQ,
23758        md: *const EVP_MD,
23759        out: *mut u8,
23760        out_len: *mut ::std::os::raw::c_uint,
23761    ) -> ::std::os::raw::c_int;
23762}
23763extern "C" {
23764    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_digest"]
23765    pub fn X509_NAME_digest(
23766        name: *const X509_NAME,
23767        md: *const EVP_MD,
23768        out: *mut u8,
23769        out_len: *mut ::std::os::raw::c_uint,
23770    ) -> ::std::os::raw::c_int;
23771}
23772extern "C" {
23773    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_bio"]
23774    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
23775}
23776extern "C" {
23777    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_CRL_bio"]
23778    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23779}
23780extern "C" {
23781    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_REQ_bio"]
23782    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23783}
23784extern "C" {
23785    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPrivateKey_bio"]
23786    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23787}
23788extern "C" {
23789    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPublicKey_bio"]
23790    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23791}
23792extern "C" {
23793    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSA_PUBKEY_bio"]
23794    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23795}
23796extern "C" {
23797    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSA_PUBKEY_bio"]
23798    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23799}
23800extern "C" {
23801    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSAPrivateKey_bio"]
23802    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23803}
23804extern "C" {
23805    #[link_name = "\u{1}aws_lc_0_30_0_d2i_EC_PUBKEY_bio"]
23806    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23807}
23808extern "C" {
23809    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECPrivateKey_bio"]
23810    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23811}
23812extern "C" {
23813    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8_bio"]
23814    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23815}
23816extern "C" {
23817    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8_PRIV_KEY_INFO_bio"]
23818    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
23819        bp: *mut BIO,
23820        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23821    ) -> *mut PKCS8_PRIV_KEY_INFO;
23822}
23823extern "C" {
23824    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PUBKEY_bio"]
23825    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23826}
23827extern "C" {
23828    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DHparams_bio"]
23829    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
23830}
23831extern "C" {
23832    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PrivateKey_bio"]
23833    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23834}
23835extern "C" {
23836    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_bio"]
23837    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
23838}
23839extern "C" {
23840    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_CRL_bio"]
23841    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23842}
23843extern "C" {
23844    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_REQ_bio"]
23845    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23846}
23847extern "C" {
23848    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPrivateKey_bio"]
23849    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23850}
23851extern "C" {
23852    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPublicKey_bio"]
23853    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23854}
23855extern "C" {
23856    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSA_PUBKEY_bio"]
23857    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23858}
23859extern "C" {
23860    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSA_PUBKEY_bio"]
23861    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23862}
23863extern "C" {
23864    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSAPrivateKey_bio"]
23865    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23866}
23867extern "C" {
23868    #[link_name = "\u{1}aws_lc_0_30_0_i2d_EC_PUBKEY_bio"]
23869    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23870}
23871extern "C" {
23872    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECPrivateKey_bio"]
23873    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23874}
23875extern "C" {
23876    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8_bio"]
23877    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23878}
23879extern "C" {
23880    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8_PRIV_KEY_INFO_bio"]
23881    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
23882        bp: *mut BIO,
23883        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23884    ) -> ::std::os::raw::c_int;
23885}
23886extern "C" {
23887    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PrivateKey_bio"]
23888    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23889}
23890extern "C" {
23891    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PUBKEY_bio"]
23892    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23893}
23894extern "C" {
23895    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DHparams_bio"]
23896    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
23897}
23898extern "C" {
23899    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKeyInfo_bio"]
23900    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23901}
23902extern "C" {
23903    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_fp"]
23904    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
23905}
23906extern "C" {
23907    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_CRL_fp"]
23908    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23909}
23910extern "C" {
23911    #[link_name = "\u{1}aws_lc_0_30_0_d2i_X509_REQ_fp"]
23912    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23913}
23914extern "C" {
23915    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPrivateKey_fp"]
23916    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23917}
23918extern "C" {
23919    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSAPublicKey_fp"]
23920    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23921}
23922extern "C" {
23923    #[link_name = "\u{1}aws_lc_0_30_0_d2i_RSA_PUBKEY_fp"]
23924    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23925}
23926extern "C" {
23927    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSA_PUBKEY_fp"]
23928    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23929}
23930extern "C" {
23931    #[link_name = "\u{1}aws_lc_0_30_0_d2i_DSAPrivateKey_fp"]
23932    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23933}
23934extern "C" {
23935    #[link_name = "\u{1}aws_lc_0_30_0_d2i_EC_PUBKEY_fp"]
23936    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23937}
23938extern "C" {
23939    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ECPrivateKey_fp"]
23940    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23941}
23942extern "C" {
23943    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8_fp"]
23944    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23945}
23946extern "C" {
23947    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8_PRIV_KEY_INFO_fp"]
23948    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
23949        fp: *mut FILE,
23950        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23951    ) -> *mut PKCS8_PRIV_KEY_INFO;
23952}
23953extern "C" {
23954    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PrivateKey_fp"]
23955    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23956}
23957extern "C" {
23958    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PUBKEY_fp"]
23959    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23960}
23961extern "C" {
23962    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_fp"]
23963    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
23964}
23965extern "C" {
23966    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_CRL_fp"]
23967    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23968}
23969extern "C" {
23970    #[link_name = "\u{1}aws_lc_0_30_0_i2d_X509_REQ_fp"]
23971    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23972}
23973extern "C" {
23974    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPrivateKey_fp"]
23975    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23976}
23977extern "C" {
23978    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSAPublicKey_fp"]
23979    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23980}
23981extern "C" {
23982    #[link_name = "\u{1}aws_lc_0_30_0_i2d_RSA_PUBKEY_fp"]
23983    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23984}
23985extern "C" {
23986    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSA_PUBKEY_fp"]
23987    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23988}
23989extern "C" {
23990    #[link_name = "\u{1}aws_lc_0_30_0_i2d_DSAPrivateKey_fp"]
23991    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23992}
23993extern "C" {
23994    #[link_name = "\u{1}aws_lc_0_30_0_i2d_EC_PUBKEY_fp"]
23995    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23996}
23997extern "C" {
23998    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ECPrivateKey_fp"]
23999    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
24000}
24001extern "C" {
24002    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8_fp"]
24003    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
24004}
24005extern "C" {
24006    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8_PRIV_KEY_INFO_fp"]
24007    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
24008        fp: *mut FILE,
24009        p8inf: *mut PKCS8_PRIV_KEY_INFO,
24010    ) -> ::std::os::raw::c_int;
24011}
24012extern "C" {
24013    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKeyInfo_fp"]
24014    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
24015}
24016extern "C" {
24017    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PrivateKey_fp"]
24018    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
24019}
24020extern "C" {
24021    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PUBKEY_fp"]
24022    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
24023}
24024extern "C" {
24025    #[link_name = "\u{1}aws_lc_0_30_0_X509_find_by_issuer_and_serial"]
24026    pub fn X509_find_by_issuer_and_serial(
24027        sk: *const stack_st_X509,
24028        name: *mut X509_NAME,
24029        serial: *const ASN1_INTEGER,
24030    ) -> *mut X509;
24031}
24032extern "C" {
24033    #[link_name = "\u{1}aws_lc_0_30_0_X509_find_by_subject"]
24034    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
24035}
24036extern "C" {
24037    #[link_name = "\u{1}aws_lc_0_30_0_X509_cmp_time"]
24038    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
24039}
24040extern "C" {
24041    #[link_name = "\u{1}aws_lc_0_30_0_X509_cmp_time_posix"]
24042    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
24043}
24044extern "C" {
24045    #[link_name = "\u{1}aws_lc_0_30_0_X509_cmp_current_time"]
24046    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
24047}
24048extern "C" {
24049    #[link_name = "\u{1}aws_lc_0_30_0_X509_time_adj"]
24050    pub fn X509_time_adj(
24051        s: *mut ASN1_TIME,
24052        offset_sec: ::std::os::raw::c_long,
24053        t: *const time_t,
24054    ) -> *mut ASN1_TIME;
24055}
24056extern "C" {
24057    #[link_name = "\u{1}aws_lc_0_30_0_X509_time_adj_ex"]
24058    pub fn X509_time_adj_ex(
24059        s: *mut ASN1_TIME,
24060        offset_day: ::std::os::raw::c_int,
24061        offset_sec: ::std::os::raw::c_long,
24062        t: *const time_t,
24063    ) -> *mut ASN1_TIME;
24064}
24065extern "C" {
24066    #[link_name = "\u{1}aws_lc_0_30_0_X509_gmtime_adj"]
24067    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
24068        -> *mut ASN1_TIME;
24069}
24070extern "C" {
24071    #[link_name = "\u{1}aws_lc_0_30_0_X509_issuer_name_cmp"]
24072    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
24073}
24074extern "C" {
24075    #[link_name = "\u{1}aws_lc_0_30_0_X509_subject_name_cmp"]
24076    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
24077}
24078extern "C" {
24079    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_cmp"]
24080    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
24081}
24082extern "C" {
24083    #[link_name = "\u{1}aws_lc_0_30_0_X509_issuer_name_hash"]
24084    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
24085}
24086extern "C" {
24087    #[link_name = "\u{1}aws_lc_0_30_0_X509_subject_name_hash"]
24088    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
24089}
24090extern "C" {
24091    #[link_name = "\u{1}aws_lc_0_30_0_X509_issuer_name_hash_old"]
24092    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
24093}
24094extern "C" {
24095    #[link_name = "\u{1}aws_lc_0_30_0_X509_subject_name_hash_old"]
24096    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
24097}
24098extern "C" {
24099    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ex_new_index"]
24100    pub fn X509_get_ex_new_index(
24101        argl: ::std::os::raw::c_long,
24102        argp: *mut ::std::os::raw::c_void,
24103        unused: *mut CRYPTO_EX_unused,
24104        dup_unused: CRYPTO_EX_dup,
24105        free_func: CRYPTO_EX_free,
24106    ) -> ::std::os::raw::c_int;
24107}
24108extern "C" {
24109    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_ex_data"]
24110    pub fn X509_set_ex_data(
24111        r: *mut X509,
24112        idx: ::std::os::raw::c_int,
24113        arg: *mut ::std::os::raw::c_void,
24114    ) -> ::std::os::raw::c_int;
24115}
24116extern "C" {
24117    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_ex_data"]
24118    pub fn X509_get_ex_data(
24119        r: *mut X509,
24120        idx: ::std::os::raw::c_int,
24121    ) -> *mut ::std::os::raw::c_void;
24122}
24123extern "C" {
24124    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_ex_new_index"]
24125    pub fn X509_STORE_CTX_get_ex_new_index(
24126        argl: ::std::os::raw::c_long,
24127        argp: *mut ::std::os::raw::c_void,
24128        unused: *mut CRYPTO_EX_unused,
24129        dup_unused: CRYPTO_EX_dup,
24130        free_func: CRYPTO_EX_free,
24131    ) -> ::std::os::raw::c_int;
24132}
24133extern "C" {
24134    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_ex_data"]
24135    pub fn X509_STORE_CTX_set_ex_data(
24136        ctx: *mut X509_STORE_CTX,
24137        idx: ::std::os::raw::c_int,
24138        data: *mut ::std::os::raw::c_void,
24139    ) -> ::std::os::raw::c_int;
24140}
24141extern "C" {
24142    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_ex_data"]
24143    pub fn X509_STORE_CTX_get_ex_data(
24144        ctx: *mut X509_STORE_CTX,
24145        idx: ::std::os::raw::c_int,
24146    ) -> *mut ::std::os::raw::c_void;
24147}
24148extern "C" {
24149    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_get_ex_new_index"]
24150    pub fn X509_STORE_get_ex_new_index(
24151        argl: ::std::os::raw::c_long,
24152        argp: *mut ::std::os::raw::c_void,
24153        unused: *mut CRYPTO_EX_unused,
24154        dup_unused: CRYPTO_EX_dup,
24155        free_func: CRYPTO_EX_free,
24156    ) -> ::std::os::raw::c_int;
24157}
24158extern "C" {
24159    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_ex_data"]
24160    pub fn X509_STORE_set_ex_data(
24161        ctx: *mut X509_STORE,
24162        idx: ::std::os::raw::c_int,
24163        data: *mut ::std::os::raw::c_void,
24164    ) -> ::std::os::raw::c_int;
24165}
24166extern "C" {
24167    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_get_ex_data"]
24168    pub fn X509_STORE_get_ex_data(
24169        ctx: *mut X509_STORE,
24170        idx: ::std::os::raw::c_int,
24171    ) -> *mut ::std::os::raw::c_void;
24172}
24173extern "C" {
24174    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_digest"]
24175    pub fn ASN1_digest(
24176        i2d: i2d_of_void,
24177        type_: *const EVP_MD,
24178        data: *mut ::std::os::raw::c_char,
24179        md: *mut ::std::os::raw::c_uchar,
24180        len: *mut ::std::os::raw::c_uint,
24181    ) -> ::std::os::raw::c_int;
24182}
24183extern "C" {
24184    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_digest"]
24185    pub fn ASN1_item_digest(
24186        it: *const ASN1_ITEM,
24187        type_: *const EVP_MD,
24188        data: *mut ::std::os::raw::c_void,
24189        md: *mut ::std::os::raw::c_uchar,
24190        len: *mut ::std::os::raw::c_uint,
24191    ) -> ::std::os::raw::c_int;
24192}
24193extern "C" {
24194    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_verify"]
24195    pub fn ASN1_item_verify(
24196        it: *const ASN1_ITEM,
24197        algor1: *const X509_ALGOR,
24198        signature: *const ASN1_BIT_STRING,
24199        data: *mut ::std::os::raw::c_void,
24200        pkey: *mut EVP_PKEY,
24201    ) -> ::std::os::raw::c_int;
24202}
24203extern "C" {
24204    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_sign"]
24205    pub fn ASN1_item_sign(
24206        it: *const ASN1_ITEM,
24207        algor1: *mut X509_ALGOR,
24208        algor2: *mut X509_ALGOR,
24209        signature: *mut ASN1_BIT_STRING,
24210        data: *mut ::std::os::raw::c_void,
24211        pkey: *mut EVP_PKEY,
24212        type_: *const EVP_MD,
24213    ) -> ::std::os::raw::c_int;
24214}
24215extern "C" {
24216    #[link_name = "\u{1}aws_lc_0_30_0_ASN1_item_sign_ctx"]
24217    pub fn ASN1_item_sign_ctx(
24218        it: *const ASN1_ITEM,
24219        algor1: *mut X509_ALGOR,
24220        algor2: *mut X509_ALGOR,
24221        signature: *mut ASN1_BIT_STRING,
24222        asn: *mut ::std::os::raw::c_void,
24223        ctx: *mut EVP_MD_CTX,
24224    ) -> ::std::os::raw::c_int;
24225}
24226extern "C" {
24227    #[link_name = "\u{1}aws_lc_0_30_0_X509_supported_extension"]
24228    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
24229}
24230extern "C" {
24231    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_ca"]
24232    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
24233}
24234extern "C" {
24235    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_issued"]
24236    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
24237}
24238extern "C" {
24239    #[link_name = "\u{1}aws_lc_0_30_0_NAME_CONSTRAINTS_check"]
24240    pub fn NAME_CONSTRAINTS_check(
24241        x509: *mut X509,
24242        nc: *mut NAME_CONSTRAINTS,
24243    ) -> ::std::os::raw::c_int;
24244}
24245extern "C" {
24246    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_host"]
24247    pub fn X509_check_host(
24248        x509: *const X509,
24249        chk: *const ::std::os::raw::c_char,
24250        chklen: usize,
24251        flags: ::std::os::raw::c_uint,
24252        out_peername: *mut *mut ::std::os::raw::c_char,
24253    ) -> ::std::os::raw::c_int;
24254}
24255extern "C" {
24256    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_email"]
24257    pub fn X509_check_email(
24258        x509: *const X509,
24259        chk: *const ::std::os::raw::c_char,
24260        chklen: usize,
24261        flags: ::std::os::raw::c_uint,
24262    ) -> ::std::os::raw::c_int;
24263}
24264extern "C" {
24265    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_ip"]
24266    pub fn X509_check_ip(
24267        x509: *const X509,
24268        chk: *const u8,
24269        chklen: usize,
24270        flags: ::std::os::raw::c_uint,
24271    ) -> ::std::os::raw::c_int;
24272}
24273extern "C" {
24274    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_ip_asc"]
24275    pub fn X509_check_ip_asc(
24276        x509: *const X509,
24277        ipasc: *const ::std::os::raw::c_char,
24278        flags: ::std::os::raw::c_uint,
24279    ) -> ::std::os::raw::c_int;
24280}
24281extern "C" {
24282    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get1_issuer"]
24283    pub fn X509_STORE_CTX_get1_issuer(
24284        out_issuer: *mut *mut X509,
24285        ctx: *mut X509_STORE_CTX,
24286        x509: *mut X509,
24287    ) -> ::std::os::raw::c_int;
24288}
24289extern "C" {
24290    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_purpose"]
24291    pub fn X509_check_purpose(
24292        x509: *mut X509,
24293        purpose: ::std::os::raw::c_int,
24294        ca: ::std::os::raw::c_int,
24295    ) -> ::std::os::raw::c_int;
24296}
24297extern "C" {
24298    #[link_name = "\u{1}aws_lc_0_30_0_X509_check_trust"]
24299    pub fn X509_check_trust(
24300        x509: *mut X509,
24301        id: ::std::os::raw::c_int,
24302        flags: ::std::os::raw::c_int,
24303    ) -> ::std::os::raw::c_int;
24304}
24305#[repr(C)]
24306#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24307pub struct private_key_st {
24308    pub dec_pkey: *mut EVP_PKEY,
24309}
24310#[test]
24311fn bindgen_test_layout_private_key_st() {
24312    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
24313    let ptr = UNINIT.as_ptr();
24314    assert_eq!(
24315        ::std::mem::size_of::<private_key_st>(),
24316        8usize,
24317        concat!("Size of: ", stringify!(private_key_st))
24318    );
24319    assert_eq!(
24320        ::std::mem::align_of::<private_key_st>(),
24321        8usize,
24322        concat!("Alignment of ", stringify!(private_key_st))
24323    );
24324    assert_eq!(
24325        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
24326        0usize,
24327        concat!(
24328            "Offset of field: ",
24329            stringify!(private_key_st),
24330            "::",
24331            stringify!(dec_pkey)
24332        )
24333    );
24334}
24335impl Default for private_key_st {
24336    fn default() -> Self {
24337        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24338        unsafe {
24339            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24340            s.assume_init()
24341        }
24342    }
24343}
24344#[repr(C)]
24345#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24346pub struct X509_info_st {
24347    pub x509: *mut X509,
24348    pub crl: *mut X509_CRL,
24349    pub x_pkey: *mut X509_PKEY,
24350    pub enc_cipher: EVP_CIPHER_INFO,
24351    pub enc_len: ::std::os::raw::c_int,
24352    pub enc_data: *mut ::std::os::raw::c_char,
24353}
24354#[test]
24355fn bindgen_test_layout_X509_info_st() {
24356    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
24357    let ptr = UNINIT.as_ptr();
24358    assert_eq!(
24359        ::std::mem::size_of::<X509_info_st>(),
24360        64usize,
24361        concat!("Size of: ", stringify!(X509_info_st))
24362    );
24363    assert_eq!(
24364        ::std::mem::align_of::<X509_info_st>(),
24365        8usize,
24366        concat!("Alignment of ", stringify!(X509_info_st))
24367    );
24368    assert_eq!(
24369        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
24370        0usize,
24371        concat!(
24372            "Offset of field: ",
24373            stringify!(X509_info_st),
24374            "::",
24375            stringify!(x509)
24376        )
24377    );
24378    assert_eq!(
24379        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24380        8usize,
24381        concat!(
24382            "Offset of field: ",
24383            stringify!(X509_info_st),
24384            "::",
24385            stringify!(crl)
24386        )
24387    );
24388    assert_eq!(
24389        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
24390        16usize,
24391        concat!(
24392            "Offset of field: ",
24393            stringify!(X509_info_st),
24394            "::",
24395            stringify!(x_pkey)
24396        )
24397    );
24398    assert_eq!(
24399        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
24400        24usize,
24401        concat!(
24402            "Offset of field: ",
24403            stringify!(X509_info_st),
24404            "::",
24405            stringify!(enc_cipher)
24406        )
24407    );
24408    assert_eq!(
24409        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
24410        48usize,
24411        concat!(
24412            "Offset of field: ",
24413            stringify!(X509_info_st),
24414            "::",
24415            stringify!(enc_len)
24416        )
24417    );
24418    assert_eq!(
24419        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
24420        56usize,
24421        concat!(
24422            "Offset of field: ",
24423            stringify!(X509_info_st),
24424            "::",
24425            stringify!(enc_data)
24426        )
24427    );
24428}
24429impl Default for X509_info_st {
24430    fn default() -> Self {
24431        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24432        unsafe {
24433            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24434            s.assume_init()
24435        }
24436    }
24437}
24438#[repr(C)]
24439#[derive(Debug, Copy, Clone)]
24440pub struct stack_st_X509_INFO {
24441    _unused: [u8; 0],
24442}
24443pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
24444pub type sk_X509_INFO_copy_func =
24445    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
24446pub type sk_X509_INFO_cmp_func = ::std::option::Option<
24447    unsafe extern "C" fn(
24448        arg1: *const *const X509_INFO,
24449        arg2: *const *const X509_INFO,
24450    ) -> ::std::os::raw::c_int,
24451>;
24452pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
24453    unsafe extern "C" fn(
24454        arg1: *mut X509_INFO,
24455        arg2: *mut ::std::os::raw::c_void,
24456    ) -> ::std::os::raw::c_int,
24457>;
24458extern "C" {
24459    #[link_name = "\u{1}aws_lc_0_30_0_X509_INFO_free"]
24460    pub fn X509_INFO_free(info: *mut X509_INFO);
24461}
24462pub type X509V3_EXT_NEW =
24463    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
24464pub type X509V3_EXT_FREE =
24465    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
24466pub type X509V3_EXT_D2I = ::std::option::Option<
24467    unsafe extern "C" fn(
24468        ext: *mut ::std::os::raw::c_void,
24469        inp: *mut *const u8,
24470        len: ::std::os::raw::c_long,
24471    ) -> *mut ::std::os::raw::c_void,
24472>;
24473pub type X509V3_EXT_I2D = ::std::option::Option<
24474    unsafe extern "C" fn(
24475        ext: *mut ::std::os::raw::c_void,
24476        outp: *mut *mut u8,
24477    ) -> ::std::os::raw::c_int,
24478>;
24479pub type X509V3_EXT_I2V = ::std::option::Option<
24480    unsafe extern "C" fn(
24481        method: *const X509V3_EXT_METHOD,
24482        ext: *mut ::std::os::raw::c_void,
24483        extlist: *mut stack_st_CONF_VALUE,
24484    ) -> *mut stack_st_CONF_VALUE,
24485>;
24486pub type X509V3_EXT_V2I = ::std::option::Option<
24487    unsafe extern "C" fn(
24488        method: *const X509V3_EXT_METHOD,
24489        ctx: *const X509V3_CTX,
24490        values: *const stack_st_CONF_VALUE,
24491    ) -> *mut ::std::os::raw::c_void,
24492>;
24493pub type X509V3_EXT_I2S = ::std::option::Option<
24494    unsafe extern "C" fn(
24495        method: *const X509V3_EXT_METHOD,
24496        ext: *mut ::std::os::raw::c_void,
24497    ) -> *mut ::std::os::raw::c_char,
24498>;
24499pub type X509V3_EXT_S2I = ::std::option::Option<
24500    unsafe extern "C" fn(
24501        method: *const X509V3_EXT_METHOD,
24502        ctx: *const X509V3_CTX,
24503        str_: *const ::std::os::raw::c_char,
24504    ) -> *mut ::std::os::raw::c_void,
24505>;
24506pub type X509V3_EXT_I2R = ::std::option::Option<
24507    unsafe extern "C" fn(
24508        method: *const X509V3_EXT_METHOD,
24509        ext: *mut ::std::os::raw::c_void,
24510        out: *mut BIO,
24511        indent: ::std::os::raw::c_int,
24512    ) -> ::std::os::raw::c_int,
24513>;
24514pub type X509V3_EXT_R2I = ::std::option::Option<
24515    unsafe extern "C" fn(
24516        method: *const X509V3_EXT_METHOD,
24517        ctx: *const X509V3_CTX,
24518        str_: *const ::std::os::raw::c_char,
24519    ) -> *mut ::std::os::raw::c_void,
24520>;
24521#[repr(C)]
24522#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24523pub struct v3_ext_method {
24524    pub ext_nid: ::std::os::raw::c_int,
24525    pub ext_flags: ::std::os::raw::c_int,
24526    pub it: *const ASN1_ITEM_st,
24527    pub ext_new: X509V3_EXT_NEW,
24528    pub ext_free: X509V3_EXT_FREE,
24529    pub d2i: X509V3_EXT_D2I,
24530    pub i2d: X509V3_EXT_I2D,
24531    pub i2s: X509V3_EXT_I2S,
24532    pub s2i: X509V3_EXT_S2I,
24533    pub i2v: X509V3_EXT_I2V,
24534    pub v2i: X509V3_EXT_V2I,
24535    pub i2r: X509V3_EXT_I2R,
24536    pub r2i: X509V3_EXT_R2I,
24537    pub usr_data: *mut ::std::os::raw::c_void,
24538}
24539#[test]
24540fn bindgen_test_layout_v3_ext_method() {
24541    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
24542    let ptr = UNINIT.as_ptr();
24543    assert_eq!(
24544        ::std::mem::size_of::<v3_ext_method>(),
24545        104usize,
24546        concat!("Size of: ", stringify!(v3_ext_method))
24547    );
24548    assert_eq!(
24549        ::std::mem::align_of::<v3_ext_method>(),
24550        8usize,
24551        concat!("Alignment of ", stringify!(v3_ext_method))
24552    );
24553    assert_eq!(
24554        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
24555        0usize,
24556        concat!(
24557            "Offset of field: ",
24558            stringify!(v3_ext_method),
24559            "::",
24560            stringify!(ext_nid)
24561        )
24562    );
24563    assert_eq!(
24564        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
24565        4usize,
24566        concat!(
24567            "Offset of field: ",
24568            stringify!(v3_ext_method),
24569            "::",
24570            stringify!(ext_flags)
24571        )
24572    );
24573    assert_eq!(
24574        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
24575        8usize,
24576        concat!(
24577            "Offset of field: ",
24578            stringify!(v3_ext_method),
24579            "::",
24580            stringify!(it)
24581        )
24582    );
24583    assert_eq!(
24584        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
24585        16usize,
24586        concat!(
24587            "Offset of field: ",
24588            stringify!(v3_ext_method),
24589            "::",
24590            stringify!(ext_new)
24591        )
24592    );
24593    assert_eq!(
24594        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
24595        24usize,
24596        concat!(
24597            "Offset of field: ",
24598            stringify!(v3_ext_method),
24599            "::",
24600            stringify!(ext_free)
24601        )
24602    );
24603    assert_eq!(
24604        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
24605        32usize,
24606        concat!(
24607            "Offset of field: ",
24608            stringify!(v3_ext_method),
24609            "::",
24610            stringify!(d2i)
24611        )
24612    );
24613    assert_eq!(
24614        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
24615        40usize,
24616        concat!(
24617            "Offset of field: ",
24618            stringify!(v3_ext_method),
24619            "::",
24620            stringify!(i2d)
24621        )
24622    );
24623    assert_eq!(
24624        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
24625        48usize,
24626        concat!(
24627            "Offset of field: ",
24628            stringify!(v3_ext_method),
24629            "::",
24630            stringify!(i2s)
24631        )
24632    );
24633    assert_eq!(
24634        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
24635        56usize,
24636        concat!(
24637            "Offset of field: ",
24638            stringify!(v3_ext_method),
24639            "::",
24640            stringify!(s2i)
24641        )
24642    );
24643    assert_eq!(
24644        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
24645        64usize,
24646        concat!(
24647            "Offset of field: ",
24648            stringify!(v3_ext_method),
24649            "::",
24650            stringify!(i2v)
24651        )
24652    );
24653    assert_eq!(
24654        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
24655        72usize,
24656        concat!(
24657            "Offset of field: ",
24658            stringify!(v3_ext_method),
24659            "::",
24660            stringify!(v2i)
24661        )
24662    );
24663    assert_eq!(
24664        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
24665        80usize,
24666        concat!(
24667            "Offset of field: ",
24668            stringify!(v3_ext_method),
24669            "::",
24670            stringify!(i2r)
24671        )
24672    );
24673    assert_eq!(
24674        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
24675        88usize,
24676        concat!(
24677            "Offset of field: ",
24678            stringify!(v3_ext_method),
24679            "::",
24680            stringify!(r2i)
24681        )
24682    );
24683    assert_eq!(
24684        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24685        96usize,
24686        concat!(
24687            "Offset of field: ",
24688            stringify!(v3_ext_method),
24689            "::",
24690            stringify!(usr_data)
24691        )
24692    );
24693}
24694impl Default for v3_ext_method {
24695    fn default() -> Self {
24696        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24697        unsafe {
24698            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24699            s.assume_init()
24700        }
24701    }
24702}
24703extern "C" {
24704    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_get"]
24705    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
24706}
24707extern "C" {
24708    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_get_nid"]
24709    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
24710}
24711extern "C" {
24712    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_add"]
24713    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
24714}
24715extern "C" {
24716    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_add_alias"]
24717    pub fn X509V3_EXT_add_alias(
24718        nid_to: ::std::os::raw::c_int,
24719        nid_from: ::std::os::raw::c_int,
24720    ) -> ::std::os::raw::c_int;
24721}
24722#[repr(C)]
24723#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24724pub struct v3_ext_ctx {
24725    pub flags: ::std::os::raw::c_int,
24726    pub issuer_cert: *const X509,
24727    pub subject_cert: *const X509,
24728    pub subject_req: *const X509_REQ,
24729    pub crl: *const X509_CRL,
24730    pub db: *const CONF,
24731}
24732#[test]
24733fn bindgen_test_layout_v3_ext_ctx() {
24734    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
24735    let ptr = UNINIT.as_ptr();
24736    assert_eq!(
24737        ::std::mem::size_of::<v3_ext_ctx>(),
24738        48usize,
24739        concat!("Size of: ", stringify!(v3_ext_ctx))
24740    );
24741    assert_eq!(
24742        ::std::mem::align_of::<v3_ext_ctx>(),
24743        8usize,
24744        concat!("Alignment of ", stringify!(v3_ext_ctx))
24745    );
24746    assert_eq!(
24747        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24748        0usize,
24749        concat!(
24750            "Offset of field: ",
24751            stringify!(v3_ext_ctx),
24752            "::",
24753            stringify!(flags)
24754        )
24755    );
24756    assert_eq!(
24757        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
24758        8usize,
24759        concat!(
24760            "Offset of field: ",
24761            stringify!(v3_ext_ctx),
24762            "::",
24763            stringify!(issuer_cert)
24764        )
24765    );
24766    assert_eq!(
24767        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
24768        16usize,
24769        concat!(
24770            "Offset of field: ",
24771            stringify!(v3_ext_ctx),
24772            "::",
24773            stringify!(subject_cert)
24774        )
24775    );
24776    assert_eq!(
24777        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
24778        24usize,
24779        concat!(
24780            "Offset of field: ",
24781            stringify!(v3_ext_ctx),
24782            "::",
24783            stringify!(subject_req)
24784        )
24785    );
24786    assert_eq!(
24787        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24788        32usize,
24789        concat!(
24790            "Offset of field: ",
24791            stringify!(v3_ext_ctx),
24792            "::",
24793            stringify!(crl)
24794        )
24795    );
24796    assert_eq!(
24797        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
24798        40usize,
24799        concat!(
24800            "Offset of field: ",
24801            stringify!(v3_ext_ctx),
24802            "::",
24803            stringify!(db)
24804        )
24805    );
24806}
24807impl Default for v3_ext_ctx {
24808    fn default() -> Self {
24809        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24810        unsafe {
24811            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24812            s.assume_init()
24813        }
24814    }
24815}
24816extern "C" {
24817    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_set_ctx"]
24818    pub fn X509V3_set_ctx(
24819        ctx: *mut X509V3_CTX,
24820        issuer: *const X509,
24821        subject: *const X509,
24822        req: *const X509_REQ,
24823        crl: *const X509_CRL,
24824        flags: ::std::os::raw::c_int,
24825    );
24826}
24827extern "C" {
24828    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_set_nconf"]
24829    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
24830}
24831extern "C" {
24832    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_nconf"]
24833    pub fn X509V3_EXT_nconf(
24834        conf: *const CONF,
24835        ctx: *const X509V3_CTX,
24836        name: *const ::std::os::raw::c_char,
24837        value: *const ::std::os::raw::c_char,
24838    ) -> *mut X509_EXTENSION;
24839}
24840extern "C" {
24841    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_nconf_nid"]
24842    pub fn X509V3_EXT_nconf_nid(
24843        conf: *const CONF,
24844        ctx: *const X509V3_CTX,
24845        ext_nid: ::std::os::raw::c_int,
24846        value: *const ::std::os::raw::c_char,
24847    ) -> *mut X509_EXTENSION;
24848}
24849extern "C" {
24850    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_conf_nid"]
24851    pub fn X509V3_EXT_conf_nid(
24852        conf: *mut lhash_st_CONF_VALUE,
24853        ctx: *const X509V3_CTX,
24854        ext_nid: ::std::os::raw::c_int,
24855        value: *const ::std::os::raw::c_char,
24856    ) -> *mut X509_EXTENSION;
24857}
24858extern "C" {
24859    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_add_nconf_sk"]
24860    pub fn X509V3_EXT_add_nconf_sk(
24861        conf: *const CONF,
24862        ctx: *const X509V3_CTX,
24863        section: *const ::std::os::raw::c_char,
24864        sk: *mut *mut stack_st_X509_EXTENSION,
24865    ) -> ::std::os::raw::c_int;
24866}
24867extern "C" {
24868    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_add_nconf"]
24869    pub fn X509V3_EXT_add_nconf(
24870        conf: *const CONF,
24871        ctx: *const X509V3_CTX,
24872        section: *const ::std::os::raw::c_char,
24873        cert: *mut X509,
24874    ) -> ::std::os::raw::c_int;
24875}
24876extern "C" {
24877    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_REQ_add_nconf"]
24878    pub fn X509V3_EXT_REQ_add_nconf(
24879        conf: *const CONF,
24880        ctx: *const X509V3_CTX,
24881        section: *const ::std::os::raw::c_char,
24882        req: *mut X509_REQ,
24883    ) -> ::std::os::raw::c_int;
24884}
24885extern "C" {
24886    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_CRL_add_nconf"]
24887    pub fn X509V3_EXT_CRL_add_nconf(
24888        conf: *const CONF,
24889        ctx: *const X509V3_CTX,
24890        section: *const ::std::os::raw::c_char,
24891        crl: *mut X509_CRL,
24892    ) -> ::std::os::raw::c_int;
24893}
24894extern "C" {
24895    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_EXT_conf"]
24896    pub fn X509V3_EXT_conf(
24897        conf: *mut lhash_st_CONF_VALUE,
24898        ctx: *mut X509V3_CTX,
24899        name: *const ::std::os::raw::c_char,
24900        value: *const ::std::os::raw::c_char,
24901    ) -> *mut X509_EXTENSION;
24902}
24903extern "C" {
24904    #[link_name = "\u{1}aws_lc_0_30_0_i2s_ASN1_OCTET_STRING"]
24905    pub fn i2s_ASN1_OCTET_STRING(
24906        method: *const X509V3_EXT_METHOD,
24907        oct: *const ASN1_OCTET_STRING,
24908    ) -> *mut ::std::os::raw::c_char;
24909}
24910extern "C" {
24911    #[link_name = "\u{1}aws_lc_0_30_0_s2i_ASN1_OCTET_STRING"]
24912    pub fn s2i_ASN1_OCTET_STRING(
24913        method: *const X509V3_EXT_METHOD,
24914        ctx: *const X509V3_CTX,
24915        str_: *const ::std::os::raw::c_char,
24916    ) -> *mut ASN1_OCTET_STRING;
24917}
24918extern "C" {
24919    #[link_name = "\u{1}aws_lc_0_30_0_i2s_ASN1_INTEGER"]
24920    pub fn i2s_ASN1_INTEGER(
24921        method: *const X509V3_EXT_METHOD,
24922        aint: *const ASN1_INTEGER,
24923    ) -> *mut ::std::os::raw::c_char;
24924}
24925extern "C" {
24926    #[link_name = "\u{1}aws_lc_0_30_0_s2i_ASN1_INTEGER"]
24927    pub fn s2i_ASN1_INTEGER(
24928        method: *const X509V3_EXT_METHOD,
24929        value: *const ::std::os::raw::c_char,
24930    ) -> *mut ASN1_INTEGER;
24931}
24932extern "C" {
24933    #[link_name = "\u{1}aws_lc_0_30_0_i2s_ASN1_ENUMERATED"]
24934    pub fn i2s_ASN1_ENUMERATED(
24935        method: *const X509V3_EXT_METHOD,
24936        aint: *const ASN1_ENUMERATED,
24937    ) -> *mut ::std::os::raw::c_char;
24938}
24939extern "C" {
24940    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_conf_free"]
24941    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
24942}
24943extern "C" {
24944    #[link_name = "\u{1}aws_lc_0_30_0_i2v_GENERAL_NAME"]
24945    pub fn i2v_GENERAL_NAME(
24946        method: *const X509V3_EXT_METHOD,
24947        gen: *const GENERAL_NAME,
24948        ret: *mut stack_st_CONF_VALUE,
24949    ) -> *mut stack_st_CONF_VALUE;
24950}
24951extern "C" {
24952    #[link_name = "\u{1}aws_lc_0_30_0_i2v_GENERAL_NAMES"]
24953    pub fn i2v_GENERAL_NAMES(
24954        method: *const X509V3_EXT_METHOD,
24955        gen: *const GENERAL_NAMES,
24956        extlist: *mut stack_st_CONF_VALUE,
24957    ) -> *mut stack_st_CONF_VALUE;
24958}
24959extern "C" {
24960    #[link_name = "\u{1}aws_lc_0_30_0_a2i_IPADDRESS"]
24961    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24962}
24963extern "C" {
24964    #[link_name = "\u{1}aws_lc_0_30_0_a2i_IPADDRESS_NC"]
24965    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24966}
24967extern "C" {
24968    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_notBefore"]
24969    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
24970}
24971extern "C" {
24972    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_notAfter"]
24973    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
24974}
24975extern "C" {
24976    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_notBefore"]
24977    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24978}
24979extern "C" {
24980    #[link_name = "\u{1}aws_lc_0_30_0_X509_set_notAfter"]
24981    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24982}
24983extern "C" {
24984    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_lastUpdate"]
24985    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24986}
24987extern "C" {
24988    #[link_name = "\u{1}aws_lc_0_30_0_X509_CRL_get_nextUpdate"]
24989    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24990}
24991extern "C" {
24992    #[link_name = "\u{1}aws_lc_0_30_0_X509_get_serialNumber"]
24993    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
24994}
24995extern "C" {
24996    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get_text_by_OBJ"]
24997    pub fn X509_NAME_get_text_by_OBJ(
24998        name: *const X509_NAME,
24999        obj: *const ASN1_OBJECT,
25000        buf: *mut ::std::os::raw::c_char,
25001        len: ::std::os::raw::c_int,
25002    ) -> ::std::os::raw::c_int;
25003}
25004extern "C" {
25005    #[link_name = "\u{1}aws_lc_0_30_0_X509_NAME_get_text_by_NID"]
25006    pub fn X509_NAME_get_text_by_NID(
25007        name: *const X509_NAME,
25008        nid: ::std::os::raw::c_int,
25009        buf: *mut ::std::os::raw::c_char,
25010        len: ::std::os::raw::c_int,
25011    ) -> ::std::os::raw::c_int;
25012}
25013extern "C" {
25014    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get0_parent_ctx"]
25015    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
25016}
25017extern "C" {
25018    #[link_name = "\u{1}aws_lc_0_30_0_X509_LOOKUP_free"]
25019    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
25020}
25021extern "C" {
25022    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_cleanup"]
25023    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
25024}
25025extern "C" {
25026    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_add_standard_extensions"]
25027    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
25028}
25029extern "C" {
25030    #[link_name = "\u{1}aws_lc_0_30_0_X509V3_parse_list"]
25031    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
25032}
25033extern "C" {
25034    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_chain"]
25035    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
25036}
25037extern "C" {
25038    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_trusted_stack"]
25039    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
25040}
25041pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
25042    unsafe extern "C" fn(
25043        arg1: ::std::os::raw::c_int,
25044        arg2: *mut X509_STORE_CTX,
25045    ) -> ::std::os::raw::c_int,
25046>;
25047extern "C" {
25048    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_verify_cb"]
25049    pub fn X509_STORE_CTX_set_verify_cb(
25050        ctx: *mut X509_STORE_CTX,
25051        verify_cb: ::std::option::Option<
25052            unsafe extern "C" fn(
25053                ok: ::std::os::raw::c_int,
25054                ctx: *mut X509_STORE_CTX,
25055            ) -> ::std::os::raw::c_int,
25056        >,
25057    );
25058}
25059extern "C" {
25060    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_verify_cb"]
25061    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
25062}
25063pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
25064    unsafe extern "C" fn(
25065        ctx: *mut X509_STORE_CTX,
25066        crl: *mut *mut X509_CRL,
25067        x: *mut X509,
25068    ) -> ::std::os::raw::c_int,
25069>;
25070pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
25071    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
25072>;
25073extern "C" {
25074    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_get_crl"]
25075    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
25076}
25077extern "C" {
25078    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_set_check_crl"]
25079    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
25080}
25081extern "C" {
25082    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set_chain"]
25083    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
25084}
25085extern "C" {
25086    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_set0_untrusted"]
25087    pub fn X509_STORE_CTX_set0_untrusted(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
25088}
25089#[repr(C)]
25090#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25091pub struct x509_purpose_st {
25092    pub purpose: ::std::os::raw::c_int,
25093    pub trust: ::std::os::raw::c_int,
25094    pub flags: ::std::os::raw::c_int,
25095    pub check_purpose: ::std::option::Option<
25096        unsafe extern "C" fn(
25097            arg1: *const x509_purpose_st,
25098            arg2: *const X509,
25099            arg3: ::std::os::raw::c_int,
25100        ) -> ::std::os::raw::c_int,
25101    >,
25102    pub name: *mut ::std::os::raw::c_char,
25103    pub sname: *mut ::std::os::raw::c_char,
25104    pub usr_data: *mut ::std::os::raw::c_void,
25105}
25106#[test]
25107fn bindgen_test_layout_x509_purpose_st() {
25108    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
25109    let ptr = UNINIT.as_ptr();
25110    assert_eq!(
25111        ::std::mem::size_of::<x509_purpose_st>(),
25112        48usize,
25113        concat!("Size of: ", stringify!(x509_purpose_st))
25114    );
25115    assert_eq!(
25116        ::std::mem::align_of::<x509_purpose_st>(),
25117        8usize,
25118        concat!("Alignment of ", stringify!(x509_purpose_st))
25119    );
25120    assert_eq!(
25121        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
25122        0usize,
25123        concat!(
25124            "Offset of field: ",
25125            stringify!(x509_purpose_st),
25126            "::",
25127            stringify!(purpose)
25128        )
25129    );
25130    assert_eq!(
25131        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
25132        4usize,
25133        concat!(
25134            "Offset of field: ",
25135            stringify!(x509_purpose_st),
25136            "::",
25137            stringify!(trust)
25138        )
25139    );
25140    assert_eq!(
25141        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25142        8usize,
25143        concat!(
25144            "Offset of field: ",
25145            stringify!(x509_purpose_st),
25146            "::",
25147            stringify!(flags)
25148        )
25149    );
25150    assert_eq!(
25151        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
25152        16usize,
25153        concat!(
25154            "Offset of field: ",
25155            stringify!(x509_purpose_st),
25156            "::",
25157            stringify!(check_purpose)
25158        )
25159    );
25160    assert_eq!(
25161        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25162        24usize,
25163        concat!(
25164            "Offset of field: ",
25165            stringify!(x509_purpose_st),
25166            "::",
25167            stringify!(name)
25168        )
25169    );
25170    assert_eq!(
25171        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
25172        32usize,
25173        concat!(
25174            "Offset of field: ",
25175            stringify!(x509_purpose_st),
25176            "::",
25177            stringify!(sname)
25178        )
25179    );
25180    assert_eq!(
25181        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
25182        40usize,
25183        concat!(
25184            "Offset of field: ",
25185            stringify!(x509_purpose_st),
25186            "::",
25187            stringify!(usr_data)
25188        )
25189    );
25190}
25191impl Default for x509_purpose_st {
25192    fn default() -> Self {
25193        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25194        unsafe {
25195            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25196            s.assume_init()
25197        }
25198    }
25199}
25200pub type X509_PURPOSE = x509_purpose_st;
25201#[repr(C)]
25202#[derive(Debug, Copy, Clone)]
25203pub struct stack_st_X509_PURPOSE {
25204    _unused: [u8; 0],
25205}
25206pub type sk_X509_PURPOSE_free_func =
25207    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
25208pub type sk_X509_PURPOSE_copy_func =
25209    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
25210pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
25211    unsafe extern "C" fn(
25212        arg1: *const *const X509_PURPOSE,
25213        arg2: *const *const X509_PURPOSE,
25214    ) -> ::std::os::raw::c_int,
25215>;
25216pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
25217    unsafe extern "C" fn(
25218        arg1: *mut X509_PURPOSE,
25219        arg2: *mut ::std::os::raw::c_void,
25220    ) -> ::std::os::raw::c_int,
25221>;
25222extern "C" {
25223    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_get0_objects"]
25224    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
25225}
25226extern "C" {
25227    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get_by_sname"]
25228    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
25229        -> ::std::os::raw::c_int;
25230}
25231extern "C" {
25232    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get0"]
25233    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
25234}
25235extern "C" {
25236    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get_id"]
25237    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
25238}
25239#[repr(C)]
25240#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25241pub struct X509_algor_st {
25242    pub algorithm: *mut ASN1_OBJECT,
25243    pub parameter: *mut ASN1_TYPE,
25244}
25245#[test]
25246fn bindgen_test_layout_X509_algor_st() {
25247    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
25248    let ptr = UNINIT.as_ptr();
25249    assert_eq!(
25250        ::std::mem::size_of::<X509_algor_st>(),
25251        16usize,
25252        concat!("Size of: ", stringify!(X509_algor_st))
25253    );
25254    assert_eq!(
25255        ::std::mem::align_of::<X509_algor_st>(),
25256        8usize,
25257        concat!("Alignment of ", stringify!(X509_algor_st))
25258    );
25259    assert_eq!(
25260        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
25261        0usize,
25262        concat!(
25263            "Offset of field: ",
25264            stringify!(X509_algor_st),
25265            "::",
25266            stringify!(algorithm)
25267        )
25268    );
25269    assert_eq!(
25270        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
25271        8usize,
25272        concat!(
25273            "Offset of field: ",
25274            stringify!(X509_algor_st),
25275            "::",
25276            stringify!(parameter)
25277        )
25278    );
25279}
25280impl Default for X509_algor_st {
25281    fn default() -> Self {
25282        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25283        unsafe {
25284            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25285            s.assume_init()
25286        }
25287    }
25288}
25289#[repr(C)]
25290#[derive(Debug, Copy, Clone)]
25291pub struct stack_st_DIST_POINT {
25292    _unused: [u8; 0],
25293}
25294#[repr(C)]
25295#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25296pub struct x509_trust_st {
25297    pub trust: ::std::os::raw::c_int,
25298    pub flags: ::std::os::raw::c_int,
25299    pub check_trust: ::std::option::Option<
25300        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
25301    >,
25302    pub name: *mut ::std::os::raw::c_char,
25303    pub arg1: ::std::os::raw::c_int,
25304    pub arg2: *mut ::std::os::raw::c_void,
25305}
25306#[test]
25307fn bindgen_test_layout_x509_trust_st() {
25308    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
25309    let ptr = UNINIT.as_ptr();
25310    assert_eq!(
25311        ::std::mem::size_of::<x509_trust_st>(),
25312        40usize,
25313        concat!("Size of: ", stringify!(x509_trust_st))
25314    );
25315    assert_eq!(
25316        ::std::mem::align_of::<x509_trust_st>(),
25317        8usize,
25318        concat!("Alignment of ", stringify!(x509_trust_st))
25319    );
25320    assert_eq!(
25321        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
25322        0usize,
25323        concat!(
25324            "Offset of field: ",
25325            stringify!(x509_trust_st),
25326            "::",
25327            stringify!(trust)
25328        )
25329    );
25330    assert_eq!(
25331        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25332        4usize,
25333        concat!(
25334            "Offset of field: ",
25335            stringify!(x509_trust_st),
25336            "::",
25337            stringify!(flags)
25338        )
25339    );
25340    assert_eq!(
25341        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
25342        8usize,
25343        concat!(
25344            "Offset of field: ",
25345            stringify!(x509_trust_st),
25346            "::",
25347            stringify!(check_trust)
25348        )
25349    );
25350    assert_eq!(
25351        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25352        16usize,
25353        concat!(
25354            "Offset of field: ",
25355            stringify!(x509_trust_st),
25356            "::",
25357            stringify!(name)
25358        )
25359    );
25360    assert_eq!(
25361        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
25362        24usize,
25363        concat!(
25364            "Offset of field: ",
25365            stringify!(x509_trust_st),
25366            "::",
25367            stringify!(arg1)
25368        )
25369    );
25370    assert_eq!(
25371        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
25372        32usize,
25373        concat!(
25374            "Offset of field: ",
25375            stringify!(x509_trust_st),
25376            "::",
25377            stringify!(arg2)
25378        )
25379    );
25380}
25381impl Default for x509_trust_st {
25382    fn default() -> Self {
25383        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25384        unsafe {
25385            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25386            s.assume_init()
25387        }
25388    }
25389}
25390#[repr(C)]
25391#[derive(Debug, Copy, Clone)]
25392pub struct stack_st_X509_TRUST {
25393    _unused: [u8; 0],
25394}
25395pub type sk_X509_TRUST_free_func =
25396    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
25397pub type sk_X509_TRUST_copy_func =
25398    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
25399pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
25400    unsafe extern "C" fn(
25401        arg1: *const *const X509_TRUST,
25402        arg2: *const *const X509_TRUST,
25403    ) -> ::std::os::raw::c_int,
25404>;
25405pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
25406    unsafe extern "C" fn(
25407        arg1: *mut X509_TRUST,
25408        arg2: *mut ::std::os::raw::c_void,
25409    ) -> ::std::os::raw::c_int,
25410>;
25411extern "C" {
25412    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_set"]
25413    pub fn X509_TRUST_set(
25414        t: *mut ::std::os::raw::c_int,
25415        trust: ::std::os::raw::c_int,
25416    ) -> ::std::os::raw::c_int;
25417}
25418extern "C" {
25419    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get_count"]
25420    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
25421}
25422extern "C" {
25423    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get0"]
25424    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
25425}
25426extern "C" {
25427    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get_by_id"]
25428    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25429}
25430extern "C" {
25431    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get_flags"]
25432    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25433}
25434extern "C" {
25435    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get0_name"]
25436    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
25437}
25438extern "C" {
25439    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_get_trust"]
25440    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25441}
25442extern "C" {
25443    #[link_name = "\u{1}aws_lc_0_30_0_X509_TRUST_cleanup"]
25444    pub fn X509_TRUST_cleanup();
25445}
25446extern "C" {
25447    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_get0_X509_CRL"]
25448    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
25449}
25450extern "C" {
25451    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_set1_X509"]
25452    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
25453}
25454extern "C" {
25455    #[link_name = "\u{1}aws_lc_0_30_0_X509_OBJECT_set1_X509_CRL"]
25456    pub fn X509_OBJECT_set1_X509_CRL(
25457        a: *mut X509_OBJECT,
25458        obj: *mut X509_CRL,
25459    ) -> ::std::os::raw::c_int;
25460}
25461extern "C" {
25462    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_lock"]
25463    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25464}
25465extern "C" {
25466    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_unlock"]
25467    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25468}
25469extern "C" {
25470    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get1_certs"]
25471    pub fn X509_STORE_CTX_get1_certs(
25472        st: *mut X509_STORE_CTX,
25473        nm: *mut X509_NAME,
25474    ) -> *mut stack_st_X509;
25475}
25476extern "C" {
25477    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get1_crls"]
25478    pub fn X509_STORE_CTX_get1_crls(
25479        st: *mut X509_STORE_CTX,
25480        nm: *mut X509_NAME,
25481    ) -> *mut stack_st_X509_CRL;
25482}
25483extern "C" {
25484    #[link_name = "\u{1}aws_lc_0_30_0_X509_STORE_CTX_get_by_subject"]
25485    pub fn X509_STORE_CTX_get_by_subject(
25486        vs: *mut X509_STORE_CTX,
25487        type_: ::std::os::raw::c_int,
25488        name: *mut X509_NAME,
25489        ret: *mut X509_OBJECT,
25490    ) -> ::std::os::raw::c_int;
25491}
25492#[repr(C)]
25493#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25494pub struct BASIC_CONSTRAINTS_st {
25495    pub ca: ASN1_BOOLEAN,
25496    pub pathlen: *mut ASN1_INTEGER,
25497}
25498#[test]
25499fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
25500    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
25501    let ptr = UNINIT.as_ptr();
25502    assert_eq!(
25503        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
25504        16usize,
25505        concat!("Size of: ", stringify!(BASIC_CONSTRAINTS_st))
25506    );
25507    assert_eq!(
25508        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
25509        8usize,
25510        concat!("Alignment of ", stringify!(BASIC_CONSTRAINTS_st))
25511    );
25512    assert_eq!(
25513        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
25514        0usize,
25515        concat!(
25516            "Offset of field: ",
25517            stringify!(BASIC_CONSTRAINTS_st),
25518            "::",
25519            stringify!(ca)
25520        )
25521    );
25522    assert_eq!(
25523        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
25524        8usize,
25525        concat!(
25526            "Offset of field: ",
25527            stringify!(BASIC_CONSTRAINTS_st),
25528            "::",
25529            stringify!(pathlen)
25530        )
25531    );
25532}
25533impl Default for BASIC_CONSTRAINTS_st {
25534    fn default() -> Self {
25535        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25536        unsafe {
25537            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25538            s.assume_init()
25539        }
25540    }
25541}
25542#[repr(C)]
25543#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25544pub struct ACCESS_DESCRIPTION_st {
25545    pub method: *mut ASN1_OBJECT,
25546    pub location: *mut GENERAL_NAME,
25547}
25548#[test]
25549fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
25550    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
25551        ::std::mem::MaybeUninit::uninit();
25552    let ptr = UNINIT.as_ptr();
25553    assert_eq!(
25554        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
25555        16usize,
25556        concat!("Size of: ", stringify!(ACCESS_DESCRIPTION_st))
25557    );
25558    assert_eq!(
25559        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
25560        8usize,
25561        concat!("Alignment of ", stringify!(ACCESS_DESCRIPTION_st))
25562    );
25563    assert_eq!(
25564        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
25565        0usize,
25566        concat!(
25567            "Offset of field: ",
25568            stringify!(ACCESS_DESCRIPTION_st),
25569            "::",
25570            stringify!(method)
25571        )
25572    );
25573    assert_eq!(
25574        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
25575        8usize,
25576        concat!(
25577            "Offset of field: ",
25578            stringify!(ACCESS_DESCRIPTION_st),
25579            "::",
25580            stringify!(location)
25581        )
25582    );
25583}
25584impl Default for ACCESS_DESCRIPTION_st {
25585    fn default() -> Self {
25586        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25587        unsafe {
25588            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25589            s.assume_init()
25590        }
25591    }
25592}
25593pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
25594#[repr(C)]
25595#[derive(Debug, Copy, Clone)]
25596pub struct stack_st_ACCESS_DESCRIPTION {
25597    _unused: [u8; 0],
25598}
25599pub type sk_ACCESS_DESCRIPTION_free_func =
25600    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
25601pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
25602    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
25603>;
25604pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
25605    unsafe extern "C" fn(
25606        arg1: *const *const ACCESS_DESCRIPTION,
25607        arg2: *const *const ACCESS_DESCRIPTION,
25608    ) -> ::std::os::raw::c_int,
25609>;
25610pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
25611    unsafe extern "C" fn(
25612        arg1: *mut ACCESS_DESCRIPTION,
25613        arg2: *mut ::std::os::raw::c_void,
25614    ) -> ::std::os::raw::c_int,
25615>;
25616pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
25617pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
25618#[repr(C)]
25619#[derive(Copy, Clone)]
25620pub struct DIST_POINT_NAME_st {
25621    pub type_: ::std::os::raw::c_int,
25622    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
25623    pub dpname: *mut X509_NAME,
25624}
25625#[repr(C)]
25626#[derive(Copy, Clone)]
25627pub union DIST_POINT_NAME_st__bindgen_ty_1 {
25628    pub fullname: *mut GENERAL_NAMES,
25629    pub relativename: *mut stack_st_X509_NAME_ENTRY,
25630}
25631#[test]
25632fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
25633    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
25634        ::std::mem::MaybeUninit::uninit();
25635    let ptr = UNINIT.as_ptr();
25636    assert_eq!(
25637        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25638        8usize,
25639        concat!("Size of: ", stringify!(DIST_POINT_NAME_st__bindgen_ty_1))
25640    );
25641    assert_eq!(
25642        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25643        8usize,
25644        concat!(
25645            "Alignment of ",
25646            stringify!(DIST_POINT_NAME_st__bindgen_ty_1)
25647        )
25648    );
25649    assert_eq!(
25650        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
25651        0usize,
25652        concat!(
25653            "Offset of field: ",
25654            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25655            "::",
25656            stringify!(fullname)
25657        )
25658    );
25659    assert_eq!(
25660        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
25661        0usize,
25662        concat!(
25663            "Offset of field: ",
25664            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25665            "::",
25666            stringify!(relativename)
25667        )
25668    );
25669}
25670impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
25671    fn default() -> Self {
25672        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25673        unsafe {
25674            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25675            s.assume_init()
25676        }
25677    }
25678}
25679#[test]
25680fn bindgen_test_layout_DIST_POINT_NAME_st() {
25681    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
25682    let ptr = UNINIT.as_ptr();
25683    assert_eq!(
25684        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
25685        24usize,
25686        concat!("Size of: ", stringify!(DIST_POINT_NAME_st))
25687    );
25688    assert_eq!(
25689        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
25690        8usize,
25691        concat!("Alignment of ", stringify!(DIST_POINT_NAME_st))
25692    );
25693    assert_eq!(
25694        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25695        0usize,
25696        concat!(
25697            "Offset of field: ",
25698            stringify!(DIST_POINT_NAME_st),
25699            "::",
25700            stringify!(type_)
25701        )
25702    );
25703    assert_eq!(
25704        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25705        8usize,
25706        concat!(
25707            "Offset of field: ",
25708            stringify!(DIST_POINT_NAME_st),
25709            "::",
25710            stringify!(name)
25711        )
25712    );
25713    assert_eq!(
25714        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
25715        16usize,
25716        concat!(
25717            "Offset of field: ",
25718            stringify!(DIST_POINT_NAME_st),
25719            "::",
25720            stringify!(dpname)
25721        )
25722    );
25723}
25724impl Default for DIST_POINT_NAME_st {
25725    fn default() -> Self {
25726        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25727        unsafe {
25728            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25729            s.assume_init()
25730        }
25731    }
25732}
25733pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
25734#[repr(C)]
25735#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25736pub struct DIST_POINT_st {
25737    pub distpoint: *mut DIST_POINT_NAME,
25738    pub reasons: *mut ASN1_BIT_STRING,
25739    pub CRLissuer: *mut GENERAL_NAMES,
25740}
25741#[test]
25742fn bindgen_test_layout_DIST_POINT_st() {
25743    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
25744    let ptr = UNINIT.as_ptr();
25745    assert_eq!(
25746        ::std::mem::size_of::<DIST_POINT_st>(),
25747        24usize,
25748        concat!("Size of: ", stringify!(DIST_POINT_st))
25749    );
25750    assert_eq!(
25751        ::std::mem::align_of::<DIST_POINT_st>(),
25752        8usize,
25753        concat!("Alignment of ", stringify!(DIST_POINT_st))
25754    );
25755    assert_eq!(
25756        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
25757        0usize,
25758        concat!(
25759            "Offset of field: ",
25760            stringify!(DIST_POINT_st),
25761            "::",
25762            stringify!(distpoint)
25763        )
25764    );
25765    assert_eq!(
25766        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
25767        8usize,
25768        concat!(
25769            "Offset of field: ",
25770            stringify!(DIST_POINT_st),
25771            "::",
25772            stringify!(reasons)
25773        )
25774    );
25775    assert_eq!(
25776        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
25777        16usize,
25778        concat!(
25779            "Offset of field: ",
25780            stringify!(DIST_POINT_st),
25781            "::",
25782            stringify!(CRLissuer)
25783        )
25784    );
25785}
25786impl Default for DIST_POINT_st {
25787    fn default() -> Self {
25788        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25789        unsafe {
25790            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25791            s.assume_init()
25792        }
25793    }
25794}
25795pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
25796pub type sk_DIST_POINT_free_func =
25797    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
25798pub type sk_DIST_POINT_copy_func =
25799    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
25800pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
25801    unsafe extern "C" fn(
25802        arg1: *const *const DIST_POINT,
25803        arg2: *const *const DIST_POINT,
25804    ) -> ::std::os::raw::c_int,
25805>;
25806pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
25807    unsafe extern "C" fn(
25808        arg1: *mut DIST_POINT,
25809        arg2: *mut ::std::os::raw::c_void,
25810    ) -> ::std::os::raw::c_int,
25811>;
25812#[repr(C)]
25813#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25814pub struct AUTHORITY_KEYID_st {
25815    pub keyid: *mut ASN1_OCTET_STRING,
25816    pub issuer: *mut GENERAL_NAMES,
25817    pub serial: *mut ASN1_INTEGER,
25818}
25819#[test]
25820fn bindgen_test_layout_AUTHORITY_KEYID_st() {
25821    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
25822    let ptr = UNINIT.as_ptr();
25823    assert_eq!(
25824        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
25825        24usize,
25826        concat!("Size of: ", stringify!(AUTHORITY_KEYID_st))
25827    );
25828    assert_eq!(
25829        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
25830        8usize,
25831        concat!("Alignment of ", stringify!(AUTHORITY_KEYID_st))
25832    );
25833    assert_eq!(
25834        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
25835        0usize,
25836        concat!(
25837            "Offset of field: ",
25838            stringify!(AUTHORITY_KEYID_st),
25839            "::",
25840            stringify!(keyid)
25841        )
25842    );
25843    assert_eq!(
25844        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
25845        8usize,
25846        concat!(
25847            "Offset of field: ",
25848            stringify!(AUTHORITY_KEYID_st),
25849            "::",
25850            stringify!(issuer)
25851        )
25852    );
25853    assert_eq!(
25854        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
25855        16usize,
25856        concat!(
25857            "Offset of field: ",
25858            stringify!(AUTHORITY_KEYID_st),
25859            "::",
25860            stringify!(serial)
25861        )
25862    );
25863}
25864impl Default for AUTHORITY_KEYID_st {
25865    fn default() -> Self {
25866        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25867        unsafe {
25868            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25869            s.assume_init()
25870        }
25871    }
25872}
25873#[repr(C)]
25874#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25875pub struct NOTICEREF_st {
25876    pub organization: *mut ASN1_STRING,
25877    pub noticenos: *mut stack_st_ASN1_INTEGER,
25878}
25879#[test]
25880fn bindgen_test_layout_NOTICEREF_st() {
25881    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
25882    let ptr = UNINIT.as_ptr();
25883    assert_eq!(
25884        ::std::mem::size_of::<NOTICEREF_st>(),
25885        16usize,
25886        concat!("Size of: ", stringify!(NOTICEREF_st))
25887    );
25888    assert_eq!(
25889        ::std::mem::align_of::<NOTICEREF_st>(),
25890        8usize,
25891        concat!("Alignment of ", stringify!(NOTICEREF_st))
25892    );
25893    assert_eq!(
25894        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
25895        0usize,
25896        concat!(
25897            "Offset of field: ",
25898            stringify!(NOTICEREF_st),
25899            "::",
25900            stringify!(organization)
25901        )
25902    );
25903    assert_eq!(
25904        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
25905        8usize,
25906        concat!(
25907            "Offset of field: ",
25908            stringify!(NOTICEREF_st),
25909            "::",
25910            stringify!(noticenos)
25911        )
25912    );
25913}
25914impl Default for NOTICEREF_st {
25915    fn default() -> Self {
25916        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25917        unsafe {
25918            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25919            s.assume_init()
25920        }
25921    }
25922}
25923pub type NOTICEREF = NOTICEREF_st;
25924#[repr(C)]
25925#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25926pub struct USERNOTICE_st {
25927    pub noticeref: *mut NOTICEREF,
25928    pub exptext: *mut ASN1_STRING,
25929}
25930#[test]
25931fn bindgen_test_layout_USERNOTICE_st() {
25932    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
25933    let ptr = UNINIT.as_ptr();
25934    assert_eq!(
25935        ::std::mem::size_of::<USERNOTICE_st>(),
25936        16usize,
25937        concat!("Size of: ", stringify!(USERNOTICE_st))
25938    );
25939    assert_eq!(
25940        ::std::mem::align_of::<USERNOTICE_st>(),
25941        8usize,
25942        concat!("Alignment of ", stringify!(USERNOTICE_st))
25943    );
25944    assert_eq!(
25945        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
25946        0usize,
25947        concat!(
25948            "Offset of field: ",
25949            stringify!(USERNOTICE_st),
25950            "::",
25951            stringify!(noticeref)
25952        )
25953    );
25954    assert_eq!(
25955        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
25956        8usize,
25957        concat!(
25958            "Offset of field: ",
25959            stringify!(USERNOTICE_st),
25960            "::",
25961            stringify!(exptext)
25962        )
25963    );
25964}
25965impl Default for USERNOTICE_st {
25966    fn default() -> Self {
25967        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25968        unsafe {
25969            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25970            s.assume_init()
25971        }
25972    }
25973}
25974pub type USERNOTICE = USERNOTICE_st;
25975#[repr(C)]
25976#[derive(Copy, Clone)]
25977pub struct POLICYQUALINFO_st {
25978    pub pqualid: *mut ASN1_OBJECT,
25979    pub d: POLICYQUALINFO_st__bindgen_ty_1,
25980}
25981#[repr(C)]
25982#[derive(Copy, Clone)]
25983pub union POLICYQUALINFO_st__bindgen_ty_1 {
25984    pub cpsuri: *mut ASN1_IA5STRING,
25985    pub usernotice: *mut USERNOTICE,
25986    pub other: *mut ASN1_TYPE,
25987}
25988#[test]
25989fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
25990    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
25991        ::std::mem::MaybeUninit::uninit();
25992    let ptr = UNINIT.as_ptr();
25993    assert_eq!(
25994        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
25995        8usize,
25996        concat!("Size of: ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
25997    );
25998    assert_eq!(
25999        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
26000        8usize,
26001        concat!("Alignment of ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
26002    );
26003    assert_eq!(
26004        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
26005        0usize,
26006        concat!(
26007            "Offset of field: ",
26008            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
26009            "::",
26010            stringify!(cpsuri)
26011        )
26012    );
26013    assert_eq!(
26014        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
26015        0usize,
26016        concat!(
26017            "Offset of field: ",
26018            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
26019            "::",
26020            stringify!(usernotice)
26021        )
26022    );
26023    assert_eq!(
26024        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
26025        0usize,
26026        concat!(
26027            "Offset of field: ",
26028            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
26029            "::",
26030            stringify!(other)
26031        )
26032    );
26033}
26034impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
26035    fn default() -> Self {
26036        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26037        unsafe {
26038            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26039            s.assume_init()
26040        }
26041    }
26042}
26043#[test]
26044fn bindgen_test_layout_POLICYQUALINFO_st() {
26045    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
26046    let ptr = UNINIT.as_ptr();
26047    assert_eq!(
26048        ::std::mem::size_of::<POLICYQUALINFO_st>(),
26049        16usize,
26050        concat!("Size of: ", stringify!(POLICYQUALINFO_st))
26051    );
26052    assert_eq!(
26053        ::std::mem::align_of::<POLICYQUALINFO_st>(),
26054        8usize,
26055        concat!("Alignment of ", stringify!(POLICYQUALINFO_st))
26056    );
26057    assert_eq!(
26058        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
26059        0usize,
26060        concat!(
26061            "Offset of field: ",
26062            stringify!(POLICYQUALINFO_st),
26063            "::",
26064            stringify!(pqualid)
26065        )
26066    );
26067    assert_eq!(
26068        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
26069        8usize,
26070        concat!(
26071            "Offset of field: ",
26072            stringify!(POLICYQUALINFO_st),
26073            "::",
26074            stringify!(d)
26075        )
26076    );
26077}
26078impl Default for POLICYQUALINFO_st {
26079    fn default() -> Self {
26080        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26081        unsafe {
26082            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26083            s.assume_init()
26084        }
26085    }
26086}
26087pub type POLICYQUALINFO = POLICYQUALINFO_st;
26088#[repr(C)]
26089#[derive(Debug, Copy, Clone)]
26090pub struct stack_st_POLICYQUALINFO {
26091    _unused: [u8; 0],
26092}
26093pub type sk_POLICYQUALINFO_free_func =
26094    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
26095pub type sk_POLICYQUALINFO_copy_func =
26096    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
26097pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
26098    unsafe extern "C" fn(
26099        arg1: *const *const POLICYQUALINFO,
26100        arg2: *const *const POLICYQUALINFO,
26101    ) -> ::std::os::raw::c_int,
26102>;
26103pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
26104    unsafe extern "C" fn(
26105        arg1: *mut POLICYQUALINFO,
26106        arg2: *mut ::std::os::raw::c_void,
26107    ) -> ::std::os::raw::c_int,
26108>;
26109#[repr(C)]
26110#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26111pub struct POLICYINFO_st {
26112    pub policyid: *mut ASN1_OBJECT,
26113    pub qualifiers: *mut stack_st_POLICYQUALINFO,
26114}
26115#[test]
26116fn bindgen_test_layout_POLICYINFO_st() {
26117    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
26118    let ptr = UNINIT.as_ptr();
26119    assert_eq!(
26120        ::std::mem::size_of::<POLICYINFO_st>(),
26121        16usize,
26122        concat!("Size of: ", stringify!(POLICYINFO_st))
26123    );
26124    assert_eq!(
26125        ::std::mem::align_of::<POLICYINFO_st>(),
26126        8usize,
26127        concat!("Alignment of ", stringify!(POLICYINFO_st))
26128    );
26129    assert_eq!(
26130        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
26131        0usize,
26132        concat!(
26133            "Offset of field: ",
26134            stringify!(POLICYINFO_st),
26135            "::",
26136            stringify!(policyid)
26137        )
26138    );
26139    assert_eq!(
26140        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
26141        8usize,
26142        concat!(
26143            "Offset of field: ",
26144            stringify!(POLICYINFO_st),
26145            "::",
26146            stringify!(qualifiers)
26147        )
26148    );
26149}
26150impl Default for POLICYINFO_st {
26151    fn default() -> Self {
26152        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26153        unsafe {
26154            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26155            s.assume_init()
26156        }
26157    }
26158}
26159pub type POLICYINFO = POLICYINFO_st;
26160#[repr(C)]
26161#[derive(Debug, Copy, Clone)]
26162pub struct stack_st_POLICYINFO {
26163    _unused: [u8; 0],
26164}
26165pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
26166pub type sk_POLICYINFO_free_func =
26167    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
26168pub type sk_POLICYINFO_copy_func =
26169    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
26170pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
26171    unsafe extern "C" fn(
26172        arg1: *const *const POLICYINFO,
26173        arg2: *const *const POLICYINFO,
26174    ) -> ::std::os::raw::c_int,
26175>;
26176pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
26177    unsafe extern "C" fn(
26178        arg1: *mut POLICYINFO,
26179        arg2: *mut ::std::os::raw::c_void,
26180    ) -> ::std::os::raw::c_int,
26181>;
26182#[repr(C)]
26183#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26184pub struct POLICY_MAPPING_st {
26185    pub issuerDomainPolicy: *mut ASN1_OBJECT,
26186    pub subjectDomainPolicy: *mut ASN1_OBJECT,
26187}
26188#[test]
26189fn bindgen_test_layout_POLICY_MAPPING_st() {
26190    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
26191    let ptr = UNINIT.as_ptr();
26192    assert_eq!(
26193        ::std::mem::size_of::<POLICY_MAPPING_st>(),
26194        16usize,
26195        concat!("Size of: ", stringify!(POLICY_MAPPING_st))
26196    );
26197    assert_eq!(
26198        ::std::mem::align_of::<POLICY_MAPPING_st>(),
26199        8usize,
26200        concat!("Alignment of ", stringify!(POLICY_MAPPING_st))
26201    );
26202    assert_eq!(
26203        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
26204        0usize,
26205        concat!(
26206            "Offset of field: ",
26207            stringify!(POLICY_MAPPING_st),
26208            "::",
26209            stringify!(issuerDomainPolicy)
26210        )
26211    );
26212    assert_eq!(
26213        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
26214        8usize,
26215        concat!(
26216            "Offset of field: ",
26217            stringify!(POLICY_MAPPING_st),
26218            "::",
26219            stringify!(subjectDomainPolicy)
26220        )
26221    );
26222}
26223impl Default for POLICY_MAPPING_st {
26224    fn default() -> Self {
26225        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26226        unsafe {
26227            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26228            s.assume_init()
26229        }
26230    }
26231}
26232pub type POLICY_MAPPING = POLICY_MAPPING_st;
26233#[repr(C)]
26234#[derive(Debug, Copy, Clone)]
26235pub struct stack_st_POLICY_MAPPING {
26236    _unused: [u8; 0],
26237}
26238pub type sk_POLICY_MAPPING_free_func =
26239    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
26240pub type sk_POLICY_MAPPING_copy_func =
26241    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
26242pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
26243    unsafe extern "C" fn(
26244        arg1: *const *const POLICY_MAPPING,
26245        arg2: *const *const POLICY_MAPPING,
26246    ) -> ::std::os::raw::c_int,
26247>;
26248pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
26249    unsafe extern "C" fn(
26250        arg1: *mut POLICY_MAPPING,
26251        arg2: *mut ::std::os::raw::c_void,
26252    ) -> ::std::os::raw::c_int,
26253>;
26254pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
26255#[repr(C)]
26256#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26257pub struct GENERAL_SUBTREE_st {
26258    pub base: *mut GENERAL_NAME,
26259    pub minimum: *mut ASN1_INTEGER,
26260    pub maximum: *mut ASN1_INTEGER,
26261}
26262#[test]
26263fn bindgen_test_layout_GENERAL_SUBTREE_st() {
26264    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
26265    let ptr = UNINIT.as_ptr();
26266    assert_eq!(
26267        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
26268        24usize,
26269        concat!("Size of: ", stringify!(GENERAL_SUBTREE_st))
26270    );
26271    assert_eq!(
26272        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
26273        8usize,
26274        concat!("Alignment of ", stringify!(GENERAL_SUBTREE_st))
26275    );
26276    assert_eq!(
26277        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
26278        0usize,
26279        concat!(
26280            "Offset of field: ",
26281            stringify!(GENERAL_SUBTREE_st),
26282            "::",
26283            stringify!(base)
26284        )
26285    );
26286    assert_eq!(
26287        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
26288        8usize,
26289        concat!(
26290            "Offset of field: ",
26291            stringify!(GENERAL_SUBTREE_st),
26292            "::",
26293            stringify!(minimum)
26294        )
26295    );
26296    assert_eq!(
26297        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
26298        16usize,
26299        concat!(
26300            "Offset of field: ",
26301            stringify!(GENERAL_SUBTREE_st),
26302            "::",
26303            stringify!(maximum)
26304        )
26305    );
26306}
26307impl Default for GENERAL_SUBTREE_st {
26308    fn default() -> Self {
26309        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26310        unsafe {
26311            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26312            s.assume_init()
26313        }
26314    }
26315}
26316pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
26317#[repr(C)]
26318#[derive(Debug, Copy, Clone)]
26319pub struct stack_st_GENERAL_SUBTREE {
26320    _unused: [u8; 0],
26321}
26322pub type sk_GENERAL_SUBTREE_free_func =
26323    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
26324pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
26325    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
26326>;
26327pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
26328    unsafe extern "C" fn(
26329        arg1: *const *const GENERAL_SUBTREE,
26330        arg2: *const *const GENERAL_SUBTREE,
26331    ) -> ::std::os::raw::c_int,
26332>;
26333pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
26334    unsafe extern "C" fn(
26335        arg1: *mut GENERAL_SUBTREE,
26336        arg2: *mut ::std::os::raw::c_void,
26337    ) -> ::std::os::raw::c_int,
26338>;
26339#[repr(C)]
26340#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26341pub struct NAME_CONSTRAINTS_st {
26342    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26343    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26344}
26345#[test]
26346fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
26347    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
26348    let ptr = UNINIT.as_ptr();
26349    assert_eq!(
26350        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
26351        16usize,
26352        concat!("Size of: ", stringify!(NAME_CONSTRAINTS_st))
26353    );
26354    assert_eq!(
26355        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
26356        8usize,
26357        concat!("Alignment of ", stringify!(NAME_CONSTRAINTS_st))
26358    );
26359    assert_eq!(
26360        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
26361        0usize,
26362        concat!(
26363            "Offset of field: ",
26364            stringify!(NAME_CONSTRAINTS_st),
26365            "::",
26366            stringify!(permittedSubtrees)
26367        )
26368    );
26369    assert_eq!(
26370        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
26371        8usize,
26372        concat!(
26373            "Offset of field: ",
26374            stringify!(NAME_CONSTRAINTS_st),
26375            "::",
26376            stringify!(excludedSubtrees)
26377        )
26378    );
26379}
26380impl Default for NAME_CONSTRAINTS_st {
26381    fn default() -> Self {
26382        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26383        unsafe {
26384            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26385            s.assume_init()
26386        }
26387    }
26388}
26389#[repr(C)]
26390#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26391pub struct POLICY_CONSTRAINTS_st {
26392    pub requireExplicitPolicy: *mut ASN1_INTEGER,
26393    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
26394}
26395#[test]
26396fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
26397    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
26398        ::std::mem::MaybeUninit::uninit();
26399    let ptr = UNINIT.as_ptr();
26400    assert_eq!(
26401        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
26402        16usize,
26403        concat!("Size of: ", stringify!(POLICY_CONSTRAINTS_st))
26404    );
26405    assert_eq!(
26406        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
26407        8usize,
26408        concat!("Alignment of ", stringify!(POLICY_CONSTRAINTS_st))
26409    );
26410    assert_eq!(
26411        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
26412        0usize,
26413        concat!(
26414            "Offset of field: ",
26415            stringify!(POLICY_CONSTRAINTS_st),
26416            "::",
26417            stringify!(requireExplicitPolicy)
26418        )
26419    );
26420    assert_eq!(
26421        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
26422        8usize,
26423        concat!(
26424            "Offset of field: ",
26425            stringify!(POLICY_CONSTRAINTS_st),
26426            "::",
26427            stringify!(inhibitPolicyMapping)
26428        )
26429    );
26430}
26431impl Default for POLICY_CONSTRAINTS_st {
26432    fn default() -> Self {
26433        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26434        unsafe {
26435            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26436            s.assume_init()
26437        }
26438    }
26439}
26440pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
26441#[repr(C)]
26442#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26443pub struct ISSUING_DIST_POINT_st {
26444    pub distpoint: *mut DIST_POINT_NAME,
26445    pub onlyuser: ASN1_BOOLEAN,
26446    pub onlyCA: ASN1_BOOLEAN,
26447    pub onlysomereasons: *mut ASN1_BIT_STRING,
26448    pub indirectCRL: ASN1_BOOLEAN,
26449    pub onlyattr: ASN1_BOOLEAN,
26450}
26451#[test]
26452fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
26453    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
26454        ::std::mem::MaybeUninit::uninit();
26455    let ptr = UNINIT.as_ptr();
26456    assert_eq!(
26457        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
26458        32usize,
26459        concat!("Size of: ", stringify!(ISSUING_DIST_POINT_st))
26460    );
26461    assert_eq!(
26462        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
26463        8usize,
26464        concat!("Alignment of ", stringify!(ISSUING_DIST_POINT_st))
26465    );
26466    assert_eq!(
26467        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
26468        0usize,
26469        concat!(
26470            "Offset of field: ",
26471            stringify!(ISSUING_DIST_POINT_st),
26472            "::",
26473            stringify!(distpoint)
26474        )
26475    );
26476    assert_eq!(
26477        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
26478        8usize,
26479        concat!(
26480            "Offset of field: ",
26481            stringify!(ISSUING_DIST_POINT_st),
26482            "::",
26483            stringify!(onlyuser)
26484        )
26485    );
26486    assert_eq!(
26487        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
26488        12usize,
26489        concat!(
26490            "Offset of field: ",
26491            stringify!(ISSUING_DIST_POINT_st),
26492            "::",
26493            stringify!(onlyCA)
26494        )
26495    );
26496    assert_eq!(
26497        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
26498        16usize,
26499        concat!(
26500            "Offset of field: ",
26501            stringify!(ISSUING_DIST_POINT_st),
26502            "::",
26503            stringify!(onlysomereasons)
26504        )
26505    );
26506    assert_eq!(
26507        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
26508        24usize,
26509        concat!(
26510            "Offset of field: ",
26511            stringify!(ISSUING_DIST_POINT_st),
26512            "::",
26513            stringify!(indirectCRL)
26514        )
26515    );
26516    assert_eq!(
26517        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
26518        28usize,
26519        concat!(
26520            "Offset of field: ",
26521            stringify!(ISSUING_DIST_POINT_st),
26522            "::",
26523            stringify!(onlyattr)
26524        )
26525    );
26526}
26527impl Default for ISSUING_DIST_POINT_st {
26528    fn default() -> Self {
26529        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26530        unsafe {
26531            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26532            s.assume_init()
26533        }
26534    }
26535}
26536extern "C" {
26537    #[link_name = "\u{1}aws_lc_0_30_0_BASIC_CONSTRAINTS_it"]
26538    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
26539}
26540extern "C" {
26541    #[link_name = "\u{1}aws_lc_0_30_0_BASIC_CONSTRAINTS_new"]
26542    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
26543}
26544extern "C" {
26545    #[link_name = "\u{1}aws_lc_0_30_0_BASIC_CONSTRAINTS_free"]
26546    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
26547}
26548extern "C" {
26549    #[link_name = "\u{1}aws_lc_0_30_0_d2i_BASIC_CONSTRAINTS"]
26550    pub fn d2i_BASIC_CONSTRAINTS(
26551        out: *mut *mut BASIC_CONSTRAINTS,
26552        inp: *mut *const u8,
26553        len: ::std::os::raw::c_long,
26554    ) -> *mut BASIC_CONSTRAINTS;
26555}
26556extern "C" {
26557    #[link_name = "\u{1}aws_lc_0_30_0_i2d_BASIC_CONSTRAINTS"]
26558    pub fn i2d_BASIC_CONSTRAINTS(
26559        bcons: *const BASIC_CONSTRAINTS,
26560        outp: *mut *mut u8,
26561    ) -> ::std::os::raw::c_int;
26562}
26563extern "C" {
26564    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_KEYID_it"]
26565    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
26566}
26567extern "C" {
26568    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_KEYID_new"]
26569    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
26570}
26571extern "C" {
26572    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_KEYID_free"]
26573    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
26574}
26575extern "C" {
26576    #[link_name = "\u{1}aws_lc_0_30_0_d2i_AUTHORITY_KEYID"]
26577    pub fn d2i_AUTHORITY_KEYID(
26578        out: *mut *mut AUTHORITY_KEYID,
26579        inp: *mut *const u8,
26580        len: ::std::os::raw::c_long,
26581    ) -> *mut AUTHORITY_KEYID;
26582}
26583extern "C" {
26584    #[link_name = "\u{1}aws_lc_0_30_0_i2d_AUTHORITY_KEYID"]
26585    pub fn i2d_AUTHORITY_KEYID(
26586        akid: *mut AUTHORITY_KEYID,
26587        outp: *mut *mut u8,
26588    ) -> ::std::os::raw::c_int;
26589}
26590extern "C" {
26591    #[link_name = "\u{1}aws_lc_0_30_0_EXTENDED_KEY_USAGE_it"]
26592    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
26593}
26594extern "C" {
26595    #[link_name = "\u{1}aws_lc_0_30_0_EXTENDED_KEY_USAGE_new"]
26596    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
26597}
26598extern "C" {
26599    #[link_name = "\u{1}aws_lc_0_30_0_EXTENDED_KEY_USAGE_free"]
26600    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
26601}
26602extern "C" {
26603    #[link_name = "\u{1}aws_lc_0_30_0_d2i_EXTENDED_KEY_USAGE"]
26604    pub fn d2i_EXTENDED_KEY_USAGE(
26605        out: *mut *mut EXTENDED_KEY_USAGE,
26606        inp: *mut *const u8,
26607        len: ::std::os::raw::c_long,
26608    ) -> *mut EXTENDED_KEY_USAGE;
26609}
26610extern "C" {
26611    #[link_name = "\u{1}aws_lc_0_30_0_i2d_EXTENDED_KEY_USAGE"]
26612    pub fn i2d_EXTENDED_KEY_USAGE(
26613        eku: *const EXTENDED_KEY_USAGE,
26614        outp: *mut *mut u8,
26615    ) -> ::std::os::raw::c_int;
26616}
26617extern "C" {
26618    #[link_name = "\u{1}aws_lc_0_30_0_CERTIFICATEPOLICIES_it"]
26619    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
26620}
26621extern "C" {
26622    #[link_name = "\u{1}aws_lc_0_30_0_CERTIFICATEPOLICIES_new"]
26623    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
26624}
26625extern "C" {
26626    #[link_name = "\u{1}aws_lc_0_30_0_CERTIFICATEPOLICIES_free"]
26627    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
26628}
26629extern "C" {
26630    #[link_name = "\u{1}aws_lc_0_30_0_d2i_CERTIFICATEPOLICIES"]
26631    pub fn d2i_CERTIFICATEPOLICIES(
26632        out: *mut *mut CERTIFICATEPOLICIES,
26633        inp: *mut *const u8,
26634        len: ::std::os::raw::c_long,
26635    ) -> *mut CERTIFICATEPOLICIES;
26636}
26637extern "C" {
26638    #[link_name = "\u{1}aws_lc_0_30_0_i2d_CERTIFICATEPOLICIES"]
26639    pub fn i2d_CERTIFICATEPOLICIES(
26640        policies: *const CERTIFICATEPOLICIES,
26641        outp: *mut *mut u8,
26642    ) -> ::std::os::raw::c_int;
26643}
26644extern "C" {
26645    #[link_name = "\u{1}aws_lc_0_30_0_POLICYINFO_new"]
26646    pub fn POLICYINFO_new() -> *mut POLICYINFO;
26647}
26648extern "C" {
26649    #[link_name = "\u{1}aws_lc_0_30_0_POLICYINFO_free"]
26650    pub fn POLICYINFO_free(info: *mut POLICYINFO);
26651}
26652extern "C" {
26653    #[link_name = "\u{1}aws_lc_0_30_0_POLICYQUALINFO_new"]
26654    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
26655}
26656extern "C" {
26657    #[link_name = "\u{1}aws_lc_0_30_0_POLICYQUALINFO_free"]
26658    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
26659}
26660extern "C" {
26661    #[link_name = "\u{1}aws_lc_0_30_0_USERNOTICE_new"]
26662    pub fn USERNOTICE_new() -> *mut USERNOTICE;
26663}
26664extern "C" {
26665    #[link_name = "\u{1}aws_lc_0_30_0_USERNOTICE_free"]
26666    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
26667}
26668extern "C" {
26669    #[link_name = "\u{1}aws_lc_0_30_0_NOTICEREF_new"]
26670    pub fn NOTICEREF_new() -> *mut NOTICEREF;
26671}
26672extern "C" {
26673    #[link_name = "\u{1}aws_lc_0_30_0_NOTICEREF_free"]
26674    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
26675}
26676extern "C" {
26677    #[link_name = "\u{1}aws_lc_0_30_0_CRL_DIST_POINTS_it"]
26678    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
26679}
26680extern "C" {
26681    #[link_name = "\u{1}aws_lc_0_30_0_CRL_DIST_POINTS_new"]
26682    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
26683}
26684extern "C" {
26685    #[link_name = "\u{1}aws_lc_0_30_0_CRL_DIST_POINTS_free"]
26686    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
26687}
26688extern "C" {
26689    #[link_name = "\u{1}aws_lc_0_30_0_d2i_CRL_DIST_POINTS"]
26690    pub fn d2i_CRL_DIST_POINTS(
26691        out: *mut *mut CRL_DIST_POINTS,
26692        inp: *mut *const u8,
26693        len: ::std::os::raw::c_long,
26694    ) -> *mut CRL_DIST_POINTS;
26695}
26696extern "C" {
26697    #[link_name = "\u{1}aws_lc_0_30_0_i2d_CRL_DIST_POINTS"]
26698    pub fn i2d_CRL_DIST_POINTS(
26699        crldp: *mut CRL_DIST_POINTS,
26700        outp: *mut *mut u8,
26701    ) -> ::std::os::raw::c_int;
26702}
26703extern "C" {
26704    #[link_name = "\u{1}aws_lc_0_30_0_DIST_POINT_new"]
26705    pub fn DIST_POINT_new() -> *mut DIST_POINT;
26706}
26707extern "C" {
26708    #[link_name = "\u{1}aws_lc_0_30_0_DIST_POINT_free"]
26709    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
26710}
26711extern "C" {
26712    #[link_name = "\u{1}aws_lc_0_30_0_DIST_POINT_NAME_new"]
26713    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
26714}
26715extern "C" {
26716    #[link_name = "\u{1}aws_lc_0_30_0_DIST_POINT_NAME_free"]
26717    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
26718}
26719extern "C" {
26720    #[link_name = "\u{1}aws_lc_0_30_0_ISSUING_DIST_POINT_it"]
26721    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
26722}
26723extern "C" {
26724    #[link_name = "\u{1}aws_lc_0_30_0_ISSUING_DIST_POINT_new"]
26725    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
26726}
26727extern "C" {
26728    #[link_name = "\u{1}aws_lc_0_30_0_ISSUING_DIST_POINT_free"]
26729    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
26730}
26731extern "C" {
26732    #[link_name = "\u{1}aws_lc_0_30_0_d2i_ISSUING_DIST_POINT"]
26733    pub fn d2i_ISSUING_DIST_POINT(
26734        out: *mut *mut ISSUING_DIST_POINT,
26735        inp: *mut *const u8,
26736        len: ::std::os::raw::c_long,
26737    ) -> *mut ISSUING_DIST_POINT;
26738}
26739extern "C" {
26740    #[link_name = "\u{1}aws_lc_0_30_0_i2d_ISSUING_DIST_POINT"]
26741    pub fn i2d_ISSUING_DIST_POINT(
26742        idp: *mut ISSUING_DIST_POINT,
26743        outp: *mut *mut u8,
26744    ) -> ::std::os::raw::c_int;
26745}
26746extern "C" {
26747    #[link_name = "\u{1}aws_lc_0_30_0_ACCESS_DESCRIPTION_new"]
26748    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
26749}
26750extern "C" {
26751    #[link_name = "\u{1}aws_lc_0_30_0_ACCESS_DESCRIPTION_free"]
26752    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
26753}
26754extern "C" {
26755    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_INFO_ACCESS_it"]
26756    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
26757}
26758extern "C" {
26759    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_INFO_ACCESS_new"]
26760    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
26761}
26762extern "C" {
26763    #[link_name = "\u{1}aws_lc_0_30_0_AUTHORITY_INFO_ACCESS_free"]
26764    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
26765}
26766extern "C" {
26767    #[link_name = "\u{1}aws_lc_0_30_0_d2i_AUTHORITY_INFO_ACCESS"]
26768    pub fn d2i_AUTHORITY_INFO_ACCESS(
26769        out: *mut *mut AUTHORITY_INFO_ACCESS,
26770        inp: *mut *const u8,
26771        len: ::std::os::raw::c_long,
26772    ) -> *mut AUTHORITY_INFO_ACCESS;
26773}
26774extern "C" {
26775    #[link_name = "\u{1}aws_lc_0_30_0_i2d_AUTHORITY_INFO_ACCESS"]
26776    pub fn i2d_AUTHORITY_INFO_ACCESS(
26777        aia: *mut AUTHORITY_INFO_ACCESS,
26778        outp: *mut *mut u8,
26779    ) -> ::std::os::raw::c_int;
26780}
26781extern "C" {
26782    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_MAPPING_new"]
26783    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
26784}
26785extern "C" {
26786    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_MAPPING_free"]
26787    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
26788}
26789extern "C" {
26790    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_MAPPINGS_it"]
26791    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
26792}
26793extern "C" {
26794    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_SUBTREE_new"]
26795    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
26796}
26797extern "C" {
26798    #[link_name = "\u{1}aws_lc_0_30_0_GENERAL_SUBTREE_free"]
26799    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
26800}
26801extern "C" {
26802    #[link_name = "\u{1}aws_lc_0_30_0_NAME_CONSTRAINTS_it"]
26803    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
26804}
26805extern "C" {
26806    #[link_name = "\u{1}aws_lc_0_30_0_NAME_CONSTRAINTS_new"]
26807    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
26808}
26809extern "C" {
26810    #[link_name = "\u{1}aws_lc_0_30_0_NAME_CONSTRAINTS_free"]
26811    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
26812}
26813extern "C" {
26814    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_CONSTRAINTS_new"]
26815    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
26816}
26817extern "C" {
26818    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_CONSTRAINTS_free"]
26819    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
26820}
26821extern "C" {
26822    #[link_name = "\u{1}aws_lc_0_30_0_POLICY_CONSTRAINTS_it"]
26823    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
26824}
26825extern "C" {
26826    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_set"]
26827    pub fn X509_PURPOSE_set(
26828        p: *mut ::std::os::raw::c_int,
26829        purpose: ::std::os::raw::c_int,
26830    ) -> ::std::os::raw::c_int;
26831}
26832extern "C" {
26833    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get_count"]
26834    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
26835}
26836extern "C" {
26837    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get_by_id"]
26838    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
26839}
26840extern "C" {
26841    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get0_name"]
26842    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26843}
26844extern "C" {
26845    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get0_sname"]
26846    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26847}
26848extern "C" {
26849    #[link_name = "\u{1}aws_lc_0_30_0_X509_PURPOSE_get_trust"]
26850    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
26851}
26852#[repr(C)]
26853#[derive(Debug, Copy, Clone)]
26854pub struct ocsp_cert_id_st {
26855    _unused: [u8; 0],
26856}
26857pub type OCSP_CERTID = ocsp_cert_id_st;
26858#[repr(C)]
26859#[derive(Debug, Copy, Clone)]
26860pub struct ocsp_one_request_st {
26861    _unused: [u8; 0],
26862}
26863pub type OCSP_ONEREQ = ocsp_one_request_st;
26864#[repr(C)]
26865#[derive(Debug, Copy, Clone)]
26866pub struct ocsp_req_info_st {
26867    _unused: [u8; 0],
26868}
26869pub type OCSP_REQINFO = ocsp_req_info_st;
26870#[repr(C)]
26871#[derive(Debug, Copy, Clone)]
26872pub struct ocsp_signature_st {
26873    _unused: [u8; 0],
26874}
26875pub type OCSP_SIGNATURE = ocsp_signature_st;
26876#[repr(C)]
26877#[derive(Debug, Copy, Clone)]
26878pub struct ocsp_request_st {
26879    _unused: [u8; 0],
26880}
26881pub type OCSP_REQUEST = ocsp_request_st;
26882#[repr(C)]
26883#[derive(Debug, Copy, Clone)]
26884pub struct ocsp_resp_bytes_st {
26885    _unused: [u8; 0],
26886}
26887pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
26888#[repr(C)]
26889#[derive(Debug, Copy, Clone)]
26890pub struct ocsp_revoked_info_st {
26891    _unused: [u8; 0],
26892}
26893pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
26894#[repr(C)]
26895#[derive(Debug, Copy, Clone)]
26896pub struct ocsp_cert_status_st {
26897    _unused: [u8; 0],
26898}
26899pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
26900#[repr(C)]
26901#[derive(Debug, Copy, Clone)]
26902pub struct ocsp_single_response_st {
26903    _unused: [u8; 0],
26904}
26905pub type OCSP_SINGLERESP = ocsp_single_response_st;
26906#[repr(C)]
26907#[derive(Debug, Copy, Clone)]
26908pub struct ocsp_response_data_st {
26909    _unused: [u8; 0],
26910}
26911pub type OCSP_RESPDATA = ocsp_response_data_st;
26912#[repr(C)]
26913#[derive(Debug, Copy, Clone)]
26914pub struct ocsp_response_st {
26915    _unused: [u8; 0],
26916}
26917pub type OCSP_RESPONSE = ocsp_response_st;
26918#[repr(C)]
26919#[derive(Debug, Copy, Clone)]
26920pub struct ocsp_responder_id_st {
26921    _unused: [u8; 0],
26922}
26923pub type OCSP_RESPID = ocsp_responder_id_st;
26924#[repr(C)]
26925#[derive(Debug, Copy, Clone)]
26926pub struct ocsp_basic_response_st {
26927    _unused: [u8; 0],
26928}
26929pub type OCSP_BASICRESP = ocsp_basic_response_st;
26930#[repr(C)]
26931#[derive(Debug, Copy, Clone)]
26932pub struct stack_st_OCSP_CERTID {
26933    _unused: [u8; 0],
26934}
26935pub type sk_OCSP_CERTID_free_func =
26936    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
26937pub type sk_OCSP_CERTID_copy_func =
26938    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
26939pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
26940    unsafe extern "C" fn(
26941        arg1: *const *const OCSP_CERTID,
26942        arg2: *const *const OCSP_CERTID,
26943    ) -> ::std::os::raw::c_int,
26944>;
26945pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
26946    unsafe extern "C" fn(
26947        arg1: *mut OCSP_CERTID,
26948        arg2: *mut ::std::os::raw::c_void,
26949    ) -> ::std::os::raw::c_int,
26950>;
26951#[repr(C)]
26952#[derive(Debug, Copy, Clone)]
26953pub struct stack_st_OCSP_ONEREQ {
26954    _unused: [u8; 0],
26955}
26956pub type sk_OCSP_ONEREQ_free_func =
26957    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
26958pub type sk_OCSP_ONEREQ_copy_func =
26959    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
26960pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
26961    unsafe extern "C" fn(
26962        arg1: *const *const OCSP_ONEREQ,
26963        arg2: *const *const OCSP_ONEREQ,
26964    ) -> ::std::os::raw::c_int,
26965>;
26966pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
26967    unsafe extern "C" fn(
26968        arg1: *mut OCSP_ONEREQ,
26969        arg2: *mut ::std::os::raw::c_void,
26970    ) -> ::std::os::raw::c_int,
26971>;
26972#[repr(C)]
26973#[derive(Debug, Copy, Clone)]
26974pub struct stack_st_OCSP_RESPID {
26975    _unused: [u8; 0],
26976}
26977pub type sk_OCSP_RESPID_free_func =
26978    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
26979pub type sk_OCSP_RESPID_copy_func =
26980    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
26981pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
26982    unsafe extern "C" fn(
26983        arg1: *const *const OCSP_RESPID,
26984        arg2: *const *const OCSP_RESPID,
26985    ) -> ::std::os::raw::c_int,
26986>;
26987pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
26988    unsafe extern "C" fn(
26989        arg1: *mut OCSP_RESPID,
26990        arg2: *mut ::std::os::raw::c_void,
26991    ) -> ::std::os::raw::c_int,
26992>;
26993#[repr(C)]
26994#[derive(Debug, Copy, Clone)]
26995pub struct stack_st_OCSP_SINGLERESP {
26996    _unused: [u8; 0],
26997}
26998pub type sk_OCSP_SINGLERESP_free_func =
26999    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
27000pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
27001    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
27002>;
27003pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
27004    unsafe extern "C" fn(
27005        arg1: *const *const OCSP_SINGLERESP,
27006        arg2: *const *const OCSP_SINGLERESP,
27007    ) -> ::std::os::raw::c_int,
27008>;
27009pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
27010    unsafe extern "C" fn(
27011        arg1: *mut OCSP_SINGLERESP,
27012        arg2: *mut ::std::os::raw::c_void,
27013    ) -> ::std::os::raw::c_int,
27014>;
27015extern "C" {
27016    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_new"]
27017    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
27018}
27019extern "C" {
27020    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_free"]
27021    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
27022}
27023extern "C" {
27024    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_BASICRESP"]
27025    pub fn d2i_OCSP_BASICRESP(
27026        a: *mut *mut OCSP_BASICRESP,
27027        in_: *mut *const ::std::os::raw::c_uchar,
27028        len: ::std::os::raw::c_long,
27029    ) -> *mut OCSP_BASICRESP;
27030}
27031extern "C" {
27032    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_BASICRESP"]
27033    pub fn i2d_OCSP_BASICRESP(
27034        a: *mut OCSP_BASICRESP,
27035        out: *mut *mut ::std::os::raw::c_uchar,
27036    ) -> ::std::os::raw::c_int;
27037}
27038extern "C" {
27039    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_it"]
27040    pub static OCSP_BASICRESP_it: ASN1_ITEM;
27041}
27042extern "C" {
27043    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_RESPONSE_new"]
27044    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
27045}
27046extern "C" {
27047    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_RESPONSE_free"]
27048    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
27049}
27050extern "C" {
27051    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_RESPONSE"]
27052    pub fn d2i_OCSP_RESPONSE(
27053        a: *mut *mut OCSP_RESPONSE,
27054        in_: *mut *const ::std::os::raw::c_uchar,
27055        len: ::std::os::raw::c_long,
27056    ) -> *mut OCSP_RESPONSE;
27057}
27058extern "C" {
27059    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_RESPONSE"]
27060    pub fn i2d_OCSP_RESPONSE(
27061        a: *mut OCSP_RESPONSE,
27062        out: *mut *mut ::std::os::raw::c_uchar,
27063    ) -> ::std::os::raw::c_int;
27064}
27065extern "C" {
27066    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_RESPONSE_it"]
27067    pub static OCSP_RESPONSE_it: ASN1_ITEM;
27068}
27069extern "C" {
27070    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_CERTID_new"]
27071    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
27072}
27073extern "C" {
27074    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_CERTID_free"]
27075    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
27076}
27077extern "C" {
27078    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_CERTID"]
27079    pub fn d2i_OCSP_CERTID(
27080        a: *mut *mut OCSP_CERTID,
27081        in_: *mut *const ::std::os::raw::c_uchar,
27082        len: ::std::os::raw::c_long,
27083    ) -> *mut OCSP_CERTID;
27084}
27085extern "C" {
27086    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_CERTID"]
27087    pub fn i2d_OCSP_CERTID(
27088        a: *mut OCSP_CERTID,
27089        out: *mut *mut ::std::os::raw::c_uchar,
27090    ) -> ::std::os::raw::c_int;
27091}
27092extern "C" {
27093    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_CERTID_it"]
27094    pub static OCSP_CERTID_it: ASN1_ITEM;
27095}
27096extern "C" {
27097    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQUEST_new"]
27098    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
27099}
27100extern "C" {
27101    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQUEST_free"]
27102    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
27103}
27104extern "C" {
27105    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_REQUEST"]
27106    pub fn d2i_OCSP_REQUEST(
27107        a: *mut *mut OCSP_REQUEST,
27108        in_: *mut *const ::std::os::raw::c_uchar,
27109        len: ::std::os::raw::c_long,
27110    ) -> *mut OCSP_REQUEST;
27111}
27112extern "C" {
27113    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_REQUEST"]
27114    pub fn i2d_OCSP_REQUEST(
27115        a: *mut OCSP_REQUEST,
27116        out: *mut *mut ::std::os::raw::c_uchar,
27117    ) -> ::std::os::raw::c_int;
27118}
27119extern "C" {
27120    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQUEST_it"]
27121    pub static OCSP_REQUEST_it: ASN1_ITEM;
27122}
27123extern "C" {
27124    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_new"]
27125    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
27126}
27127extern "C" {
27128    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_free"]
27129    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
27130}
27131extern "C" {
27132    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_SINGLERESP"]
27133    pub fn d2i_OCSP_SINGLERESP(
27134        a: *mut *mut OCSP_SINGLERESP,
27135        in_: *mut *const ::std::os::raw::c_uchar,
27136        len: ::std::os::raw::c_long,
27137    ) -> *mut OCSP_SINGLERESP;
27138}
27139extern "C" {
27140    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_SINGLERESP"]
27141    pub fn i2d_OCSP_SINGLERESP(
27142        a: *mut OCSP_SINGLERESP,
27143        out: *mut *mut ::std::os::raw::c_uchar,
27144    ) -> ::std::os::raw::c_int;
27145}
27146extern "C" {
27147    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_it"]
27148    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
27149}
27150extern "C" {
27151    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_ONEREQ_new"]
27152    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
27153}
27154extern "C" {
27155    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_ONEREQ_free"]
27156    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
27157}
27158extern "C" {
27159    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_ONEREQ"]
27160    pub fn d2i_OCSP_ONEREQ(
27161        a: *mut *mut OCSP_ONEREQ,
27162        in_: *mut *const ::std::os::raw::c_uchar,
27163        len: ::std::os::raw::c_long,
27164    ) -> *mut OCSP_ONEREQ;
27165}
27166extern "C" {
27167    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_ONEREQ"]
27168    pub fn i2d_OCSP_ONEREQ(
27169        a: *mut OCSP_ONEREQ,
27170        out: *mut *mut ::std::os::raw::c_uchar,
27171    ) -> ::std::os::raw::c_int;
27172}
27173extern "C" {
27174    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_ONEREQ_it"]
27175    pub static OCSP_ONEREQ_it: ASN1_ITEM;
27176}
27177extern "C" {
27178    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_REQUEST_bio"]
27179    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
27180}
27181extern "C" {
27182    #[link_name = "\u{1}aws_lc_0_30_0_d2i_OCSP_RESPONSE_bio"]
27183    pub fn d2i_OCSP_RESPONSE_bio(
27184        bp: *mut BIO,
27185        presp: *mut *mut OCSP_RESPONSE,
27186    ) -> *mut OCSP_RESPONSE;
27187}
27188extern "C" {
27189    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_RESPONSE_bio"]
27190    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
27191}
27192extern "C" {
27193    #[link_name = "\u{1}aws_lc_0_30_0_i2d_OCSP_REQUEST_bio"]
27194    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27195}
27196extern "C" {
27197    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_CERTID_dup"]
27198    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
27199}
27200extern "C" {
27201    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_sendreq_bio"]
27202    pub fn OCSP_sendreq_bio(
27203        b: *mut BIO,
27204        path: *const ::std::os::raw::c_char,
27205        req: *mut OCSP_REQUEST,
27206    ) -> *mut OCSP_RESPONSE;
27207}
27208extern "C" {
27209    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_sendreq_new"]
27210    pub fn OCSP_sendreq_new(
27211        io: *mut BIO,
27212        path: *const ::std::os::raw::c_char,
27213        req: *mut OCSP_REQUEST,
27214        maxline: ::std::os::raw::c_int,
27215    ) -> *mut OCSP_REQ_CTX;
27216}
27217extern "C" {
27218    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_sendreq_nbio"]
27219    pub fn OCSP_sendreq_nbio(
27220        presp: *mut *mut OCSP_RESPONSE,
27221        rctx: *mut OCSP_REQ_CTX,
27222    ) -> ::std::os::raw::c_int;
27223}
27224extern "C" {
27225    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_new"]
27226    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
27227}
27228extern "C" {
27229    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_free"]
27230    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
27231}
27232extern "C" {
27233    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_set_max_response_length"]
27234    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
27235}
27236extern "C" {
27237    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_http"]
27238    pub fn OCSP_REQ_CTX_http(
27239        rctx: *mut OCSP_REQ_CTX,
27240        op: *const ::std::os::raw::c_char,
27241        path: *const ::std::os::raw::c_char,
27242    ) -> ::std::os::raw::c_int;
27243}
27244extern "C" {
27245    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_set1_req"]
27246    pub fn OCSP_REQ_CTX_set1_req(
27247        rctx: *mut OCSP_REQ_CTX,
27248        req: *mut OCSP_REQUEST,
27249    ) -> ::std::os::raw::c_int;
27250}
27251extern "C" {
27252    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_add1_header"]
27253    pub fn OCSP_REQ_CTX_add1_header(
27254        rctx: *mut OCSP_REQ_CTX,
27255        name: *const ::std::os::raw::c_char,
27256        value: *const ::std::os::raw::c_char,
27257    ) -> ::std::os::raw::c_int;
27258}
27259extern "C" {
27260    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQ_CTX_i2d"]
27261    pub fn OCSP_REQ_CTX_i2d(
27262        rctx: *mut OCSP_REQ_CTX,
27263        it: *const ASN1_ITEM,
27264        val: *mut ASN1_VALUE,
27265    ) -> ::std::os::raw::c_int;
27266}
27267extern "C" {
27268    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_add0_id"]
27269    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
27270}
27271extern "C" {
27272    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_onereq_get0_id"]
27273    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
27274}
27275extern "C" {
27276    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_add1_nonce"]
27277    pub fn OCSP_request_add1_nonce(
27278        req: *mut OCSP_REQUEST,
27279        val: *mut ::std::os::raw::c_uchar,
27280        len: ::std::os::raw::c_int,
27281    ) -> ::std::os::raw::c_int;
27282}
27283extern "C" {
27284    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_basic_add1_nonce"]
27285    pub fn OCSP_basic_add1_nonce(
27286        resp: *mut OCSP_BASICRESP,
27287        val: *mut ::std::os::raw::c_uchar,
27288        len: ::std::os::raw::c_int,
27289    ) -> ::std::os::raw::c_int;
27290}
27291extern "C" {
27292    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_check_nonce"]
27293    pub fn OCSP_check_nonce(
27294        req: *mut OCSP_REQUEST,
27295        bs: *mut OCSP_BASICRESP,
27296    ) -> ::std::os::raw::c_int;
27297}
27298extern "C" {
27299    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_copy_nonce"]
27300    pub fn OCSP_copy_nonce(
27301        resp: *mut OCSP_BASICRESP,
27302        req: *mut OCSP_REQUEST,
27303    ) -> ::std::os::raw::c_int;
27304}
27305extern "C" {
27306    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_set1_name"]
27307    pub fn OCSP_request_set1_name(
27308        req: *mut OCSP_REQUEST,
27309        nm: *mut X509_NAME,
27310    ) -> ::std::os::raw::c_int;
27311}
27312extern "C" {
27313    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_add1_cert"]
27314    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
27315        -> ::std::os::raw::c_int;
27316}
27317extern "C" {
27318    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_is_signed"]
27319    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27320}
27321extern "C" {
27322    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_onereq_count"]
27323    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27324}
27325extern "C" {
27326    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_onereq_get0"]
27327    pub fn OCSP_request_onereq_get0(
27328        req: *mut OCSP_REQUEST,
27329        i: ::std::os::raw::c_int,
27330    ) -> *mut OCSP_ONEREQ;
27331}
27332extern "C" {
27333    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_sign"]
27334    pub fn OCSP_request_sign(
27335        req: *mut OCSP_REQUEST,
27336        signer: *mut X509,
27337        key: *mut EVP_PKEY,
27338        dgst: *const EVP_MD,
27339        certs: *mut stack_st_X509,
27340        flags: ::std::os::raw::c_ulong,
27341    ) -> ::std::os::raw::c_int;
27342}
27343extern "C" {
27344    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_response_status"]
27345    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
27346}
27347extern "C" {
27348    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_response_get1_basic"]
27349    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
27350}
27351extern "C" {
27352    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_resp_count"]
27353    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
27354}
27355extern "C" {
27356    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_resp_get0"]
27357    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
27358}
27359extern "C" {
27360    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_single_get0_status"]
27361    pub fn OCSP_single_get0_status(
27362        single: *mut OCSP_SINGLERESP,
27363        reason: *mut ::std::os::raw::c_int,
27364        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27365        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27366        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27367    ) -> ::std::os::raw::c_int;
27368}
27369extern "C" {
27370    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_resp_find"]
27371    pub fn OCSP_resp_find(
27372        bs: *mut OCSP_BASICRESP,
27373        id: *mut OCSP_CERTID,
27374        last: ::std::os::raw::c_int,
27375    ) -> ::std::os::raw::c_int;
27376}
27377extern "C" {
27378    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_resp_find_status"]
27379    pub fn OCSP_resp_find_status(
27380        bs: *mut OCSP_BASICRESP,
27381        id: *mut OCSP_CERTID,
27382        status: *mut ::std::os::raw::c_int,
27383        reason: *mut ::std::os::raw::c_int,
27384        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27385        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27386        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27387    ) -> ::std::os::raw::c_int;
27388}
27389extern "C" {
27390    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_check_validity"]
27391    pub fn OCSP_check_validity(
27392        thisUpdate: *mut ASN1_GENERALIZEDTIME,
27393        nextUpdate: *mut ASN1_GENERALIZEDTIME,
27394        drift_num_seconds: ::std::os::raw::c_long,
27395        max_age_seconds: ::std::os::raw::c_long,
27396    ) -> ::std::os::raw::c_int;
27397}
27398extern "C" {
27399    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_basic_verify"]
27400    pub fn OCSP_basic_verify(
27401        bs: *mut OCSP_BASICRESP,
27402        certs: *mut stack_st_X509,
27403        st: *mut X509_STORE,
27404        flags: ::std::os::raw::c_ulong,
27405    ) -> ::std::os::raw::c_int;
27406}
27407extern "C" {
27408    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_request_verify"]
27409    pub fn OCSP_request_verify(
27410        req: *mut OCSP_REQUEST,
27411        certs: *mut stack_st_X509,
27412        st: *mut X509_STORE,
27413        flags: ::std::os::raw::c_ulong,
27414    ) -> ::std::os::raw::c_int;
27415}
27416extern "C" {
27417    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_cert_id_new"]
27418    pub fn OCSP_cert_id_new(
27419        dgst: *const EVP_MD,
27420        issuerName: *const X509_NAME,
27421        issuerKey: *const ASN1_BIT_STRING,
27422        serialNumber: *const ASN1_INTEGER,
27423    ) -> *mut OCSP_CERTID;
27424}
27425extern "C" {
27426    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_cert_to_id"]
27427    pub fn OCSP_cert_to_id(
27428        dgst: *const EVP_MD,
27429        subject: *const X509,
27430        issuer: *const X509,
27431    ) -> *mut OCSP_CERTID;
27432}
27433extern "C" {
27434    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_parse_url"]
27435    pub fn OCSP_parse_url(
27436        url: *const ::std::os::raw::c_char,
27437        phost: *mut *mut ::std::os::raw::c_char,
27438        pport: *mut *mut ::std::os::raw::c_char,
27439        ppath: *mut *mut ::std::os::raw::c_char,
27440        pssl: *mut ::std::os::raw::c_int,
27441    ) -> ::std::os::raw::c_int;
27442}
27443extern "C" {
27444    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_id_issuer_cmp"]
27445    pub fn OCSP_id_issuer_cmp(
27446        a: *const OCSP_CERTID,
27447        b: *const OCSP_CERTID,
27448    ) -> ::std::os::raw::c_int;
27449}
27450extern "C" {
27451    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_id_cmp"]
27452    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
27453}
27454extern "C" {
27455    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_id_get0_info"]
27456    pub fn OCSP_id_get0_info(
27457        nameHash: *mut *mut ASN1_OCTET_STRING,
27458        algor: *mut *mut ASN1_OBJECT,
27459        keyHash: *mut *mut ASN1_OCTET_STRING,
27460        serial: *mut *mut ASN1_INTEGER,
27461        cid: *mut OCSP_CERTID,
27462    ) -> ::std::os::raw::c_int;
27463}
27464extern "C" {
27465    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_basic_add1_cert"]
27466    pub fn OCSP_basic_add1_cert(
27467        resp: *mut OCSP_BASICRESP,
27468        cert: *mut X509,
27469    ) -> ::std::os::raw::c_int;
27470}
27471extern "C" {
27472    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_basic_add1_status"]
27473    pub fn OCSP_basic_add1_status(
27474        resp: *mut OCSP_BASICRESP,
27475        cid: *mut OCSP_CERTID,
27476        status: ::std::os::raw::c_int,
27477        revoked_reason: ::std::os::raw::c_int,
27478        revoked_time: *mut ASN1_TIME,
27479        this_update: *mut ASN1_TIME,
27480        next_update: *mut ASN1_TIME,
27481    ) -> *mut OCSP_SINGLERESP;
27482}
27483extern "C" {
27484    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_basic_sign"]
27485    pub fn OCSP_basic_sign(
27486        resp: *mut OCSP_BASICRESP,
27487        signer: *mut X509,
27488        key: *mut EVP_PKEY,
27489        dgst: *const EVP_MD,
27490        certs: *mut stack_st_X509,
27491        flags: ::std::os::raw::c_ulong,
27492    ) -> ::std::os::raw::c_int;
27493}
27494extern "C" {
27495    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_response_create"]
27496    pub fn OCSP_response_create(
27497        status: ::std::os::raw::c_int,
27498        bs: *mut OCSP_BASICRESP,
27499    ) -> *mut OCSP_RESPONSE;
27500}
27501extern "C" {
27502    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_get0_id"]
27503    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
27504}
27505extern "C" {
27506    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_response_status_str"]
27507    pub fn OCSP_response_status_str(
27508        status_code: ::std::os::raw::c_long,
27509    ) -> *const ::std::os::raw::c_char;
27510}
27511extern "C" {
27512    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_cert_status_str"]
27513    pub fn OCSP_cert_status_str(
27514        status_code: ::std::os::raw::c_long,
27515    ) -> *const ::std::os::raw::c_char;
27516}
27517extern "C" {
27518    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_crl_reason_str"]
27519    pub fn OCSP_crl_reason_str(
27520        status_code: ::std::os::raw::c_long,
27521    ) -> *const ::std::os::raw::c_char;
27522}
27523extern "C" {
27524    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_REQUEST_print"]
27525    pub fn OCSP_REQUEST_print(
27526        bp: *mut BIO,
27527        req: *mut OCSP_REQUEST,
27528        flags: ::std::os::raw::c_ulong,
27529    ) -> ::std::os::raw::c_int;
27530}
27531extern "C" {
27532    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_RESPONSE_print"]
27533    pub fn OCSP_RESPONSE_print(
27534        bp: *mut BIO,
27535        resp: *mut OCSP_RESPONSE,
27536        flags: ::std::os::raw::c_ulong,
27537    ) -> ::std::os::raw::c_int;
27538}
27539extern "C" {
27540    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_get_ext_by_NID"]
27541    pub fn OCSP_BASICRESP_get_ext_by_NID(
27542        bs: *mut OCSP_BASICRESP,
27543        nid: ::std::os::raw::c_int,
27544        lastpos: ::std::os::raw::c_int,
27545    ) -> ::std::os::raw::c_int;
27546}
27547extern "C" {
27548    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_get_ext"]
27549    pub fn OCSP_BASICRESP_get_ext(
27550        bs: *mut OCSP_BASICRESP,
27551        loc: ::std::os::raw::c_int,
27552    ) -> *mut X509_EXTENSION;
27553}
27554extern "C" {
27555    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_BASICRESP_delete_ext"]
27556    pub fn OCSP_BASICRESP_delete_ext(
27557        x: *mut OCSP_BASICRESP,
27558        loc: ::std::os::raw::c_int,
27559    ) -> *mut X509_EXTENSION;
27560}
27561extern "C" {
27562    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_add_ext"]
27563    pub fn OCSP_SINGLERESP_add_ext(
27564        sresp: *mut OCSP_SINGLERESP,
27565        ex: *mut X509_EXTENSION,
27566        loc: ::std::os::raw::c_int,
27567    ) -> ::std::os::raw::c_int;
27568}
27569extern "C" {
27570    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_get_ext_count"]
27571    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
27572}
27573extern "C" {
27574    #[link_name = "\u{1}aws_lc_0_30_0_OCSP_SINGLERESP_get_ext"]
27575    pub fn OCSP_SINGLERESP_get_ext(
27576        sresp: *mut OCSP_SINGLERESP,
27577        loc: ::std::os::raw::c_int,
27578    ) -> *mut X509_EXTENSION;
27579}
27580pub type pem_password_cb = ::std::option::Option<
27581    unsafe extern "C" fn(
27582        buf: *mut ::std::os::raw::c_char,
27583        size: ::std::os::raw::c_int,
27584        rwflag: ::std::os::raw::c_int,
27585        userdata: *mut ::std::os::raw::c_void,
27586    ) -> ::std::os::raw::c_int,
27587>;
27588extern "C" {
27589    #[link_name = "\u{1}aws_lc_0_30_0_PEM_get_EVP_CIPHER_INFO"]
27590    pub fn PEM_get_EVP_CIPHER_INFO(
27591        header: *mut ::std::os::raw::c_char,
27592        cipher: *mut EVP_CIPHER_INFO,
27593    ) -> ::std::os::raw::c_int;
27594}
27595extern "C" {
27596    #[link_name = "\u{1}aws_lc_0_30_0_PEM_do_header"]
27597    pub fn PEM_do_header(
27598        cipher: *mut EVP_CIPHER_INFO,
27599        data: *mut ::std::os::raw::c_uchar,
27600        len: *mut ::std::os::raw::c_long,
27601        callback: pem_password_cb,
27602        u: *mut ::std::os::raw::c_void,
27603    ) -> ::std::os::raw::c_int;
27604}
27605extern "C" {
27606    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio"]
27607    pub fn PEM_read_bio(
27608        bp: *mut BIO,
27609        name: *mut *mut ::std::os::raw::c_char,
27610        header: *mut *mut ::std::os::raw::c_char,
27611        data: *mut *mut ::std::os::raw::c_uchar,
27612        len: *mut ::std::os::raw::c_long,
27613    ) -> ::std::os::raw::c_int;
27614}
27615extern "C" {
27616    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio"]
27617    pub fn PEM_write_bio(
27618        bp: *mut BIO,
27619        name: *const ::std::os::raw::c_char,
27620        hdr: *const ::std::os::raw::c_char,
27621        data: *const ::std::os::raw::c_uchar,
27622        len: ::std::os::raw::c_long,
27623    ) -> ::std::os::raw::c_int;
27624}
27625extern "C" {
27626    #[link_name = "\u{1}aws_lc_0_30_0_PEM_bytes_read_bio"]
27627    pub fn PEM_bytes_read_bio(
27628        pdata: *mut *mut ::std::os::raw::c_uchar,
27629        plen: *mut ::std::os::raw::c_long,
27630        pnm: *mut *mut ::std::os::raw::c_char,
27631        name: *const ::std::os::raw::c_char,
27632        bp: *mut BIO,
27633        cb: pem_password_cb,
27634        u: *mut ::std::os::raw::c_void,
27635    ) -> ::std::os::raw::c_int;
27636}
27637extern "C" {
27638    #[link_name = "\u{1}aws_lc_0_30_0_PEM_ASN1_read_bio"]
27639    pub fn PEM_ASN1_read_bio(
27640        d2i: d2i_of_void,
27641        name: *const ::std::os::raw::c_char,
27642        bp: *mut BIO,
27643        x: *mut *mut ::std::os::raw::c_void,
27644        cb: pem_password_cb,
27645        u: *mut ::std::os::raw::c_void,
27646    ) -> *mut ::std::os::raw::c_void;
27647}
27648extern "C" {
27649    #[link_name = "\u{1}aws_lc_0_30_0_PEM_ASN1_write_bio"]
27650    pub fn PEM_ASN1_write_bio(
27651        i2d: i2d_of_void,
27652        name: *const ::std::os::raw::c_char,
27653        bp: *mut BIO,
27654        x: *mut ::std::os::raw::c_void,
27655        enc: *const EVP_CIPHER,
27656        pass: *const ::std::os::raw::c_uchar,
27657        pass_len: ::std::os::raw::c_int,
27658        cb: pem_password_cb,
27659        u: *mut ::std::os::raw::c_void,
27660    ) -> ::std::os::raw::c_int;
27661}
27662extern "C" {
27663    #[link_name = "\u{1}aws_lc_0_30_0_PEM_X509_INFO_read_bio"]
27664    pub fn PEM_X509_INFO_read_bio(
27665        bp: *mut BIO,
27666        sk: *mut stack_st_X509_INFO,
27667        cb: pem_password_cb,
27668        u: *mut ::std::os::raw::c_void,
27669    ) -> *mut stack_st_X509_INFO;
27670}
27671extern "C" {
27672    #[link_name = "\u{1}aws_lc_0_30_0_PEM_X509_INFO_write_bio"]
27673    pub fn PEM_X509_INFO_write_bio(
27674        bp: *mut BIO,
27675        xi: *mut X509_INFO,
27676        enc: *mut EVP_CIPHER,
27677        kstr: *mut ::std::os::raw::c_uchar,
27678        klen: ::std::os::raw::c_int,
27679        cd: pem_password_cb,
27680        u: *mut ::std::os::raw::c_void,
27681    ) -> ::std::os::raw::c_int;
27682}
27683extern "C" {
27684    #[link_name = "\u{1}aws_lc_0_30_0_PEM_X509_INFO_read"]
27685    pub fn PEM_X509_INFO_read(
27686        fp: *mut FILE,
27687        sk: *mut stack_st_X509_INFO,
27688        cb: pem_password_cb,
27689        u: *mut ::std::os::raw::c_void,
27690    ) -> *mut stack_st_X509_INFO;
27691}
27692extern "C" {
27693    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read"]
27694    pub fn PEM_read(
27695        fp: *mut FILE,
27696        name: *mut *mut ::std::os::raw::c_char,
27697        header: *mut *mut ::std::os::raw::c_char,
27698        data: *mut *mut ::std::os::raw::c_uchar,
27699        len: *mut ::std::os::raw::c_long,
27700    ) -> ::std::os::raw::c_int;
27701}
27702extern "C" {
27703    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write"]
27704    pub fn PEM_write(
27705        fp: *mut FILE,
27706        name: *const ::std::os::raw::c_char,
27707        hdr: *const ::std::os::raw::c_char,
27708        data: *const ::std::os::raw::c_uchar,
27709        len: ::std::os::raw::c_long,
27710    ) -> ::std::os::raw::c_int;
27711}
27712extern "C" {
27713    #[link_name = "\u{1}aws_lc_0_30_0_PEM_ASN1_read"]
27714    pub fn PEM_ASN1_read(
27715        d2i: d2i_of_void,
27716        name: *const ::std::os::raw::c_char,
27717        fp: *mut FILE,
27718        x: *mut *mut ::std::os::raw::c_void,
27719        cb: pem_password_cb,
27720        u: *mut ::std::os::raw::c_void,
27721    ) -> *mut ::std::os::raw::c_void;
27722}
27723extern "C" {
27724    #[link_name = "\u{1}aws_lc_0_30_0_PEM_ASN1_write"]
27725    pub fn PEM_ASN1_write(
27726        i2d: i2d_of_void,
27727        name: *const ::std::os::raw::c_char,
27728        fp: *mut FILE,
27729        x: *mut ::std::os::raw::c_void,
27730        enc: *const EVP_CIPHER,
27731        pass: *const ::std::os::raw::c_uchar,
27732        pass_len: ::std::os::raw::c_int,
27733        callback: pem_password_cb,
27734        u: *mut ::std::os::raw::c_void,
27735    ) -> ::std::os::raw::c_int;
27736}
27737extern "C" {
27738    #[link_name = "\u{1}aws_lc_0_30_0_PEM_def_callback"]
27739    pub fn PEM_def_callback(
27740        buf: *mut ::std::os::raw::c_char,
27741        size: ::std::os::raw::c_int,
27742        rwflag: ::std::os::raw::c_int,
27743        userdata: *mut ::std::os::raw::c_void,
27744    ) -> ::std::os::raw::c_int;
27745}
27746extern "C" {
27747    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_X509"]
27748    pub fn PEM_read_bio_X509(
27749        bp: *mut BIO,
27750        x: *mut *mut X509,
27751        cb: pem_password_cb,
27752        u: *mut ::std::os::raw::c_void,
27753    ) -> *mut X509;
27754}
27755extern "C" {
27756    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_X509"]
27757    pub fn PEM_read_X509(
27758        fp: *mut FILE,
27759        x: *mut *mut X509,
27760        cb: pem_password_cb,
27761        u: *mut ::std::os::raw::c_void,
27762    ) -> *mut X509;
27763}
27764extern "C" {
27765    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_X509"]
27766    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27767}
27768extern "C" {
27769    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_X509"]
27770    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27771}
27772extern "C" {
27773    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_X509_AUX"]
27774    pub fn PEM_read_bio_X509_AUX(
27775        bp: *mut BIO,
27776        x: *mut *mut X509,
27777        cb: pem_password_cb,
27778        u: *mut ::std::os::raw::c_void,
27779    ) -> *mut X509;
27780}
27781extern "C" {
27782    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_X509_AUX"]
27783    pub fn PEM_read_X509_AUX(
27784        fp: *mut FILE,
27785        x: *mut *mut X509,
27786        cb: pem_password_cb,
27787        u: *mut ::std::os::raw::c_void,
27788    ) -> *mut X509;
27789}
27790extern "C" {
27791    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_X509_AUX"]
27792    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27793}
27794extern "C" {
27795    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_X509_AUX"]
27796    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27797}
27798extern "C" {
27799    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_X509_REQ"]
27800    pub fn PEM_read_bio_X509_REQ(
27801        bp: *mut BIO,
27802        x: *mut *mut X509_REQ,
27803        cb: pem_password_cb,
27804        u: *mut ::std::os::raw::c_void,
27805    ) -> *mut X509_REQ;
27806}
27807extern "C" {
27808    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_X509_REQ"]
27809    pub fn PEM_read_X509_REQ(
27810        fp: *mut FILE,
27811        x: *mut *mut X509_REQ,
27812        cb: pem_password_cb,
27813        u: *mut ::std::os::raw::c_void,
27814    ) -> *mut X509_REQ;
27815}
27816extern "C" {
27817    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_X509_REQ"]
27818    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27819}
27820extern "C" {
27821    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_X509_REQ"]
27822    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27823}
27824extern "C" {
27825    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_X509_REQ_NEW"]
27826    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27827}
27828extern "C" {
27829    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_X509_REQ_NEW"]
27830    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27831}
27832extern "C" {
27833    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_X509_CRL"]
27834    pub fn PEM_read_bio_X509_CRL(
27835        bp: *mut BIO,
27836        x: *mut *mut X509_CRL,
27837        cb: pem_password_cb,
27838        u: *mut ::std::os::raw::c_void,
27839    ) -> *mut X509_CRL;
27840}
27841extern "C" {
27842    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_X509_CRL"]
27843    pub fn PEM_read_X509_CRL(
27844        fp: *mut FILE,
27845        x: *mut *mut X509_CRL,
27846        cb: pem_password_cb,
27847        u: *mut ::std::os::raw::c_void,
27848    ) -> *mut X509_CRL;
27849}
27850extern "C" {
27851    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_X509_CRL"]
27852    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27853}
27854extern "C" {
27855    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_X509_CRL"]
27856    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27857}
27858extern "C" {
27859    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_PKCS7"]
27860    pub fn PEM_read_bio_PKCS7(
27861        bp: *mut BIO,
27862        x: *mut *mut PKCS7,
27863        cb: pem_password_cb,
27864        u: *mut ::std::os::raw::c_void,
27865    ) -> *mut PKCS7;
27866}
27867extern "C" {
27868    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_PKCS7"]
27869    pub fn PEM_read_PKCS7(
27870        fp: *mut FILE,
27871        x: *mut *mut PKCS7,
27872        cb: pem_password_cb,
27873        u: *mut ::std::os::raw::c_void,
27874    ) -> *mut PKCS7;
27875}
27876extern "C" {
27877    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PKCS7"]
27878    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
27879}
27880extern "C" {
27881    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PKCS7"]
27882    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
27883}
27884extern "C" {
27885    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_PKCS8"]
27886    pub fn PEM_read_bio_PKCS8(
27887        bp: *mut BIO,
27888        x: *mut *mut X509_SIG,
27889        cb: pem_password_cb,
27890        u: *mut ::std::os::raw::c_void,
27891    ) -> *mut X509_SIG;
27892}
27893extern "C" {
27894    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_PKCS8"]
27895    pub fn PEM_read_PKCS8(
27896        fp: *mut FILE,
27897        x: *mut *mut X509_SIG,
27898        cb: pem_password_cb,
27899        u: *mut ::std::os::raw::c_void,
27900    ) -> *mut X509_SIG;
27901}
27902extern "C" {
27903    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PKCS8"]
27904    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27905}
27906extern "C" {
27907    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PKCS8"]
27908    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27909}
27910extern "C" {
27911    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
27912    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
27913        bp: *mut BIO,
27914        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27915        cb: pem_password_cb,
27916        u: *mut ::std::os::raw::c_void,
27917    ) -> *mut PKCS8_PRIV_KEY_INFO;
27918}
27919extern "C" {
27920    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_PKCS8_PRIV_KEY_INFO"]
27921    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
27922        fp: *mut FILE,
27923        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27924        cb: pem_password_cb,
27925        u: *mut ::std::os::raw::c_void,
27926    ) -> *mut PKCS8_PRIV_KEY_INFO;
27927}
27928extern "C" {
27929    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
27930    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
27931        bp: *mut BIO,
27932        x: *mut PKCS8_PRIV_KEY_INFO,
27933    ) -> ::std::os::raw::c_int;
27934}
27935extern "C" {
27936    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PKCS8_PRIV_KEY_INFO"]
27937    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
27938        fp: *mut FILE,
27939        x: *mut PKCS8_PRIV_KEY_INFO,
27940    ) -> ::std::os::raw::c_int;
27941}
27942extern "C" {
27943    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_RSAPrivateKey"]
27944    pub fn PEM_read_bio_RSAPrivateKey(
27945        bp: *mut BIO,
27946        x: *mut *mut RSA,
27947        cb: pem_password_cb,
27948        u: *mut ::std::os::raw::c_void,
27949    ) -> *mut RSA;
27950}
27951extern "C" {
27952    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_RSAPrivateKey"]
27953    pub fn PEM_read_RSAPrivateKey(
27954        fp: *mut FILE,
27955        x: *mut *mut RSA,
27956        cb: pem_password_cb,
27957        u: *mut ::std::os::raw::c_void,
27958    ) -> *mut RSA;
27959}
27960extern "C" {
27961    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_RSAPrivateKey"]
27962    pub fn PEM_write_bio_RSAPrivateKey(
27963        bp: *mut BIO,
27964        x: *mut RSA,
27965        enc: *const EVP_CIPHER,
27966        pass: *const ::std::os::raw::c_uchar,
27967        pass_len: ::std::os::raw::c_int,
27968        cb: pem_password_cb,
27969        u: *mut ::std::os::raw::c_void,
27970    ) -> ::std::os::raw::c_int;
27971}
27972extern "C" {
27973    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_RSAPrivateKey"]
27974    pub fn PEM_write_RSAPrivateKey(
27975        fp: *mut FILE,
27976        x: *mut RSA,
27977        enc: *const EVP_CIPHER,
27978        pass: *const ::std::os::raw::c_uchar,
27979        pass_len: ::std::os::raw::c_int,
27980        cb: pem_password_cb,
27981        u: *mut ::std::os::raw::c_void,
27982    ) -> ::std::os::raw::c_int;
27983}
27984extern "C" {
27985    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_RSAPublicKey"]
27986    pub fn PEM_read_bio_RSAPublicKey(
27987        bp: *mut BIO,
27988        x: *mut *mut RSA,
27989        cb: pem_password_cb,
27990        u: *mut ::std::os::raw::c_void,
27991    ) -> *mut RSA;
27992}
27993extern "C" {
27994    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_RSAPublicKey"]
27995    pub fn PEM_read_RSAPublicKey(
27996        fp: *mut FILE,
27997        x: *mut *mut RSA,
27998        cb: pem_password_cb,
27999        u: *mut ::std::os::raw::c_void,
28000    ) -> *mut RSA;
28001}
28002extern "C" {
28003    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_RSAPublicKey"]
28004    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
28005}
28006extern "C" {
28007    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_RSAPublicKey"]
28008    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
28009}
28010extern "C" {
28011    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_RSA_PUBKEY"]
28012    pub fn PEM_read_bio_RSA_PUBKEY(
28013        bp: *mut BIO,
28014        x: *mut *mut RSA,
28015        cb: pem_password_cb,
28016        u: *mut ::std::os::raw::c_void,
28017    ) -> *mut RSA;
28018}
28019extern "C" {
28020    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_RSA_PUBKEY"]
28021    pub fn PEM_read_RSA_PUBKEY(
28022        fp: *mut FILE,
28023        x: *mut *mut RSA,
28024        cb: pem_password_cb,
28025        u: *mut ::std::os::raw::c_void,
28026    ) -> *mut RSA;
28027}
28028extern "C" {
28029    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_RSA_PUBKEY"]
28030    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
28031}
28032extern "C" {
28033    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_RSA_PUBKEY"]
28034    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
28035}
28036extern "C" {
28037    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_DSAPrivateKey"]
28038    pub fn PEM_read_bio_DSAPrivateKey(
28039        bp: *mut BIO,
28040        x: *mut *mut DSA,
28041        cb: pem_password_cb,
28042        u: *mut ::std::os::raw::c_void,
28043    ) -> *mut DSA;
28044}
28045extern "C" {
28046    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_DSAPrivateKey"]
28047    pub fn PEM_read_DSAPrivateKey(
28048        fp: *mut FILE,
28049        x: *mut *mut DSA,
28050        cb: pem_password_cb,
28051        u: *mut ::std::os::raw::c_void,
28052    ) -> *mut DSA;
28053}
28054extern "C" {
28055    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_DSAPrivateKey"]
28056    pub fn PEM_write_bio_DSAPrivateKey(
28057        bp: *mut BIO,
28058        x: *mut DSA,
28059        enc: *const EVP_CIPHER,
28060        pass: *const ::std::os::raw::c_uchar,
28061        pass_len: ::std::os::raw::c_int,
28062        cb: pem_password_cb,
28063        u: *mut ::std::os::raw::c_void,
28064    ) -> ::std::os::raw::c_int;
28065}
28066extern "C" {
28067    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_DSAPrivateKey"]
28068    pub fn PEM_write_DSAPrivateKey(
28069        fp: *mut FILE,
28070        x: *mut DSA,
28071        enc: *const EVP_CIPHER,
28072        pass: *const ::std::os::raw::c_uchar,
28073        pass_len: ::std::os::raw::c_int,
28074        cb: pem_password_cb,
28075        u: *mut ::std::os::raw::c_void,
28076    ) -> ::std::os::raw::c_int;
28077}
28078extern "C" {
28079    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_DSA_PUBKEY"]
28080    pub fn PEM_read_bio_DSA_PUBKEY(
28081        bp: *mut BIO,
28082        x: *mut *mut DSA,
28083        cb: pem_password_cb,
28084        u: *mut ::std::os::raw::c_void,
28085    ) -> *mut DSA;
28086}
28087extern "C" {
28088    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_DSA_PUBKEY"]
28089    pub fn PEM_read_DSA_PUBKEY(
28090        fp: *mut FILE,
28091        x: *mut *mut DSA,
28092        cb: pem_password_cb,
28093        u: *mut ::std::os::raw::c_void,
28094    ) -> *mut DSA;
28095}
28096extern "C" {
28097    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_DSA_PUBKEY"]
28098    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
28099}
28100extern "C" {
28101    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_DSA_PUBKEY"]
28102    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
28103}
28104extern "C" {
28105    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_DSAparams"]
28106    pub fn PEM_read_bio_DSAparams(
28107        bp: *mut BIO,
28108        x: *mut *mut DSA,
28109        cb: pem_password_cb,
28110        u: *mut ::std::os::raw::c_void,
28111    ) -> *mut DSA;
28112}
28113extern "C" {
28114    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_DSAparams"]
28115    pub fn PEM_read_DSAparams(
28116        fp: *mut FILE,
28117        x: *mut *mut DSA,
28118        cb: pem_password_cb,
28119        u: *mut ::std::os::raw::c_void,
28120    ) -> *mut DSA;
28121}
28122extern "C" {
28123    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_DSAparams"]
28124    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
28125}
28126extern "C" {
28127    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_DSAparams"]
28128    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
28129}
28130extern "C" {
28131    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_ECPrivateKey"]
28132    pub fn PEM_read_bio_ECPrivateKey(
28133        bp: *mut BIO,
28134        x: *mut *mut EC_KEY,
28135        cb: pem_password_cb,
28136        u: *mut ::std::os::raw::c_void,
28137    ) -> *mut EC_KEY;
28138}
28139extern "C" {
28140    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_ECPrivateKey"]
28141    pub fn PEM_read_ECPrivateKey(
28142        fp: *mut FILE,
28143        x: *mut *mut EC_KEY,
28144        cb: pem_password_cb,
28145        u: *mut ::std::os::raw::c_void,
28146    ) -> *mut EC_KEY;
28147}
28148extern "C" {
28149    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_ECPrivateKey"]
28150    pub fn PEM_write_bio_ECPrivateKey(
28151        bp: *mut BIO,
28152        x: *mut EC_KEY,
28153        enc: *const EVP_CIPHER,
28154        pass: *const ::std::os::raw::c_uchar,
28155        pass_len: ::std::os::raw::c_int,
28156        cb: pem_password_cb,
28157        u: *mut ::std::os::raw::c_void,
28158    ) -> ::std::os::raw::c_int;
28159}
28160extern "C" {
28161    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_ECPrivateKey"]
28162    pub fn PEM_write_ECPrivateKey(
28163        fp: *mut FILE,
28164        x: *mut EC_KEY,
28165        enc: *const EVP_CIPHER,
28166        pass: *const ::std::os::raw::c_uchar,
28167        pass_len: ::std::os::raw::c_int,
28168        cb: pem_password_cb,
28169        u: *mut ::std::os::raw::c_void,
28170    ) -> ::std::os::raw::c_int;
28171}
28172extern "C" {
28173    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_EC_PUBKEY"]
28174    pub fn PEM_read_bio_EC_PUBKEY(
28175        bp: *mut BIO,
28176        x: *mut *mut EC_KEY,
28177        cb: pem_password_cb,
28178        u: *mut ::std::os::raw::c_void,
28179    ) -> *mut EC_KEY;
28180}
28181extern "C" {
28182    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_EC_PUBKEY"]
28183    pub fn PEM_read_EC_PUBKEY(
28184        fp: *mut FILE,
28185        x: *mut *mut EC_KEY,
28186        cb: pem_password_cb,
28187        u: *mut ::std::os::raw::c_void,
28188    ) -> *mut EC_KEY;
28189}
28190extern "C" {
28191    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_EC_PUBKEY"]
28192    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
28193}
28194extern "C" {
28195    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_EC_PUBKEY"]
28196    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
28197}
28198extern "C" {
28199    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_DHparams"]
28200    pub fn PEM_read_bio_DHparams(
28201        bp: *mut BIO,
28202        x: *mut *mut DH,
28203        cb: pem_password_cb,
28204        u: *mut ::std::os::raw::c_void,
28205    ) -> *mut DH;
28206}
28207extern "C" {
28208    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_DHparams"]
28209    pub fn PEM_read_DHparams(
28210        fp: *mut FILE,
28211        x: *mut *mut DH,
28212        cb: pem_password_cb,
28213        u: *mut ::std::os::raw::c_void,
28214    ) -> *mut DH;
28215}
28216extern "C" {
28217    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_DHparams"]
28218    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
28219}
28220extern "C" {
28221    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_DHparams"]
28222    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
28223}
28224extern "C" {
28225    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_PrivateKey"]
28226    pub fn PEM_read_bio_PrivateKey(
28227        bp: *mut BIO,
28228        x: *mut *mut EVP_PKEY,
28229        cb: pem_password_cb,
28230        u: *mut ::std::os::raw::c_void,
28231    ) -> *mut EVP_PKEY;
28232}
28233extern "C" {
28234    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_PrivateKey"]
28235    pub fn PEM_read_PrivateKey(
28236        fp: *mut FILE,
28237        x: *mut *mut EVP_PKEY,
28238        cb: pem_password_cb,
28239        u: *mut ::std::os::raw::c_void,
28240    ) -> *mut EVP_PKEY;
28241}
28242extern "C" {
28243    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PrivateKey"]
28244    pub fn PEM_write_bio_PrivateKey(
28245        bp: *mut BIO,
28246        x: *mut EVP_PKEY,
28247        enc: *const EVP_CIPHER,
28248        pass: *const ::std::os::raw::c_uchar,
28249        pass_len: ::std::os::raw::c_int,
28250        cb: pem_password_cb,
28251        u: *mut ::std::os::raw::c_void,
28252    ) -> ::std::os::raw::c_int;
28253}
28254extern "C" {
28255    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PrivateKey"]
28256    pub fn PEM_write_PrivateKey(
28257        fp: *mut FILE,
28258        x: *mut EVP_PKEY,
28259        enc: *const EVP_CIPHER,
28260        pass: *const ::std::os::raw::c_uchar,
28261        pass_len: ::std::os::raw::c_int,
28262        cb: pem_password_cb,
28263        u: *mut ::std::os::raw::c_void,
28264    ) -> ::std::os::raw::c_int;
28265}
28266extern "C" {
28267    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_PUBKEY"]
28268    pub fn PEM_read_bio_PUBKEY(
28269        bp: *mut BIO,
28270        x: *mut *mut EVP_PKEY,
28271        cb: pem_password_cb,
28272        u: *mut ::std::os::raw::c_void,
28273    ) -> *mut EVP_PKEY;
28274}
28275extern "C" {
28276    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_PUBKEY"]
28277    pub fn PEM_read_PUBKEY(
28278        fp: *mut FILE,
28279        x: *mut *mut EVP_PKEY,
28280        cb: pem_password_cb,
28281        u: *mut ::std::os::raw::c_void,
28282    ) -> *mut EVP_PKEY;
28283}
28284extern "C" {
28285    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PUBKEY"]
28286    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28287}
28288extern "C" {
28289    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PUBKEY"]
28290    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28291}
28292extern "C" {
28293    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PKCS8PrivateKey_nid"]
28294    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
28295        bp: *mut BIO,
28296        x: *const EVP_PKEY,
28297        nid: ::std::os::raw::c_int,
28298        pass: *const ::std::os::raw::c_char,
28299        pass_len: ::std::os::raw::c_int,
28300        cb: pem_password_cb,
28301        u: *mut ::std::os::raw::c_void,
28302    ) -> ::std::os::raw::c_int;
28303}
28304extern "C" {
28305    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PKCS8PrivateKey"]
28306    pub fn PEM_write_bio_PKCS8PrivateKey(
28307        bp: *mut BIO,
28308        x: *const EVP_PKEY,
28309        enc: *const EVP_CIPHER,
28310        pass: *const ::std::os::raw::c_char,
28311        pass_len: ::std::os::raw::c_int,
28312        cb: pem_password_cb,
28313        u: *mut ::std::os::raw::c_void,
28314    ) -> ::std::os::raw::c_int;
28315}
28316extern "C" {
28317    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKey_bio"]
28318    pub fn i2d_PKCS8PrivateKey_bio(
28319        bp: *mut BIO,
28320        x: *const EVP_PKEY,
28321        enc: *const EVP_CIPHER,
28322        pass: *const ::std::os::raw::c_char,
28323        pass_len: ::std::os::raw::c_int,
28324        cb: pem_password_cb,
28325        u: *mut ::std::os::raw::c_void,
28326    ) -> ::std::os::raw::c_int;
28327}
28328extern "C" {
28329    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKey_nid_bio"]
28330    pub fn i2d_PKCS8PrivateKey_nid_bio(
28331        bp: *mut BIO,
28332        x: *const EVP_PKEY,
28333        nid: ::std::os::raw::c_int,
28334        pass: *const ::std::os::raw::c_char,
28335        pass_len: ::std::os::raw::c_int,
28336        cb: pem_password_cb,
28337        u: *mut ::std::os::raw::c_void,
28338    ) -> ::std::os::raw::c_int;
28339}
28340extern "C" {
28341    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8PrivateKey_bio"]
28342    pub fn d2i_PKCS8PrivateKey_bio(
28343        bp: *mut BIO,
28344        x: *mut *mut EVP_PKEY,
28345        cb: pem_password_cb,
28346        u: *mut ::std::os::raw::c_void,
28347    ) -> *mut EVP_PKEY;
28348}
28349extern "C" {
28350    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKey_fp"]
28351    pub fn i2d_PKCS8PrivateKey_fp(
28352        fp: *mut FILE,
28353        x: *const EVP_PKEY,
28354        enc: *const EVP_CIPHER,
28355        pass: *const ::std::os::raw::c_char,
28356        pass_len: ::std::os::raw::c_int,
28357        cb: pem_password_cb,
28358        u: *mut ::std::os::raw::c_void,
28359    ) -> ::std::os::raw::c_int;
28360}
28361extern "C" {
28362    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS8PrivateKey_nid_fp"]
28363    pub fn i2d_PKCS8PrivateKey_nid_fp(
28364        fp: *mut FILE,
28365        x: *const EVP_PKEY,
28366        nid: ::std::os::raw::c_int,
28367        pass: *const ::std::os::raw::c_char,
28368        pass_len: ::std::os::raw::c_int,
28369        cb: pem_password_cb,
28370        u: *mut ::std::os::raw::c_void,
28371    ) -> ::std::os::raw::c_int;
28372}
28373extern "C" {
28374    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PKCS8PrivateKey_nid"]
28375    pub fn PEM_write_PKCS8PrivateKey_nid(
28376        fp: *mut FILE,
28377        x: *const EVP_PKEY,
28378        nid: ::std::os::raw::c_int,
28379        pass: *const ::std::os::raw::c_char,
28380        pass_len: ::std::os::raw::c_int,
28381        cb: pem_password_cb,
28382        u: *mut ::std::os::raw::c_void,
28383    ) -> ::std::os::raw::c_int;
28384}
28385extern "C" {
28386    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS8PrivateKey_fp"]
28387    pub fn d2i_PKCS8PrivateKey_fp(
28388        fp: *mut FILE,
28389        x: *mut *mut EVP_PKEY,
28390        cb: pem_password_cb,
28391        u: *mut ::std::os::raw::c_void,
28392    ) -> *mut EVP_PKEY;
28393}
28394extern "C" {
28395    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_PKCS8PrivateKey"]
28396    pub fn PEM_write_PKCS8PrivateKey(
28397        fp: *mut FILE,
28398        x: *const EVP_PKEY,
28399        enc: *const EVP_CIPHER,
28400        pass: *const ::std::os::raw::c_char,
28401        pass_len: ::std::os::raw::c_int,
28402        cd: pem_password_cb,
28403        u: *mut ::std::os::raw::c_void,
28404    ) -> ::std::os::raw::c_int;
28405}
28406extern "C" {
28407    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_Parameters"]
28408    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
28409}
28410extern "C" {
28411    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_Parameters"]
28412    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28413}
28414extern "C" {
28415    #[link_name = "\u{1}aws_lc_0_30_0_PEM_read_bio_ECPKParameters"]
28416    pub fn PEM_read_bio_ECPKParameters(
28417        bio: *mut BIO,
28418        out_group: *mut *mut EC_GROUP,
28419        cb: pem_password_cb,
28420        u: *mut ::std::os::raw::c_void,
28421    ) -> *mut EC_GROUP;
28422}
28423extern "C" {
28424    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_ECPKParameters"]
28425    pub fn PEM_write_bio_ECPKParameters(
28426        out: *mut BIO,
28427        group: *const EC_GROUP,
28428    ) -> ::std::os::raw::c_int;
28429}
28430extern "C" {
28431    #[link_name = "\u{1}aws_lc_0_30_0_PEM_write_bio_PrivateKey_traditional"]
28432    pub fn PEM_write_bio_PrivateKey_traditional(
28433        bp: *mut BIO,
28434        x: *mut EVP_PKEY,
28435        enc: *const EVP_CIPHER,
28436        kstr: *mut ::std::os::raw::c_uchar,
28437        klen: ::std::os::raw::c_int,
28438        cb: pem_password_cb,
28439        u: *mut ::std::os::raw::c_void,
28440    ) -> ::std::os::raw::c_int;
28441}
28442extern "C" {
28443    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_encrypt"]
28444    pub fn PKCS8_encrypt(
28445        pbe_nid: ::std::os::raw::c_int,
28446        cipher: *const EVP_CIPHER,
28447        pass: *const ::std::os::raw::c_char,
28448        pass_len: ::std::os::raw::c_int,
28449        salt: *const u8,
28450        salt_len: usize,
28451        iterations: ::std::os::raw::c_int,
28452        p8inf: *mut PKCS8_PRIV_KEY_INFO,
28453    ) -> *mut X509_SIG;
28454}
28455extern "C" {
28456    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_marshal_encrypted_private_key"]
28457    pub fn PKCS8_marshal_encrypted_private_key(
28458        out: *mut CBB,
28459        pbe_nid: ::std::os::raw::c_int,
28460        cipher: *const EVP_CIPHER,
28461        pass: *const ::std::os::raw::c_char,
28462        pass_len: usize,
28463        salt: *const u8,
28464        salt_len: usize,
28465        iterations: ::std::os::raw::c_int,
28466        pkey: *const EVP_PKEY,
28467    ) -> ::std::os::raw::c_int;
28468}
28469extern "C" {
28470    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_decrypt"]
28471    pub fn PKCS8_decrypt(
28472        pkcs8: *mut X509_SIG,
28473        pass: *const ::std::os::raw::c_char,
28474        pass_len: ::std::os::raw::c_int,
28475    ) -> *mut PKCS8_PRIV_KEY_INFO;
28476}
28477extern "C" {
28478    #[link_name = "\u{1}aws_lc_0_30_0_PKCS8_parse_encrypted_private_key"]
28479    pub fn PKCS8_parse_encrypted_private_key(
28480        cbs: *mut CBS,
28481        pass: *const ::std::os::raw::c_char,
28482        pass_len: usize,
28483    ) -> *mut EVP_PKEY;
28484}
28485extern "C" {
28486    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_get_key_and_certs"]
28487    pub fn PKCS12_get_key_and_certs(
28488        out_key: *mut *mut EVP_PKEY,
28489        out_certs: *mut stack_st_X509,
28490        in_: *mut CBS,
28491        password: *const ::std::os::raw::c_char,
28492    ) -> ::std::os::raw::c_int;
28493}
28494extern "C" {
28495    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_PBE_add"]
28496    pub fn PKCS12_PBE_add();
28497}
28498extern "C" {
28499    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS12"]
28500    pub fn d2i_PKCS12(
28501        out_p12: *mut *mut PKCS12,
28502        ber_bytes: *mut *const u8,
28503        ber_len: usize,
28504    ) -> *mut PKCS12;
28505}
28506extern "C" {
28507    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS12_bio"]
28508    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28509}
28510extern "C" {
28511    #[link_name = "\u{1}aws_lc_0_30_0_d2i_PKCS12_fp"]
28512    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28513}
28514extern "C" {
28515    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS12"]
28516    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
28517}
28518extern "C" {
28519    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS12_bio"]
28520    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
28521}
28522extern "C" {
28523    #[link_name = "\u{1}aws_lc_0_30_0_i2d_PKCS12_fp"]
28524    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
28525}
28526extern "C" {
28527    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_parse"]
28528    pub fn PKCS12_parse(
28529        p12: *const PKCS12,
28530        password: *const ::std::os::raw::c_char,
28531        out_pkey: *mut *mut EVP_PKEY,
28532        out_cert: *mut *mut X509,
28533        out_ca_certs: *mut *mut stack_st_X509,
28534    ) -> ::std::os::raw::c_int;
28535}
28536extern "C" {
28537    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_set_mac"]
28538    pub fn PKCS12_set_mac(
28539        p12: *mut PKCS12,
28540        password: *const ::std::os::raw::c_char,
28541        password_len: ::std::os::raw::c_int,
28542        salt: *mut ::std::os::raw::c_uchar,
28543        salt_len: ::std::os::raw::c_int,
28544        mac_iterations: ::std::os::raw::c_int,
28545        md: *const EVP_MD,
28546    ) -> ::std::os::raw::c_int;
28547}
28548extern "C" {
28549    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_verify_mac"]
28550    pub fn PKCS12_verify_mac(
28551        p12: *const PKCS12,
28552        password: *const ::std::os::raw::c_char,
28553        password_len: ::std::os::raw::c_int,
28554    ) -> ::std::os::raw::c_int;
28555}
28556extern "C" {
28557    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_create"]
28558    pub fn PKCS12_create(
28559        password: *const ::std::os::raw::c_char,
28560        name: *const ::std::os::raw::c_char,
28561        pkey: *const EVP_PKEY,
28562        cert: *mut X509,
28563        chain: *const stack_st_X509,
28564        key_nid: ::std::os::raw::c_int,
28565        cert_nid: ::std::os::raw::c_int,
28566        iterations: ::std::os::raw::c_int,
28567        mac_iterations: ::std::os::raw::c_int,
28568        key_type: ::std::os::raw::c_int,
28569    ) -> *mut PKCS12;
28570}
28571extern "C" {
28572    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_new"]
28573    pub fn PKCS12_new() -> *mut PKCS12;
28574}
28575extern "C" {
28576    #[link_name = "\u{1}aws_lc_0_30_0_PKCS12_free"]
28577    pub fn PKCS12_free(p12: *mut PKCS12);
28578}
28579pub type poly1305_state = [u8; 512usize];
28580extern "C" {
28581    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_poly1305_init"]
28582    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
28583}
28584extern "C" {
28585    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_poly1305_update"]
28586    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
28587}
28588extern "C" {
28589    #[link_name = "\u{1}aws_lc_0_30_0_CRYPTO_poly1305_finish"]
28590    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
28591}
28592extern "C" {
28593    #[link_name = "\u{1}aws_lc_0_30_0_RAND_bytes"]
28594    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28595}
28596extern "C" {
28597    #[link_name = "\u{1}aws_lc_0_30_0_RAND_priv_bytes"]
28598    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28599}
28600extern "C" {
28601    #[link_name = "\u{1}aws_lc_0_30_0_RAND_enable_fork_unsafe_buffering"]
28602    pub fn RAND_enable_fork_unsafe_buffering(fd: ::std::os::raw::c_int);
28603}
28604extern "C" {
28605    #[link_name = "\u{1}aws_lc_0_30_0_RAND_get_system_entropy_for_custom_prng"]
28606    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
28607}
28608extern "C" {
28609    #[link_name = "\u{1}aws_lc_0_30_0_RAND_pseudo_bytes"]
28610    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28611}
28612extern "C" {
28613    #[link_name = "\u{1}aws_lc_0_30_0_RAND_seed"]
28614    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
28615}
28616extern "C" {
28617    #[link_name = "\u{1}aws_lc_0_30_0_RAND_load_file"]
28618    pub fn RAND_load_file(
28619        path: *const ::std::os::raw::c_char,
28620        num: ::std::os::raw::c_long,
28621    ) -> ::std::os::raw::c_int;
28622}
28623extern "C" {
28624    #[link_name = "\u{1}aws_lc_0_30_0_RAND_write_file"]
28625    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28626}
28627extern "C" {
28628    #[link_name = "\u{1}aws_lc_0_30_0_RAND_file_name"]
28629    pub fn RAND_file_name(
28630        buf: *mut ::std::os::raw::c_char,
28631        num: usize,
28632    ) -> *const ::std::os::raw::c_char;
28633}
28634extern "C" {
28635    #[link_name = "\u{1}aws_lc_0_30_0_RAND_add"]
28636    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
28637}
28638extern "C" {
28639    #[link_name = "\u{1}aws_lc_0_30_0_RAND_egd"]
28640    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28641}
28642extern "C" {
28643    #[link_name = "\u{1}aws_lc_0_30_0_RAND_egd_bytes"]
28644    pub fn RAND_egd_bytes(
28645        arg1: *const ::std::os::raw::c_char,
28646        bytes: ::std::os::raw::c_int,
28647    ) -> ::std::os::raw::c_int;
28648}
28649extern "C" {
28650    #[link_name = "\u{1}aws_lc_0_30_0_RAND_poll"]
28651    pub fn RAND_poll() -> ::std::os::raw::c_int;
28652}
28653extern "C" {
28654    #[link_name = "\u{1}aws_lc_0_30_0_RAND_status"]
28655    pub fn RAND_status() -> ::std::os::raw::c_int;
28656}
28657extern "C" {
28658    #[link_name = "\u{1}aws_lc_0_30_0_RAND_cleanup"]
28659    pub fn RAND_cleanup();
28660}
28661#[repr(C)]
28662#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
28663pub struct rand_meth_st {
28664    pub seed: ::std::option::Option<
28665        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
28666    >,
28667    pub bytes: ::std::option::Option<
28668        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28669    >,
28670    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
28671    pub add: ::std::option::Option<
28672        unsafe extern "C" fn(
28673            buf: *const ::std::os::raw::c_void,
28674            num: ::std::os::raw::c_int,
28675            entropy: f64,
28676        ),
28677    >,
28678    pub pseudorand: ::std::option::Option<
28679        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28680    >,
28681    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
28682}
28683#[test]
28684fn bindgen_test_layout_rand_meth_st() {
28685    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
28686    let ptr = UNINIT.as_ptr();
28687    assert_eq!(
28688        ::std::mem::size_of::<rand_meth_st>(),
28689        48usize,
28690        concat!("Size of: ", stringify!(rand_meth_st))
28691    );
28692    assert_eq!(
28693        ::std::mem::align_of::<rand_meth_st>(),
28694        8usize,
28695        concat!("Alignment of ", stringify!(rand_meth_st))
28696    );
28697    assert_eq!(
28698        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
28699        0usize,
28700        concat!(
28701            "Offset of field: ",
28702            stringify!(rand_meth_st),
28703            "::",
28704            stringify!(seed)
28705        )
28706    );
28707    assert_eq!(
28708        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
28709        8usize,
28710        concat!(
28711            "Offset of field: ",
28712            stringify!(rand_meth_st),
28713            "::",
28714            stringify!(bytes)
28715        )
28716    );
28717    assert_eq!(
28718        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
28719        16usize,
28720        concat!(
28721            "Offset of field: ",
28722            stringify!(rand_meth_st),
28723            "::",
28724            stringify!(cleanup)
28725        )
28726    );
28727    assert_eq!(
28728        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
28729        24usize,
28730        concat!(
28731            "Offset of field: ",
28732            stringify!(rand_meth_st),
28733            "::",
28734            stringify!(add)
28735        )
28736    );
28737    assert_eq!(
28738        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
28739        32usize,
28740        concat!(
28741            "Offset of field: ",
28742            stringify!(rand_meth_st),
28743            "::",
28744            stringify!(pseudorand)
28745        )
28746    );
28747    assert_eq!(
28748        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
28749        40usize,
28750        concat!(
28751            "Offset of field: ",
28752            stringify!(rand_meth_st),
28753            "::",
28754            stringify!(status)
28755        )
28756    );
28757}
28758extern "C" {
28759    #[link_name = "\u{1}aws_lc_0_30_0_RAND_SSLeay"]
28760    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
28761}
28762extern "C" {
28763    #[link_name = "\u{1}aws_lc_0_30_0_RAND_OpenSSL"]
28764    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
28765}
28766extern "C" {
28767    #[link_name = "\u{1}aws_lc_0_30_0_RAND_get_rand_method"]
28768    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
28769}
28770extern "C" {
28771    #[link_name = "\u{1}aws_lc_0_30_0_RAND_set_rand_method"]
28772    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
28773}
28774extern "C" {
28775    #[link_name = "\u{1}aws_lc_0_30_0_RAND_keep_random_devices_open"]
28776    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
28777}
28778#[repr(C)]
28779#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28780pub struct rc4_key_st {
28781    pub x: u32,
28782    pub y: u32,
28783    pub data: [u32; 256usize],
28784}
28785#[test]
28786fn bindgen_test_layout_rc4_key_st() {
28787    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
28788    let ptr = UNINIT.as_ptr();
28789    assert_eq!(
28790        ::std::mem::size_of::<rc4_key_st>(),
28791        1032usize,
28792        concat!("Size of: ", stringify!(rc4_key_st))
28793    );
28794    assert_eq!(
28795        ::std::mem::align_of::<rc4_key_st>(),
28796        4usize,
28797        concat!("Alignment of ", stringify!(rc4_key_st))
28798    );
28799    assert_eq!(
28800        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
28801        0usize,
28802        concat!(
28803            "Offset of field: ",
28804            stringify!(rc4_key_st),
28805            "::",
28806            stringify!(x)
28807        )
28808    );
28809    assert_eq!(
28810        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
28811        4usize,
28812        concat!(
28813            "Offset of field: ",
28814            stringify!(rc4_key_st),
28815            "::",
28816            stringify!(y)
28817        )
28818    );
28819    assert_eq!(
28820        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28821        8usize,
28822        concat!(
28823            "Offset of field: ",
28824            stringify!(rc4_key_st),
28825            "::",
28826            stringify!(data)
28827        )
28828    );
28829}
28830impl Default for rc4_key_st {
28831    fn default() -> Self {
28832        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28833        unsafe {
28834            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28835            s.assume_init()
28836        }
28837    }
28838}
28839extern "C" {
28840    #[link_name = "\u{1}aws_lc_0_30_0_RC4_set_key"]
28841    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
28842}
28843extern "C" {
28844    #[link_name = "\u{1}aws_lc_0_30_0_RC4"]
28845    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
28846}
28847#[repr(C)]
28848#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28849pub struct RIPEMD160state_st {
28850    pub h: [u32; 5usize],
28851    pub Nl: u32,
28852    pub Nh: u32,
28853    pub data: [u8; 64usize],
28854    pub num: ::std::os::raw::c_uint,
28855}
28856#[test]
28857fn bindgen_test_layout_RIPEMD160state_st() {
28858    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
28859    let ptr = UNINIT.as_ptr();
28860    assert_eq!(
28861        ::std::mem::size_of::<RIPEMD160state_st>(),
28862        96usize,
28863        concat!("Size of: ", stringify!(RIPEMD160state_st))
28864    );
28865    assert_eq!(
28866        ::std::mem::align_of::<RIPEMD160state_st>(),
28867        4usize,
28868        concat!("Alignment of ", stringify!(RIPEMD160state_st))
28869    );
28870    assert_eq!(
28871        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
28872        0usize,
28873        concat!(
28874            "Offset of field: ",
28875            stringify!(RIPEMD160state_st),
28876            "::",
28877            stringify!(h)
28878        )
28879    );
28880    assert_eq!(
28881        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
28882        20usize,
28883        concat!(
28884            "Offset of field: ",
28885            stringify!(RIPEMD160state_st),
28886            "::",
28887            stringify!(Nl)
28888        )
28889    );
28890    assert_eq!(
28891        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
28892        24usize,
28893        concat!(
28894            "Offset of field: ",
28895            stringify!(RIPEMD160state_st),
28896            "::",
28897            stringify!(Nh)
28898        )
28899    );
28900    assert_eq!(
28901        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28902        28usize,
28903        concat!(
28904            "Offset of field: ",
28905            stringify!(RIPEMD160state_st),
28906            "::",
28907            stringify!(data)
28908        )
28909    );
28910    assert_eq!(
28911        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
28912        92usize,
28913        concat!(
28914            "Offset of field: ",
28915            stringify!(RIPEMD160state_st),
28916            "::",
28917            stringify!(num)
28918        )
28919    );
28920}
28921impl Default for RIPEMD160state_st {
28922    fn default() -> Self {
28923        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28924        unsafe {
28925            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28926            s.assume_init()
28927        }
28928    }
28929}
28930extern "C" {
28931    #[link_name = "\u{1}aws_lc_0_30_0_RIPEMD160_Init"]
28932    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28933}
28934extern "C" {
28935    #[link_name = "\u{1}aws_lc_0_30_0_RIPEMD160_Update"]
28936    pub fn RIPEMD160_Update(
28937        ctx: *mut RIPEMD160_CTX,
28938        data: *const ::std::os::raw::c_void,
28939        len: usize,
28940    ) -> ::std::os::raw::c_int;
28941}
28942extern "C" {
28943    #[link_name = "\u{1}aws_lc_0_30_0_RIPEMD160_Final"]
28944    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28945}
28946extern "C" {
28947    #[link_name = "\u{1}aws_lc_0_30_0_RIPEMD160"]
28948    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
28949}
28950extern "C" {
28951    #[link_name = "\u{1}aws_lc_0_30_0_SIPHASH_24"]
28952    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
28953}
28954extern "C" {
28955    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_experiment_v1"]
28956    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
28957}
28958extern "C" {
28959    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_experiment_v2_voprf"]
28960    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
28961}
28962extern "C" {
28963    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_experiment_v2_pmb"]
28964    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
28965}
28966extern "C" {
28967    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_pst_v1_voprf"]
28968    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
28969}
28970extern "C" {
28971    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_pst_v1_pmb"]
28972    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
28973}
28974#[repr(C)]
28975#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28976pub struct trust_token_st {
28977    pub data: *mut u8,
28978    pub len: usize,
28979}
28980#[test]
28981fn bindgen_test_layout_trust_token_st() {
28982    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
28983    let ptr = UNINIT.as_ptr();
28984    assert_eq!(
28985        ::std::mem::size_of::<trust_token_st>(),
28986        16usize,
28987        concat!("Size of: ", stringify!(trust_token_st))
28988    );
28989    assert_eq!(
28990        ::std::mem::align_of::<trust_token_st>(),
28991        8usize,
28992        concat!("Alignment of ", stringify!(trust_token_st))
28993    );
28994    assert_eq!(
28995        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28996        0usize,
28997        concat!(
28998            "Offset of field: ",
28999            stringify!(trust_token_st),
29000            "::",
29001            stringify!(data)
29002        )
29003    );
29004    assert_eq!(
29005        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
29006        8usize,
29007        concat!(
29008            "Offset of field: ",
29009            stringify!(trust_token_st),
29010            "::",
29011            stringify!(len)
29012        )
29013    );
29014}
29015impl Default for trust_token_st {
29016    fn default() -> Self {
29017        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
29018        unsafe {
29019            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
29020            s.assume_init()
29021        }
29022    }
29023}
29024#[repr(C)]
29025#[derive(Debug, Copy, Clone)]
29026pub struct stack_st_TRUST_TOKEN {
29027    _unused: [u8; 0],
29028}
29029pub type sk_TRUST_TOKEN_free_func =
29030    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
29031pub type sk_TRUST_TOKEN_copy_func =
29032    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
29033pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
29034    unsafe extern "C" fn(
29035        arg1: *const *const TRUST_TOKEN,
29036        arg2: *const *const TRUST_TOKEN,
29037    ) -> ::std::os::raw::c_int,
29038>;
29039pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
29040    unsafe extern "C" fn(
29041        arg1: *mut TRUST_TOKEN,
29042        arg2: *mut ::std::os::raw::c_void,
29043    ) -> ::std::os::raw::c_int,
29044>;
29045extern "C" {
29046    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_new"]
29047    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
29048}
29049extern "C" {
29050    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_free"]
29051    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
29052}
29053extern "C" {
29054    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_generate_key"]
29055    pub fn TRUST_TOKEN_generate_key(
29056        method: *const TRUST_TOKEN_METHOD,
29057        out_priv_key: *mut u8,
29058        out_priv_key_len: *mut usize,
29059        max_priv_key_len: usize,
29060        out_pub_key: *mut u8,
29061        out_pub_key_len: *mut usize,
29062        max_pub_key_len: usize,
29063        id: u32,
29064    ) -> ::std::os::raw::c_int;
29065}
29066extern "C" {
29067    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_derive_key_from_secret"]
29068    pub fn TRUST_TOKEN_derive_key_from_secret(
29069        method: *const TRUST_TOKEN_METHOD,
29070        out_priv_key: *mut u8,
29071        out_priv_key_len: *mut usize,
29072        max_priv_key_len: usize,
29073        out_pub_key: *mut u8,
29074        out_pub_key_len: *mut usize,
29075        max_pub_key_len: usize,
29076        id: u32,
29077        secret: *const u8,
29078        secret_len: usize,
29079    ) -> ::std::os::raw::c_int;
29080}
29081extern "C" {
29082    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_new"]
29083    pub fn TRUST_TOKEN_CLIENT_new(
29084        method: *const TRUST_TOKEN_METHOD,
29085        max_batchsize: usize,
29086    ) -> *mut TRUST_TOKEN_CLIENT;
29087}
29088extern "C" {
29089    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_free"]
29090    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
29091}
29092extern "C" {
29093    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_add_key"]
29094    pub fn TRUST_TOKEN_CLIENT_add_key(
29095        ctx: *mut TRUST_TOKEN_CLIENT,
29096        out_key_index: *mut usize,
29097        key: *const u8,
29098        key_len: usize,
29099    ) -> ::std::os::raw::c_int;
29100}
29101extern "C" {
29102    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_set_srr_key"]
29103    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
29104        ctx: *mut TRUST_TOKEN_CLIENT,
29105        key: *mut EVP_PKEY,
29106    ) -> ::std::os::raw::c_int;
29107}
29108extern "C" {
29109    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_begin_issuance"]
29110    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
29111        ctx: *mut TRUST_TOKEN_CLIENT,
29112        out: *mut *mut u8,
29113        out_len: *mut usize,
29114        count: usize,
29115    ) -> ::std::os::raw::c_int;
29116}
29117extern "C" {
29118    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
29119    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
29120        ctx: *mut TRUST_TOKEN_CLIENT,
29121        out: *mut *mut u8,
29122        out_len: *mut usize,
29123        count: usize,
29124        msg: *const u8,
29125        msg_len: usize,
29126    ) -> ::std::os::raw::c_int;
29127}
29128extern "C" {
29129    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_finish_issuance"]
29130    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
29131        ctx: *mut TRUST_TOKEN_CLIENT,
29132        out_key_index: *mut usize,
29133        response: *const u8,
29134        response_len: usize,
29135    ) -> *mut stack_st_TRUST_TOKEN;
29136}
29137extern "C" {
29138    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_begin_redemption"]
29139    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
29140        ctx: *mut TRUST_TOKEN_CLIENT,
29141        out: *mut *mut u8,
29142        out_len: *mut usize,
29143        token: *const TRUST_TOKEN,
29144        data: *const u8,
29145        data_len: usize,
29146        time: u64,
29147    ) -> ::std::os::raw::c_int;
29148}
29149extern "C" {
29150    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_CLIENT_finish_redemption"]
29151    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
29152        ctx: *mut TRUST_TOKEN_CLIENT,
29153        out_rr: *mut *mut u8,
29154        out_rr_len: *mut usize,
29155        out_sig: *mut *mut u8,
29156        out_sig_len: *mut usize,
29157        response: *const u8,
29158        response_len: usize,
29159    ) -> ::std::os::raw::c_int;
29160}
29161extern "C" {
29162    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_new"]
29163    pub fn TRUST_TOKEN_ISSUER_new(
29164        method: *const TRUST_TOKEN_METHOD,
29165        max_batchsize: usize,
29166    ) -> *mut TRUST_TOKEN_ISSUER;
29167}
29168extern "C" {
29169    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_free"]
29170    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
29171}
29172extern "C" {
29173    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_add_key"]
29174    pub fn TRUST_TOKEN_ISSUER_add_key(
29175        ctx: *mut TRUST_TOKEN_ISSUER,
29176        key: *const u8,
29177        key_len: usize,
29178    ) -> ::std::os::raw::c_int;
29179}
29180extern "C" {
29181    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_set_srr_key"]
29182    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
29183        ctx: *mut TRUST_TOKEN_ISSUER,
29184        key: *mut EVP_PKEY,
29185    ) -> ::std::os::raw::c_int;
29186}
29187extern "C" {
29188    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_set_metadata_key"]
29189    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
29190        ctx: *mut TRUST_TOKEN_ISSUER,
29191        key: *const u8,
29192        len: usize,
29193    ) -> ::std::os::raw::c_int;
29194}
29195extern "C" {
29196    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_issue"]
29197    pub fn TRUST_TOKEN_ISSUER_issue(
29198        ctx: *const TRUST_TOKEN_ISSUER,
29199        out: *mut *mut u8,
29200        out_len: *mut usize,
29201        out_tokens_issued: *mut usize,
29202        request: *const u8,
29203        request_len: usize,
29204        public_metadata: u32,
29205        private_metadata: u8,
29206        max_issuance: usize,
29207    ) -> ::std::os::raw::c_int;
29208}
29209extern "C" {
29210    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_redeem"]
29211    pub fn TRUST_TOKEN_ISSUER_redeem(
29212        ctx: *const TRUST_TOKEN_ISSUER,
29213        out_public: *mut u32,
29214        out_private: *mut u8,
29215        out_token: *mut *mut TRUST_TOKEN,
29216        out_client_data: *mut *mut u8,
29217        out_client_data_len: *mut usize,
29218        request: *const u8,
29219        request_len: usize,
29220    ) -> ::std::os::raw::c_int;
29221}
29222extern "C" {
29223    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_ISSUER_redeem_over_message"]
29224    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
29225        ctx: *const TRUST_TOKEN_ISSUER,
29226        out_public: *mut u32,
29227        out_private: *mut u8,
29228        out_token: *mut *mut TRUST_TOKEN,
29229        out_client_data: *mut *mut u8,
29230        out_client_data_len: *mut usize,
29231        request: *const u8,
29232        request_len: usize,
29233        msg: *const u8,
29234        msg_len: usize,
29235    ) -> ::std::os::raw::c_int;
29236}
29237extern "C" {
29238    #[link_name = "\u{1}aws_lc_0_30_0_TRUST_TOKEN_decode_private_metadata"]
29239    pub fn TRUST_TOKEN_decode_private_metadata(
29240        method: *const TRUST_TOKEN_METHOD,
29241        out_value: *mut u8,
29242        key: *const u8,
29243        key_len: usize,
29244        nonce: *const u8,
29245        nonce_len: usize,
29246        encrypted_bit: u8,
29247    ) -> ::std::os::raw::c_int;
29248}
29249extern "C" {
29250    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_keygen_deterministic"]
29251    pub fn EVP_PKEY_keygen_deterministic(
29252        ctx: *mut EVP_PKEY_CTX,
29253        out_pkey: *mut *mut EVP_PKEY,
29254        seed: *const u8,
29255        seed_len: *mut usize,
29256    ) -> ::std::os::raw::c_int;
29257}
29258extern "C" {
29259    #[link_name = "\u{1}aws_lc_0_30_0_EVP_PKEY_encapsulate_deterministic"]
29260    pub fn EVP_PKEY_encapsulate_deterministic(
29261        ctx: *mut EVP_PKEY_CTX,
29262        ciphertext: *mut u8,
29263        ciphertext_len: *mut usize,
29264        shared_secret: *mut u8,
29265        shared_secret_len: *mut usize,
29266        seed: *const u8,
29267        seed_len: *mut usize,
29268    ) -> ::std::os::raw::c_int;
29269}
29270extern "C" {
29271    #[link_name = "\u{1}aws_lc_0_30_0_ERR_GET_LIB_RUST"]
29272    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29273}
29274extern "C" {
29275    #[link_name = "\u{1}aws_lc_0_30_0_ERR_GET_REASON_RUST"]
29276    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29277}
29278extern "C" {
29279    #[link_name = "\u{1}aws_lc_0_30_0_ERR_GET_FUNC_RUST"]
29280    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29281}
29282pub type __builtin_va_list = [__va_list_tag; 1usize];
29283#[repr(C)]
29284#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29285pub struct __va_list_tag {
29286    pub gp_offset: ::std::os::raw::c_uint,
29287    pub fp_offset: ::std::os::raw::c_uint,
29288    pub overflow_arg_area: *mut ::std::os::raw::c_void,
29289    pub reg_save_area: *mut ::std::os::raw::c_void,
29290}
29291#[test]
29292fn bindgen_test_layout___va_list_tag() {
29293    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
29294    let ptr = UNINIT.as_ptr();
29295    assert_eq!(
29296        ::std::mem::size_of::<__va_list_tag>(),
29297        24usize,
29298        concat!("Size of: ", stringify!(__va_list_tag))
29299    );
29300    assert_eq!(
29301        ::std::mem::align_of::<__va_list_tag>(),
29302        8usize,
29303        concat!("Alignment of ", stringify!(__va_list_tag))
29304    );
29305    assert_eq!(
29306        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
29307        0usize,
29308        concat!(
29309            "Offset of field: ",
29310            stringify!(__va_list_tag),
29311            "::",
29312            stringify!(gp_offset)
29313        )
29314    );
29315    assert_eq!(
29316        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
29317        4usize,
29318        concat!(
29319            "Offset of field: ",
29320            stringify!(__va_list_tag),
29321            "::",
29322            stringify!(fp_offset)
29323        )
29324    );
29325    assert_eq!(
29326        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
29327        8usize,
29328        concat!(
29329            "Offset of field: ",
29330            stringify!(__va_list_tag),
29331            "::",
29332            stringify!(overflow_arg_area)
29333        )
29334    );
29335    assert_eq!(
29336        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
29337        16usize,
29338        concat!(
29339            "Offset of field: ",
29340            stringify!(__va_list_tag),
29341            "::",
29342            stringify!(reg_save_area)
29343        )
29344    );
29345}
29346impl Default for __va_list_tag {
29347    fn default() -> Self {
29348        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
29349        unsafe {
29350            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
29351            s.assume_init()
29352        }
29353    }
29354}
29355#[repr(C)]
29356#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
29357pub struct CRYPTO_dynlock_value {
29358    pub _address: u8,
29359}