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::default_trait_access,
12    clippy::must_use_candidate,
13    clippy::not_unsafe_ptr_arg_deref,
14    clippy::ptr_as_ptr,
15    clippy::pub_underscore_fields,
16    clippy::semicolon_if_nothing_returned,
17    clippy::too_many_lines,
18    clippy::unreadable_literal,
19    clippy::used_underscore_binding,
20    clippy::useless_transmute,
21    dead_code,
22    improper_ctypes,
23    non_camel_case_types,
24    non_snake_case,
25    non_upper_case_globals,
26    unused_imports,
27)]
28
29
30#[repr(C)]
31#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
32pub struct __BindgenBitfieldUnit<Storage> {
33    storage: Storage,
34}
35impl<Storage> __BindgenBitfieldUnit<Storage> {
36    #[inline]
37    pub const fn new(storage: Storage) -> Self {
38        Self { storage }
39    }
40}
41impl<Storage> __BindgenBitfieldUnit<Storage>
42where
43    Storage: AsRef<[u8]> + AsMut<[u8]>,
44{
45    #[inline]
46    pub fn get_bit(&self, index: usize) -> bool {
47        debug_assert!(index / 8 < self.storage.as_ref().len());
48        let byte_index = index / 8;
49        let byte = self.storage.as_ref()[byte_index];
50        let bit_index = if cfg!(target_endian = "big") {
51            7 - (index % 8)
52        } else {
53            index % 8
54        };
55        let mask = 1 << bit_index;
56        byte & mask == mask
57    }
58    #[inline]
59    pub fn set_bit(&mut self, index: usize, val: bool) {
60        debug_assert!(index / 8 < self.storage.as_ref().len());
61        let byte_index = index / 8;
62        let byte = &mut self.storage.as_mut()[byte_index];
63        let bit_index = if cfg!(target_endian = "big") {
64            7 - (index % 8)
65        } else {
66            index % 8
67        };
68        let mask = 1 << bit_index;
69        if val {
70            *byte |= mask;
71        } else {
72            *byte &= !mask;
73        }
74    }
75    #[inline]
76    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
77        debug_assert!(bit_width <= 64);
78        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
79        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
80        let mut val = 0;
81        for i in 0..(bit_width as usize) {
82            if self.get_bit(i + bit_offset) {
83                let index = if cfg!(target_endian = "big") {
84                    bit_width as usize - 1 - i
85                } else {
86                    i
87                };
88                val |= 1 << index;
89            }
90        }
91        val
92    }
93    #[inline]
94    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
95        debug_assert!(bit_width <= 64);
96        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
97        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
98        for i in 0..(bit_width as usize) {
99            let mask = 1 << i;
100            let val_bit_is_set = val & mask == mask;
101            let index = if cfg!(target_endian = "big") {
102                bit_width as usize - 1 - i
103            } else {
104                i
105            };
106            self.set_bit(index + bit_offset, val_bit_is_set);
107        }
108    }
109}
110pub const AWSLC_VERSION_NAME: &[u8; 7] = b"AWS-LC\0";
111pub const OPENSSL_VERSION_NUMBER: i32 = 269488255;
112pub const SSLEAY_VERSION_NUMBER: i32 = 269488255;
113pub const AWSLC_API_VERSION: i32 = 32;
114pub const AWSLC_VERSION_NUMBER_STRING: &[u8; 7] = b"1.48.5\0";
115pub const AES_ENCRYPT: i32 = 1;
116pub const AES_DECRYPT: i32 = 0;
117pub const AES_MAXNR: i32 = 14;
118pub const AES_BLOCK_SIZE: i32 = 16;
119pub const SHA_CBLOCK: i32 = 64;
120pub const SHA_DIGEST_LENGTH: i32 = 20;
121pub const SHA224_CBLOCK: i32 = 64;
122pub const SHA224_DIGEST_LENGTH: i32 = 28;
123pub const SHA256_CBLOCK: i32 = 64;
124pub const SHA256_DIGEST_LENGTH: i32 = 32;
125pub const SHA384_CBLOCK: i32 = 128;
126pub const SHA384_DIGEST_LENGTH: i32 = 48;
127pub const SHA512_CBLOCK: i32 = 128;
128pub const SHA512_DIGEST_LENGTH: i32 = 64;
129pub const SHA512_224_DIGEST_LENGTH: i32 = 28;
130pub const SHA512_256_DIGEST_LENGTH: i32 = 32;
131pub const CRYPTO_LOCK: i32 = 1;
132pub const CRYPTO_UNLOCK: i32 = 2;
133pub const CRYPTO_READ: i32 = 4;
134pub const CRYPTO_WRITE: i32 = 8;
135pub const OPENSSL_VERSION_TEXT: &[u8; 42] = b"OpenSSL 1.1.1 (compatible; AWS-LC 1.48.5)\0";
136pub const OPENSSL_VERSION: i32 = 0;
137pub const OPENSSL_CFLAGS: i32 = 1;
138pub const OPENSSL_BUILT_ON: i32 = 2;
139pub const OPENSSL_PLATFORM: i32 = 3;
140pub const OPENSSL_DIR: i32 = 4;
141pub const SSLEAY_VERSION: i32 = 0;
142pub const SSLEAY_CFLAGS: i32 = 1;
143pub const SSLEAY_BUILT_ON: i32 = 2;
144pub const SSLEAY_PLATFORM: i32 = 3;
145pub const SSLEAY_DIR: i32 = 4;
146pub const OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS: i32 = 0;
147pub const OPENSSL_INIT_LOAD_CRYPTO_STRINGS: i32 = 0;
148pub const OPENSSL_INIT_ADD_ALL_CIPHERS: i32 = 0;
149pub const OPENSSL_INIT_ADD_ALL_DIGESTS: i32 = 0;
150pub const OPENSSL_INIT_NO_ADD_ALL_CIPHERS: i32 = 0;
151pub const OPENSSL_INIT_NO_ADD_ALL_DIGESTS: i32 = 0;
152pub const OPENSSL_INIT_LOAD_CONFIG: i32 = 0;
153pub const OPENSSL_INIT_NO_LOAD_CONFIG: i32 = 0;
154pub const OPENSSL_INIT_ENGINE_ALL_BUILTIN: i32 = 0;
155pub const ERR_FLAG_STRING: i32 = 1;
156pub const ERR_FLAG_MALLOCED: i32 = 2;
157pub const ERR_LIB_NONE: i32 = 1;
158pub const ERR_LIB_SYS: i32 = 2;
159pub const ERR_LIB_BN: i32 = 3;
160pub const ERR_LIB_RSA: i32 = 4;
161pub const ERR_LIB_DH: i32 = 5;
162pub const ERR_LIB_EVP: i32 = 6;
163pub const ERR_LIB_BUF: i32 = 7;
164pub const ERR_LIB_OBJ: i32 = 8;
165pub const ERR_LIB_PEM: i32 = 9;
166pub const ERR_LIB_DSA: i32 = 10;
167pub const ERR_LIB_X509: i32 = 11;
168pub const ERR_LIB_ASN1: i32 = 12;
169pub const ERR_LIB_CONF: i32 = 13;
170pub const ERR_LIB_CRYPTO: i32 = 14;
171pub const ERR_LIB_EC: i32 = 15;
172pub const ERR_LIB_SSL: i32 = 16;
173pub const ERR_LIB_BIO: i32 = 17;
174pub const ERR_LIB_PKCS7: i32 = 18;
175pub const ERR_LIB_PKCS8: i32 = 19;
176pub const ERR_LIB_X509V3: i32 = 20;
177pub const ERR_LIB_RAND: i32 = 21;
178pub const ERR_LIB_ENGINE: i32 = 22;
179pub const ERR_LIB_OCSP: i32 = 23;
180pub const ERR_LIB_UI: i32 = 24;
181pub const ERR_LIB_COMP: i32 = 25;
182pub const ERR_LIB_ECDSA: i32 = 26;
183pub const ERR_LIB_ECDH: i32 = 27;
184pub const ERR_LIB_HMAC: i32 = 28;
185pub const ERR_LIB_DIGEST: i32 = 29;
186pub const ERR_LIB_CIPHER: i32 = 30;
187pub const ERR_LIB_HKDF: i32 = 31;
188pub const ERR_LIB_TRUST_TOKEN: i32 = 32;
189pub const ERR_LIB_USER: i32 = 33;
190pub const ERR_NUM_LIBS: i32 = 34;
191pub const ERR_LIB_PKCS12: i32 = 35;
192pub const ERR_LIB_DSO: i32 = 36;
193pub const ERR_LIB_OSSL_STORE: i32 = 37;
194pub const ERR_LIB_FIPS: i32 = 38;
195pub const ERR_LIB_CMS: i32 = 39;
196pub const ERR_LIB_TS: i32 = 40;
197pub const ERR_LIB_CT: i32 = 41;
198pub const ERR_LIB_ASYNC: i32 = 42;
199pub const ERR_LIB_KDF: i32 = 43;
200pub const ERR_LIB_SM2: i32 = 44;
201pub const ERR_R_SYS_LIB: i32 = 2;
202pub const ERR_R_BN_LIB: i32 = 3;
203pub const ERR_R_RSA_LIB: i32 = 4;
204pub const ERR_R_DH_LIB: i32 = 5;
205pub const ERR_R_EVP_LIB: i32 = 6;
206pub const ERR_R_BUF_LIB: i32 = 7;
207pub const ERR_R_OBJ_LIB: i32 = 8;
208pub const ERR_R_PEM_LIB: i32 = 9;
209pub const ERR_R_DSA_LIB: i32 = 10;
210pub const ERR_R_X509_LIB: i32 = 11;
211pub const ERR_R_ASN1_LIB: i32 = 12;
212pub const ERR_R_CONF_LIB: i32 = 13;
213pub const ERR_R_CRYPTO_LIB: i32 = 14;
214pub const ERR_R_EC_LIB: i32 = 15;
215pub const ERR_R_SSL_LIB: i32 = 16;
216pub const ERR_R_BIO_LIB: i32 = 17;
217pub const ERR_R_PKCS7_LIB: i32 = 18;
218pub const ERR_R_PKCS8_LIB: i32 = 19;
219pub const ERR_R_X509V3_LIB: i32 = 20;
220pub const ERR_R_RAND_LIB: i32 = 21;
221pub const ERR_R_DSO_LIB: i32 = 36;
222pub const ERR_R_ENGINE_LIB: i32 = 22;
223pub const ERR_R_OCSP_LIB: i32 = 23;
224pub const ERR_R_UI_LIB: i32 = 24;
225pub const ERR_R_COMP_LIB: i32 = 25;
226pub const ERR_R_ECDSA_LIB: i32 = 26;
227pub const ERR_R_ECDH_LIB: i32 = 27;
228pub const ERR_R_FIPS_LIB: i32 = 38;
229pub const ERR_R_CMS_LIB: i32 = 39;
230pub const ERR_R_TS_LIB: i32 = 40;
231pub const ERR_R_HMAC_LIB: i32 = 28;
232pub const ERR_R_USER_LIB: i32 = 33;
233pub const ERR_R_DIGEST_LIB: i32 = 29;
234pub const ERR_R_CIPHER_LIB: i32 = 30;
235pub const ERR_R_HKDF_LIB: i32 = 31;
236pub const ERR_R_TRUST_TOKEN_LIB: i32 = 32;
237pub const ERR_R_FATAL: i32 = 64;
238pub const ERR_R_MALLOC_FAILURE: i32 = 65;
239pub const ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED: i32 = 66;
240pub const ERR_R_PASSED_NULL_PARAMETER: i32 = 67;
241pub const ERR_R_INTERNAL_ERROR: i32 = 68;
242pub const ERR_R_OVERFLOW: i32 = 69;
243pub const ERR_ERROR_STRING_BUF_LEN: i32 = 120;
244pub const ERR_TXT_STRING: i32 = 1;
245pub const ERR_TXT_MALLOCED: i32 = 2;
246pub const ERR_NUM_ERRORS: i32 = 16;
247pub const BIO_RR_CONNECT: i32 = 2;
248pub const BIO_RR_ACCEPT: i32 = 3;
249pub const BIO_CB_FREE: i32 = 1;
250pub const BIO_CB_READ: i32 = 2;
251pub const BIO_CB_WRITE: i32 = 3;
252pub const BIO_CB_PUTS: i32 = 4;
253pub const BIO_CB_GETS: i32 = 5;
254pub const BIO_CB_CTRL: i32 = 6;
255pub const BIO_CB_RETURN: i32 = 128;
256pub const BIO_NOCLOSE: i32 = 0;
257pub const BIO_CLOSE: i32 = 1;
258pub const BIO_FP_TEXT: i32 = 16;
259pub const BIO_CTRL_DGRAM_QUERY_MTU: i32 = 40;
260pub const BIO_CTRL_DGRAM_SET_MTU: i32 = 42;
261pub const BIO_CTRL_DGRAM_MTU_EXCEEDED: i32 = 43;
262pub const BIO_CTRL_DGRAM_GET_PEER: i32 = 46;
263pub const BIO_CTRL_DGRAM_GET_FALLBACK_MTU: i32 = 47;
264pub const BIO_CTRL_RESET: i32 = 1;
265pub const BIO_CTRL_EOF: i32 = 2;
266pub const BIO_CTRL_INFO: i32 = 3;
267pub const BIO_CTRL_GET_CLOSE: i32 = 8;
268pub const BIO_CTRL_SET_CLOSE: i32 = 9;
269pub const BIO_CTRL_PENDING: i32 = 10;
270pub const BIO_CTRL_FLUSH: i32 = 11;
271pub const BIO_CTRL_WPENDING: i32 = 13;
272pub const BIO_CTRL_SET_CALLBACK: i32 = 14;
273pub const BIO_CTRL_GET_CALLBACK: i32 = 15;
274pub const BIO_CTRL_SET: i32 = 4;
275pub const BIO_CTRL_GET: i32 = 5;
276pub const BIO_CTRL_PUSH: i32 = 6;
277pub const BIO_CTRL_POP: i32 = 7;
278pub const BIO_CTRL_DUP: i32 = 12;
279pub const BIO_CTRL_SET_FILENAME: i32 = 30;
280pub const BIO_FLAGS_READ: i32 = 1;
281pub const BIO_FLAGS_WRITE: i32 = 2;
282pub const BIO_FLAGS_IO_SPECIAL: i32 = 4;
283pub const BIO_FLAGS_RWS: i32 = 7;
284pub const BIO_FLAGS_SHOULD_RETRY: i32 = 8;
285pub const BIO_FLAGS_BASE64_NO_NL: i32 = 256;
286pub const BIO_FLAGS_MEM_RDONLY: i32 = 512;
287pub const BIO_TYPE_DESCRIPTOR: i32 = 256;
288pub const BIO_TYPE_FILTER: i32 = 512;
289pub const BIO_TYPE_SOURCE_SINK: i32 = 1024;
290pub const BIO_TYPE_NONE: i32 = 0;
291pub const BIO_TYPE_MEM: i32 = 1025;
292pub const BIO_TYPE_FILE: i32 = 1026;
293pub const BIO_TYPE_FD: i32 = 1284;
294pub const BIO_TYPE_SOCKET: i32 = 1285;
295pub const BIO_TYPE_NULL: i32 = 1030;
296pub const BIO_TYPE_SSL: i32 = 519;
297pub const BIO_TYPE_MD: i32 = 520;
298pub const BIO_TYPE_BUFFER: i32 = 521;
299pub const BIO_TYPE_CIPHER: i32 = 522;
300pub const BIO_TYPE_BASE64: i32 = 523;
301pub const BIO_TYPE_CONNECT: i32 = 1292;
302pub const BIO_TYPE_ACCEPT: i32 = 1293;
303pub const BIO_TYPE_PROXY_CLIENT: i32 = 526;
304pub const BIO_TYPE_PROXY_SERVER: i32 = 527;
305pub const BIO_TYPE_NBIO_TEST: i32 = 528;
306pub const BIO_TYPE_NULL_FILTER: i32 = 529;
307pub const BIO_TYPE_BER: i32 = 530;
308pub const BIO_TYPE_BIO: i32 = 1043;
309pub const BIO_TYPE_LINEBUFFER: i32 = 532;
310pub const BIO_TYPE_DGRAM: i32 = 1301;
311pub const BIO_TYPE_ASN1: i32 = 534;
312pub const BIO_TYPE_COMP: i32 = 535;
313pub const BIO_TYPE_START: i32 = 128;
314pub const BIO_C_SET_CONNECT: i32 = 100;
315pub const BIO_C_DO_STATE_MACHINE: i32 = 101;
316pub const BIO_C_SET_NBIO: i32 = 102;
317pub const BIO_C_SET_PROXY_PARAM: i32 = 103;
318pub const BIO_C_SET_FD: i32 = 104;
319pub const BIO_C_GET_FD: i32 = 105;
320pub const BIO_C_SET_FILE_PTR: i32 = 106;
321pub const BIO_C_GET_FILE_PTR: i32 = 107;
322pub const BIO_C_SET_FILENAME: i32 = 108;
323pub const BIO_C_SET_SSL: i32 = 109;
324pub const BIO_C_SET_MD: i32 = 111;
325pub const BIO_C_GET_MD: i32 = 112;
326pub const BIO_C_GET_CIPHER_STATUS: i32 = 113;
327pub const BIO_C_SET_BUF_MEM: i32 = 114;
328pub const BIO_C_GET_BUF_MEM_PTR: i32 = 115;
329pub const BIO_C_GET_BUFF_NUM_LINES: i32 = 116;
330pub const BIO_C_SET_BUFF_SIZE: i32 = 117;
331pub const BIO_C_SET_ACCEPT: i32 = 118;
332pub const BIO_C_SSL_MODE: i32 = 119;
333pub const BIO_C_GET_MD_CTX: i32 = 120;
334pub const BIO_C_GET_PROXY_PARAM: i32 = 121;
335pub const BIO_C_SET_BUFF_READ_DATA: i32 = 122;
336pub const BIO_C_GET_ACCEPT: i32 = 124;
337pub const BIO_C_FILE_SEEK: i32 = 128;
338pub const BIO_C_GET_CIPHER_CTX: i32 = 129;
339pub const BIO_C_SET_BUF_MEM_EOF_RETURN: i32 = 130;
340pub const BIO_C_SET_BIND_MODE: i32 = 131;
341pub const BIO_C_GET_BIND_MODE: i32 = 132;
342pub const BIO_C_FILE_TELL: i32 = 133;
343pub const BIO_C_GET_SOCKS: i32 = 134;
344pub const BIO_C_SET_SOCKS: i32 = 135;
345pub const BIO_C_SET_WRITE_BUF_SIZE: i32 = 136;
346pub const BIO_C_GET_WRITE_BUF_SIZE: i32 = 137;
347pub const BIO_C_GET_WRITE_GUARANTEE: i32 = 140;
348pub const BIO_C_GET_READ_REQUEST: i32 = 141;
349pub const BIO_C_SHUTDOWN_WR: i32 = 142;
350pub const BIO_C_NREAD0: i32 = 143;
351pub const BIO_C_NREAD: i32 = 144;
352pub const BIO_C_NWRITE0: i32 = 145;
353pub const BIO_C_NWRITE: i32 = 146;
354pub const BIO_C_RESET_READ_REQUEST: i32 = 147;
355pub const BIO_C_SET_MD_CTX: i32 = 148;
356pub const BIO_C_SET_PREFIX: i32 = 149;
357pub const BIO_C_GET_PREFIX: i32 = 150;
358pub const BIO_C_SET_SUFFIX: i32 = 151;
359pub const BIO_C_GET_SUFFIX: i32 = 152;
360pub const BIO_C_SET_EX_ARG: i32 = 153;
361pub const BIO_C_GET_EX_ARG: i32 = 154;
362pub const BIO_R_BAD_FOPEN_MODE: i32 = 100;
363pub const BIO_R_BROKEN_PIPE: i32 = 101;
364pub const BIO_R_CONNECT_ERROR: i32 = 102;
365pub const BIO_R_ERROR_SETTING_NBIO: i32 = 103;
366pub const BIO_R_INVALID_ARGUMENT: i32 = 104;
367pub const BIO_R_IN_USE: i32 = 105;
368pub const BIO_R_KEEPALIVE: i32 = 106;
369pub const BIO_R_NBIO_CONNECT_ERROR: i32 = 107;
370pub const BIO_R_NO_HOSTNAME_SPECIFIED: i32 = 108;
371pub const BIO_R_NO_PORT_SPECIFIED: i32 = 109;
372pub const BIO_R_NO_SUCH_FILE: i32 = 110;
373pub const BIO_R_NULL_PARAMETER: i32 = 111;
374pub const BIO_R_SYS_LIB: i32 = 112;
375pub const BIO_R_UNABLE_TO_CREATE_SOCKET: i32 = 113;
376pub const BIO_R_UNINITIALIZED: i32 = 114;
377pub const BIO_R_UNSUPPORTED_METHOD: i32 = 115;
378pub const BIO_R_WRITE_TO_READ_ONLY_BIO: i32 = 116;
379pub const BN_BITS2: i32 = 64;
380pub const BN_DEC_FMT1: &[u8; 4] = b"%lu\0";
381pub const BN_HEX_FMT1: &[u8; 4] = b"%lx\0";
382pub const BN_HEX_FMT2: &[u8; 7] = b"%016lx\0";
383pub const BN_RAND_TOP_ANY: i32 = -1;
384pub const BN_RAND_TOP_ONE: i32 = 0;
385pub const BN_RAND_TOP_TWO: i32 = 1;
386pub const BN_RAND_BOTTOM_ANY: i32 = 0;
387pub const BN_RAND_BOTTOM_ODD: i32 = 1;
388pub const BN_GENCB_GENERATED: i32 = 0;
389pub const BN_GENCB_PRIME_TEST: i32 = 1;
390pub const BN_prime_checks_for_validation: i32 = 64;
391pub const BN_prime_checks_for_generation: i32 = 0;
392pub const BN_prime_checks: i32 = 64;
393pub const BN_FLG_MALLOCED: i32 = 1;
394pub const BN_FLG_STATIC_DATA: i32 = 2;
395pub const BN_R_ARG2_LT_ARG3: i32 = 100;
396pub const BN_R_BAD_RECIPROCAL: i32 = 101;
397pub const BN_R_BIGNUM_TOO_LONG: i32 = 102;
398pub const BN_R_BITS_TOO_SMALL: i32 = 103;
399pub const BN_R_CALLED_WITH_EVEN_MODULUS: i32 = 104;
400pub const BN_R_DIV_BY_ZERO: i32 = 105;
401pub const BN_R_EXPAND_ON_STATIC_BIGNUM_DATA: i32 = 106;
402pub const BN_R_INPUT_NOT_REDUCED: i32 = 107;
403pub const BN_R_INVALID_RANGE: i32 = 108;
404pub const BN_R_NEGATIVE_NUMBER: i32 = 109;
405pub const BN_R_NOT_A_SQUARE: i32 = 110;
406pub const BN_R_NOT_INITIALIZED: i32 = 111;
407pub const BN_R_NO_INVERSE: i32 = 112;
408pub const BN_R_PRIVATE_KEY_TOO_LARGE: i32 = 113;
409pub const BN_R_P_IS_NOT_PRIME: i32 = 114;
410pub const BN_R_TOO_MANY_ITERATIONS: i32 = 115;
411pub const BN_R_TOO_MANY_TEMPORARY_VARIABLES: i32 = 116;
412pub const BN_R_BAD_ENCODING: i32 = 117;
413pub const BN_R_ENCODE_ERROR: i32 = 118;
414pub const BN_R_INVALID_INPUT: i32 = 119;
415pub const BN_F_BN_GENERATE_PRIME_EX: i32 = 0;
416pub const V_ASN1_UNIVERSAL: i32 = 0;
417pub const V_ASN1_APPLICATION: i32 = 64;
418pub const V_ASN1_CONTEXT_SPECIFIC: i32 = 128;
419pub const V_ASN1_PRIVATE: i32 = 192;
420pub const V_ASN1_CONSTRUCTED: i32 = 32;
421pub const V_ASN1_PRIMITIVE_TAG: i32 = 31;
422pub const V_ASN1_MAX_UNIVERSAL: i32 = 255;
423pub const V_ASN1_UNDEF: i32 = -1;
424pub const V_ASN1_OTHER: i32 = -3;
425pub const V_ASN1_ANY: i32 = -4;
426pub const V_ASN1_EOC: i32 = 0;
427pub const V_ASN1_BOOLEAN: i32 = 1;
428pub const V_ASN1_INTEGER: i32 = 2;
429pub const V_ASN1_BIT_STRING: i32 = 3;
430pub const V_ASN1_OCTET_STRING: i32 = 4;
431pub const V_ASN1_NULL: i32 = 5;
432pub const V_ASN1_OBJECT: i32 = 6;
433pub const V_ASN1_OBJECT_DESCRIPTOR: i32 = 7;
434pub const V_ASN1_EXTERNAL: i32 = 8;
435pub const V_ASN1_REAL: i32 = 9;
436pub const V_ASN1_ENUMERATED: i32 = 10;
437pub const V_ASN1_UTF8STRING: i32 = 12;
438pub const V_ASN1_SEQUENCE: i32 = 16;
439pub const V_ASN1_SET: i32 = 17;
440pub const V_ASN1_NUMERICSTRING: i32 = 18;
441pub const V_ASN1_PRINTABLESTRING: i32 = 19;
442pub const V_ASN1_T61STRING: i32 = 20;
443pub const V_ASN1_TELETEXSTRING: i32 = 20;
444pub const V_ASN1_VIDEOTEXSTRING: i32 = 21;
445pub const V_ASN1_IA5STRING: i32 = 22;
446pub const V_ASN1_UTCTIME: i32 = 23;
447pub const V_ASN1_GENERALIZEDTIME: i32 = 24;
448pub const V_ASN1_GRAPHICSTRING: i32 = 25;
449pub const V_ASN1_ISO64STRING: i32 = 26;
450pub const V_ASN1_VISIBLESTRING: i32 = 26;
451pub const V_ASN1_GENERALSTRING: i32 = 27;
452pub const V_ASN1_UNIVERSALSTRING: i32 = 28;
453pub const V_ASN1_BMPSTRING: i32 = 30;
454pub const V_ASN1_NEG: i32 = 256;
455pub const V_ASN1_NEG_INTEGER: i32 = 258;
456pub const V_ASN1_NEG_ENUMERATED: i32 = 266;
457pub const B_ASN1_NUMERICSTRING: i32 = 1;
458pub const B_ASN1_PRINTABLESTRING: i32 = 2;
459pub const B_ASN1_T61STRING: i32 = 4;
460pub const B_ASN1_TELETEXSTRING: i32 = 4;
461pub const B_ASN1_VIDEOTEXSTRING: i32 = 8;
462pub const B_ASN1_IA5STRING: i32 = 16;
463pub const B_ASN1_GRAPHICSTRING: i32 = 32;
464pub const B_ASN1_ISO64STRING: i32 = 64;
465pub const B_ASN1_VISIBLESTRING: i32 = 64;
466pub const B_ASN1_GENERALSTRING: i32 = 128;
467pub const B_ASN1_UNIVERSALSTRING: i32 = 256;
468pub const B_ASN1_OCTET_STRING: i32 = 512;
469pub const B_ASN1_BIT_STRING: i32 = 1024;
470pub const B_ASN1_BMPSTRING: i32 = 2048;
471pub const B_ASN1_UNKNOWN: i32 = 4096;
472pub const B_ASN1_UTF8STRING: i32 = 8192;
473pub const B_ASN1_UTCTIME: i32 = 16384;
474pub const B_ASN1_GENERALIZEDTIME: i32 = 32768;
475pub const B_ASN1_SEQUENCE: i32 = 65536;
476pub const ASN1_BOOLEAN_FALSE: i32 = 0;
477pub const ASN1_BOOLEAN_TRUE: i32 = 255;
478pub const ASN1_BOOLEAN_NONE: i32 = -1;
479pub const ASN1_STRING_FLAG_BITS_LEFT: i32 = 8;
480pub const MBSTRING_FLAG: i32 = 4096;
481pub const MBSTRING_UTF8: i32 = 4096;
482pub const MBSTRING_ASC: i32 = 4097;
483pub const MBSTRING_BMP: i32 = 4098;
484pub const MBSTRING_UNIV: i32 = 4100;
485pub const DIRSTRING_TYPE: i32 = 10246;
486pub const PKCS9STRING_TYPE: i32 = 10262;
487pub const STABLE_NO_MASK: i32 = 2;
488pub const B_ASN1_DIRECTORYSTRING: i32 = 10502;
489pub const B_ASN1_DISPLAYTEXT: i32 = 10320;
490pub const B_ASN1_TIME: i32 = 49152;
491pub const ASN1_STRFLGS_ESC_2253: i32 = 1;
492pub const ASN1_STRFLGS_ESC_CTRL: i32 = 2;
493pub const ASN1_STRFLGS_ESC_MSB: i32 = 4;
494pub const ASN1_STRFLGS_ESC_QUOTE: i32 = 8;
495pub const ASN1_STRFLGS_UTF8_CONVERT: i32 = 16;
496pub const ASN1_STRFLGS_IGNORE_TYPE: i32 = 32;
497pub const ASN1_STRFLGS_SHOW_TYPE: i32 = 64;
498pub const ASN1_STRFLGS_DUMP_ALL: i32 = 128;
499pub const ASN1_STRFLGS_DUMP_UNKNOWN: i32 = 256;
500pub const ASN1_STRFLGS_DUMP_DER: i32 = 512;
501pub const ASN1_STRFLGS_RFC2253: i32 = 791;
502pub const B_ASN1_PRINTABLE: i32 = 81175;
503pub const ASN1_R_ASN1_LENGTH_MISMATCH: i32 = 100;
504pub const ASN1_R_AUX_ERROR: i32 = 101;
505pub const ASN1_R_BAD_GET_ASN1_OBJECT_CALL: i32 = 102;
506pub const ASN1_R_BAD_OBJECT_HEADER: i32 = 103;
507pub const ASN1_R_BMPSTRING_IS_WRONG_LENGTH: i32 = 104;
508pub const ASN1_R_BN_LIB: i32 = 105;
509pub const ASN1_R_BOOLEAN_IS_WRONG_LENGTH: i32 = 106;
510pub const ASN1_R_BUFFER_TOO_SMALL: i32 = 107;
511pub const ASN1_R_CONTEXT_NOT_INITIALISED: i32 = 108;
512pub const ASN1_R_DECODE_ERROR: i32 = 109;
513pub const ASN1_R_DEPTH_EXCEEDED: i32 = 110;
514pub const ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED: i32 = 111;
515pub const ASN1_R_ENCODE_ERROR: i32 = 112;
516pub const ASN1_R_ERROR_GETTING_TIME: i32 = 113;
517pub const ASN1_R_EXPECTING_AN_ASN1_SEQUENCE: i32 = 114;
518pub const ASN1_R_EXPECTING_AN_INTEGER: i32 = 115;
519pub const ASN1_R_EXPECTING_AN_OBJECT: i32 = 116;
520pub const ASN1_R_EXPECTING_A_BOOLEAN: i32 = 117;
521pub const ASN1_R_EXPECTING_A_TIME: i32 = 118;
522pub const ASN1_R_EXPLICIT_LENGTH_MISMATCH: i32 = 119;
523pub const ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED: i32 = 120;
524pub const ASN1_R_FIELD_MISSING: i32 = 121;
525pub const ASN1_R_FIRST_NUM_TOO_LARGE: i32 = 122;
526pub const ASN1_R_HEADER_TOO_LONG: i32 = 123;
527pub const ASN1_R_ILLEGAL_BITSTRING_FORMAT: i32 = 124;
528pub const ASN1_R_ILLEGAL_BOOLEAN: i32 = 125;
529pub const ASN1_R_ILLEGAL_CHARACTERS: i32 = 126;
530pub const ASN1_R_ILLEGAL_FORMAT: i32 = 127;
531pub const ASN1_R_ILLEGAL_HEX: i32 = 128;
532pub const ASN1_R_ILLEGAL_IMPLICIT_TAG: i32 = 129;
533pub const ASN1_R_ILLEGAL_INTEGER: i32 = 130;
534pub const ASN1_R_ILLEGAL_NESTED_TAGGING: i32 = 131;
535pub const ASN1_R_ILLEGAL_NULL: i32 = 132;
536pub const ASN1_R_ILLEGAL_NULL_VALUE: i32 = 133;
537pub const ASN1_R_ILLEGAL_OBJECT: i32 = 134;
538pub const ASN1_R_ILLEGAL_OPTIONAL_ANY: i32 = 135;
539pub const ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE: i32 = 136;
540pub const ASN1_R_ILLEGAL_TAGGED_ANY: i32 = 137;
541pub const ASN1_R_ILLEGAL_TIME_VALUE: i32 = 138;
542pub const ASN1_R_INTEGER_NOT_ASCII_FORMAT: i32 = 139;
543pub const ASN1_R_INTEGER_TOO_LARGE_FOR_LONG: i32 = 140;
544pub const ASN1_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 141;
545pub const ASN1_R_INVALID_BMPSTRING: i32 = 142;
546pub const ASN1_R_INVALID_DIGIT: i32 = 143;
547pub const ASN1_R_INVALID_MODIFIER: i32 = 144;
548pub const ASN1_R_INVALID_NUMBER: i32 = 145;
549pub const ASN1_R_INVALID_OBJECT_ENCODING: i32 = 146;
550pub const ASN1_R_INVALID_SEPARATOR: i32 = 147;
551pub const ASN1_R_INVALID_TIME_FORMAT: i32 = 148;
552pub const ASN1_R_INVALID_UNIVERSALSTRING: i32 = 149;
553pub const ASN1_R_INVALID_UTF8STRING: i32 = 150;
554pub const ASN1_R_LIST_ERROR: i32 = 151;
555pub const ASN1_R_MISSING_ASN1_EOS: i32 = 152;
556pub const ASN1_R_MISSING_EOC: i32 = 153;
557pub const ASN1_R_MISSING_SECOND_NUMBER: i32 = 154;
558pub const ASN1_R_MISSING_VALUE: i32 = 155;
559pub const ASN1_R_MSTRING_NOT_UNIVERSAL: i32 = 156;
560pub const ASN1_R_MSTRING_WRONG_TAG: i32 = 157;
561pub const ASN1_R_NESTED_ASN1_ERROR: i32 = 158;
562pub const ASN1_R_NESTED_ASN1_STRING: i32 = 159;
563pub const ASN1_R_NON_HEX_CHARACTERS: i32 = 160;
564pub const ASN1_R_NOT_ASCII_FORMAT: i32 = 161;
565pub const ASN1_R_NOT_ENOUGH_DATA: i32 = 162;
566pub const ASN1_R_NO_MATCHING_CHOICE_TYPE: i32 = 163;
567pub const ASN1_R_NULL_IS_WRONG_LENGTH: i32 = 164;
568pub const ASN1_R_OBJECT_NOT_ASCII_FORMAT: i32 = 165;
569pub const ASN1_R_ODD_NUMBER_OF_CHARS: i32 = 166;
570pub const ASN1_R_SECOND_NUMBER_TOO_LARGE: i32 = 167;
571pub const ASN1_R_SEQUENCE_LENGTH_MISMATCH: i32 = 168;
572pub const ASN1_R_SEQUENCE_NOT_CONSTRUCTED: i32 = 169;
573pub const ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG: i32 = 170;
574pub const ASN1_R_SHORT_LINE: i32 = 171;
575pub const ASN1_R_STREAMING_NOT_SUPPORTED: i32 = 172;
576pub const ASN1_R_STRING_TOO_LONG: i32 = 173;
577pub const ASN1_R_STRING_TOO_SHORT: i32 = 174;
578pub const ASN1_R_TAG_VALUE_TOO_HIGH: i32 = 175;
579pub const ASN1_R_TIME_NOT_ASCII_FORMAT: i32 = 176;
580pub const ASN1_R_TOO_LONG: i32 = 177;
581pub const ASN1_R_TYPE_NOT_CONSTRUCTED: i32 = 178;
582pub const ASN1_R_TYPE_NOT_PRIMITIVE: i32 = 179;
583pub const ASN1_R_UNEXPECTED_EOC: i32 = 180;
584pub const ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH: i32 = 181;
585pub const ASN1_R_UNKNOWN_FORMAT: i32 = 182;
586pub const ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM: i32 = 183;
587pub const ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM: i32 = 184;
588pub const ASN1_R_UNKNOWN_TAG: i32 = 185;
589pub const ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE: i32 = 186;
590pub const ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 187;
591pub const ASN1_R_UNSUPPORTED_TYPE: i32 = 188;
592pub const ASN1_R_WRONG_PUBLIC_KEY_TYPE: i32 = 189;
593pub const ASN1_R_WRONG_TAG: i32 = 190;
594pub const ASN1_R_WRONG_TYPE: i32 = 191;
595pub const ASN1_R_NESTED_TOO_DEEP: i32 = 192;
596pub const ASN1_R_BAD_TEMPLATE: i32 = 193;
597pub const ASN1_R_INVALID_BIT_STRING_PADDING: i32 = 194;
598pub const ASN1_R_WRONG_INTEGER_TYPE: i32 = 195;
599pub const ASN1_R_INVALID_INTEGER: i32 = 196;
600pub const ASN1_TFLG_OPTIONAL: i32 = 1;
601pub const ASN1_TFLG_SET_OF: i32 = 2;
602pub const ASN1_TFLG_SEQUENCE_OF: i32 = 4;
603pub const ASN1_TFLG_SK_MASK: i32 = 6;
604pub const ASN1_TFLG_IMPTAG: i32 = 8;
605pub const ASN1_TFLG_EXPTAG: i32 = 16;
606pub const ASN1_TFLG_TAG_MASK: i32 = 24;
607pub const ASN1_TFLG_UNIVERSAL: i32 = 0;
608pub const ASN1_TFLG_APPLICATION: i32 = 64;
609pub const ASN1_TFLG_CONTEXT: i32 = 128;
610pub const ASN1_TFLG_PRIVATE: i32 = 192;
611pub const ASN1_TFLG_TAG_CLASS: i32 = 192;
612pub const ASN1_TFLG_ADB_MASK: i32 = 768;
613pub const ASN1_TFLG_ADB_OID: i32 = 256;
614pub const ASN1_TFLG_COMBINE: i32 = 1024;
615pub const ASN1_ITYPE_PRIMITIVE: i32 = 0;
616pub const ASN1_ITYPE_SEQUENCE: i32 = 1;
617pub const ASN1_ITYPE_CHOICE: i32 = 2;
618pub const ASN1_ITYPE_EXTERN: i32 = 4;
619pub const ASN1_ITYPE_MSTRING: i32 = 5;
620pub const ASN1_AFLG_REFCOUNT: i32 = 1;
621pub const ASN1_AFLG_ENCODING: i32 = 2;
622pub const ASN1_OP_NEW_PRE: i32 = 0;
623pub const ASN1_OP_NEW_POST: i32 = 1;
624pub const ASN1_OP_FREE_PRE: i32 = 2;
625pub const ASN1_OP_FREE_POST: i32 = 3;
626pub const ASN1_OP_D2I_PRE: i32 = 4;
627pub const ASN1_OP_D2I_POST: i32 = 5;
628pub const ASN1_OP_PRINT_PRE: i32 = 8;
629pub const ASN1_OP_PRINT_POST: i32 = 9;
630pub const ASN1_OP_STREAM_PRE: i32 = 10;
631pub const ASN1_OP_STREAM_POST: i32 = 11;
632pub const ASN1_OP_DETACHED_PRE: i32 = 12;
633pub const ASN1_OP_DETACHED_POST: i32 = 13;
634pub const BLAKE2B256_DIGEST_LENGTH: i32 = 32;
635pub const BLAKE2B_CBLOCK: i32 = 128;
636pub const BF_ENCRYPT: i32 = 1;
637pub const BF_DECRYPT: i32 = 0;
638pub const BF_ROUNDS: i32 = 16;
639pub const BF_BLOCK: i32 = 8;
640pub const CBS_ASN1_TAG_SHIFT: i32 = 24;
641pub const CBS_ASN1_CONSTRUCTED: i32 = 536870912;
642pub const CBS_ASN1_UNIVERSAL: i32 = 0;
643pub const CBS_ASN1_APPLICATION: i32 = 1073741824;
644pub const CBS_ASN1_CONTEXT_SPECIFIC: i64 = 2147483648;
645pub const CBS_ASN1_PRIVATE: i64 = 3221225472;
646pub const CBS_ASN1_CLASS_MASK: i64 = 3221225472;
647pub const CBS_ASN1_TAG_NUMBER_MASK: i32 = 536870911;
648pub const CBS_ASN1_BOOLEAN: i32 = 1;
649pub const CBS_ASN1_INTEGER: i32 = 2;
650pub const CBS_ASN1_BITSTRING: i32 = 3;
651pub const CBS_ASN1_OCTETSTRING: i32 = 4;
652pub const CBS_ASN1_NULL: i32 = 5;
653pub const CBS_ASN1_OBJECT: i32 = 6;
654pub const CBS_ASN1_ENUMERATED: i32 = 10;
655pub const CBS_ASN1_UTF8STRING: i32 = 12;
656pub const CBS_ASN1_SEQUENCE: i32 = 536870928;
657pub const CBS_ASN1_SET: i32 = 536870929;
658pub const CBS_ASN1_NUMERICSTRING: i32 = 18;
659pub const CBS_ASN1_PRINTABLESTRING: i32 = 19;
660pub const CBS_ASN1_T61STRING: i32 = 20;
661pub const CBS_ASN1_VIDEOTEXSTRING: i32 = 21;
662pub const CBS_ASN1_IA5STRING: i32 = 22;
663pub const CBS_ASN1_UTCTIME: i32 = 23;
664pub const CBS_ASN1_GENERALIZEDTIME: i32 = 24;
665pub const CBS_ASN1_GRAPHICSTRING: i32 = 25;
666pub const CBS_ASN1_VISIBLESTRING: i32 = 26;
667pub const CBS_ASN1_GENERALSTRING: i32 = 27;
668pub const CBS_ASN1_UNIVERSALSTRING: i32 = 28;
669pub const CBS_ASN1_BMPSTRING: i32 = 30;
670pub const EVP_CIPH_STREAM_CIPHER: i32 = 0;
671pub const EVP_CIPH_ECB_MODE: i32 = 1;
672pub const EVP_CIPH_CBC_MODE: i32 = 2;
673pub const EVP_CIPH_CFB_MODE: i32 = 3;
674pub const EVP_CIPH_OFB_MODE: i32 = 4;
675pub const EVP_CIPH_CTR_MODE: i32 = 5;
676pub const EVP_CIPH_GCM_MODE: i32 = 6;
677pub const EVP_CIPH_XTS_MODE: i32 = 7;
678pub const EVP_CIPH_CCM_MODE: i32 = 8;
679pub const EVP_CIPH_FLAG_LENGTH_BITS: i32 = 8192;
680pub const EVP_CIPH_OCB_MODE: i32 = 9;
681pub const EVP_CIPH_WRAP_MODE: i32 = 10;
682pub const EVP_CIPH_VARIABLE_LENGTH: i32 = 64;
683pub const EVP_CIPH_ALWAYS_CALL_INIT: i32 = 128;
684pub const EVP_CIPH_CUSTOM_IV: i32 = 256;
685pub const EVP_CIPH_CTRL_INIT: i32 = 512;
686pub const EVP_CIPH_FLAG_CUSTOM_CIPHER: i32 = 1024;
687pub const EVP_CIPH_FLAG_AEAD_CIPHER: i32 = 2048;
688pub const EVP_CIPH_CUSTOM_COPY: i32 = 4096;
689pub const EVP_CIPH_FLAG_NON_FIPS_ALLOW: i32 = 0;
690pub const EVP_CIPHER_CTX_FLAG_WRAP_ALLOW: i32 = 0;
691pub const EVP_CIPH_NO_PADDING: i32 = 2048;
692pub const EVP_CTRL_INIT: i32 = 0;
693pub const EVP_CTRL_SET_KEY_LENGTH: i32 = 1;
694pub const EVP_CTRL_GET_RC2_KEY_BITS: i32 = 2;
695pub const EVP_CTRL_SET_RC2_KEY_BITS: i32 = 3;
696pub const EVP_CTRL_GET_RC5_ROUNDS: i32 = 4;
697pub const EVP_CTRL_SET_RC5_ROUNDS: i32 = 5;
698pub const EVP_CTRL_RAND_KEY: i32 = 6;
699pub const EVP_CTRL_PBE_PRF_NID: i32 = 7;
700pub const EVP_CTRL_COPY: i32 = 8;
701pub const EVP_CTRL_AEAD_SET_IVLEN: i32 = 9;
702pub const EVP_CTRL_AEAD_GET_TAG: i32 = 16;
703pub const EVP_CTRL_AEAD_SET_TAG: i32 = 17;
704pub const EVP_CTRL_AEAD_SET_IV_FIXED: i32 = 18;
705pub const EVP_CTRL_GCM_IV_GEN: i32 = 19;
706pub const EVP_CTRL_CCM_SET_L: i32 = 20;
707pub const EVP_CTRL_AEAD_SET_MAC_KEY: i32 = 23;
708pub const EVP_CTRL_GCM_SET_IV_INV: i32 = 24;
709pub const EVP_CTRL_GET_IVLEN: i32 = 25;
710pub const EVP_GCM_TLS_FIXED_IV_LEN: i32 = 4;
711pub const EVP_GCM_TLS_EXPLICIT_IV_LEN: i32 = 8;
712pub const EVP_GCM_TLS_TAG_LEN: i32 = 16;
713pub const EVP_CTRL_GCM_SET_IVLEN: i32 = 9;
714pub const EVP_CTRL_GCM_GET_TAG: i32 = 16;
715pub const EVP_CTRL_GCM_SET_TAG: i32 = 17;
716pub const EVP_CTRL_GCM_SET_IV_FIXED: i32 = 18;
717pub const EVP_MAX_KEY_LENGTH: i32 = 64;
718pub const EVP_MAX_IV_LENGTH: i32 = 16;
719pub const EVP_MAX_BLOCK_LENGTH: i32 = 32;
720pub const EVP_CTRL_AEAD_TLS1_AAD: i32 = 22;
721pub const EVP_AEAD_TLS1_AAD_LEN: i32 = 13;
722pub const CIPHER_R_AES_KEY_SETUP_FAILED: i32 = 100;
723pub const CIPHER_R_BAD_DECRYPT: i32 = 101;
724pub const CIPHER_R_BAD_KEY_LENGTH: i32 = 102;
725pub const CIPHER_R_BUFFER_TOO_SMALL: i32 = 103;
726pub const CIPHER_R_CTRL_NOT_IMPLEMENTED: i32 = 104;
727pub const CIPHER_R_CTRL_OPERATION_NOT_IMPLEMENTED: i32 = 105;
728pub const CIPHER_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH: i32 = 106;
729pub const CIPHER_R_INITIALIZATION_ERROR: i32 = 107;
730pub const CIPHER_R_INPUT_NOT_INITIALIZED: i32 = 108;
731pub const CIPHER_R_INVALID_AD_SIZE: i32 = 109;
732pub const CIPHER_R_INVALID_KEY_LENGTH: i32 = 110;
733pub const CIPHER_R_INVALID_NONCE_SIZE: i32 = 111;
734pub const CIPHER_R_INVALID_OPERATION: i32 = 112;
735pub const CIPHER_R_IV_TOO_LARGE: i32 = 113;
736pub const CIPHER_R_NO_CIPHER_SET: i32 = 114;
737pub const CIPHER_R_OUTPUT_ALIASES_INPUT: i32 = 115;
738pub const CIPHER_R_TAG_TOO_LARGE: i32 = 116;
739pub const CIPHER_R_TOO_LARGE: i32 = 117;
740pub const CIPHER_R_UNSUPPORTED_AD_SIZE: i32 = 118;
741pub const CIPHER_R_UNSUPPORTED_INPUT_SIZE: i32 = 119;
742pub const CIPHER_R_UNSUPPORTED_KEY_SIZE: i32 = 120;
743pub const CIPHER_R_UNSUPPORTED_NONCE_SIZE: i32 = 121;
744pub const CIPHER_R_UNSUPPORTED_TAG_SIZE: i32 = 122;
745pub const CIPHER_R_WRONG_FINAL_BLOCK_LENGTH: i32 = 123;
746pub const CIPHER_R_NO_DIRECTION_SET: i32 = 124;
747pub const CIPHER_R_INVALID_NONCE: i32 = 125;
748pub const CIPHER_R_XTS_DUPLICATED_KEYS: i32 = 138;
749pub const CIPHER_R_XTS_DATA_UNIT_IS_TOO_LARGE: i32 = 139;
750pub const CIPHER_R_CTRL_OPERATION_NOT_PERFORMED: i32 = 140;
751pub const CIPHER_R_SERIALIZATION_INVALID_EVP_AEAD_CTX: i32 = 141;
752pub const CIPHER_R_ALIGNMENT_CHANGED: i32 = 142;
753pub const CIPHER_R_SERIALIZATION_INVALID_SERDE_VERSION: i32 = 143;
754pub const CIPHER_R_SERIALIZATION_INVALID_CIPHER_ID: i32 = 144;
755pub const CONF_MFLAGS_DEFAULT_SECTION: i32 = 0;
756pub const CONF_MFLAGS_IGNORE_MISSING_FILE: i32 = 0;
757pub const CONF_R_LIST_CANNOT_BE_NULL: i32 = 100;
758pub const CONF_R_MISSING_CLOSE_SQUARE_BRACKET: i32 = 101;
759pub const CONF_R_MISSING_EQUAL_SIGN: i32 = 102;
760pub const CONF_R_NO_CLOSE_BRACE: i32 = 103;
761pub const CONF_R_UNABLE_TO_CREATE_NEW_SECTION: i32 = 104;
762pub const CONF_R_VARIABLE_HAS_NO_VALUE: i32 = 105;
763pub const CONF_R_VARIABLE_EXPANSION_TOO_LONG: i32 = 106;
764pub const CONF_R_VARIABLE_EXPANSION_NOT_SUPPORTED: i32 = 107;
765pub const CTR_DRBG_ENTROPY_LEN: i32 = 48;
766pub const CTR_DRBG_MAX_GENERATE_LENGTH: i32 = 65536;
767pub const X25519_PRIVATE_KEY_LEN: i32 = 32;
768pub const X25519_PUBLIC_VALUE_LEN: i32 = 32;
769pub const X25519_SHARED_KEY_LEN: i32 = 32;
770pub const ED25519_PRIVATE_KEY_LEN: i32 = 64;
771pub const ED25519_PRIVATE_KEY_SEED_LEN: i32 = 32;
772pub const ED25519_PUBLIC_KEY_LEN: i32 = 32;
773pub const ED25519_SIGNATURE_LEN: i32 = 64;
774pub const ED25519_SEED_LEN: i32 = 32;
775pub const SPAKE2_MAX_MSG_SIZE: i32 = 32;
776pub const SPAKE2_MAX_KEY_SIZE: i32 = 64;
777pub const DES_ENCRYPT: i32 = 1;
778pub const DES_DECRYPT: i32 = 0;
779pub const DES_CBC_MODE: i32 = 0;
780pub const DES_PCBC_MODE: i32 = 1;
781pub const DH_GENERATOR_2: i32 = 2;
782pub const DH_GENERATOR_5: i32 = 5;
783pub const DH_CHECK_P_NOT_PRIME: i32 = 1;
784pub const DH_CHECK_P_NOT_SAFE_PRIME: i32 = 2;
785pub const DH_CHECK_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
786pub const DH_CHECK_NOT_SUITABLE_GENERATOR: i32 = 8;
787pub const DH_CHECK_Q_NOT_PRIME: i32 = 16;
788pub const DH_CHECK_INVALID_Q_VALUE: i32 = 32;
789pub const DH_NOT_SUITABLE_GENERATOR: i32 = 8;
790pub const DH_UNABLE_TO_CHECK_GENERATOR: i32 = 4;
791pub const DH_CHECK_PUBKEY_TOO_SMALL: i32 = 1;
792pub const DH_CHECK_PUBKEY_TOO_LARGE: i32 = 2;
793pub const DH_CHECK_PUBKEY_INVALID: i32 = 4;
794pub const DH_FLAG_CACHE_MONT_P: i32 = 0;
795pub const DH_R_BAD_GENERATOR: i32 = 100;
796pub const DH_R_INVALID_PUBKEY: i32 = 101;
797pub const DH_R_MODULUS_TOO_LARGE: i32 = 102;
798pub const DH_R_NO_PRIVATE_VALUE: i32 = 103;
799pub const DH_R_DECODE_ERROR: i32 = 104;
800pub const DH_R_ENCODE_ERROR: i32 = 105;
801pub const DH_R_INVALID_NID: i32 = 106;
802pub const DH_R_INVALID_PARAMETERS: i32 = 107;
803pub const DH_F_DH_BUILTIN_GENPARAMS: i32 = 0;
804pub const EVP_MAX_MD_SIZE: i32 = 64;
805pub const EVP_MAX_MD_CHAINING_LENGTH: i32 = 64;
806pub const EVP_MAX_MD_BLOCK_SIZE: i32 = 128;
807pub const EVP_MD_FLAG_DIGALGID_ABSENT: i32 = 2;
808pub const EVP_MD_FLAG_XOF: i32 = 4;
809pub const EVP_MD_CTX_FLAG_NON_FIPS_ALLOW: i32 = 0;
810pub const DIGEST_R_INPUT_NOT_INITIALIZED: i32 = 100;
811pub const DIGEST_R_DECODE_ERROR: i32 = 101;
812pub const DIGEST_R_UNKNOWN_HASH: i32 = 102;
813pub const DSA_R_BAD_Q_VALUE: i32 = 100;
814pub const DSA_R_MISSING_PARAMETERS: i32 = 101;
815pub const DSA_R_MODULUS_TOO_LARGE: i32 = 102;
816pub const DSA_R_NEED_NEW_SETUP_VALUES: i32 = 103;
817pub const DSA_R_BAD_VERSION: i32 = 104;
818pub const DSA_R_DECODE_ERROR: i32 = 105;
819pub const DSA_R_ENCODE_ERROR: i32 = 106;
820pub const DSA_R_INVALID_PARAMETERS: i32 = 107;
821pub const DSA_R_TOO_MANY_ITERATIONS: i32 = 108;
822pub const OPENSSL_EC_EXPLICIT_CURVE: i32 = 0;
823pub const OPENSSL_EC_NAMED_CURVE: i32 = 1;
824pub const ENGINE_R_OPERATION_NOT_SUPPORTED: i32 = 100;
825pub const EC_PKEY_NO_PARAMETERS: i32 = 1;
826pub const EC_PKEY_NO_PUBKEY: i32 = 2;
827pub const ECDSA_FLAG_OPAQUE: i32 = 1;
828pub const EC_R_BUFFER_TOO_SMALL: i32 = 100;
829pub const EC_R_COORDINATES_OUT_OF_RANGE: i32 = 101;
830pub const EC_R_D2I_ECPKPARAMETERS_FAILURE: i32 = 102;
831pub const EC_R_EC_GROUP_NEW_BY_NAME_FAILURE: i32 = 103;
832pub const EC_R_GROUP2PKPARAMETERS_FAILURE: i32 = 104;
833pub const EC_R_I2D_ECPKPARAMETERS_FAILURE: i32 = 105;
834pub const EC_R_INCOMPATIBLE_OBJECTS: i32 = 106;
835pub const EC_R_INVALID_COMPRESSED_POINT: i32 = 107;
836pub const EC_R_INVALID_COMPRESSION_BIT: i32 = 108;
837pub const EC_R_INVALID_ENCODING: i32 = 109;
838pub const EC_R_INVALID_FIELD: i32 = 110;
839pub const EC_R_INVALID_FORM: i32 = 111;
840pub const EC_R_INVALID_GROUP_ORDER: i32 = 112;
841pub const EC_R_INVALID_PRIVATE_KEY: i32 = 113;
842pub const EC_R_MISSING_PARAMETERS: i32 = 114;
843pub const EC_R_MISSING_PRIVATE_KEY: i32 = 115;
844pub const EC_R_NON_NAMED_CURVE: i32 = 116;
845pub const EC_R_NOT_INITIALIZED: i32 = 117;
846pub const EC_R_PKPARAMETERS2GROUP_FAILURE: i32 = 118;
847pub const EC_R_POINT_AT_INFINITY: i32 = 119;
848pub const EC_R_POINT_IS_NOT_ON_CURVE: i32 = 120;
849pub const EC_R_SLOT_FULL: i32 = 121;
850pub const EC_R_UNDEFINED_GENERATOR: i32 = 122;
851pub const EC_R_UNKNOWN_GROUP: i32 = 123;
852pub const EC_R_UNKNOWN_ORDER: i32 = 124;
853pub const EC_R_WRONG_ORDER: i32 = 125;
854pub const EC_R_BIGNUM_OUT_OF_RANGE: i32 = 126;
855pub const EC_R_WRONG_CURVE_PARAMETERS: i32 = 127;
856pub const EC_R_DECODE_ERROR: i32 = 128;
857pub const EC_R_ENCODE_ERROR: i32 = 129;
858pub const EC_R_GROUP_MISMATCH: i32 = 130;
859pub const EC_R_INVALID_COFACTOR: i32 = 131;
860pub const EC_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 132;
861pub const EC_R_INVALID_SCALAR: i32 = 133;
862pub const ECDH_R_KDF_FAILED: i32 = 100;
863pub const ECDH_R_NO_PRIVATE_VALUE: i32 = 101;
864pub const ECDH_R_POINT_ARITHMETIC_FAILURE: i32 = 102;
865pub const ECDH_R_UNKNOWN_DIGEST_LENGTH: i32 = 103;
866pub const ECDSA_R_BAD_SIGNATURE: i32 = 100;
867pub const ECDSA_R_MISSING_PARAMETERS: i32 = 101;
868pub const ECDSA_R_NEED_NEW_SETUP_VALUES: i32 = 102;
869pub const ECDSA_R_NOT_IMPLEMENTED: i32 = 103;
870pub const ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED: i32 = 104;
871pub const ECDSA_R_ENCODE_ERROR: i32 = 105;
872pub const ECDSA_R_MISMATCHED_SIGNATURE: i32 = 205;
873pub const ECDSA_R_TOO_MANY_ITERATIONS: i32 = 106;
874pub const EVP_R_BUFFER_TOO_SMALL: i32 = 100;
875pub const EVP_R_COMMAND_NOT_SUPPORTED: i32 = 101;
876pub const EVP_R_DECODE_ERROR: i32 = 102;
877pub const EVP_R_DIFFERENT_KEY_TYPES: i32 = 103;
878pub const EVP_R_DIFFERENT_PARAMETERS: i32 = 104;
879pub const EVP_R_ENCODE_ERROR: i32 = 105;
880pub const EVP_R_EXPECTING_AN_EC_KEY_KEY: i32 = 106;
881pub const EVP_R_EXPECTING_AN_RSA_KEY: i32 = 107;
882pub const EVP_R_EXPECTING_A_DSA_KEY: i32 = 108;
883pub const EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE: i32 = 109;
884pub const EVP_R_INVALID_DIGEST_LENGTH: i32 = 110;
885pub const EVP_R_INVALID_DIGEST_TYPE: i32 = 111;
886pub const EVP_R_INVALID_KEYBITS: i32 = 112;
887pub const EVP_R_INVALID_MGF1_MD: i32 = 113;
888pub const EVP_R_INVALID_OPERATION: i32 = 114;
889pub const EVP_R_INVALID_PADDING_MODE: i32 = 115;
890pub const EVP_R_INVALID_PSS_SALTLEN: i32 = 116;
891pub const EVP_R_KEYS_NOT_SET: i32 = 117;
892pub const EVP_R_MISSING_PARAMETERS: i32 = 118;
893pub const EVP_R_NO_DEFAULT_DIGEST: i32 = 119;
894pub const EVP_R_NO_KEY_SET: i32 = 120;
895pub const EVP_R_NO_MDC2_SUPPORT: i32 = 121;
896pub const EVP_R_NO_NID_FOR_CURVE: i32 = 122;
897pub const EVP_R_NO_OPERATION_SET: i32 = 123;
898pub const EVP_R_NO_PARAMETERS_SET: i32 = 124;
899pub const EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE: i32 = 125;
900pub const EVP_R_OPERATON_NOT_INITIALIZED: i32 = 126;
901pub const EVP_R_UNKNOWN_PUBLIC_KEY_TYPE: i32 = 127;
902pub const EVP_R_UNSUPPORTED_ALGORITHM: i32 = 128;
903pub const EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE: i32 = 129;
904pub const EVP_R_NOT_A_PRIVATE_KEY: i32 = 130;
905pub const EVP_R_INVALID_SIGNATURE: i32 = 131;
906pub const EVP_R_MEMORY_LIMIT_EXCEEDED: i32 = 132;
907pub const EVP_R_INVALID_PARAMETERS: i32 = 133;
908pub const EVP_R_INVALID_PEER_KEY: i32 = 134;
909pub const EVP_R_NOT_XOF_OR_INVALID_LENGTH: i32 = 135;
910pub const EVP_R_EMPTY_PSK: i32 = 136;
911pub const EVP_R_INVALID_BUFFER_SIZE: i32 = 137;
912pub const EVP_R_BAD_DECRYPT: i32 = 138;
913pub const EVP_R_EXPECTING_A_DH_KEY: i32 = 139;
914pub const EVP_R_INVALID_PSS_MD: i32 = 500;
915pub const EVP_R_INVALID_PSS_SALT_LEN: i32 = 501;
916pub const EVP_R_INVALID_PSS_TRAILER_FIELD: i32 = 502;
917pub const EVP_AEAD_MAX_KEY_LENGTH: i32 = 80;
918pub const EVP_AEAD_MAX_NONCE_LENGTH: i32 = 24;
919pub const EVP_AEAD_MAX_OVERHEAD: i32 = 64;
920pub const EVP_AEAD_DEFAULT_TAG_LENGTH: i32 = 0;
921pub const FIPS_AES_GCM_NONCE_LENGTH: i32 = 12;
922pub const SN_undef: &[u8; 6] = b"UNDEF\0";
923pub const LN_undef: &[u8; 10] = b"undefined\0";
924pub const NID_undef: i32 = 0;
925pub const OBJ_undef: i32 = 0;
926pub const SN_rsadsi: &[u8; 7] = b"rsadsi\0";
927pub const LN_rsadsi: &[u8; 24] = b"RSA Data Security, Inc.\0";
928pub const NID_rsadsi: i32 = 1;
929pub const SN_pkcs: &[u8; 5] = b"pkcs\0";
930pub const LN_pkcs: &[u8; 29] = b"RSA Data Security, Inc. PKCS\0";
931pub const NID_pkcs: i32 = 2;
932pub const SN_md2: &[u8; 4] = b"MD2\0";
933pub const LN_md2: &[u8; 4] = b"md2\0";
934pub const NID_md2: i32 = 3;
935pub const SN_md5: &[u8; 4] = b"MD5\0";
936pub const LN_md5: &[u8; 4] = b"md5\0";
937pub const NID_md5: i32 = 4;
938pub const SN_rc4: &[u8; 4] = b"RC4\0";
939pub const LN_rc4: &[u8; 4] = b"rc4\0";
940pub const NID_rc4: i32 = 5;
941pub const LN_rsaEncryption: &[u8; 14] = b"rsaEncryption\0";
942pub const NID_rsaEncryption: i32 = 6;
943pub const SN_md2WithRSAEncryption: &[u8; 8] = b"RSA-MD2\0";
944pub const LN_md2WithRSAEncryption: &[u8; 21] = b"md2WithRSAEncryption\0";
945pub const NID_md2WithRSAEncryption: i32 = 7;
946pub const SN_md5WithRSAEncryption: &[u8; 8] = b"RSA-MD5\0";
947pub const LN_md5WithRSAEncryption: &[u8; 21] = b"md5WithRSAEncryption\0";
948pub const NID_md5WithRSAEncryption: i32 = 8;
949pub const SN_pbeWithMD2AndDES_CBC: &[u8; 12] = b"PBE-MD2-DES\0";
950pub const LN_pbeWithMD2AndDES_CBC: &[u8; 21] = b"pbeWithMD2AndDES-CBC\0";
951pub const NID_pbeWithMD2AndDES_CBC: i32 = 9;
952pub const SN_pbeWithMD5AndDES_CBC: &[u8; 12] = b"PBE-MD5-DES\0";
953pub const LN_pbeWithMD5AndDES_CBC: &[u8; 21] = b"pbeWithMD5AndDES-CBC\0";
954pub const NID_pbeWithMD5AndDES_CBC: i32 = 10;
955pub const SN_X500: &[u8; 5] = b"X500\0";
956pub const LN_X500: &[u8; 27] = b"directory services (X.500)\0";
957pub const NID_X500: i32 = 11;
958pub const SN_X509: &[u8; 5] = b"X509\0";
959pub const NID_X509: i32 = 12;
960pub const SN_commonName: &[u8; 3] = b"CN\0";
961pub const LN_commonName: &[u8; 11] = b"commonName\0";
962pub const NID_commonName: i32 = 13;
963pub const SN_countryName: &[u8; 2] = b"C\0";
964pub const LN_countryName: &[u8; 12] = b"countryName\0";
965pub const NID_countryName: i32 = 14;
966pub const SN_localityName: &[u8; 2] = b"L\0";
967pub const LN_localityName: &[u8; 13] = b"localityName\0";
968pub const NID_localityName: i32 = 15;
969pub const SN_stateOrProvinceName: &[u8; 3] = b"ST\0";
970pub const LN_stateOrProvinceName: &[u8; 20] = b"stateOrProvinceName\0";
971pub const NID_stateOrProvinceName: i32 = 16;
972pub const SN_organizationName: &[u8; 2] = b"O\0";
973pub const LN_organizationName: &[u8; 17] = b"organizationName\0";
974pub const NID_organizationName: i32 = 17;
975pub const SN_organizationalUnitName: &[u8; 3] = b"OU\0";
976pub const LN_organizationalUnitName: &[u8; 23] = b"organizationalUnitName\0";
977pub const NID_organizationalUnitName: i32 = 18;
978pub const SN_rsa: &[u8; 4] = b"RSA\0";
979pub const LN_rsa: &[u8; 4] = b"rsa\0";
980pub const NID_rsa: i32 = 19;
981pub const SN_pkcs7: &[u8; 6] = b"pkcs7\0";
982pub const NID_pkcs7: i32 = 20;
983pub const LN_pkcs7_data: &[u8; 11] = b"pkcs7-data\0";
984pub const NID_pkcs7_data: i32 = 21;
985pub const LN_pkcs7_signed: &[u8; 17] = b"pkcs7-signedData\0";
986pub const NID_pkcs7_signed: i32 = 22;
987pub const LN_pkcs7_enveloped: &[u8; 20] = b"pkcs7-envelopedData\0";
988pub const NID_pkcs7_enveloped: i32 = 23;
989pub const LN_pkcs7_signedAndEnveloped: &[u8; 29] = b"pkcs7-signedAndEnvelopedData\0";
990pub const NID_pkcs7_signedAndEnveloped: i32 = 24;
991pub const LN_pkcs7_digest: &[u8; 17] = b"pkcs7-digestData\0";
992pub const NID_pkcs7_digest: i32 = 25;
993pub const LN_pkcs7_encrypted: &[u8; 20] = b"pkcs7-encryptedData\0";
994pub const NID_pkcs7_encrypted: i32 = 26;
995pub const SN_pkcs3: &[u8; 6] = b"pkcs3\0";
996pub const NID_pkcs3: i32 = 27;
997pub const LN_dhKeyAgreement: &[u8; 15] = b"dhKeyAgreement\0";
998pub const NID_dhKeyAgreement: i32 = 28;
999pub const SN_des_ecb: &[u8; 8] = b"DES-ECB\0";
1000pub const LN_des_ecb: &[u8; 8] = b"des-ecb\0";
1001pub const NID_des_ecb: i32 = 29;
1002pub const SN_des_cfb64: &[u8; 8] = b"DES-CFB\0";
1003pub const LN_des_cfb64: &[u8; 8] = b"des-cfb\0";
1004pub const NID_des_cfb64: i32 = 30;
1005pub const SN_des_cbc: &[u8; 8] = b"DES-CBC\0";
1006pub const LN_des_cbc: &[u8; 8] = b"des-cbc\0";
1007pub const NID_des_cbc: i32 = 31;
1008pub const SN_des_ede_ecb: &[u8; 8] = b"DES-EDE\0";
1009pub const LN_des_ede_ecb: &[u8; 8] = b"des-ede\0";
1010pub const NID_des_ede_ecb: i32 = 32;
1011pub const SN_des_ede3_ecb: &[u8; 9] = b"DES-EDE3\0";
1012pub const LN_des_ede3_ecb: &[u8; 9] = b"des-ede3\0";
1013pub const NID_des_ede3_ecb: i32 = 33;
1014pub const SN_idea_cbc: &[u8; 9] = b"IDEA-CBC\0";
1015pub const LN_idea_cbc: &[u8; 9] = b"idea-cbc\0";
1016pub const NID_idea_cbc: i32 = 34;
1017pub const SN_idea_cfb64: &[u8; 9] = b"IDEA-CFB\0";
1018pub const LN_idea_cfb64: &[u8; 9] = b"idea-cfb\0";
1019pub const NID_idea_cfb64: i32 = 35;
1020pub const SN_idea_ecb: &[u8; 9] = b"IDEA-ECB\0";
1021pub const LN_idea_ecb: &[u8; 9] = b"idea-ecb\0";
1022pub const NID_idea_ecb: i32 = 36;
1023pub const SN_rc2_cbc: &[u8; 8] = b"RC2-CBC\0";
1024pub const LN_rc2_cbc: &[u8; 8] = b"rc2-cbc\0";
1025pub const NID_rc2_cbc: i32 = 37;
1026pub const SN_rc2_ecb: &[u8; 8] = b"RC2-ECB\0";
1027pub const LN_rc2_ecb: &[u8; 8] = b"rc2-ecb\0";
1028pub const NID_rc2_ecb: i32 = 38;
1029pub const SN_rc2_cfb64: &[u8; 8] = b"RC2-CFB\0";
1030pub const LN_rc2_cfb64: &[u8; 8] = b"rc2-cfb\0";
1031pub const NID_rc2_cfb64: i32 = 39;
1032pub const SN_rc2_ofb64: &[u8; 8] = b"RC2-OFB\0";
1033pub const LN_rc2_ofb64: &[u8; 8] = b"rc2-ofb\0";
1034pub const NID_rc2_ofb64: i32 = 40;
1035pub const SN_sha: &[u8; 4] = b"SHA\0";
1036pub const LN_sha: &[u8; 4] = b"sha\0";
1037pub const NID_sha: i32 = 41;
1038pub const SN_shaWithRSAEncryption: &[u8; 8] = b"RSA-SHA\0";
1039pub const LN_shaWithRSAEncryption: &[u8; 21] = b"shaWithRSAEncryption\0";
1040pub const NID_shaWithRSAEncryption: i32 = 42;
1041pub const SN_des_ede_cbc: &[u8; 12] = b"DES-EDE-CBC\0";
1042pub const LN_des_ede_cbc: &[u8; 12] = b"des-ede-cbc\0";
1043pub const NID_des_ede_cbc: i32 = 43;
1044pub const SN_des_ede3_cbc: &[u8; 13] = b"DES-EDE3-CBC\0";
1045pub const LN_des_ede3_cbc: &[u8; 13] = b"des-ede3-cbc\0";
1046pub const NID_des_ede3_cbc: i32 = 44;
1047pub const SN_des_ofb64: &[u8; 8] = b"DES-OFB\0";
1048pub const LN_des_ofb64: &[u8; 8] = b"des-ofb\0";
1049pub const NID_des_ofb64: i32 = 45;
1050pub const SN_idea_ofb64: &[u8; 9] = b"IDEA-OFB\0";
1051pub const LN_idea_ofb64: &[u8; 9] = b"idea-ofb\0";
1052pub const NID_idea_ofb64: i32 = 46;
1053pub const SN_pkcs9: &[u8; 6] = b"pkcs9\0";
1054pub const NID_pkcs9: i32 = 47;
1055pub const LN_pkcs9_emailAddress: &[u8; 13] = b"emailAddress\0";
1056pub const NID_pkcs9_emailAddress: i32 = 48;
1057pub const LN_pkcs9_unstructuredName: &[u8; 17] = b"unstructuredName\0";
1058pub const NID_pkcs9_unstructuredName: i32 = 49;
1059pub const LN_pkcs9_contentType: &[u8; 12] = b"contentType\0";
1060pub const NID_pkcs9_contentType: i32 = 50;
1061pub const LN_pkcs9_messageDigest: &[u8; 14] = b"messageDigest\0";
1062pub const NID_pkcs9_messageDigest: i32 = 51;
1063pub const LN_pkcs9_signingTime: &[u8; 12] = b"signingTime\0";
1064pub const NID_pkcs9_signingTime: i32 = 52;
1065pub const LN_pkcs9_countersignature: &[u8; 17] = b"countersignature\0";
1066pub const NID_pkcs9_countersignature: i32 = 53;
1067pub const LN_pkcs9_challengePassword: &[u8; 18] = b"challengePassword\0";
1068pub const NID_pkcs9_challengePassword: i32 = 54;
1069pub const LN_pkcs9_unstructuredAddress: &[u8; 20] = b"unstructuredAddress\0";
1070pub const NID_pkcs9_unstructuredAddress: i32 = 55;
1071pub const LN_pkcs9_extCertAttributes: &[u8; 30] = b"extendedCertificateAttributes\0";
1072pub const NID_pkcs9_extCertAttributes: i32 = 56;
1073pub const SN_netscape: &[u8; 9] = b"Netscape\0";
1074pub const LN_netscape: &[u8; 30] = b"Netscape Communications Corp.\0";
1075pub const NID_netscape: i32 = 57;
1076pub const SN_netscape_cert_extension: &[u8; 10] = b"nsCertExt\0";
1077pub const LN_netscape_cert_extension: &[u8; 31] = b"Netscape Certificate Extension\0";
1078pub const NID_netscape_cert_extension: i32 = 58;
1079pub const SN_netscape_data_type: &[u8; 11] = b"nsDataType\0";
1080pub const LN_netscape_data_type: &[u8; 19] = b"Netscape Data Type\0";
1081pub const NID_netscape_data_type: i32 = 59;
1082pub const SN_des_ede_cfb64: &[u8; 12] = b"DES-EDE-CFB\0";
1083pub const LN_des_ede_cfb64: &[u8; 12] = b"des-ede-cfb\0";
1084pub const NID_des_ede_cfb64: i32 = 60;
1085pub const SN_des_ede3_cfb64: &[u8; 13] = b"DES-EDE3-CFB\0";
1086pub const LN_des_ede3_cfb64: &[u8; 13] = b"des-ede3-cfb\0";
1087pub const NID_des_ede3_cfb64: i32 = 61;
1088pub const SN_des_ede_ofb64: &[u8; 12] = b"DES-EDE-OFB\0";
1089pub const LN_des_ede_ofb64: &[u8; 12] = b"des-ede-ofb\0";
1090pub const NID_des_ede_ofb64: i32 = 62;
1091pub const SN_des_ede3_ofb64: &[u8; 13] = b"DES-EDE3-OFB\0";
1092pub const LN_des_ede3_ofb64: &[u8; 13] = b"des-ede3-ofb\0";
1093pub const NID_des_ede3_ofb64: i32 = 63;
1094pub const SN_sha1: &[u8; 5] = b"SHA1\0";
1095pub const LN_sha1: &[u8; 5] = b"sha1\0";
1096pub const NID_sha1: i32 = 64;
1097pub const SN_sha1WithRSAEncryption: &[u8; 9] = b"RSA-SHA1\0";
1098pub const LN_sha1WithRSAEncryption: &[u8; 22] = b"sha1WithRSAEncryption\0";
1099pub const NID_sha1WithRSAEncryption: i32 = 65;
1100pub const SN_dsaWithSHA: &[u8; 8] = b"DSA-SHA\0";
1101pub const LN_dsaWithSHA: &[u8; 11] = b"dsaWithSHA\0";
1102pub const NID_dsaWithSHA: i32 = 66;
1103pub const SN_dsa_2: &[u8; 8] = b"DSA-old\0";
1104pub const LN_dsa_2: &[u8; 18] = b"dsaEncryption-old\0";
1105pub const NID_dsa_2: i32 = 67;
1106pub const SN_pbeWithSHA1AndRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-64\0";
1107pub const LN_pbeWithSHA1AndRC2_CBC: &[u8; 22] = b"pbeWithSHA1AndRC2-CBC\0";
1108pub const NID_pbeWithSHA1AndRC2_CBC: i32 = 68;
1109pub const LN_id_pbkdf2: &[u8; 7] = b"PBKDF2\0";
1110pub const NID_id_pbkdf2: i32 = 69;
1111pub const SN_dsaWithSHA1_2: &[u8; 13] = b"DSA-SHA1-old\0";
1112pub const LN_dsaWithSHA1_2: &[u8; 16] = b"dsaWithSHA1-old\0";
1113pub const NID_dsaWithSHA1_2: i32 = 70;
1114pub const SN_netscape_cert_type: &[u8; 11] = b"nsCertType\0";
1115pub const LN_netscape_cert_type: &[u8; 19] = b"Netscape Cert Type\0";
1116pub const NID_netscape_cert_type: i32 = 71;
1117pub const SN_netscape_base_url: &[u8; 10] = b"nsBaseUrl\0";
1118pub const LN_netscape_base_url: &[u8; 18] = b"Netscape Base Url\0";
1119pub const NID_netscape_base_url: i32 = 72;
1120pub const SN_netscape_revocation_url: &[u8; 16] = b"nsRevocationUrl\0";
1121pub const LN_netscape_revocation_url: &[u8; 24] = b"Netscape Revocation Url\0";
1122pub const NID_netscape_revocation_url: i32 = 73;
1123pub const SN_netscape_ca_revocation_url: &[u8; 18] = b"nsCaRevocationUrl\0";
1124pub const LN_netscape_ca_revocation_url: &[u8; 27] = b"Netscape CA Revocation Url\0";
1125pub const NID_netscape_ca_revocation_url: i32 = 74;
1126pub const SN_netscape_renewal_url: &[u8; 13] = b"nsRenewalUrl\0";
1127pub const LN_netscape_renewal_url: &[u8; 21] = b"Netscape Renewal Url\0";
1128pub const NID_netscape_renewal_url: i32 = 75;
1129pub const SN_netscape_ca_policy_url: &[u8; 14] = b"nsCaPolicyUrl\0";
1130pub const LN_netscape_ca_policy_url: &[u8; 23] = b"Netscape CA Policy Url\0";
1131pub const NID_netscape_ca_policy_url: i32 = 76;
1132pub const SN_netscape_ssl_server_name: &[u8; 16] = b"nsSslServerName\0";
1133pub const LN_netscape_ssl_server_name: &[u8; 25] = b"Netscape SSL Server Name\0";
1134pub const NID_netscape_ssl_server_name: i32 = 77;
1135pub const SN_netscape_comment: &[u8; 10] = b"nsComment\0";
1136pub const LN_netscape_comment: &[u8; 17] = b"Netscape Comment\0";
1137pub const NID_netscape_comment: i32 = 78;
1138pub const SN_netscape_cert_sequence: &[u8; 15] = b"nsCertSequence\0";
1139pub const LN_netscape_cert_sequence: &[u8; 30] = b"Netscape Certificate Sequence\0";
1140pub const NID_netscape_cert_sequence: i32 = 79;
1141pub const SN_desx_cbc: &[u8; 9] = b"DESX-CBC\0";
1142pub const LN_desx_cbc: &[u8; 9] = b"desx-cbc\0";
1143pub const NID_desx_cbc: i32 = 80;
1144pub const SN_id_ce: &[u8; 6] = b"id-ce\0";
1145pub const NID_id_ce: i32 = 81;
1146pub const SN_subject_key_identifier: &[u8; 21] = b"subjectKeyIdentifier\0";
1147pub const LN_subject_key_identifier: &[u8; 30] = b"X509v3 Subject Key Identifier\0";
1148pub const NID_subject_key_identifier: i32 = 82;
1149pub const SN_key_usage: &[u8; 9] = b"keyUsage\0";
1150pub const LN_key_usage: &[u8; 17] = b"X509v3 Key Usage\0";
1151pub const NID_key_usage: i32 = 83;
1152pub const SN_private_key_usage_period: &[u8; 22] = b"privateKeyUsagePeriod\0";
1153pub const LN_private_key_usage_period: &[u8; 32] = b"X509v3 Private Key Usage Period\0";
1154pub const NID_private_key_usage_period: i32 = 84;
1155pub const SN_subject_alt_name: &[u8; 15] = b"subjectAltName\0";
1156pub const LN_subject_alt_name: &[u8; 32] = b"X509v3 Subject Alternative Name\0";
1157pub const NID_subject_alt_name: i32 = 85;
1158pub const SN_issuer_alt_name: &[u8; 14] = b"issuerAltName\0";
1159pub const LN_issuer_alt_name: &[u8; 31] = b"X509v3 Issuer Alternative Name\0";
1160pub const NID_issuer_alt_name: i32 = 86;
1161pub const SN_basic_constraints: &[u8; 17] = b"basicConstraints\0";
1162pub const LN_basic_constraints: &[u8; 25] = b"X509v3 Basic Constraints\0";
1163pub const NID_basic_constraints: i32 = 87;
1164pub const SN_crl_number: &[u8; 10] = b"crlNumber\0";
1165pub const LN_crl_number: &[u8; 18] = b"X509v3 CRL Number\0";
1166pub const NID_crl_number: i32 = 88;
1167pub const SN_certificate_policies: &[u8; 20] = b"certificatePolicies\0";
1168pub const LN_certificate_policies: &[u8; 28] = b"X509v3 Certificate Policies\0";
1169pub const NID_certificate_policies: i32 = 89;
1170pub const SN_authority_key_identifier: &[u8; 23] = b"authorityKeyIdentifier\0";
1171pub const LN_authority_key_identifier: &[u8; 32] = b"X509v3 Authority Key Identifier\0";
1172pub const NID_authority_key_identifier: i32 = 90;
1173pub const SN_bf_cbc: &[u8; 7] = b"BF-CBC\0";
1174pub const LN_bf_cbc: &[u8; 7] = b"bf-cbc\0";
1175pub const NID_bf_cbc: i32 = 91;
1176pub const SN_bf_ecb: &[u8; 7] = b"BF-ECB\0";
1177pub const LN_bf_ecb: &[u8; 7] = b"bf-ecb\0";
1178pub const NID_bf_ecb: i32 = 92;
1179pub const SN_bf_cfb64: &[u8; 7] = b"BF-CFB\0";
1180pub const LN_bf_cfb64: &[u8; 7] = b"bf-cfb\0";
1181pub const NID_bf_cfb64: i32 = 93;
1182pub const SN_bf_ofb64: &[u8; 7] = b"BF-OFB\0";
1183pub const LN_bf_ofb64: &[u8; 7] = b"bf-ofb\0";
1184pub const NID_bf_ofb64: i32 = 94;
1185pub const SN_mdc2: &[u8; 5] = b"MDC2\0";
1186pub const LN_mdc2: &[u8; 5] = b"mdc2\0";
1187pub const NID_mdc2: i32 = 95;
1188pub const SN_mdc2WithRSA: &[u8; 9] = b"RSA-MDC2\0";
1189pub const LN_mdc2WithRSA: &[u8; 12] = b"mdc2WithRSA\0";
1190pub const NID_mdc2WithRSA: i32 = 96;
1191pub const SN_rc4_40: &[u8; 7] = b"RC4-40\0";
1192pub const LN_rc4_40: &[u8; 7] = b"rc4-40\0";
1193pub const NID_rc4_40: i32 = 97;
1194pub const SN_rc2_40_cbc: &[u8; 11] = b"RC2-40-CBC\0";
1195pub const LN_rc2_40_cbc: &[u8; 11] = b"rc2-40-cbc\0";
1196pub const NID_rc2_40_cbc: i32 = 98;
1197pub const SN_givenName: &[u8; 3] = b"GN\0";
1198pub const LN_givenName: &[u8; 10] = b"givenName\0";
1199pub const NID_givenName: i32 = 99;
1200pub const SN_surname: &[u8; 3] = b"SN\0";
1201pub const LN_surname: &[u8; 8] = b"surname\0";
1202pub const NID_surname: i32 = 100;
1203pub const SN_initials: &[u8; 9] = b"initials\0";
1204pub const LN_initials: &[u8; 9] = b"initials\0";
1205pub const NID_initials: i32 = 101;
1206pub const SN_crl_distribution_points: &[u8; 22] = b"crlDistributionPoints\0";
1207pub const LN_crl_distribution_points: &[u8; 31] = b"X509v3 CRL Distribution Points\0";
1208pub const NID_crl_distribution_points: i32 = 103;
1209pub const SN_md5WithRSA: &[u8; 11] = b"RSA-NP-MD5\0";
1210pub const LN_md5WithRSA: &[u8; 11] = b"md5WithRSA\0";
1211pub const NID_md5WithRSA: i32 = 104;
1212pub const LN_serialNumber: &[u8; 13] = b"serialNumber\0";
1213pub const NID_serialNumber: i32 = 105;
1214pub const SN_title: &[u8; 6] = b"title\0";
1215pub const LN_title: &[u8; 6] = b"title\0";
1216pub const NID_title: i32 = 106;
1217pub const LN_description: &[u8; 12] = b"description\0";
1218pub const NID_description: i32 = 107;
1219pub const SN_cast5_cbc: &[u8; 10] = b"CAST5-CBC\0";
1220pub const LN_cast5_cbc: &[u8; 10] = b"cast5-cbc\0";
1221pub const NID_cast5_cbc: i32 = 108;
1222pub const SN_cast5_ecb: &[u8; 10] = b"CAST5-ECB\0";
1223pub const LN_cast5_ecb: &[u8; 10] = b"cast5-ecb\0";
1224pub const NID_cast5_ecb: i32 = 109;
1225pub const SN_cast5_cfb64: &[u8; 10] = b"CAST5-CFB\0";
1226pub const LN_cast5_cfb64: &[u8; 10] = b"cast5-cfb\0";
1227pub const NID_cast5_cfb64: i32 = 110;
1228pub const SN_cast5_ofb64: &[u8; 10] = b"CAST5-OFB\0";
1229pub const LN_cast5_ofb64: &[u8; 10] = b"cast5-ofb\0";
1230pub const NID_cast5_ofb64: i32 = 111;
1231pub const LN_pbeWithMD5AndCast5_CBC: &[u8; 22] = b"pbeWithMD5AndCast5CBC\0";
1232pub const NID_pbeWithMD5AndCast5_CBC: i32 = 112;
1233pub const SN_dsaWithSHA1: &[u8; 9] = b"DSA-SHA1\0";
1234pub const LN_dsaWithSHA1: &[u8; 12] = b"dsaWithSHA1\0";
1235pub const NID_dsaWithSHA1: i32 = 113;
1236pub const SN_md5_sha1: &[u8; 9] = b"MD5-SHA1\0";
1237pub const LN_md5_sha1: &[u8; 9] = b"md5-sha1\0";
1238pub const NID_md5_sha1: i32 = 114;
1239pub const SN_sha1WithRSA: &[u8; 11] = b"RSA-SHA1-2\0";
1240pub const LN_sha1WithRSA: &[u8; 12] = b"sha1WithRSA\0";
1241pub const NID_sha1WithRSA: i32 = 115;
1242pub const SN_dsa: &[u8; 4] = b"DSA\0";
1243pub const LN_dsa: &[u8; 14] = b"dsaEncryption\0";
1244pub const NID_dsa: i32 = 116;
1245pub const SN_ripemd160: &[u8; 10] = b"RIPEMD160\0";
1246pub const LN_ripemd160: &[u8; 10] = b"ripemd160\0";
1247pub const NID_ripemd160: i32 = 117;
1248pub const SN_ripemd160WithRSA: &[u8; 14] = b"RSA-RIPEMD160\0";
1249pub const LN_ripemd160WithRSA: &[u8; 17] = b"ripemd160WithRSA\0";
1250pub const NID_ripemd160WithRSA: i32 = 119;
1251pub const SN_rc5_cbc: &[u8; 8] = b"RC5-CBC\0";
1252pub const LN_rc5_cbc: &[u8; 8] = b"rc5-cbc\0";
1253pub const NID_rc5_cbc: i32 = 120;
1254pub const SN_rc5_ecb: &[u8; 8] = b"RC5-ECB\0";
1255pub const LN_rc5_ecb: &[u8; 8] = b"rc5-ecb\0";
1256pub const NID_rc5_ecb: i32 = 121;
1257pub const SN_rc5_cfb64: &[u8; 8] = b"RC5-CFB\0";
1258pub const LN_rc5_cfb64: &[u8; 8] = b"rc5-cfb\0";
1259pub const NID_rc5_cfb64: i32 = 122;
1260pub const SN_rc5_ofb64: &[u8; 8] = b"RC5-OFB\0";
1261pub const LN_rc5_ofb64: &[u8; 8] = b"rc5-ofb\0";
1262pub const NID_rc5_ofb64: i32 = 123;
1263pub const SN_zlib_compression: &[u8; 5] = b"ZLIB\0";
1264pub const LN_zlib_compression: &[u8; 17] = b"zlib compression\0";
1265pub const NID_zlib_compression: i32 = 125;
1266pub const SN_ext_key_usage: &[u8; 17] = b"extendedKeyUsage\0";
1267pub const LN_ext_key_usage: &[u8; 26] = b"X509v3 Extended Key Usage\0";
1268pub const NID_ext_key_usage: i32 = 126;
1269pub const SN_id_pkix: &[u8; 5] = b"PKIX\0";
1270pub const NID_id_pkix: i32 = 127;
1271pub const SN_id_kp: &[u8; 6] = b"id-kp\0";
1272pub const NID_id_kp: i32 = 128;
1273pub const SN_server_auth: &[u8; 11] = b"serverAuth\0";
1274pub const LN_server_auth: &[u8; 30] = b"TLS Web Server Authentication\0";
1275pub const NID_server_auth: i32 = 129;
1276pub const SN_client_auth: &[u8; 11] = b"clientAuth\0";
1277pub const LN_client_auth: &[u8; 30] = b"TLS Web Client Authentication\0";
1278pub const NID_client_auth: i32 = 130;
1279pub const SN_code_sign: &[u8; 12] = b"codeSigning\0";
1280pub const LN_code_sign: &[u8; 13] = b"Code Signing\0";
1281pub const NID_code_sign: i32 = 131;
1282pub const SN_email_protect: &[u8; 16] = b"emailProtection\0";
1283pub const LN_email_protect: &[u8; 18] = b"E-mail Protection\0";
1284pub const NID_email_protect: i32 = 132;
1285pub const SN_time_stamp: &[u8; 13] = b"timeStamping\0";
1286pub const LN_time_stamp: &[u8; 14] = b"Time Stamping\0";
1287pub const NID_time_stamp: i32 = 133;
1288pub const SN_ms_code_ind: &[u8; 10] = b"msCodeInd\0";
1289pub const LN_ms_code_ind: &[u8; 34] = b"Microsoft Individual Code Signing\0";
1290pub const NID_ms_code_ind: i32 = 134;
1291pub const SN_ms_code_com: &[u8; 10] = b"msCodeCom\0";
1292pub const LN_ms_code_com: &[u8; 34] = b"Microsoft Commercial Code Signing\0";
1293pub const NID_ms_code_com: i32 = 135;
1294pub const SN_ms_ctl_sign: &[u8; 10] = b"msCTLSign\0";
1295pub const LN_ms_ctl_sign: &[u8; 29] = b"Microsoft Trust List Signing\0";
1296pub const NID_ms_ctl_sign: i32 = 136;
1297pub const SN_ms_sgc: &[u8; 6] = b"msSGC\0";
1298pub const LN_ms_sgc: &[u8; 30] = b"Microsoft Server Gated Crypto\0";
1299pub const NID_ms_sgc: i32 = 137;
1300pub const SN_ms_efs: &[u8; 6] = b"msEFS\0";
1301pub const LN_ms_efs: &[u8; 32] = b"Microsoft Encrypted File System\0";
1302pub const NID_ms_efs: i32 = 138;
1303pub const SN_ns_sgc: &[u8; 6] = b"nsSGC\0";
1304pub const LN_ns_sgc: &[u8; 29] = b"Netscape Server Gated Crypto\0";
1305pub const NID_ns_sgc: i32 = 139;
1306pub const SN_delta_crl: &[u8; 9] = b"deltaCRL\0";
1307pub const LN_delta_crl: &[u8; 27] = b"X509v3 Delta CRL Indicator\0";
1308pub const NID_delta_crl: i32 = 140;
1309pub const SN_crl_reason: &[u8; 10] = b"CRLReason\0";
1310pub const LN_crl_reason: &[u8; 23] = b"X509v3 CRL Reason Code\0";
1311pub const NID_crl_reason: i32 = 141;
1312pub const SN_invalidity_date: &[u8; 15] = b"invalidityDate\0";
1313pub const LN_invalidity_date: &[u8; 16] = b"Invalidity Date\0";
1314pub const NID_invalidity_date: i32 = 142;
1315pub const SN_sxnet: &[u8; 8] = b"SXNetID\0";
1316pub const LN_sxnet: &[u8; 19] = b"Strong Extranet ID\0";
1317pub const NID_sxnet: i32 = 143;
1318pub const SN_pbe_WithSHA1And128BitRC4: &[u8; 17] = b"PBE-SHA1-RC4-128\0";
1319pub const LN_pbe_WithSHA1And128BitRC4: &[u8; 24] = b"pbeWithSHA1And128BitRC4\0";
1320pub const NID_pbe_WithSHA1And128BitRC4: i32 = 144;
1321pub const SN_pbe_WithSHA1And40BitRC4: &[u8; 16] = b"PBE-SHA1-RC4-40\0";
1322pub const LN_pbe_WithSHA1And40BitRC4: &[u8; 23] = b"pbeWithSHA1And40BitRC4\0";
1323pub const NID_pbe_WithSHA1And40BitRC4: i32 = 145;
1324pub const SN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-3DES\0";
1325pub const LN_pbe_WithSHA1And3_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And3-KeyTripleDES-CBC\0";
1326pub const NID_pbe_WithSHA1And3_Key_TripleDES_CBC: i32 = 146;
1327pub const SN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 14] = b"PBE-SHA1-2DES\0";
1328pub const LN_pbe_WithSHA1And2_Key_TripleDES_CBC: &[u8; 33] = b"pbeWithSHA1And2-KeyTripleDES-CBC\0";
1329pub const NID_pbe_WithSHA1And2_Key_TripleDES_CBC: i32 = 147;
1330pub const SN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 17] = b"PBE-SHA1-RC2-128\0";
1331pub const LN_pbe_WithSHA1And128BitRC2_CBC: &[u8; 28] = b"pbeWithSHA1And128BitRC2-CBC\0";
1332pub const NID_pbe_WithSHA1And128BitRC2_CBC: i32 = 148;
1333pub const SN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 16] = b"PBE-SHA1-RC2-40\0";
1334pub const LN_pbe_WithSHA1And40BitRC2_CBC: &[u8; 27] = b"pbeWithSHA1And40BitRC2-CBC\0";
1335pub const NID_pbe_WithSHA1And40BitRC2_CBC: i32 = 149;
1336pub const LN_keyBag: &[u8; 7] = b"keyBag\0";
1337pub const NID_keyBag: i32 = 150;
1338pub const LN_pkcs8ShroudedKeyBag: &[u8; 20] = b"pkcs8ShroudedKeyBag\0";
1339pub const NID_pkcs8ShroudedKeyBag: i32 = 151;
1340pub const LN_certBag: &[u8; 8] = b"certBag\0";
1341pub const NID_certBag: i32 = 152;
1342pub const LN_crlBag: &[u8; 7] = b"crlBag\0";
1343pub const NID_crlBag: i32 = 153;
1344pub const LN_secretBag: &[u8; 10] = b"secretBag\0";
1345pub const NID_secretBag: i32 = 154;
1346pub const LN_safeContentsBag: &[u8; 16] = b"safeContentsBag\0";
1347pub const NID_safeContentsBag: i32 = 155;
1348pub const LN_friendlyName: &[u8; 13] = b"friendlyName\0";
1349pub const NID_friendlyName: i32 = 156;
1350pub const LN_localKeyID: &[u8; 11] = b"localKeyID\0";
1351pub const NID_localKeyID: i32 = 157;
1352pub const LN_x509Certificate: &[u8; 16] = b"x509Certificate\0";
1353pub const NID_x509Certificate: i32 = 158;
1354pub const LN_sdsiCertificate: &[u8; 16] = b"sdsiCertificate\0";
1355pub const NID_sdsiCertificate: i32 = 159;
1356pub const LN_x509Crl: &[u8; 8] = b"x509Crl\0";
1357pub const NID_x509Crl: i32 = 160;
1358pub const LN_pbes2: &[u8; 6] = b"PBES2\0";
1359pub const NID_pbes2: i32 = 161;
1360pub const LN_pbmac1: &[u8; 7] = b"PBMAC1\0";
1361pub const NID_pbmac1: i32 = 162;
1362pub const LN_hmacWithSHA1: &[u8; 13] = b"hmacWithSHA1\0";
1363pub const NID_hmacWithSHA1: i32 = 163;
1364pub const SN_id_qt_cps: &[u8; 10] = b"id-qt-cps\0";
1365pub const LN_id_qt_cps: &[u8; 21] = b"Policy Qualifier CPS\0";
1366pub const NID_id_qt_cps: i32 = 164;
1367pub const SN_id_qt_unotice: &[u8; 14] = b"id-qt-unotice\0";
1368pub const LN_id_qt_unotice: &[u8; 29] = b"Policy Qualifier User Notice\0";
1369pub const NID_id_qt_unotice: i32 = 165;
1370pub const SN_rc2_64_cbc: &[u8; 11] = b"RC2-64-CBC\0";
1371pub const LN_rc2_64_cbc: &[u8; 11] = b"rc2-64-cbc\0";
1372pub const NID_rc2_64_cbc: i32 = 166;
1373pub const SN_SMIMECapabilities: &[u8; 11] = b"SMIME-CAPS\0";
1374pub const LN_SMIMECapabilities: &[u8; 20] = b"S/MIME Capabilities\0";
1375pub const NID_SMIMECapabilities: i32 = 167;
1376pub const SN_pbeWithMD2AndRC2_CBC: &[u8; 15] = b"PBE-MD2-RC2-64\0";
1377pub const LN_pbeWithMD2AndRC2_CBC: &[u8; 21] = b"pbeWithMD2AndRC2-CBC\0";
1378pub const NID_pbeWithMD2AndRC2_CBC: i32 = 168;
1379pub const SN_pbeWithMD5AndRC2_CBC: &[u8; 15] = b"PBE-MD5-RC2-64\0";
1380pub const LN_pbeWithMD5AndRC2_CBC: &[u8; 21] = b"pbeWithMD5AndRC2-CBC\0";
1381pub const NID_pbeWithMD5AndRC2_CBC: i32 = 169;
1382pub const SN_pbeWithSHA1AndDES_CBC: &[u8; 13] = b"PBE-SHA1-DES\0";
1383pub const LN_pbeWithSHA1AndDES_CBC: &[u8; 22] = b"pbeWithSHA1AndDES-CBC\0";
1384pub const NID_pbeWithSHA1AndDES_CBC: i32 = 170;
1385pub const SN_ms_ext_req: &[u8; 9] = b"msExtReq\0";
1386pub const LN_ms_ext_req: &[u8; 28] = b"Microsoft Extension Request\0";
1387pub const NID_ms_ext_req: i32 = 171;
1388pub const SN_ext_req: &[u8; 7] = b"extReq\0";
1389pub const LN_ext_req: &[u8; 18] = b"Extension Request\0";
1390pub const NID_ext_req: i32 = 172;
1391pub const SN_name: &[u8; 5] = b"name\0";
1392pub const LN_name: &[u8; 5] = b"name\0";
1393pub const NID_name: i32 = 173;
1394pub const SN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1395pub const LN_dnQualifier: &[u8; 12] = b"dnQualifier\0";
1396pub const NID_dnQualifier: i32 = 174;
1397pub const SN_id_pe: &[u8; 6] = b"id-pe\0";
1398pub const NID_id_pe: i32 = 175;
1399pub const SN_id_ad: &[u8; 6] = b"id-ad\0";
1400pub const NID_id_ad: i32 = 176;
1401pub const SN_info_access: &[u8; 20] = b"authorityInfoAccess\0";
1402pub const LN_info_access: &[u8; 29] = b"Authority Information Access\0";
1403pub const NID_info_access: i32 = 177;
1404pub const SN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1405pub const LN_ad_OCSP: &[u8; 5] = b"OCSP\0";
1406pub const NID_ad_OCSP: i32 = 178;
1407pub const SN_ad_ca_issuers: &[u8; 10] = b"caIssuers\0";
1408pub const LN_ad_ca_issuers: &[u8; 11] = b"CA Issuers\0";
1409pub const NID_ad_ca_issuers: i32 = 179;
1410pub const SN_OCSP_sign: &[u8; 12] = b"OCSPSigning\0";
1411pub const LN_OCSP_sign: &[u8; 13] = b"OCSP Signing\0";
1412pub const NID_OCSP_sign: i32 = 180;
1413pub const SN_iso: &[u8; 4] = b"ISO\0";
1414pub const LN_iso: &[u8; 4] = b"iso\0";
1415pub const NID_iso: i32 = 181;
1416pub const OBJ_iso: i32 = 1;
1417pub const SN_member_body: &[u8; 12] = b"member-body\0";
1418pub const LN_member_body: &[u8; 16] = b"ISO Member Body\0";
1419pub const NID_member_body: i32 = 182;
1420pub const SN_ISO_US: &[u8; 7] = b"ISO-US\0";
1421pub const LN_ISO_US: &[u8; 19] = b"ISO US Member Body\0";
1422pub const NID_ISO_US: i32 = 183;
1423pub const SN_X9_57: &[u8; 6] = b"X9-57\0";
1424pub const LN_X9_57: &[u8; 6] = b"X9.57\0";
1425pub const NID_X9_57: i32 = 184;
1426pub const SN_X9cm: &[u8; 5] = b"X9cm\0";
1427pub const LN_X9cm: &[u8; 11] = b"X9.57 CM ?\0";
1428pub const NID_X9cm: i32 = 185;
1429pub const SN_pkcs1: &[u8; 6] = b"pkcs1\0";
1430pub const NID_pkcs1: i32 = 186;
1431pub const SN_pkcs5: &[u8; 6] = b"pkcs5\0";
1432pub const NID_pkcs5: i32 = 187;
1433pub const SN_SMIME: &[u8; 6] = b"SMIME\0";
1434pub const LN_SMIME: &[u8; 7] = b"S/MIME\0";
1435pub const NID_SMIME: i32 = 188;
1436pub const SN_id_smime_mod: &[u8; 13] = b"id-smime-mod\0";
1437pub const NID_id_smime_mod: i32 = 189;
1438pub const SN_id_smime_ct: &[u8; 12] = b"id-smime-ct\0";
1439pub const NID_id_smime_ct: i32 = 190;
1440pub const SN_id_smime_aa: &[u8; 12] = b"id-smime-aa\0";
1441pub const NID_id_smime_aa: i32 = 191;
1442pub const SN_id_smime_alg: &[u8; 13] = b"id-smime-alg\0";
1443pub const NID_id_smime_alg: i32 = 192;
1444pub const SN_id_smime_cd: &[u8; 12] = b"id-smime-cd\0";
1445pub const NID_id_smime_cd: i32 = 193;
1446pub const SN_id_smime_spq: &[u8; 13] = b"id-smime-spq\0";
1447pub const NID_id_smime_spq: i32 = 194;
1448pub const SN_id_smime_cti: &[u8; 13] = b"id-smime-cti\0";
1449pub const NID_id_smime_cti: i32 = 195;
1450pub const SN_id_smime_mod_cms: &[u8; 17] = b"id-smime-mod-cms\0";
1451pub const NID_id_smime_mod_cms: i32 = 196;
1452pub const SN_id_smime_mod_ess: &[u8; 17] = b"id-smime-mod-ess\0";
1453pub const NID_id_smime_mod_ess: i32 = 197;
1454pub const SN_id_smime_mod_oid: &[u8; 17] = b"id-smime-mod-oid\0";
1455pub const NID_id_smime_mod_oid: i32 = 198;
1456pub const SN_id_smime_mod_msg_v3: &[u8; 20] = b"id-smime-mod-msg-v3\0";
1457pub const NID_id_smime_mod_msg_v3: i32 = 199;
1458pub const SN_id_smime_mod_ets_eSignature_88: &[u8; 31] = b"id-smime-mod-ets-eSignature-88\0";
1459pub const NID_id_smime_mod_ets_eSignature_88: i32 = 200;
1460pub const SN_id_smime_mod_ets_eSignature_97: &[u8; 31] = b"id-smime-mod-ets-eSignature-97\0";
1461pub const NID_id_smime_mod_ets_eSignature_97: i32 = 201;
1462pub const SN_id_smime_mod_ets_eSigPolicy_88: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-88\0";
1463pub const NID_id_smime_mod_ets_eSigPolicy_88: i32 = 202;
1464pub const SN_id_smime_mod_ets_eSigPolicy_97: &[u8; 31] = b"id-smime-mod-ets-eSigPolicy-97\0";
1465pub const NID_id_smime_mod_ets_eSigPolicy_97: i32 = 203;
1466pub const SN_id_smime_ct_receipt: &[u8; 20] = b"id-smime-ct-receipt\0";
1467pub const NID_id_smime_ct_receipt: i32 = 204;
1468pub const SN_id_smime_ct_authData: &[u8; 21] = b"id-smime-ct-authData\0";
1469pub const NID_id_smime_ct_authData: i32 = 205;
1470pub const SN_id_smime_ct_publishCert: &[u8; 24] = b"id-smime-ct-publishCert\0";
1471pub const NID_id_smime_ct_publishCert: i32 = 206;
1472pub const SN_id_smime_ct_TSTInfo: &[u8; 20] = b"id-smime-ct-TSTInfo\0";
1473pub const NID_id_smime_ct_TSTInfo: i32 = 207;
1474pub const SN_id_smime_ct_TDTInfo: &[u8; 20] = b"id-smime-ct-TDTInfo\0";
1475pub const NID_id_smime_ct_TDTInfo: i32 = 208;
1476pub const SN_id_smime_ct_contentInfo: &[u8; 24] = b"id-smime-ct-contentInfo\0";
1477pub const NID_id_smime_ct_contentInfo: i32 = 209;
1478pub const SN_id_smime_ct_DVCSRequestData: &[u8; 28] = b"id-smime-ct-DVCSRequestData\0";
1479pub const NID_id_smime_ct_DVCSRequestData: i32 = 210;
1480pub const SN_id_smime_ct_DVCSResponseData: &[u8; 29] = b"id-smime-ct-DVCSResponseData\0";
1481pub const NID_id_smime_ct_DVCSResponseData: i32 = 211;
1482pub const SN_id_smime_aa_receiptRequest: &[u8; 27] = b"id-smime-aa-receiptRequest\0";
1483pub const NID_id_smime_aa_receiptRequest: i32 = 212;
1484pub const SN_id_smime_aa_securityLabel: &[u8; 26] = b"id-smime-aa-securityLabel\0";
1485pub const NID_id_smime_aa_securityLabel: i32 = 213;
1486pub const SN_id_smime_aa_mlExpandHistory: &[u8; 28] = b"id-smime-aa-mlExpandHistory\0";
1487pub const NID_id_smime_aa_mlExpandHistory: i32 = 214;
1488pub const SN_id_smime_aa_contentHint: &[u8; 24] = b"id-smime-aa-contentHint\0";
1489pub const NID_id_smime_aa_contentHint: i32 = 215;
1490pub const SN_id_smime_aa_msgSigDigest: &[u8; 25] = b"id-smime-aa-msgSigDigest\0";
1491pub const NID_id_smime_aa_msgSigDigest: i32 = 216;
1492pub const SN_id_smime_aa_encapContentType: &[u8; 29] = b"id-smime-aa-encapContentType\0";
1493pub const NID_id_smime_aa_encapContentType: i32 = 217;
1494pub const SN_id_smime_aa_contentIdentifier: &[u8; 30] = b"id-smime-aa-contentIdentifier\0";
1495pub const NID_id_smime_aa_contentIdentifier: i32 = 218;
1496pub const SN_id_smime_aa_macValue: &[u8; 21] = b"id-smime-aa-macValue\0";
1497pub const NID_id_smime_aa_macValue: i32 = 219;
1498pub const SN_id_smime_aa_equivalentLabels: &[u8; 29] = b"id-smime-aa-equivalentLabels\0";
1499pub const NID_id_smime_aa_equivalentLabels: i32 = 220;
1500pub const SN_id_smime_aa_contentReference: &[u8; 29] = b"id-smime-aa-contentReference\0";
1501pub const NID_id_smime_aa_contentReference: i32 = 221;
1502pub const SN_id_smime_aa_encrypKeyPref: &[u8; 26] = b"id-smime-aa-encrypKeyPref\0";
1503pub const NID_id_smime_aa_encrypKeyPref: i32 = 222;
1504pub const SN_id_smime_aa_signingCertificate: &[u8; 31] = b"id-smime-aa-signingCertificate\0";
1505pub const NID_id_smime_aa_signingCertificate: i32 = 223;
1506pub const SN_id_smime_aa_smimeEncryptCerts: &[u8; 30] = b"id-smime-aa-smimeEncryptCerts\0";
1507pub const NID_id_smime_aa_smimeEncryptCerts: i32 = 224;
1508pub const SN_id_smime_aa_timeStampToken: &[u8; 27] = b"id-smime-aa-timeStampToken\0";
1509pub const NID_id_smime_aa_timeStampToken: i32 = 225;
1510pub const SN_id_smime_aa_ets_sigPolicyId: &[u8; 28] = b"id-smime-aa-ets-sigPolicyId\0";
1511pub const NID_id_smime_aa_ets_sigPolicyId: i32 = 226;
1512pub const SN_id_smime_aa_ets_commitmentType: &[u8; 31] = b"id-smime-aa-ets-commitmentType\0";
1513pub const NID_id_smime_aa_ets_commitmentType: i32 = 227;
1514pub const SN_id_smime_aa_ets_signerLocation: &[u8; 31] = b"id-smime-aa-ets-signerLocation\0";
1515pub const NID_id_smime_aa_ets_signerLocation: i32 = 228;
1516pub const SN_id_smime_aa_ets_signerAttr: &[u8; 27] = b"id-smime-aa-ets-signerAttr\0";
1517pub const NID_id_smime_aa_ets_signerAttr: i32 = 229;
1518pub const SN_id_smime_aa_ets_otherSigCert: &[u8; 29] = b"id-smime-aa-ets-otherSigCert\0";
1519pub const NID_id_smime_aa_ets_otherSigCert: i32 = 230;
1520pub const SN_id_smime_aa_ets_contentTimestamp: &[u8; 33] = b"id-smime-aa-ets-contentTimestamp\0";
1521pub const NID_id_smime_aa_ets_contentTimestamp: i32 = 231;
1522pub const SN_id_smime_aa_ets_CertificateRefs: &[u8; 32] = b"id-smime-aa-ets-CertificateRefs\0";
1523pub const NID_id_smime_aa_ets_CertificateRefs: i32 = 232;
1524pub const SN_id_smime_aa_ets_RevocationRefs: &[u8; 31] = b"id-smime-aa-ets-RevocationRefs\0";
1525pub const NID_id_smime_aa_ets_RevocationRefs: i32 = 233;
1526pub const SN_id_smime_aa_ets_certValues: &[u8; 27] = b"id-smime-aa-ets-certValues\0";
1527pub const NID_id_smime_aa_ets_certValues: i32 = 234;
1528pub const SN_id_smime_aa_ets_revocationValues: &[u8; 33] = b"id-smime-aa-ets-revocationValues\0";
1529pub const NID_id_smime_aa_ets_revocationValues: i32 = 235;
1530pub const SN_id_smime_aa_ets_escTimeStamp: &[u8; 29] = b"id-smime-aa-ets-escTimeStamp\0";
1531pub const NID_id_smime_aa_ets_escTimeStamp: i32 = 236;
1532pub const SN_id_smime_aa_ets_certCRLTimestamp: &[u8; 33] = b"id-smime-aa-ets-certCRLTimestamp\0";
1533pub const NID_id_smime_aa_ets_certCRLTimestamp: i32 = 237;
1534pub const SN_id_smime_aa_ets_archiveTimeStamp: &[u8; 33] = b"id-smime-aa-ets-archiveTimeStamp\0";
1535pub const NID_id_smime_aa_ets_archiveTimeStamp: i32 = 238;
1536pub const SN_id_smime_aa_signatureType: &[u8; 26] = b"id-smime-aa-signatureType\0";
1537pub const NID_id_smime_aa_signatureType: i32 = 239;
1538pub const SN_id_smime_aa_dvcs_dvc: &[u8; 21] = b"id-smime-aa-dvcs-dvc\0";
1539pub const NID_id_smime_aa_dvcs_dvc: i32 = 240;
1540pub const SN_id_smime_alg_ESDHwith3DES: &[u8; 26] = b"id-smime-alg-ESDHwith3DES\0";
1541pub const NID_id_smime_alg_ESDHwith3DES: i32 = 241;
1542pub const SN_id_smime_alg_ESDHwithRC2: &[u8; 25] = b"id-smime-alg-ESDHwithRC2\0";
1543pub const NID_id_smime_alg_ESDHwithRC2: i32 = 242;
1544pub const SN_id_smime_alg_3DESwrap: &[u8; 22] = b"id-smime-alg-3DESwrap\0";
1545pub const NID_id_smime_alg_3DESwrap: i32 = 243;
1546pub const SN_id_smime_alg_RC2wrap: &[u8; 21] = b"id-smime-alg-RC2wrap\0";
1547pub const NID_id_smime_alg_RC2wrap: i32 = 244;
1548pub const SN_id_smime_alg_ESDH: &[u8; 18] = b"id-smime-alg-ESDH\0";
1549pub const NID_id_smime_alg_ESDH: i32 = 245;
1550pub const SN_id_smime_alg_CMS3DESwrap: &[u8; 25] = b"id-smime-alg-CMS3DESwrap\0";
1551pub const NID_id_smime_alg_CMS3DESwrap: i32 = 246;
1552pub const SN_id_smime_alg_CMSRC2wrap: &[u8; 24] = b"id-smime-alg-CMSRC2wrap\0";
1553pub const NID_id_smime_alg_CMSRC2wrap: i32 = 247;
1554pub const SN_id_smime_cd_ldap: &[u8; 17] = b"id-smime-cd-ldap\0";
1555pub const NID_id_smime_cd_ldap: i32 = 248;
1556pub const SN_id_smime_spq_ets_sqt_uri: &[u8; 25] = b"id-smime-spq-ets-sqt-uri\0";
1557pub const NID_id_smime_spq_ets_sqt_uri: i32 = 249;
1558pub const SN_id_smime_spq_ets_sqt_unotice: &[u8; 29] = b"id-smime-spq-ets-sqt-unotice\0";
1559pub const NID_id_smime_spq_ets_sqt_unotice: i32 = 250;
1560pub const SN_id_smime_cti_ets_proofOfOrigin: &[u8; 31] = b"id-smime-cti-ets-proofOfOrigin\0";
1561pub const NID_id_smime_cti_ets_proofOfOrigin: i32 = 251;
1562pub const SN_id_smime_cti_ets_proofOfReceipt: &[u8; 32] = b"id-smime-cti-ets-proofOfReceipt\0";
1563pub const NID_id_smime_cti_ets_proofOfReceipt: i32 = 252;
1564pub const SN_id_smime_cti_ets_proofOfDelivery: &[u8; 33] = b"id-smime-cti-ets-proofOfDelivery\0";
1565pub const NID_id_smime_cti_ets_proofOfDelivery: i32 = 253;
1566pub const SN_id_smime_cti_ets_proofOfSender: &[u8; 31] = b"id-smime-cti-ets-proofOfSender\0";
1567pub const NID_id_smime_cti_ets_proofOfSender: i32 = 254;
1568pub const SN_id_smime_cti_ets_proofOfApproval: &[u8; 33] = b"id-smime-cti-ets-proofOfApproval\0";
1569pub const NID_id_smime_cti_ets_proofOfApproval: i32 = 255;
1570pub const SN_id_smime_cti_ets_proofOfCreation: &[u8; 33] = b"id-smime-cti-ets-proofOfCreation\0";
1571pub const NID_id_smime_cti_ets_proofOfCreation: i32 = 256;
1572pub const SN_md4: &[u8; 4] = b"MD4\0";
1573pub const LN_md4: &[u8; 4] = b"md4\0";
1574pub const NID_md4: i32 = 257;
1575pub const SN_id_pkix_mod: &[u8; 12] = b"id-pkix-mod\0";
1576pub const NID_id_pkix_mod: i32 = 258;
1577pub const SN_id_qt: &[u8; 6] = b"id-qt\0";
1578pub const NID_id_qt: i32 = 259;
1579pub const SN_id_it: &[u8; 6] = b"id-it\0";
1580pub const NID_id_it: i32 = 260;
1581pub const SN_id_pkip: &[u8; 8] = b"id-pkip\0";
1582pub const NID_id_pkip: i32 = 261;
1583pub const SN_id_alg: &[u8; 7] = b"id-alg\0";
1584pub const NID_id_alg: i32 = 262;
1585pub const SN_id_cmc: &[u8; 7] = b"id-cmc\0";
1586pub const NID_id_cmc: i32 = 263;
1587pub const SN_id_on: &[u8; 6] = b"id-on\0";
1588pub const NID_id_on: i32 = 264;
1589pub const SN_id_pda: &[u8; 7] = b"id-pda\0";
1590pub const NID_id_pda: i32 = 265;
1591pub const SN_id_aca: &[u8; 7] = b"id-aca\0";
1592pub const NID_id_aca: i32 = 266;
1593pub const SN_id_qcs: &[u8; 7] = b"id-qcs\0";
1594pub const NID_id_qcs: i32 = 267;
1595pub const SN_id_cct: &[u8; 7] = b"id-cct\0";
1596pub const NID_id_cct: i32 = 268;
1597pub const SN_id_pkix1_explicit_88: &[u8; 21] = b"id-pkix1-explicit-88\0";
1598pub const NID_id_pkix1_explicit_88: i32 = 269;
1599pub const SN_id_pkix1_implicit_88: &[u8; 21] = b"id-pkix1-implicit-88\0";
1600pub const NID_id_pkix1_implicit_88: i32 = 270;
1601pub const SN_id_pkix1_explicit_93: &[u8; 21] = b"id-pkix1-explicit-93\0";
1602pub const NID_id_pkix1_explicit_93: i32 = 271;
1603pub const SN_id_pkix1_implicit_93: &[u8; 21] = b"id-pkix1-implicit-93\0";
1604pub const NID_id_pkix1_implicit_93: i32 = 272;
1605pub const SN_id_mod_crmf: &[u8; 12] = b"id-mod-crmf\0";
1606pub const NID_id_mod_crmf: i32 = 273;
1607pub const SN_id_mod_cmc: &[u8; 11] = b"id-mod-cmc\0";
1608pub const NID_id_mod_cmc: i32 = 274;
1609pub const SN_id_mod_kea_profile_88: &[u8; 22] = b"id-mod-kea-profile-88\0";
1610pub const NID_id_mod_kea_profile_88: i32 = 275;
1611pub const SN_id_mod_kea_profile_93: &[u8; 22] = b"id-mod-kea-profile-93\0";
1612pub const NID_id_mod_kea_profile_93: i32 = 276;
1613pub const SN_id_mod_cmp: &[u8; 11] = b"id-mod-cmp\0";
1614pub const NID_id_mod_cmp: i32 = 277;
1615pub const SN_id_mod_qualified_cert_88: &[u8; 25] = b"id-mod-qualified-cert-88\0";
1616pub const NID_id_mod_qualified_cert_88: i32 = 278;
1617pub const SN_id_mod_qualified_cert_93: &[u8; 25] = b"id-mod-qualified-cert-93\0";
1618pub const NID_id_mod_qualified_cert_93: i32 = 279;
1619pub const SN_id_mod_attribute_cert: &[u8; 22] = b"id-mod-attribute-cert\0";
1620pub const NID_id_mod_attribute_cert: i32 = 280;
1621pub const SN_id_mod_timestamp_protocol: &[u8; 26] = b"id-mod-timestamp-protocol\0";
1622pub const NID_id_mod_timestamp_protocol: i32 = 281;
1623pub const SN_id_mod_ocsp: &[u8; 12] = b"id-mod-ocsp\0";
1624pub const NID_id_mod_ocsp: i32 = 282;
1625pub const SN_id_mod_dvcs: &[u8; 12] = b"id-mod-dvcs\0";
1626pub const NID_id_mod_dvcs: i32 = 283;
1627pub const SN_id_mod_cmp2000: &[u8; 15] = b"id-mod-cmp2000\0";
1628pub const NID_id_mod_cmp2000: i32 = 284;
1629pub const SN_biometricInfo: &[u8; 14] = b"biometricInfo\0";
1630pub const LN_biometricInfo: &[u8; 15] = b"Biometric Info\0";
1631pub const NID_biometricInfo: i32 = 285;
1632pub const SN_qcStatements: &[u8; 13] = b"qcStatements\0";
1633pub const NID_qcStatements: i32 = 286;
1634pub const SN_ac_auditEntity: &[u8; 15] = b"ac-auditEntity\0";
1635pub const NID_ac_auditEntity: i32 = 287;
1636pub const SN_ac_targeting: &[u8; 13] = b"ac-targeting\0";
1637pub const NID_ac_targeting: i32 = 288;
1638pub const SN_aaControls: &[u8; 11] = b"aaControls\0";
1639pub const NID_aaControls: i32 = 289;
1640pub const SN_sbgp_ipAddrBlock: &[u8; 17] = b"sbgp-ipAddrBlock\0";
1641pub const NID_sbgp_ipAddrBlock: i32 = 290;
1642pub const SN_sbgp_autonomousSysNum: &[u8; 22] = b"sbgp-autonomousSysNum\0";
1643pub const NID_sbgp_autonomousSysNum: i32 = 291;
1644pub const SN_sbgp_routerIdentifier: &[u8; 22] = b"sbgp-routerIdentifier\0";
1645pub const NID_sbgp_routerIdentifier: i32 = 292;
1646pub const SN_textNotice: &[u8; 11] = b"textNotice\0";
1647pub const NID_textNotice: i32 = 293;
1648pub const SN_ipsecEndSystem: &[u8; 15] = b"ipsecEndSystem\0";
1649pub const LN_ipsecEndSystem: &[u8; 17] = b"IPSec End System\0";
1650pub const NID_ipsecEndSystem: i32 = 294;
1651pub const SN_ipsecTunnel: &[u8; 12] = b"ipsecTunnel\0";
1652pub const LN_ipsecTunnel: &[u8; 13] = b"IPSec Tunnel\0";
1653pub const NID_ipsecTunnel: i32 = 295;
1654pub const SN_ipsecUser: &[u8; 10] = b"ipsecUser\0";
1655pub const LN_ipsecUser: &[u8; 11] = b"IPSec User\0";
1656pub const NID_ipsecUser: i32 = 296;
1657pub const SN_dvcs: &[u8; 5] = b"DVCS\0";
1658pub const LN_dvcs: &[u8; 5] = b"dvcs\0";
1659pub const NID_dvcs: i32 = 297;
1660pub const SN_id_it_caProtEncCert: &[u8; 20] = b"id-it-caProtEncCert\0";
1661pub const NID_id_it_caProtEncCert: i32 = 298;
1662pub const SN_id_it_signKeyPairTypes: &[u8; 23] = b"id-it-signKeyPairTypes\0";
1663pub const NID_id_it_signKeyPairTypes: i32 = 299;
1664pub const SN_id_it_encKeyPairTypes: &[u8; 22] = b"id-it-encKeyPairTypes\0";
1665pub const NID_id_it_encKeyPairTypes: i32 = 300;
1666pub const SN_id_it_preferredSymmAlg: &[u8; 23] = b"id-it-preferredSymmAlg\0";
1667pub const NID_id_it_preferredSymmAlg: i32 = 301;
1668pub const SN_id_it_caKeyUpdateInfo: &[u8; 22] = b"id-it-caKeyUpdateInfo\0";
1669pub const NID_id_it_caKeyUpdateInfo: i32 = 302;
1670pub const SN_id_it_currentCRL: &[u8; 17] = b"id-it-currentCRL\0";
1671pub const NID_id_it_currentCRL: i32 = 303;
1672pub const SN_id_it_unsupportedOIDs: &[u8; 22] = b"id-it-unsupportedOIDs\0";
1673pub const NID_id_it_unsupportedOIDs: i32 = 304;
1674pub const SN_id_it_subscriptionRequest: &[u8; 26] = b"id-it-subscriptionRequest\0";
1675pub const NID_id_it_subscriptionRequest: i32 = 305;
1676pub const SN_id_it_subscriptionResponse: &[u8; 27] = b"id-it-subscriptionResponse\0";
1677pub const NID_id_it_subscriptionResponse: i32 = 306;
1678pub const SN_id_it_keyPairParamReq: &[u8; 22] = b"id-it-keyPairParamReq\0";
1679pub const NID_id_it_keyPairParamReq: i32 = 307;
1680pub const SN_id_it_keyPairParamRep: &[u8; 22] = b"id-it-keyPairParamRep\0";
1681pub const NID_id_it_keyPairParamRep: i32 = 308;
1682pub const SN_id_it_revPassphrase: &[u8; 20] = b"id-it-revPassphrase\0";
1683pub const NID_id_it_revPassphrase: i32 = 309;
1684pub const SN_id_it_implicitConfirm: &[u8; 22] = b"id-it-implicitConfirm\0";
1685pub const NID_id_it_implicitConfirm: i32 = 310;
1686pub const SN_id_it_confirmWaitTime: &[u8; 22] = b"id-it-confirmWaitTime\0";
1687pub const NID_id_it_confirmWaitTime: i32 = 311;
1688pub const SN_id_it_origPKIMessage: &[u8; 21] = b"id-it-origPKIMessage\0";
1689pub const NID_id_it_origPKIMessage: i32 = 312;
1690pub const SN_id_regCtrl: &[u8; 11] = b"id-regCtrl\0";
1691pub const NID_id_regCtrl: i32 = 313;
1692pub const SN_id_regInfo: &[u8; 11] = b"id-regInfo\0";
1693pub const NID_id_regInfo: i32 = 314;
1694pub const SN_id_regCtrl_regToken: &[u8; 20] = b"id-regCtrl-regToken\0";
1695pub const NID_id_regCtrl_regToken: i32 = 315;
1696pub const SN_id_regCtrl_authenticator: &[u8; 25] = b"id-regCtrl-authenticator\0";
1697pub const NID_id_regCtrl_authenticator: i32 = 316;
1698pub const SN_id_regCtrl_pkiPublicationInfo: &[u8; 30] = b"id-regCtrl-pkiPublicationInfo\0";
1699pub const NID_id_regCtrl_pkiPublicationInfo: i32 = 317;
1700pub const SN_id_regCtrl_pkiArchiveOptions: &[u8; 29] = b"id-regCtrl-pkiArchiveOptions\0";
1701pub const NID_id_regCtrl_pkiArchiveOptions: i32 = 318;
1702pub const SN_id_regCtrl_oldCertID: &[u8; 21] = b"id-regCtrl-oldCertID\0";
1703pub const NID_id_regCtrl_oldCertID: i32 = 319;
1704pub const SN_id_regCtrl_protocolEncrKey: &[u8; 27] = b"id-regCtrl-protocolEncrKey\0";
1705pub const NID_id_regCtrl_protocolEncrKey: i32 = 320;
1706pub const SN_id_regInfo_utf8Pairs: &[u8; 21] = b"id-regInfo-utf8Pairs\0";
1707pub const NID_id_regInfo_utf8Pairs: i32 = 321;
1708pub const SN_id_regInfo_certReq: &[u8; 19] = b"id-regInfo-certReq\0";
1709pub const NID_id_regInfo_certReq: i32 = 322;
1710pub const SN_id_alg_des40: &[u8; 13] = b"id-alg-des40\0";
1711pub const NID_id_alg_des40: i32 = 323;
1712pub const SN_id_alg_noSignature: &[u8; 19] = b"id-alg-noSignature\0";
1713pub const NID_id_alg_noSignature: i32 = 324;
1714pub const SN_id_alg_dh_sig_hmac_sha1: &[u8; 24] = b"id-alg-dh-sig-hmac-sha1\0";
1715pub const NID_id_alg_dh_sig_hmac_sha1: i32 = 325;
1716pub const SN_id_alg_dh_pop: &[u8; 14] = b"id-alg-dh-pop\0";
1717pub const NID_id_alg_dh_pop: i32 = 326;
1718pub const SN_id_cmc_statusInfo: &[u8; 18] = b"id-cmc-statusInfo\0";
1719pub const NID_id_cmc_statusInfo: i32 = 327;
1720pub const SN_id_cmc_identification: &[u8; 22] = b"id-cmc-identification\0";
1721pub const NID_id_cmc_identification: i32 = 328;
1722pub const SN_id_cmc_identityProof: &[u8; 21] = b"id-cmc-identityProof\0";
1723pub const NID_id_cmc_identityProof: i32 = 329;
1724pub const SN_id_cmc_dataReturn: &[u8; 18] = b"id-cmc-dataReturn\0";
1725pub const NID_id_cmc_dataReturn: i32 = 330;
1726pub const SN_id_cmc_transactionId: &[u8; 21] = b"id-cmc-transactionId\0";
1727pub const NID_id_cmc_transactionId: i32 = 331;
1728pub const SN_id_cmc_senderNonce: &[u8; 19] = b"id-cmc-senderNonce\0";
1729pub const NID_id_cmc_senderNonce: i32 = 332;
1730pub const SN_id_cmc_recipientNonce: &[u8; 22] = b"id-cmc-recipientNonce\0";
1731pub const NID_id_cmc_recipientNonce: i32 = 333;
1732pub const SN_id_cmc_addExtensions: &[u8; 21] = b"id-cmc-addExtensions\0";
1733pub const NID_id_cmc_addExtensions: i32 = 334;
1734pub const SN_id_cmc_encryptedPOP: &[u8; 20] = b"id-cmc-encryptedPOP\0";
1735pub const NID_id_cmc_encryptedPOP: i32 = 335;
1736pub const SN_id_cmc_decryptedPOP: &[u8; 20] = b"id-cmc-decryptedPOP\0";
1737pub const NID_id_cmc_decryptedPOP: i32 = 336;
1738pub const SN_id_cmc_lraPOPWitness: &[u8; 21] = b"id-cmc-lraPOPWitness\0";
1739pub const NID_id_cmc_lraPOPWitness: i32 = 337;
1740pub const SN_id_cmc_getCert: &[u8; 15] = b"id-cmc-getCert\0";
1741pub const NID_id_cmc_getCert: i32 = 338;
1742pub const SN_id_cmc_getCRL: &[u8; 14] = b"id-cmc-getCRL\0";
1743pub const NID_id_cmc_getCRL: i32 = 339;
1744pub const SN_id_cmc_revokeRequest: &[u8; 21] = b"id-cmc-revokeRequest\0";
1745pub const NID_id_cmc_revokeRequest: i32 = 340;
1746pub const SN_id_cmc_regInfo: &[u8; 15] = b"id-cmc-regInfo\0";
1747pub const NID_id_cmc_regInfo: i32 = 341;
1748pub const SN_id_cmc_responseInfo: &[u8; 20] = b"id-cmc-responseInfo\0";
1749pub const NID_id_cmc_responseInfo: i32 = 342;
1750pub const SN_id_cmc_queryPending: &[u8; 20] = b"id-cmc-queryPending\0";
1751pub const NID_id_cmc_queryPending: i32 = 343;
1752pub const SN_id_cmc_popLinkRandom: &[u8; 21] = b"id-cmc-popLinkRandom\0";
1753pub const NID_id_cmc_popLinkRandom: i32 = 344;
1754pub const SN_id_cmc_popLinkWitness: &[u8; 22] = b"id-cmc-popLinkWitness\0";
1755pub const NID_id_cmc_popLinkWitness: i32 = 345;
1756pub const SN_id_cmc_confirmCertAcceptance: &[u8; 29] = b"id-cmc-confirmCertAcceptance\0";
1757pub const NID_id_cmc_confirmCertAcceptance: i32 = 346;
1758pub const SN_id_on_personalData: &[u8; 19] = b"id-on-personalData\0";
1759pub const NID_id_on_personalData: i32 = 347;
1760pub const SN_id_pda_dateOfBirth: &[u8; 19] = b"id-pda-dateOfBirth\0";
1761pub const NID_id_pda_dateOfBirth: i32 = 348;
1762pub const SN_id_pda_placeOfBirth: &[u8; 20] = b"id-pda-placeOfBirth\0";
1763pub const NID_id_pda_placeOfBirth: i32 = 349;
1764pub const SN_id_pda_gender: &[u8; 14] = b"id-pda-gender\0";
1765pub const NID_id_pda_gender: i32 = 351;
1766pub const SN_id_pda_countryOfCitizenship: &[u8; 28] = b"id-pda-countryOfCitizenship\0";
1767pub const NID_id_pda_countryOfCitizenship: i32 = 352;
1768pub const SN_id_pda_countryOfResidence: &[u8; 26] = b"id-pda-countryOfResidence\0";
1769pub const NID_id_pda_countryOfResidence: i32 = 353;
1770pub const SN_id_aca_authenticationInfo: &[u8; 26] = b"id-aca-authenticationInfo\0";
1771pub const NID_id_aca_authenticationInfo: i32 = 354;
1772pub const SN_id_aca_accessIdentity: &[u8; 22] = b"id-aca-accessIdentity\0";
1773pub const NID_id_aca_accessIdentity: i32 = 355;
1774pub const SN_id_aca_chargingIdentity: &[u8; 24] = b"id-aca-chargingIdentity\0";
1775pub const NID_id_aca_chargingIdentity: i32 = 356;
1776pub const SN_id_aca_group: &[u8; 13] = b"id-aca-group\0";
1777pub const NID_id_aca_group: i32 = 357;
1778pub const SN_id_aca_role: &[u8; 12] = b"id-aca-role\0";
1779pub const NID_id_aca_role: i32 = 358;
1780pub const SN_id_qcs_pkixQCSyntax_v1: &[u8; 23] = b"id-qcs-pkixQCSyntax-v1\0";
1781pub const NID_id_qcs_pkixQCSyntax_v1: i32 = 359;
1782pub const SN_id_cct_crs: &[u8; 11] = b"id-cct-crs\0";
1783pub const NID_id_cct_crs: i32 = 360;
1784pub const SN_id_cct_PKIData: &[u8; 15] = b"id-cct-PKIData\0";
1785pub const NID_id_cct_PKIData: i32 = 361;
1786pub const SN_id_cct_PKIResponse: &[u8; 19] = b"id-cct-PKIResponse\0";
1787pub const NID_id_cct_PKIResponse: i32 = 362;
1788pub const SN_ad_timeStamping: &[u8; 16] = b"ad_timestamping\0";
1789pub const LN_ad_timeStamping: &[u8; 17] = b"AD Time Stamping\0";
1790pub const NID_ad_timeStamping: i32 = 363;
1791pub const SN_ad_dvcs: &[u8; 8] = b"AD_DVCS\0";
1792pub const LN_ad_dvcs: &[u8; 8] = b"ad dvcs\0";
1793pub const NID_ad_dvcs: i32 = 364;
1794pub const SN_id_pkix_OCSP_basic: &[u8; 18] = b"basicOCSPResponse\0";
1795pub const LN_id_pkix_OCSP_basic: &[u8; 20] = b"Basic OCSP Response\0";
1796pub const NID_id_pkix_OCSP_basic: i32 = 365;
1797pub const SN_id_pkix_OCSP_Nonce: &[u8; 6] = b"Nonce\0";
1798pub const LN_id_pkix_OCSP_Nonce: &[u8; 11] = b"OCSP Nonce\0";
1799pub const NID_id_pkix_OCSP_Nonce: i32 = 366;
1800pub const SN_id_pkix_OCSP_CrlID: &[u8; 6] = b"CrlID\0";
1801pub const LN_id_pkix_OCSP_CrlID: &[u8; 12] = b"OCSP CRL ID\0";
1802pub const NID_id_pkix_OCSP_CrlID: i32 = 367;
1803pub const SN_id_pkix_OCSP_acceptableResponses: &[u8; 20] = b"acceptableResponses\0";
1804pub const LN_id_pkix_OCSP_acceptableResponses: &[u8; 26] = b"Acceptable OCSP Responses\0";
1805pub const NID_id_pkix_OCSP_acceptableResponses: i32 = 368;
1806pub const SN_id_pkix_OCSP_noCheck: &[u8; 8] = b"noCheck\0";
1807pub const LN_id_pkix_OCSP_noCheck: &[u8; 14] = b"OCSP No Check\0";
1808pub const NID_id_pkix_OCSP_noCheck: i32 = 369;
1809pub const SN_id_pkix_OCSP_archiveCutoff: &[u8; 14] = b"archiveCutoff\0";
1810pub const LN_id_pkix_OCSP_archiveCutoff: &[u8; 20] = b"OCSP Archive Cutoff\0";
1811pub const NID_id_pkix_OCSP_archiveCutoff: i32 = 370;
1812pub const SN_id_pkix_OCSP_serviceLocator: &[u8; 15] = b"serviceLocator\0";
1813pub const LN_id_pkix_OCSP_serviceLocator: &[u8; 21] = b"OCSP Service Locator\0";
1814pub const NID_id_pkix_OCSP_serviceLocator: i32 = 371;
1815pub const SN_id_pkix_OCSP_extendedStatus: &[u8; 15] = b"extendedStatus\0";
1816pub const LN_id_pkix_OCSP_extendedStatus: &[u8; 21] = b"Extended OCSP Status\0";
1817pub const NID_id_pkix_OCSP_extendedStatus: i32 = 372;
1818pub const SN_id_pkix_OCSP_valid: &[u8; 6] = b"valid\0";
1819pub const NID_id_pkix_OCSP_valid: i32 = 373;
1820pub const SN_id_pkix_OCSP_path: &[u8; 5] = b"path\0";
1821pub const NID_id_pkix_OCSP_path: i32 = 374;
1822pub const SN_id_pkix_OCSP_trustRoot: &[u8; 10] = b"trustRoot\0";
1823pub const LN_id_pkix_OCSP_trustRoot: &[u8; 11] = b"Trust Root\0";
1824pub const NID_id_pkix_OCSP_trustRoot: i32 = 375;
1825pub const SN_algorithm: &[u8; 10] = b"algorithm\0";
1826pub const LN_algorithm: &[u8; 10] = b"algorithm\0";
1827pub const NID_algorithm: i32 = 376;
1828pub const SN_rsaSignature: &[u8; 13] = b"rsaSignature\0";
1829pub const NID_rsaSignature: i32 = 377;
1830pub const SN_X500algorithms: &[u8; 15] = b"X500algorithms\0";
1831pub const LN_X500algorithms: &[u8; 32] = b"directory services - algorithms\0";
1832pub const NID_X500algorithms: i32 = 378;
1833pub const SN_org: &[u8; 4] = b"ORG\0";
1834pub const LN_org: &[u8; 4] = b"org\0";
1835pub const NID_org: i32 = 379;
1836pub const SN_dod: &[u8; 4] = b"DOD\0";
1837pub const LN_dod: &[u8; 4] = b"dod\0";
1838pub const NID_dod: i32 = 380;
1839pub const SN_iana: &[u8; 5] = b"IANA\0";
1840pub const LN_iana: &[u8; 5] = b"iana\0";
1841pub const NID_iana: i32 = 381;
1842pub const SN_Directory: &[u8; 10] = b"directory\0";
1843pub const LN_Directory: &[u8; 10] = b"Directory\0";
1844pub const NID_Directory: i32 = 382;
1845pub const SN_Management: &[u8; 5] = b"mgmt\0";
1846pub const LN_Management: &[u8; 11] = b"Management\0";
1847pub const NID_Management: i32 = 383;
1848pub const SN_Experimental: &[u8; 13] = b"experimental\0";
1849pub const LN_Experimental: &[u8; 13] = b"Experimental\0";
1850pub const NID_Experimental: i32 = 384;
1851pub const SN_Private: &[u8; 8] = b"private\0";
1852pub const LN_Private: &[u8; 8] = b"Private\0";
1853pub const NID_Private: i32 = 385;
1854pub const SN_Security: &[u8; 9] = b"security\0";
1855pub const LN_Security: &[u8; 9] = b"Security\0";
1856pub const NID_Security: i32 = 386;
1857pub const SN_SNMPv2: &[u8; 7] = b"snmpv2\0";
1858pub const LN_SNMPv2: &[u8; 7] = b"SNMPv2\0";
1859pub const NID_SNMPv2: i32 = 387;
1860pub const LN_Mail: &[u8; 5] = b"Mail\0";
1861pub const NID_Mail: i32 = 388;
1862pub const SN_Enterprises: &[u8; 12] = b"enterprises\0";
1863pub const LN_Enterprises: &[u8; 12] = b"Enterprises\0";
1864pub const NID_Enterprises: i32 = 389;
1865pub const SN_dcObject: &[u8; 9] = b"dcobject\0";
1866pub const LN_dcObject: &[u8; 9] = b"dcObject\0";
1867pub const NID_dcObject: i32 = 390;
1868pub const SN_domainComponent: &[u8; 3] = b"DC\0";
1869pub const LN_domainComponent: &[u8; 16] = b"domainComponent\0";
1870pub const NID_domainComponent: i32 = 391;
1871pub const SN_Domain: &[u8; 7] = b"domain\0";
1872pub const LN_Domain: &[u8; 7] = b"Domain\0";
1873pub const NID_Domain: i32 = 392;
1874pub const SN_selected_attribute_types: &[u8; 25] = b"selected-attribute-types\0";
1875pub const LN_selected_attribute_types: &[u8; 25] = b"Selected Attribute Types\0";
1876pub const NID_selected_attribute_types: i32 = 394;
1877pub const SN_clearance: &[u8; 10] = b"clearance\0";
1878pub const NID_clearance: i32 = 395;
1879pub const SN_md4WithRSAEncryption: &[u8; 8] = b"RSA-MD4\0";
1880pub const LN_md4WithRSAEncryption: &[u8; 21] = b"md4WithRSAEncryption\0";
1881pub const NID_md4WithRSAEncryption: i32 = 396;
1882pub const SN_ac_proxying: &[u8; 12] = b"ac-proxying\0";
1883pub const NID_ac_proxying: i32 = 397;
1884pub const SN_sinfo_access: &[u8; 18] = b"subjectInfoAccess\0";
1885pub const LN_sinfo_access: &[u8; 27] = b"Subject Information Access\0";
1886pub const NID_sinfo_access: i32 = 398;
1887pub const SN_id_aca_encAttrs: &[u8; 16] = b"id-aca-encAttrs\0";
1888pub const NID_id_aca_encAttrs: i32 = 399;
1889pub const SN_role: &[u8; 5] = b"role\0";
1890pub const LN_role: &[u8; 5] = b"role\0";
1891pub const NID_role: i32 = 400;
1892pub const SN_policy_constraints: &[u8; 18] = b"policyConstraints\0";
1893pub const LN_policy_constraints: &[u8; 26] = b"X509v3 Policy Constraints\0";
1894pub const NID_policy_constraints: i32 = 401;
1895pub const SN_target_information: &[u8; 18] = b"targetInformation\0";
1896pub const LN_target_information: &[u8; 20] = b"X509v3 AC Targeting\0";
1897pub const NID_target_information: i32 = 402;
1898pub const SN_no_rev_avail: &[u8; 11] = b"noRevAvail\0";
1899pub const LN_no_rev_avail: &[u8; 31] = b"X509v3 No Revocation Available\0";
1900pub const NID_no_rev_avail: i32 = 403;
1901pub const SN_ansi_X9_62: &[u8; 11] = b"ansi-X9-62\0";
1902pub const LN_ansi_X9_62: &[u8; 11] = b"ANSI X9.62\0";
1903pub const NID_ansi_X9_62: i32 = 405;
1904pub const SN_X9_62_prime_field: &[u8; 12] = b"prime-field\0";
1905pub const NID_X9_62_prime_field: i32 = 406;
1906pub const SN_X9_62_characteristic_two_field: &[u8; 25] = b"characteristic-two-field\0";
1907pub const NID_X9_62_characteristic_two_field: i32 = 407;
1908pub const SN_X9_62_id_ecPublicKey: &[u8; 15] = b"id-ecPublicKey\0";
1909pub const NID_X9_62_id_ecPublicKey: i32 = 408;
1910pub const SN_X9_62_prime192v1: &[u8; 11] = b"prime192v1\0";
1911pub const NID_X9_62_prime192v1: i32 = 409;
1912pub const SN_X9_62_prime192v2: &[u8; 11] = b"prime192v2\0";
1913pub const NID_X9_62_prime192v2: i32 = 410;
1914pub const SN_X9_62_prime192v3: &[u8; 11] = b"prime192v3\0";
1915pub const NID_X9_62_prime192v3: i32 = 411;
1916pub const SN_X9_62_prime239v1: &[u8; 11] = b"prime239v1\0";
1917pub const NID_X9_62_prime239v1: i32 = 412;
1918pub const SN_X9_62_prime239v2: &[u8; 11] = b"prime239v2\0";
1919pub const NID_X9_62_prime239v2: i32 = 413;
1920pub const SN_X9_62_prime239v3: &[u8; 11] = b"prime239v3\0";
1921pub const NID_X9_62_prime239v3: i32 = 414;
1922pub const SN_X9_62_prime256v1: &[u8; 11] = b"prime256v1\0";
1923pub const NID_X9_62_prime256v1: i32 = 415;
1924pub const SN_ecdsa_with_SHA1: &[u8; 16] = b"ecdsa-with-SHA1\0";
1925pub const NID_ecdsa_with_SHA1: i32 = 416;
1926pub const SN_ms_csp_name: &[u8; 8] = b"CSPName\0";
1927pub const LN_ms_csp_name: &[u8; 19] = b"Microsoft CSP Name\0";
1928pub const NID_ms_csp_name: i32 = 417;
1929pub const SN_aes_128_ecb: &[u8; 12] = b"AES-128-ECB\0";
1930pub const LN_aes_128_ecb: &[u8; 12] = b"aes-128-ecb\0";
1931pub const NID_aes_128_ecb: i32 = 418;
1932pub const SN_aes_128_cbc: &[u8; 12] = b"AES-128-CBC\0";
1933pub const LN_aes_128_cbc: &[u8; 12] = b"aes-128-cbc\0";
1934pub const NID_aes_128_cbc: i32 = 419;
1935pub const SN_aes_128_ofb128: &[u8; 12] = b"AES-128-OFB\0";
1936pub const LN_aes_128_ofb128: &[u8; 12] = b"aes-128-ofb\0";
1937pub const NID_aes_128_ofb128: i32 = 420;
1938pub const SN_aes_128_cfb128: &[u8; 12] = b"AES-128-CFB\0";
1939pub const LN_aes_128_cfb128: &[u8; 12] = b"aes-128-cfb\0";
1940pub const NID_aes_128_cfb128: i32 = 421;
1941pub const SN_aes_192_ecb: &[u8; 12] = b"AES-192-ECB\0";
1942pub const LN_aes_192_ecb: &[u8; 12] = b"aes-192-ecb\0";
1943pub const NID_aes_192_ecb: i32 = 422;
1944pub const SN_aes_192_cbc: &[u8; 12] = b"AES-192-CBC\0";
1945pub const LN_aes_192_cbc: &[u8; 12] = b"aes-192-cbc\0";
1946pub const NID_aes_192_cbc: i32 = 423;
1947pub const SN_aes_192_ofb128: &[u8; 12] = b"AES-192-OFB\0";
1948pub const LN_aes_192_ofb128: &[u8; 12] = b"aes-192-ofb\0";
1949pub const NID_aes_192_ofb128: i32 = 424;
1950pub const SN_aes_192_cfb128: &[u8; 12] = b"AES-192-CFB\0";
1951pub const LN_aes_192_cfb128: &[u8; 12] = b"aes-192-cfb\0";
1952pub const NID_aes_192_cfb128: i32 = 425;
1953pub const SN_aes_256_ecb: &[u8; 12] = b"AES-256-ECB\0";
1954pub const LN_aes_256_ecb: &[u8; 12] = b"aes-256-ecb\0";
1955pub const NID_aes_256_ecb: i32 = 426;
1956pub const SN_aes_256_cbc: &[u8; 12] = b"AES-256-CBC\0";
1957pub const LN_aes_256_cbc: &[u8; 12] = b"aes-256-cbc\0";
1958pub const NID_aes_256_cbc: i32 = 427;
1959pub const SN_aes_256_ofb128: &[u8; 12] = b"AES-256-OFB\0";
1960pub const LN_aes_256_ofb128: &[u8; 12] = b"aes-256-ofb\0";
1961pub const NID_aes_256_ofb128: i32 = 428;
1962pub const SN_aes_256_cfb128: &[u8; 12] = b"AES-256-CFB\0";
1963pub const LN_aes_256_cfb128: &[u8; 12] = b"aes-256-cfb\0";
1964pub const NID_aes_256_cfb128: i32 = 429;
1965pub const SN_hold_instruction_code: &[u8; 20] = b"holdInstructionCode\0";
1966pub const LN_hold_instruction_code: &[u8; 22] = b"Hold Instruction Code\0";
1967pub const NID_hold_instruction_code: i32 = 430;
1968pub const SN_hold_instruction_none: &[u8; 20] = b"holdInstructionNone\0";
1969pub const LN_hold_instruction_none: &[u8; 22] = b"Hold Instruction None\0";
1970pub const NID_hold_instruction_none: i32 = 431;
1971pub const SN_hold_instruction_call_issuer: &[u8; 26] = b"holdInstructionCallIssuer\0";
1972pub const LN_hold_instruction_call_issuer: &[u8; 29] = b"Hold Instruction Call Issuer\0";
1973pub const NID_hold_instruction_call_issuer: i32 = 432;
1974pub const SN_hold_instruction_reject: &[u8; 22] = b"holdInstructionReject\0";
1975pub const LN_hold_instruction_reject: &[u8; 24] = b"Hold Instruction Reject\0";
1976pub const NID_hold_instruction_reject: i32 = 433;
1977pub const SN_data: &[u8; 5] = b"data\0";
1978pub const NID_data: i32 = 434;
1979pub const SN_pss: &[u8; 4] = b"pss\0";
1980pub const NID_pss: i32 = 435;
1981pub const SN_ucl: &[u8; 4] = b"ucl\0";
1982pub const NID_ucl: i32 = 436;
1983pub const SN_pilot: &[u8; 6] = b"pilot\0";
1984pub const NID_pilot: i32 = 437;
1985pub const LN_pilotAttributeType: &[u8; 19] = b"pilotAttributeType\0";
1986pub const NID_pilotAttributeType: i32 = 438;
1987pub const LN_pilotAttributeSyntax: &[u8; 21] = b"pilotAttributeSyntax\0";
1988pub const NID_pilotAttributeSyntax: i32 = 439;
1989pub const LN_pilotObjectClass: &[u8; 17] = b"pilotObjectClass\0";
1990pub const NID_pilotObjectClass: i32 = 440;
1991pub const LN_pilotGroups: &[u8; 12] = b"pilotGroups\0";
1992pub const NID_pilotGroups: i32 = 441;
1993pub const LN_iA5StringSyntax: &[u8; 16] = b"iA5StringSyntax\0";
1994pub const NID_iA5StringSyntax: i32 = 442;
1995pub const LN_caseIgnoreIA5StringSyntax: &[u8; 26] = b"caseIgnoreIA5StringSyntax\0";
1996pub const NID_caseIgnoreIA5StringSyntax: i32 = 443;
1997pub const LN_pilotObject: &[u8; 12] = b"pilotObject\0";
1998pub const NID_pilotObject: i32 = 444;
1999pub const LN_pilotPerson: &[u8; 12] = b"pilotPerson\0";
2000pub const NID_pilotPerson: i32 = 445;
2001pub const SN_account: &[u8; 8] = b"account\0";
2002pub const NID_account: i32 = 446;
2003pub const SN_document: &[u8; 9] = b"document\0";
2004pub const NID_document: i32 = 447;
2005pub const SN_room: &[u8; 5] = b"room\0";
2006pub const NID_room: i32 = 448;
2007pub const LN_documentSeries: &[u8; 15] = b"documentSeries\0";
2008pub const NID_documentSeries: i32 = 449;
2009pub const LN_rFC822localPart: &[u8; 16] = b"rFC822localPart\0";
2010pub const NID_rFC822localPart: i32 = 450;
2011pub const LN_dNSDomain: &[u8; 10] = b"dNSDomain\0";
2012pub const NID_dNSDomain: i32 = 451;
2013pub const LN_domainRelatedObject: &[u8; 20] = b"domainRelatedObject\0";
2014pub const NID_domainRelatedObject: i32 = 452;
2015pub const LN_friendlyCountry: &[u8; 16] = b"friendlyCountry\0";
2016pub const NID_friendlyCountry: i32 = 453;
2017pub const LN_simpleSecurityObject: &[u8; 21] = b"simpleSecurityObject\0";
2018pub const NID_simpleSecurityObject: i32 = 454;
2019pub const LN_pilotOrganization: &[u8; 18] = b"pilotOrganization\0";
2020pub const NID_pilotOrganization: i32 = 455;
2021pub const LN_pilotDSA: &[u8; 9] = b"pilotDSA\0";
2022pub const NID_pilotDSA: i32 = 456;
2023pub const LN_qualityLabelledData: &[u8; 20] = b"qualityLabelledData\0";
2024pub const NID_qualityLabelledData: i32 = 457;
2025pub const SN_userId: &[u8; 4] = b"UID\0";
2026pub const LN_userId: &[u8; 7] = b"userId\0";
2027pub const NID_userId: i32 = 458;
2028pub const LN_textEncodedORAddress: &[u8; 21] = b"textEncodedORAddress\0";
2029pub const NID_textEncodedORAddress: i32 = 459;
2030pub const SN_rfc822Mailbox: &[u8; 5] = b"mail\0";
2031pub const LN_rfc822Mailbox: &[u8; 14] = b"rfc822Mailbox\0";
2032pub const NID_rfc822Mailbox: i32 = 460;
2033pub const SN_info: &[u8; 5] = b"info\0";
2034pub const NID_info: i32 = 461;
2035pub const LN_favouriteDrink: &[u8; 15] = b"favouriteDrink\0";
2036pub const NID_favouriteDrink: i32 = 462;
2037pub const LN_roomNumber: &[u8; 11] = b"roomNumber\0";
2038pub const NID_roomNumber: i32 = 463;
2039pub const SN_photo: &[u8; 6] = b"photo\0";
2040pub const NID_photo: i32 = 464;
2041pub const LN_userClass: &[u8; 10] = b"userClass\0";
2042pub const NID_userClass: i32 = 465;
2043pub const SN_host: &[u8; 5] = b"host\0";
2044pub const NID_host: i32 = 466;
2045pub const SN_manager: &[u8; 8] = b"manager\0";
2046pub const NID_manager: i32 = 467;
2047pub const LN_documentIdentifier: &[u8; 19] = b"documentIdentifier\0";
2048pub const NID_documentIdentifier: i32 = 468;
2049pub const LN_documentTitle: &[u8; 14] = b"documentTitle\0";
2050pub const NID_documentTitle: i32 = 469;
2051pub const LN_documentVersion: &[u8; 16] = b"documentVersion\0";
2052pub const NID_documentVersion: i32 = 470;
2053pub const LN_documentAuthor: &[u8; 15] = b"documentAuthor\0";
2054pub const NID_documentAuthor: i32 = 471;
2055pub const LN_documentLocation: &[u8; 17] = b"documentLocation\0";
2056pub const NID_documentLocation: i32 = 472;
2057pub const LN_homeTelephoneNumber: &[u8; 20] = b"homeTelephoneNumber\0";
2058pub const NID_homeTelephoneNumber: i32 = 473;
2059pub const SN_secretary: &[u8; 10] = b"secretary\0";
2060pub const NID_secretary: i32 = 474;
2061pub const LN_otherMailbox: &[u8; 13] = b"otherMailbox\0";
2062pub const NID_otherMailbox: i32 = 475;
2063pub const LN_lastModifiedTime: &[u8; 17] = b"lastModifiedTime\0";
2064pub const NID_lastModifiedTime: i32 = 476;
2065pub const LN_lastModifiedBy: &[u8; 15] = b"lastModifiedBy\0";
2066pub const NID_lastModifiedBy: i32 = 477;
2067pub const LN_aRecord: &[u8; 8] = b"aRecord\0";
2068pub const NID_aRecord: i32 = 478;
2069pub const LN_pilotAttributeType27: &[u8; 21] = b"pilotAttributeType27\0";
2070pub const NID_pilotAttributeType27: i32 = 479;
2071pub const LN_mXRecord: &[u8; 9] = b"mXRecord\0";
2072pub const NID_mXRecord: i32 = 480;
2073pub const LN_nSRecord: &[u8; 9] = b"nSRecord\0";
2074pub const NID_nSRecord: i32 = 481;
2075pub const LN_sOARecord: &[u8; 10] = b"sOARecord\0";
2076pub const NID_sOARecord: i32 = 482;
2077pub const LN_cNAMERecord: &[u8; 12] = b"cNAMERecord\0";
2078pub const NID_cNAMERecord: i32 = 483;
2079pub const LN_associatedDomain: &[u8; 17] = b"associatedDomain\0";
2080pub const NID_associatedDomain: i32 = 484;
2081pub const LN_associatedName: &[u8; 15] = b"associatedName\0";
2082pub const NID_associatedName: i32 = 485;
2083pub const LN_homePostalAddress: &[u8; 18] = b"homePostalAddress\0";
2084pub const NID_homePostalAddress: i32 = 486;
2085pub const LN_personalTitle: &[u8; 14] = b"personalTitle\0";
2086pub const NID_personalTitle: i32 = 487;
2087pub const LN_mobileTelephoneNumber: &[u8; 22] = b"mobileTelephoneNumber\0";
2088pub const NID_mobileTelephoneNumber: i32 = 488;
2089pub const LN_pagerTelephoneNumber: &[u8; 21] = b"pagerTelephoneNumber\0";
2090pub const NID_pagerTelephoneNumber: i32 = 489;
2091pub const LN_friendlyCountryName: &[u8; 20] = b"friendlyCountryName\0";
2092pub const NID_friendlyCountryName: i32 = 490;
2093pub const LN_organizationalStatus: &[u8; 21] = b"organizationalStatus\0";
2094pub const NID_organizationalStatus: i32 = 491;
2095pub const LN_janetMailbox: &[u8; 13] = b"janetMailbox\0";
2096pub const NID_janetMailbox: i32 = 492;
2097pub const LN_mailPreferenceOption: &[u8; 21] = b"mailPreferenceOption\0";
2098pub const NID_mailPreferenceOption: i32 = 493;
2099pub const LN_buildingName: &[u8; 13] = b"buildingName\0";
2100pub const NID_buildingName: i32 = 494;
2101pub const LN_dSAQuality: &[u8; 11] = b"dSAQuality\0";
2102pub const NID_dSAQuality: i32 = 495;
2103pub const LN_singleLevelQuality: &[u8; 19] = b"singleLevelQuality\0";
2104pub const NID_singleLevelQuality: i32 = 496;
2105pub const LN_subtreeMinimumQuality: &[u8; 22] = b"subtreeMinimumQuality\0";
2106pub const NID_subtreeMinimumQuality: i32 = 497;
2107pub const LN_subtreeMaximumQuality: &[u8; 22] = b"subtreeMaximumQuality\0";
2108pub const NID_subtreeMaximumQuality: i32 = 498;
2109pub const LN_personalSignature: &[u8; 18] = b"personalSignature\0";
2110pub const NID_personalSignature: i32 = 499;
2111pub const LN_dITRedirect: &[u8; 12] = b"dITRedirect\0";
2112pub const NID_dITRedirect: i32 = 500;
2113pub const SN_audio: &[u8; 6] = b"audio\0";
2114pub const NID_audio: i32 = 501;
2115pub const LN_documentPublisher: &[u8; 18] = b"documentPublisher\0";
2116pub const NID_documentPublisher: i32 = 502;
2117pub const LN_x500UniqueIdentifier: &[u8; 21] = b"x500UniqueIdentifier\0";
2118pub const NID_x500UniqueIdentifier: i32 = 503;
2119pub const SN_mime_mhs: &[u8; 9] = b"mime-mhs\0";
2120pub const LN_mime_mhs: &[u8; 9] = b"MIME MHS\0";
2121pub const NID_mime_mhs: i32 = 504;
2122pub const SN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2123pub const LN_mime_mhs_headings: &[u8; 18] = b"mime-mhs-headings\0";
2124pub const NID_mime_mhs_headings: i32 = 505;
2125pub const SN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2126pub const LN_mime_mhs_bodies: &[u8; 16] = b"mime-mhs-bodies\0";
2127pub const NID_mime_mhs_bodies: i32 = 506;
2128pub const SN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2129pub const LN_id_hex_partial_message: &[u8; 23] = b"id-hex-partial-message\0";
2130pub const NID_id_hex_partial_message: i32 = 507;
2131pub const SN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2132pub const LN_id_hex_multipart_message: &[u8; 25] = b"id-hex-multipart-message\0";
2133pub const NID_id_hex_multipart_message: i32 = 508;
2134pub const LN_generationQualifier: &[u8; 20] = b"generationQualifier\0";
2135pub const NID_generationQualifier: i32 = 509;
2136pub const LN_pseudonym: &[u8; 10] = b"pseudonym\0";
2137pub const NID_pseudonym: i32 = 510;
2138pub const SN_id_set: &[u8; 7] = b"id-set\0";
2139pub const LN_id_set: &[u8; 31] = b"Secure Electronic Transactions\0";
2140pub const NID_id_set: i32 = 512;
2141pub const SN_set_ctype: &[u8; 10] = b"set-ctype\0";
2142pub const LN_set_ctype: &[u8; 14] = b"content types\0";
2143pub const NID_set_ctype: i32 = 513;
2144pub const SN_set_msgExt: &[u8; 11] = b"set-msgExt\0";
2145pub const LN_set_msgExt: &[u8; 19] = b"message extensions\0";
2146pub const NID_set_msgExt: i32 = 514;
2147pub const SN_set_attr: &[u8; 9] = b"set-attr\0";
2148pub const NID_set_attr: i32 = 515;
2149pub const SN_set_policy: &[u8; 11] = b"set-policy\0";
2150pub const NID_set_policy: i32 = 516;
2151pub const SN_set_certExt: &[u8; 12] = b"set-certExt\0";
2152pub const LN_set_certExt: &[u8; 23] = b"certificate extensions\0";
2153pub const NID_set_certExt: i32 = 517;
2154pub const SN_set_brand: &[u8; 10] = b"set-brand\0";
2155pub const NID_set_brand: i32 = 518;
2156pub const SN_setct_PANData: &[u8; 14] = b"setct-PANData\0";
2157pub const NID_setct_PANData: i32 = 519;
2158pub const SN_setct_PANToken: &[u8; 15] = b"setct-PANToken\0";
2159pub const NID_setct_PANToken: i32 = 520;
2160pub const SN_setct_PANOnly: &[u8; 14] = b"setct-PANOnly\0";
2161pub const NID_setct_PANOnly: i32 = 521;
2162pub const SN_setct_OIData: &[u8; 13] = b"setct-OIData\0";
2163pub const NID_setct_OIData: i32 = 522;
2164pub const SN_setct_PI: &[u8; 9] = b"setct-PI\0";
2165pub const NID_setct_PI: i32 = 523;
2166pub const SN_setct_PIData: &[u8; 13] = b"setct-PIData\0";
2167pub const NID_setct_PIData: i32 = 524;
2168pub const SN_setct_PIDataUnsigned: &[u8; 21] = b"setct-PIDataUnsigned\0";
2169pub const NID_setct_PIDataUnsigned: i32 = 525;
2170pub const SN_setct_HODInput: &[u8; 15] = b"setct-HODInput\0";
2171pub const NID_setct_HODInput: i32 = 526;
2172pub const SN_setct_AuthResBaggage: &[u8; 21] = b"setct-AuthResBaggage\0";
2173pub const NID_setct_AuthResBaggage: i32 = 527;
2174pub const SN_setct_AuthRevReqBaggage: &[u8; 24] = b"setct-AuthRevReqBaggage\0";
2175pub const NID_setct_AuthRevReqBaggage: i32 = 528;
2176pub const SN_setct_AuthRevResBaggage: &[u8; 24] = b"setct-AuthRevResBaggage\0";
2177pub const NID_setct_AuthRevResBaggage: i32 = 529;
2178pub const SN_setct_CapTokenSeq: &[u8; 18] = b"setct-CapTokenSeq\0";
2179pub const NID_setct_CapTokenSeq: i32 = 530;
2180pub const SN_setct_PInitResData: &[u8; 19] = b"setct-PInitResData\0";
2181pub const NID_setct_PInitResData: i32 = 531;
2182pub const SN_setct_PI_TBS: &[u8; 13] = b"setct-PI-TBS\0";
2183pub const NID_setct_PI_TBS: i32 = 532;
2184pub const SN_setct_PResData: &[u8; 15] = b"setct-PResData\0";
2185pub const NID_setct_PResData: i32 = 533;
2186pub const SN_setct_AuthReqTBS: &[u8; 17] = b"setct-AuthReqTBS\0";
2187pub const NID_setct_AuthReqTBS: i32 = 534;
2188pub const SN_setct_AuthResTBS: &[u8; 17] = b"setct-AuthResTBS\0";
2189pub const NID_setct_AuthResTBS: i32 = 535;
2190pub const SN_setct_AuthResTBSX: &[u8; 18] = b"setct-AuthResTBSX\0";
2191pub const NID_setct_AuthResTBSX: i32 = 536;
2192pub const SN_setct_AuthTokenTBS: &[u8; 19] = b"setct-AuthTokenTBS\0";
2193pub const NID_setct_AuthTokenTBS: i32 = 537;
2194pub const SN_setct_CapTokenData: &[u8; 19] = b"setct-CapTokenData\0";
2195pub const NID_setct_CapTokenData: i32 = 538;
2196pub const SN_setct_CapTokenTBS: &[u8; 18] = b"setct-CapTokenTBS\0";
2197pub const NID_setct_CapTokenTBS: i32 = 539;
2198pub const SN_setct_AcqCardCodeMsg: &[u8; 21] = b"setct-AcqCardCodeMsg\0";
2199pub const NID_setct_AcqCardCodeMsg: i32 = 540;
2200pub const SN_setct_AuthRevReqTBS: &[u8; 20] = b"setct-AuthRevReqTBS\0";
2201pub const NID_setct_AuthRevReqTBS: i32 = 541;
2202pub const SN_setct_AuthRevResData: &[u8; 21] = b"setct-AuthRevResData\0";
2203pub const NID_setct_AuthRevResData: i32 = 542;
2204pub const SN_setct_AuthRevResTBS: &[u8; 20] = b"setct-AuthRevResTBS\0";
2205pub const NID_setct_AuthRevResTBS: i32 = 543;
2206pub const SN_setct_CapReqTBS: &[u8; 16] = b"setct-CapReqTBS\0";
2207pub const NID_setct_CapReqTBS: i32 = 544;
2208pub const SN_setct_CapReqTBSX: &[u8; 17] = b"setct-CapReqTBSX\0";
2209pub const NID_setct_CapReqTBSX: i32 = 545;
2210pub const SN_setct_CapResData: &[u8; 17] = b"setct-CapResData\0";
2211pub const NID_setct_CapResData: i32 = 546;
2212pub const SN_setct_CapRevReqTBS: &[u8; 19] = b"setct-CapRevReqTBS\0";
2213pub const NID_setct_CapRevReqTBS: i32 = 547;
2214pub const SN_setct_CapRevReqTBSX: &[u8; 20] = b"setct-CapRevReqTBSX\0";
2215pub const NID_setct_CapRevReqTBSX: i32 = 548;
2216pub const SN_setct_CapRevResData: &[u8; 20] = b"setct-CapRevResData\0";
2217pub const NID_setct_CapRevResData: i32 = 549;
2218pub const SN_setct_CredReqTBS: &[u8; 17] = b"setct-CredReqTBS\0";
2219pub const NID_setct_CredReqTBS: i32 = 550;
2220pub const SN_setct_CredReqTBSX: &[u8; 18] = b"setct-CredReqTBSX\0";
2221pub const NID_setct_CredReqTBSX: i32 = 551;
2222pub const SN_setct_CredResData: &[u8; 18] = b"setct-CredResData\0";
2223pub const NID_setct_CredResData: i32 = 552;
2224pub const SN_setct_CredRevReqTBS: &[u8; 20] = b"setct-CredRevReqTBS\0";
2225pub const NID_setct_CredRevReqTBS: i32 = 553;
2226pub const SN_setct_CredRevReqTBSX: &[u8; 21] = b"setct-CredRevReqTBSX\0";
2227pub const NID_setct_CredRevReqTBSX: i32 = 554;
2228pub const SN_setct_CredRevResData: &[u8; 21] = b"setct-CredRevResData\0";
2229pub const NID_setct_CredRevResData: i32 = 555;
2230pub const SN_setct_PCertReqData: &[u8; 19] = b"setct-PCertReqData\0";
2231pub const NID_setct_PCertReqData: i32 = 556;
2232pub const SN_setct_PCertResTBS: &[u8; 18] = b"setct-PCertResTBS\0";
2233pub const NID_setct_PCertResTBS: i32 = 557;
2234pub const SN_setct_BatchAdminReqData: &[u8; 24] = b"setct-BatchAdminReqData\0";
2235pub const NID_setct_BatchAdminReqData: i32 = 558;
2236pub const SN_setct_BatchAdminResData: &[u8; 24] = b"setct-BatchAdminResData\0";
2237pub const NID_setct_BatchAdminResData: i32 = 559;
2238pub const SN_setct_CardCInitResTBS: &[u8; 22] = b"setct-CardCInitResTBS\0";
2239pub const NID_setct_CardCInitResTBS: i32 = 560;
2240pub const SN_setct_MeAqCInitResTBS: &[u8; 22] = b"setct-MeAqCInitResTBS\0";
2241pub const NID_setct_MeAqCInitResTBS: i32 = 561;
2242pub const SN_setct_RegFormResTBS: &[u8; 20] = b"setct-RegFormResTBS\0";
2243pub const NID_setct_RegFormResTBS: i32 = 562;
2244pub const SN_setct_CertReqData: &[u8; 18] = b"setct-CertReqData\0";
2245pub const NID_setct_CertReqData: i32 = 563;
2246pub const SN_setct_CertReqTBS: &[u8; 17] = b"setct-CertReqTBS\0";
2247pub const NID_setct_CertReqTBS: i32 = 564;
2248pub const SN_setct_CertResData: &[u8; 18] = b"setct-CertResData\0";
2249pub const NID_setct_CertResData: i32 = 565;
2250pub const SN_setct_CertInqReqTBS: &[u8; 20] = b"setct-CertInqReqTBS\0";
2251pub const NID_setct_CertInqReqTBS: i32 = 566;
2252pub const SN_setct_ErrorTBS: &[u8; 15] = b"setct-ErrorTBS\0";
2253pub const NID_setct_ErrorTBS: i32 = 567;
2254pub const SN_setct_PIDualSignedTBE: &[u8; 22] = b"setct-PIDualSignedTBE\0";
2255pub const NID_setct_PIDualSignedTBE: i32 = 568;
2256pub const SN_setct_PIUnsignedTBE: &[u8; 20] = b"setct-PIUnsignedTBE\0";
2257pub const NID_setct_PIUnsignedTBE: i32 = 569;
2258pub const SN_setct_AuthReqTBE: &[u8; 17] = b"setct-AuthReqTBE\0";
2259pub const NID_setct_AuthReqTBE: i32 = 570;
2260pub const SN_setct_AuthResTBE: &[u8; 17] = b"setct-AuthResTBE\0";
2261pub const NID_setct_AuthResTBE: i32 = 571;
2262pub const SN_setct_AuthResTBEX: &[u8; 18] = b"setct-AuthResTBEX\0";
2263pub const NID_setct_AuthResTBEX: i32 = 572;
2264pub const SN_setct_AuthTokenTBE: &[u8; 19] = b"setct-AuthTokenTBE\0";
2265pub const NID_setct_AuthTokenTBE: i32 = 573;
2266pub const SN_setct_CapTokenTBE: &[u8; 18] = b"setct-CapTokenTBE\0";
2267pub const NID_setct_CapTokenTBE: i32 = 574;
2268pub const SN_setct_CapTokenTBEX: &[u8; 19] = b"setct-CapTokenTBEX\0";
2269pub const NID_setct_CapTokenTBEX: i32 = 575;
2270pub const SN_setct_AcqCardCodeMsgTBE: &[u8; 24] = b"setct-AcqCardCodeMsgTBE\0";
2271pub const NID_setct_AcqCardCodeMsgTBE: i32 = 576;
2272pub const SN_setct_AuthRevReqTBE: &[u8; 20] = b"setct-AuthRevReqTBE\0";
2273pub const NID_setct_AuthRevReqTBE: i32 = 577;
2274pub const SN_setct_AuthRevResTBE: &[u8; 20] = b"setct-AuthRevResTBE\0";
2275pub const NID_setct_AuthRevResTBE: i32 = 578;
2276pub const SN_setct_AuthRevResTBEB: &[u8; 21] = b"setct-AuthRevResTBEB\0";
2277pub const NID_setct_AuthRevResTBEB: i32 = 579;
2278pub const SN_setct_CapReqTBE: &[u8; 16] = b"setct-CapReqTBE\0";
2279pub const NID_setct_CapReqTBE: i32 = 580;
2280pub const SN_setct_CapReqTBEX: &[u8; 17] = b"setct-CapReqTBEX\0";
2281pub const NID_setct_CapReqTBEX: i32 = 581;
2282pub const SN_setct_CapResTBE: &[u8; 16] = b"setct-CapResTBE\0";
2283pub const NID_setct_CapResTBE: i32 = 582;
2284pub const SN_setct_CapRevReqTBE: &[u8; 19] = b"setct-CapRevReqTBE\0";
2285pub const NID_setct_CapRevReqTBE: i32 = 583;
2286pub const SN_setct_CapRevReqTBEX: &[u8; 20] = b"setct-CapRevReqTBEX\0";
2287pub const NID_setct_CapRevReqTBEX: i32 = 584;
2288pub const SN_setct_CapRevResTBE: &[u8; 19] = b"setct-CapRevResTBE\0";
2289pub const NID_setct_CapRevResTBE: i32 = 585;
2290pub const SN_setct_CredReqTBE: &[u8; 17] = b"setct-CredReqTBE\0";
2291pub const NID_setct_CredReqTBE: i32 = 586;
2292pub const SN_setct_CredReqTBEX: &[u8; 18] = b"setct-CredReqTBEX\0";
2293pub const NID_setct_CredReqTBEX: i32 = 587;
2294pub const SN_setct_CredResTBE: &[u8; 17] = b"setct-CredResTBE\0";
2295pub const NID_setct_CredResTBE: i32 = 588;
2296pub const SN_setct_CredRevReqTBE: &[u8; 20] = b"setct-CredRevReqTBE\0";
2297pub const NID_setct_CredRevReqTBE: i32 = 589;
2298pub const SN_setct_CredRevReqTBEX: &[u8; 21] = b"setct-CredRevReqTBEX\0";
2299pub const NID_setct_CredRevReqTBEX: i32 = 590;
2300pub const SN_setct_CredRevResTBE: &[u8; 20] = b"setct-CredRevResTBE\0";
2301pub const NID_setct_CredRevResTBE: i32 = 591;
2302pub const SN_setct_BatchAdminReqTBE: &[u8; 23] = b"setct-BatchAdminReqTBE\0";
2303pub const NID_setct_BatchAdminReqTBE: i32 = 592;
2304pub const SN_setct_BatchAdminResTBE: &[u8; 23] = b"setct-BatchAdminResTBE\0";
2305pub const NID_setct_BatchAdminResTBE: i32 = 593;
2306pub const SN_setct_RegFormReqTBE: &[u8; 20] = b"setct-RegFormReqTBE\0";
2307pub const NID_setct_RegFormReqTBE: i32 = 594;
2308pub const SN_setct_CertReqTBE: &[u8; 17] = b"setct-CertReqTBE\0";
2309pub const NID_setct_CertReqTBE: i32 = 595;
2310pub const SN_setct_CertReqTBEX: &[u8; 18] = b"setct-CertReqTBEX\0";
2311pub const NID_setct_CertReqTBEX: i32 = 596;
2312pub const SN_setct_CertResTBE: &[u8; 17] = b"setct-CertResTBE\0";
2313pub const NID_setct_CertResTBE: i32 = 597;
2314pub const SN_setct_CRLNotificationTBS: &[u8; 25] = b"setct-CRLNotificationTBS\0";
2315pub const NID_setct_CRLNotificationTBS: i32 = 598;
2316pub const SN_setct_CRLNotificationResTBS: &[u8; 28] = b"setct-CRLNotificationResTBS\0";
2317pub const NID_setct_CRLNotificationResTBS: i32 = 599;
2318pub const SN_setct_BCIDistributionTBS: &[u8; 25] = b"setct-BCIDistributionTBS\0";
2319pub const NID_setct_BCIDistributionTBS: i32 = 600;
2320pub const SN_setext_genCrypt: &[u8; 16] = b"setext-genCrypt\0";
2321pub const LN_setext_genCrypt: &[u8; 19] = b"generic cryptogram\0";
2322pub const NID_setext_genCrypt: i32 = 601;
2323pub const SN_setext_miAuth: &[u8; 14] = b"setext-miAuth\0";
2324pub const LN_setext_miAuth: &[u8; 24] = b"merchant initiated auth\0";
2325pub const NID_setext_miAuth: i32 = 602;
2326pub const SN_setext_pinSecure: &[u8; 17] = b"setext-pinSecure\0";
2327pub const NID_setext_pinSecure: i32 = 603;
2328pub const SN_setext_pinAny: &[u8; 14] = b"setext-pinAny\0";
2329pub const NID_setext_pinAny: i32 = 604;
2330pub const SN_setext_track2: &[u8; 14] = b"setext-track2\0";
2331pub const NID_setext_track2: i32 = 605;
2332pub const SN_setext_cv: &[u8; 10] = b"setext-cv\0";
2333pub const LN_setext_cv: &[u8; 24] = b"additional verification\0";
2334pub const NID_setext_cv: i32 = 606;
2335pub const SN_set_policy_root: &[u8; 16] = b"set-policy-root\0";
2336pub const NID_set_policy_root: i32 = 607;
2337pub const SN_setCext_hashedRoot: &[u8; 19] = b"setCext-hashedRoot\0";
2338pub const NID_setCext_hashedRoot: i32 = 608;
2339pub const SN_setCext_certType: &[u8; 17] = b"setCext-certType\0";
2340pub const NID_setCext_certType: i32 = 609;
2341pub const SN_setCext_merchData: &[u8; 18] = b"setCext-merchData\0";
2342pub const NID_setCext_merchData: i32 = 610;
2343pub const SN_setCext_cCertRequired: &[u8; 22] = b"setCext-cCertRequired\0";
2344pub const NID_setCext_cCertRequired: i32 = 611;
2345pub const SN_setCext_tunneling: &[u8; 18] = b"setCext-tunneling\0";
2346pub const NID_setCext_tunneling: i32 = 612;
2347pub const SN_setCext_setExt: &[u8; 15] = b"setCext-setExt\0";
2348pub const NID_setCext_setExt: i32 = 613;
2349pub const SN_setCext_setQualf: &[u8; 17] = b"setCext-setQualf\0";
2350pub const NID_setCext_setQualf: i32 = 614;
2351pub const SN_setCext_PGWYcapabilities: &[u8; 25] = b"setCext-PGWYcapabilities\0";
2352pub const NID_setCext_PGWYcapabilities: i32 = 615;
2353pub const SN_setCext_TokenIdentifier: &[u8; 24] = b"setCext-TokenIdentifier\0";
2354pub const NID_setCext_TokenIdentifier: i32 = 616;
2355pub const SN_setCext_Track2Data: &[u8; 19] = b"setCext-Track2Data\0";
2356pub const NID_setCext_Track2Data: i32 = 617;
2357pub const SN_setCext_TokenType: &[u8; 18] = b"setCext-TokenType\0";
2358pub const NID_setCext_TokenType: i32 = 618;
2359pub const SN_setCext_IssuerCapabilities: &[u8; 27] = b"setCext-IssuerCapabilities\0";
2360pub const NID_setCext_IssuerCapabilities: i32 = 619;
2361pub const SN_setAttr_Cert: &[u8; 13] = b"setAttr-Cert\0";
2362pub const NID_setAttr_Cert: i32 = 620;
2363pub const SN_setAttr_PGWYcap: &[u8; 16] = b"setAttr-PGWYcap\0";
2364pub const LN_setAttr_PGWYcap: &[u8; 29] = b"payment gateway capabilities\0";
2365pub const NID_setAttr_PGWYcap: i32 = 621;
2366pub const SN_setAttr_TokenType: &[u8; 18] = b"setAttr-TokenType\0";
2367pub const NID_setAttr_TokenType: i32 = 622;
2368pub const SN_setAttr_IssCap: &[u8; 15] = b"setAttr-IssCap\0";
2369pub const LN_setAttr_IssCap: &[u8; 20] = b"issuer capabilities\0";
2370pub const NID_setAttr_IssCap: i32 = 623;
2371pub const SN_set_rootKeyThumb: &[u8; 17] = b"set-rootKeyThumb\0";
2372pub const NID_set_rootKeyThumb: i32 = 624;
2373pub const SN_set_addPolicy: &[u8; 14] = b"set-addPolicy\0";
2374pub const NID_set_addPolicy: i32 = 625;
2375pub const SN_setAttr_Token_EMV: &[u8; 18] = b"setAttr-Token-EMV\0";
2376pub const NID_setAttr_Token_EMV: i32 = 626;
2377pub const SN_setAttr_Token_B0Prime: &[u8; 22] = b"setAttr-Token-B0Prime\0";
2378pub const NID_setAttr_Token_B0Prime: i32 = 627;
2379pub const SN_setAttr_IssCap_CVM: &[u8; 19] = b"setAttr-IssCap-CVM\0";
2380pub const NID_setAttr_IssCap_CVM: i32 = 628;
2381pub const SN_setAttr_IssCap_T2: &[u8; 18] = b"setAttr-IssCap-T2\0";
2382pub const NID_setAttr_IssCap_T2: i32 = 629;
2383pub const SN_setAttr_IssCap_Sig: &[u8; 19] = b"setAttr-IssCap-Sig\0";
2384pub const NID_setAttr_IssCap_Sig: i32 = 630;
2385pub const SN_setAttr_GenCryptgrm: &[u8; 20] = b"setAttr-GenCryptgrm\0";
2386pub const LN_setAttr_GenCryptgrm: &[u8; 20] = b"generate cryptogram\0";
2387pub const NID_setAttr_GenCryptgrm: i32 = 631;
2388pub const SN_setAttr_T2Enc: &[u8; 14] = b"setAttr-T2Enc\0";
2389pub const LN_setAttr_T2Enc: &[u8; 18] = b"encrypted track 2\0";
2390pub const NID_setAttr_T2Enc: i32 = 632;
2391pub const SN_setAttr_T2cleartxt: &[u8; 19] = b"setAttr-T2cleartxt\0";
2392pub const LN_setAttr_T2cleartxt: &[u8; 18] = b"cleartext track 2\0";
2393pub const NID_setAttr_T2cleartxt: i32 = 633;
2394pub const SN_setAttr_TokICCsig: &[u8; 18] = b"setAttr-TokICCsig\0";
2395pub const LN_setAttr_TokICCsig: &[u8; 23] = b"ICC or token signature\0";
2396pub const NID_setAttr_TokICCsig: i32 = 634;
2397pub const SN_setAttr_SecDevSig: &[u8; 18] = b"setAttr-SecDevSig\0";
2398pub const LN_setAttr_SecDevSig: &[u8; 24] = b"secure device signature\0";
2399pub const NID_setAttr_SecDevSig: i32 = 635;
2400pub const SN_set_brand_IATA_ATA: &[u8; 19] = b"set-brand-IATA-ATA\0";
2401pub const NID_set_brand_IATA_ATA: i32 = 636;
2402pub const SN_set_brand_Diners: &[u8; 17] = b"set-brand-Diners\0";
2403pub const NID_set_brand_Diners: i32 = 637;
2404pub const SN_set_brand_AmericanExpress: &[u8; 26] = b"set-brand-AmericanExpress\0";
2405pub const NID_set_brand_AmericanExpress: i32 = 638;
2406pub const SN_set_brand_JCB: &[u8; 14] = b"set-brand-JCB\0";
2407pub const NID_set_brand_JCB: i32 = 639;
2408pub const SN_set_brand_Visa: &[u8; 15] = b"set-brand-Visa\0";
2409pub const NID_set_brand_Visa: i32 = 640;
2410pub const SN_set_brand_MasterCard: &[u8; 21] = b"set-brand-MasterCard\0";
2411pub const NID_set_brand_MasterCard: i32 = 641;
2412pub const SN_set_brand_Novus: &[u8; 16] = b"set-brand-Novus\0";
2413pub const NID_set_brand_Novus: i32 = 642;
2414pub const SN_des_cdmf: &[u8; 9] = b"DES-CDMF\0";
2415pub const LN_des_cdmf: &[u8; 9] = b"des-cdmf\0";
2416pub const NID_des_cdmf: i32 = 643;
2417pub const SN_rsaOAEPEncryptionSET: &[u8; 21] = b"rsaOAEPEncryptionSET\0";
2418pub const NID_rsaOAEPEncryptionSET: i32 = 644;
2419pub const SN_itu_t: &[u8; 6] = b"ITU-T\0";
2420pub const LN_itu_t: &[u8; 6] = b"itu-t\0";
2421pub const NID_itu_t: i32 = 645;
2422pub const OBJ_itu_t: i32 = 0;
2423pub const SN_joint_iso_itu_t: &[u8; 16] = b"JOINT-ISO-ITU-T\0";
2424pub const LN_joint_iso_itu_t: &[u8; 16] = b"joint-iso-itu-t\0";
2425pub const NID_joint_iso_itu_t: i32 = 646;
2426pub const OBJ_joint_iso_itu_t: i32 = 2;
2427pub const SN_international_organizations: &[u8; 28] = b"international-organizations\0";
2428pub const LN_international_organizations: &[u8; 28] = b"International Organizations\0";
2429pub const NID_international_organizations: i32 = 647;
2430pub const SN_ms_smartcard_login: &[u8; 17] = b"msSmartcardLogin\0";
2431pub const LN_ms_smartcard_login: &[u8; 25] = b"Microsoft Smartcardlogin\0";
2432pub const NID_ms_smartcard_login: i32 = 648;
2433pub const SN_ms_upn: &[u8; 6] = b"msUPN\0";
2434pub const LN_ms_upn: &[u8; 35] = b"Microsoft Universal Principal Name\0";
2435pub const NID_ms_upn: i32 = 649;
2436pub const SN_aes_128_cfb1: &[u8; 13] = b"AES-128-CFB1\0";
2437pub const LN_aes_128_cfb1: &[u8; 13] = b"aes-128-cfb1\0";
2438pub const NID_aes_128_cfb1: i32 = 650;
2439pub const SN_aes_192_cfb1: &[u8; 13] = b"AES-192-CFB1\0";
2440pub const LN_aes_192_cfb1: &[u8; 13] = b"aes-192-cfb1\0";
2441pub const NID_aes_192_cfb1: i32 = 651;
2442pub const SN_aes_256_cfb1: &[u8; 13] = b"AES-256-CFB1\0";
2443pub const LN_aes_256_cfb1: &[u8; 13] = b"aes-256-cfb1\0";
2444pub const NID_aes_256_cfb1: i32 = 652;
2445pub const SN_aes_128_cfb8: &[u8; 13] = b"AES-128-CFB8\0";
2446pub const LN_aes_128_cfb8: &[u8; 13] = b"aes-128-cfb8\0";
2447pub const NID_aes_128_cfb8: i32 = 653;
2448pub const SN_aes_192_cfb8: &[u8; 13] = b"AES-192-CFB8\0";
2449pub const LN_aes_192_cfb8: &[u8; 13] = b"aes-192-cfb8\0";
2450pub const NID_aes_192_cfb8: i32 = 654;
2451pub const SN_aes_256_cfb8: &[u8; 13] = b"AES-256-CFB8\0";
2452pub const LN_aes_256_cfb8: &[u8; 13] = b"aes-256-cfb8\0";
2453pub const NID_aes_256_cfb8: i32 = 655;
2454pub const SN_des_cfb1: &[u8; 9] = b"DES-CFB1\0";
2455pub const LN_des_cfb1: &[u8; 9] = b"des-cfb1\0";
2456pub const NID_des_cfb1: i32 = 656;
2457pub const SN_des_cfb8: &[u8; 9] = b"DES-CFB8\0";
2458pub const LN_des_cfb8: &[u8; 9] = b"des-cfb8\0";
2459pub const NID_des_cfb8: i32 = 657;
2460pub const SN_des_ede3_cfb1: &[u8; 14] = b"DES-EDE3-CFB1\0";
2461pub const LN_des_ede3_cfb1: &[u8; 14] = b"des-ede3-cfb1\0";
2462pub const NID_des_ede3_cfb1: i32 = 658;
2463pub const SN_des_ede3_cfb8: &[u8; 14] = b"DES-EDE3-CFB8\0";
2464pub const LN_des_ede3_cfb8: &[u8; 14] = b"des-ede3-cfb8\0";
2465pub const NID_des_ede3_cfb8: i32 = 659;
2466pub const SN_streetAddress: &[u8; 7] = b"street\0";
2467pub const LN_streetAddress: &[u8; 14] = b"streetAddress\0";
2468pub const NID_streetAddress: i32 = 660;
2469pub const LN_postalCode: &[u8; 11] = b"postalCode\0";
2470pub const NID_postalCode: i32 = 661;
2471pub const SN_id_ppl: &[u8; 7] = b"id-ppl\0";
2472pub const NID_id_ppl: i32 = 662;
2473pub const SN_proxyCertInfo: &[u8; 14] = b"proxyCertInfo\0";
2474pub const LN_proxyCertInfo: &[u8; 30] = b"Proxy Certificate Information\0";
2475pub const NID_proxyCertInfo: i32 = 663;
2476pub const SN_id_ppl_anyLanguage: &[u8; 19] = b"id-ppl-anyLanguage\0";
2477pub const LN_id_ppl_anyLanguage: &[u8; 13] = b"Any language\0";
2478pub const NID_id_ppl_anyLanguage: i32 = 664;
2479pub const SN_id_ppl_inheritAll: &[u8; 18] = b"id-ppl-inheritAll\0";
2480pub const LN_id_ppl_inheritAll: &[u8; 12] = b"Inherit all\0";
2481pub const NID_id_ppl_inheritAll: i32 = 665;
2482pub const SN_name_constraints: &[u8; 16] = b"nameConstraints\0";
2483pub const LN_name_constraints: &[u8; 24] = b"X509v3 Name Constraints\0";
2484pub const NID_name_constraints: i32 = 666;
2485pub const SN_Independent: &[u8; 19] = b"id-ppl-independent\0";
2486pub const LN_Independent: &[u8; 12] = b"Independent\0";
2487pub const NID_Independent: i32 = 667;
2488pub const SN_sha256WithRSAEncryption: &[u8; 11] = b"RSA-SHA256\0";
2489pub const LN_sha256WithRSAEncryption: &[u8; 24] = b"sha256WithRSAEncryption\0";
2490pub const NID_sha256WithRSAEncryption: i32 = 668;
2491pub const SN_sha384WithRSAEncryption: &[u8; 11] = b"RSA-SHA384\0";
2492pub const LN_sha384WithRSAEncryption: &[u8; 24] = b"sha384WithRSAEncryption\0";
2493pub const NID_sha384WithRSAEncryption: i32 = 669;
2494pub const SN_sha512WithRSAEncryption: &[u8; 11] = b"RSA-SHA512\0";
2495pub const LN_sha512WithRSAEncryption: &[u8; 24] = b"sha512WithRSAEncryption\0";
2496pub const NID_sha512WithRSAEncryption: i32 = 670;
2497pub const SN_sha224WithRSAEncryption: &[u8; 11] = b"RSA-SHA224\0";
2498pub const LN_sha224WithRSAEncryption: &[u8; 24] = b"sha224WithRSAEncryption\0";
2499pub const NID_sha224WithRSAEncryption: i32 = 671;
2500pub const SN_sha256: &[u8; 7] = b"SHA256\0";
2501pub const LN_sha256: &[u8; 7] = b"sha256\0";
2502pub const NID_sha256: i32 = 672;
2503pub const SN_sha384: &[u8; 7] = b"SHA384\0";
2504pub const LN_sha384: &[u8; 7] = b"sha384\0";
2505pub const NID_sha384: i32 = 673;
2506pub const SN_sha512: &[u8; 7] = b"SHA512\0";
2507pub const LN_sha512: &[u8; 7] = b"sha512\0";
2508pub const NID_sha512: i32 = 674;
2509pub const SN_sha224: &[u8; 7] = b"SHA224\0";
2510pub const LN_sha224: &[u8; 7] = b"sha224\0";
2511pub const NID_sha224: i32 = 675;
2512pub const SN_identified_organization: &[u8; 24] = b"identified-organization\0";
2513pub const NID_identified_organization: i32 = 676;
2514pub const SN_certicom_arc: &[u8; 13] = b"certicom-arc\0";
2515pub const NID_certicom_arc: i32 = 677;
2516pub const SN_wap: &[u8; 4] = b"wap\0";
2517pub const NID_wap: i32 = 678;
2518pub const SN_wap_wsg: &[u8; 8] = b"wap-wsg\0";
2519pub const NID_wap_wsg: i32 = 679;
2520pub const SN_X9_62_id_characteristic_two_basis: &[u8; 28] = b"id-characteristic-two-basis\0";
2521pub const NID_X9_62_id_characteristic_two_basis: i32 = 680;
2522pub const SN_X9_62_onBasis: &[u8; 8] = b"onBasis\0";
2523pub const NID_X9_62_onBasis: i32 = 681;
2524pub const SN_X9_62_tpBasis: &[u8; 8] = b"tpBasis\0";
2525pub const NID_X9_62_tpBasis: i32 = 682;
2526pub const SN_X9_62_ppBasis: &[u8; 8] = b"ppBasis\0";
2527pub const NID_X9_62_ppBasis: i32 = 683;
2528pub const SN_X9_62_c2pnb163v1: &[u8; 11] = b"c2pnb163v1\0";
2529pub const NID_X9_62_c2pnb163v1: i32 = 684;
2530pub const SN_X9_62_c2pnb163v2: &[u8; 11] = b"c2pnb163v2\0";
2531pub const NID_X9_62_c2pnb163v2: i32 = 685;
2532pub const SN_X9_62_c2pnb163v3: &[u8; 11] = b"c2pnb163v3\0";
2533pub const NID_X9_62_c2pnb163v3: i32 = 686;
2534pub const SN_X9_62_c2pnb176v1: &[u8; 11] = b"c2pnb176v1\0";
2535pub const NID_X9_62_c2pnb176v1: i32 = 687;
2536pub const SN_X9_62_c2tnb191v1: &[u8; 11] = b"c2tnb191v1\0";
2537pub const NID_X9_62_c2tnb191v1: i32 = 688;
2538pub const SN_X9_62_c2tnb191v2: &[u8; 11] = b"c2tnb191v2\0";
2539pub const NID_X9_62_c2tnb191v2: i32 = 689;
2540pub const SN_X9_62_c2tnb191v3: &[u8; 11] = b"c2tnb191v3\0";
2541pub const NID_X9_62_c2tnb191v3: i32 = 690;
2542pub const SN_X9_62_c2onb191v4: &[u8; 11] = b"c2onb191v4\0";
2543pub const NID_X9_62_c2onb191v4: i32 = 691;
2544pub const SN_X9_62_c2onb191v5: &[u8; 11] = b"c2onb191v5\0";
2545pub const NID_X9_62_c2onb191v5: i32 = 692;
2546pub const SN_X9_62_c2pnb208w1: &[u8; 11] = b"c2pnb208w1\0";
2547pub const NID_X9_62_c2pnb208w1: i32 = 693;
2548pub const SN_X9_62_c2tnb239v1: &[u8; 11] = b"c2tnb239v1\0";
2549pub const NID_X9_62_c2tnb239v1: i32 = 694;
2550pub const SN_X9_62_c2tnb239v2: &[u8; 11] = b"c2tnb239v2\0";
2551pub const NID_X9_62_c2tnb239v2: i32 = 695;
2552pub const SN_X9_62_c2tnb239v3: &[u8; 11] = b"c2tnb239v3\0";
2553pub const NID_X9_62_c2tnb239v3: i32 = 696;
2554pub const SN_X9_62_c2onb239v4: &[u8; 11] = b"c2onb239v4\0";
2555pub const NID_X9_62_c2onb239v4: i32 = 697;
2556pub const SN_X9_62_c2onb239v5: &[u8; 11] = b"c2onb239v5\0";
2557pub const NID_X9_62_c2onb239v5: i32 = 698;
2558pub const SN_X9_62_c2pnb272w1: &[u8; 11] = b"c2pnb272w1\0";
2559pub const NID_X9_62_c2pnb272w1: i32 = 699;
2560pub const SN_X9_62_c2pnb304w1: &[u8; 11] = b"c2pnb304w1\0";
2561pub const NID_X9_62_c2pnb304w1: i32 = 700;
2562pub const SN_X9_62_c2tnb359v1: &[u8; 11] = b"c2tnb359v1\0";
2563pub const NID_X9_62_c2tnb359v1: i32 = 701;
2564pub const SN_X9_62_c2pnb368w1: &[u8; 11] = b"c2pnb368w1\0";
2565pub const NID_X9_62_c2pnb368w1: i32 = 702;
2566pub const SN_X9_62_c2tnb431r1: &[u8; 11] = b"c2tnb431r1\0";
2567pub const NID_X9_62_c2tnb431r1: i32 = 703;
2568pub const SN_secp112r1: &[u8; 10] = b"secp112r1\0";
2569pub const NID_secp112r1: i32 = 704;
2570pub const SN_secp112r2: &[u8; 10] = b"secp112r2\0";
2571pub const NID_secp112r2: i32 = 705;
2572pub const SN_secp128r1: &[u8; 10] = b"secp128r1\0";
2573pub const NID_secp128r1: i32 = 706;
2574pub const SN_secp128r2: &[u8; 10] = b"secp128r2\0";
2575pub const NID_secp128r2: i32 = 707;
2576pub const SN_secp160k1: &[u8; 10] = b"secp160k1\0";
2577pub const NID_secp160k1: i32 = 708;
2578pub const SN_secp160r1: &[u8; 10] = b"secp160r1\0";
2579pub const NID_secp160r1: i32 = 709;
2580pub const SN_secp160r2: &[u8; 10] = b"secp160r2\0";
2581pub const NID_secp160r2: i32 = 710;
2582pub const SN_secp192k1: &[u8; 10] = b"secp192k1\0";
2583pub const NID_secp192k1: i32 = 711;
2584pub const SN_secp224k1: &[u8; 10] = b"secp224k1\0";
2585pub const NID_secp224k1: i32 = 712;
2586pub const SN_secp224r1: &[u8; 10] = b"secp224r1\0";
2587pub const NID_secp224r1: i32 = 713;
2588pub const SN_secp256k1: &[u8; 10] = b"secp256k1\0";
2589pub const NID_secp256k1: i32 = 714;
2590pub const SN_secp384r1: &[u8; 10] = b"secp384r1\0";
2591pub const NID_secp384r1: i32 = 715;
2592pub const SN_secp521r1: &[u8; 10] = b"secp521r1\0";
2593pub const NID_secp521r1: i32 = 716;
2594pub const SN_sect113r1: &[u8; 10] = b"sect113r1\0";
2595pub const NID_sect113r1: i32 = 717;
2596pub const SN_sect113r2: &[u8; 10] = b"sect113r2\0";
2597pub const NID_sect113r2: i32 = 718;
2598pub const SN_sect131r1: &[u8; 10] = b"sect131r1\0";
2599pub const NID_sect131r1: i32 = 719;
2600pub const SN_sect131r2: &[u8; 10] = b"sect131r2\0";
2601pub const NID_sect131r2: i32 = 720;
2602pub const SN_sect163k1: &[u8; 10] = b"sect163k1\0";
2603pub const NID_sect163k1: i32 = 721;
2604pub const SN_sect163r1: &[u8; 10] = b"sect163r1\0";
2605pub const NID_sect163r1: i32 = 722;
2606pub const SN_sect163r2: &[u8; 10] = b"sect163r2\0";
2607pub const NID_sect163r2: i32 = 723;
2608pub const SN_sect193r1: &[u8; 10] = b"sect193r1\0";
2609pub const NID_sect193r1: i32 = 724;
2610pub const SN_sect193r2: &[u8; 10] = b"sect193r2\0";
2611pub const NID_sect193r2: i32 = 725;
2612pub const SN_sect233k1: &[u8; 10] = b"sect233k1\0";
2613pub const NID_sect233k1: i32 = 726;
2614pub const SN_sect233r1: &[u8; 10] = b"sect233r1\0";
2615pub const NID_sect233r1: i32 = 727;
2616pub const SN_sect239k1: &[u8; 10] = b"sect239k1\0";
2617pub const NID_sect239k1: i32 = 728;
2618pub const SN_sect283k1: &[u8; 10] = b"sect283k1\0";
2619pub const NID_sect283k1: i32 = 729;
2620pub const SN_sect283r1: &[u8; 10] = b"sect283r1\0";
2621pub const NID_sect283r1: i32 = 730;
2622pub const SN_sect409k1: &[u8; 10] = b"sect409k1\0";
2623pub const NID_sect409k1: i32 = 731;
2624pub const SN_sect409r1: &[u8; 10] = b"sect409r1\0";
2625pub const NID_sect409r1: i32 = 732;
2626pub const SN_sect571k1: &[u8; 10] = b"sect571k1\0";
2627pub const NID_sect571k1: i32 = 733;
2628pub const SN_sect571r1: &[u8; 10] = b"sect571r1\0";
2629pub const NID_sect571r1: i32 = 734;
2630pub const SN_wap_wsg_idm_ecid_wtls1: &[u8; 23] = b"wap-wsg-idm-ecid-wtls1\0";
2631pub const NID_wap_wsg_idm_ecid_wtls1: i32 = 735;
2632pub const SN_wap_wsg_idm_ecid_wtls3: &[u8; 23] = b"wap-wsg-idm-ecid-wtls3\0";
2633pub const NID_wap_wsg_idm_ecid_wtls3: i32 = 736;
2634pub const SN_wap_wsg_idm_ecid_wtls4: &[u8; 23] = b"wap-wsg-idm-ecid-wtls4\0";
2635pub const NID_wap_wsg_idm_ecid_wtls4: i32 = 737;
2636pub const SN_wap_wsg_idm_ecid_wtls5: &[u8; 23] = b"wap-wsg-idm-ecid-wtls5\0";
2637pub const NID_wap_wsg_idm_ecid_wtls5: i32 = 738;
2638pub const SN_wap_wsg_idm_ecid_wtls6: &[u8; 23] = b"wap-wsg-idm-ecid-wtls6\0";
2639pub const NID_wap_wsg_idm_ecid_wtls6: i32 = 739;
2640pub const SN_wap_wsg_idm_ecid_wtls7: &[u8; 23] = b"wap-wsg-idm-ecid-wtls7\0";
2641pub const NID_wap_wsg_idm_ecid_wtls7: i32 = 740;
2642pub const SN_wap_wsg_idm_ecid_wtls8: &[u8; 23] = b"wap-wsg-idm-ecid-wtls8\0";
2643pub const NID_wap_wsg_idm_ecid_wtls8: i32 = 741;
2644pub const SN_wap_wsg_idm_ecid_wtls9: &[u8; 23] = b"wap-wsg-idm-ecid-wtls9\0";
2645pub const NID_wap_wsg_idm_ecid_wtls9: i32 = 742;
2646pub const SN_wap_wsg_idm_ecid_wtls10: &[u8; 24] = b"wap-wsg-idm-ecid-wtls10\0";
2647pub const NID_wap_wsg_idm_ecid_wtls10: i32 = 743;
2648pub const SN_wap_wsg_idm_ecid_wtls11: &[u8; 24] = b"wap-wsg-idm-ecid-wtls11\0";
2649pub const NID_wap_wsg_idm_ecid_wtls11: i32 = 744;
2650pub const SN_wap_wsg_idm_ecid_wtls12: &[u8; 24] = b"wap-wsg-idm-ecid-wtls12\0";
2651pub const NID_wap_wsg_idm_ecid_wtls12: i32 = 745;
2652pub const SN_any_policy: &[u8; 10] = b"anyPolicy\0";
2653pub const LN_any_policy: &[u8; 18] = b"X509v3 Any Policy\0";
2654pub const NID_any_policy: i32 = 746;
2655pub const SN_policy_mappings: &[u8; 15] = b"policyMappings\0";
2656pub const LN_policy_mappings: &[u8; 23] = b"X509v3 Policy Mappings\0";
2657pub const NID_policy_mappings: i32 = 747;
2658pub const SN_inhibit_any_policy: &[u8; 17] = b"inhibitAnyPolicy\0";
2659pub const LN_inhibit_any_policy: &[u8; 26] = b"X509v3 Inhibit Any Policy\0";
2660pub const NID_inhibit_any_policy: i32 = 748;
2661pub const SN_ipsec3: &[u8; 14] = b"Oakley-EC2N-3\0";
2662pub const LN_ipsec3: &[u8; 7] = b"ipsec3\0";
2663pub const NID_ipsec3: i32 = 749;
2664pub const SN_ipsec4: &[u8; 14] = b"Oakley-EC2N-4\0";
2665pub const LN_ipsec4: &[u8; 7] = b"ipsec4\0";
2666pub const NID_ipsec4: i32 = 750;
2667pub const SN_camellia_128_cbc: &[u8; 17] = b"CAMELLIA-128-CBC\0";
2668pub const LN_camellia_128_cbc: &[u8; 17] = b"camellia-128-cbc\0";
2669pub const NID_camellia_128_cbc: i32 = 751;
2670pub const SN_camellia_192_cbc: &[u8; 17] = b"CAMELLIA-192-CBC\0";
2671pub const LN_camellia_192_cbc: &[u8; 17] = b"camellia-192-cbc\0";
2672pub const NID_camellia_192_cbc: i32 = 752;
2673pub const SN_camellia_256_cbc: &[u8; 17] = b"CAMELLIA-256-CBC\0";
2674pub const LN_camellia_256_cbc: &[u8; 17] = b"camellia-256-cbc\0";
2675pub const NID_camellia_256_cbc: i32 = 753;
2676pub const SN_camellia_128_ecb: &[u8; 17] = b"CAMELLIA-128-ECB\0";
2677pub const LN_camellia_128_ecb: &[u8; 17] = b"camellia-128-ecb\0";
2678pub const NID_camellia_128_ecb: i32 = 754;
2679pub const SN_camellia_192_ecb: &[u8; 17] = b"CAMELLIA-192-ECB\0";
2680pub const LN_camellia_192_ecb: &[u8; 17] = b"camellia-192-ecb\0";
2681pub const NID_camellia_192_ecb: i32 = 755;
2682pub const SN_camellia_256_ecb: &[u8; 17] = b"CAMELLIA-256-ECB\0";
2683pub const LN_camellia_256_ecb: &[u8; 17] = b"camellia-256-ecb\0";
2684pub const NID_camellia_256_ecb: i32 = 756;
2685pub const SN_camellia_128_cfb128: &[u8; 17] = b"CAMELLIA-128-CFB\0";
2686pub const LN_camellia_128_cfb128: &[u8; 17] = b"camellia-128-cfb\0";
2687pub const NID_camellia_128_cfb128: i32 = 757;
2688pub const SN_camellia_192_cfb128: &[u8; 17] = b"CAMELLIA-192-CFB\0";
2689pub const LN_camellia_192_cfb128: &[u8; 17] = b"camellia-192-cfb\0";
2690pub const NID_camellia_192_cfb128: i32 = 758;
2691pub const SN_camellia_256_cfb128: &[u8; 17] = b"CAMELLIA-256-CFB\0";
2692pub const LN_camellia_256_cfb128: &[u8; 17] = b"camellia-256-cfb\0";
2693pub const NID_camellia_256_cfb128: i32 = 759;
2694pub const SN_camellia_128_cfb1: &[u8; 18] = b"CAMELLIA-128-CFB1\0";
2695pub const LN_camellia_128_cfb1: &[u8; 18] = b"camellia-128-cfb1\0";
2696pub const NID_camellia_128_cfb1: i32 = 760;
2697pub const SN_camellia_192_cfb1: &[u8; 18] = b"CAMELLIA-192-CFB1\0";
2698pub const LN_camellia_192_cfb1: &[u8; 18] = b"camellia-192-cfb1\0";
2699pub const NID_camellia_192_cfb1: i32 = 761;
2700pub const SN_camellia_256_cfb1: &[u8; 18] = b"CAMELLIA-256-CFB1\0";
2701pub const LN_camellia_256_cfb1: &[u8; 18] = b"camellia-256-cfb1\0";
2702pub const NID_camellia_256_cfb1: i32 = 762;
2703pub const SN_camellia_128_cfb8: &[u8; 18] = b"CAMELLIA-128-CFB8\0";
2704pub const LN_camellia_128_cfb8: &[u8; 18] = b"camellia-128-cfb8\0";
2705pub const NID_camellia_128_cfb8: i32 = 763;
2706pub const SN_camellia_192_cfb8: &[u8; 18] = b"CAMELLIA-192-CFB8\0";
2707pub const LN_camellia_192_cfb8: &[u8; 18] = b"camellia-192-cfb8\0";
2708pub const NID_camellia_192_cfb8: i32 = 764;
2709pub const SN_camellia_256_cfb8: &[u8; 18] = b"CAMELLIA-256-CFB8\0";
2710pub const LN_camellia_256_cfb8: &[u8; 18] = b"camellia-256-cfb8\0";
2711pub const NID_camellia_256_cfb8: i32 = 765;
2712pub const SN_camellia_128_ofb128: &[u8; 17] = b"CAMELLIA-128-OFB\0";
2713pub const LN_camellia_128_ofb128: &[u8; 17] = b"camellia-128-ofb\0";
2714pub const NID_camellia_128_ofb128: i32 = 766;
2715pub const SN_camellia_192_ofb128: &[u8; 17] = b"CAMELLIA-192-OFB\0";
2716pub const LN_camellia_192_ofb128: &[u8; 17] = b"camellia-192-ofb\0";
2717pub const NID_camellia_192_ofb128: i32 = 767;
2718pub const SN_camellia_256_ofb128: &[u8; 17] = b"CAMELLIA-256-OFB\0";
2719pub const LN_camellia_256_ofb128: &[u8; 17] = b"camellia-256-ofb\0";
2720pub const NID_camellia_256_ofb128: i32 = 768;
2721pub const SN_subject_directory_attributes: &[u8; 27] = b"subjectDirectoryAttributes\0";
2722pub const LN_subject_directory_attributes: &[u8; 36] = b"X509v3 Subject Directory Attributes\0";
2723pub const NID_subject_directory_attributes: i32 = 769;
2724pub const SN_issuing_distribution_point: &[u8; 25] = b"issuingDistributionPoint\0";
2725pub const LN_issuing_distribution_point: &[u8; 34] = b"X509v3 Issuing Distribution Point\0";
2726pub const NID_issuing_distribution_point: i32 = 770;
2727pub const SN_certificate_issuer: &[u8; 18] = b"certificateIssuer\0";
2728pub const LN_certificate_issuer: &[u8; 26] = b"X509v3 Certificate Issuer\0";
2729pub const NID_certificate_issuer: i32 = 771;
2730pub const SN_kisa: &[u8; 5] = b"KISA\0";
2731pub const LN_kisa: &[u8; 5] = b"kisa\0";
2732pub const NID_kisa: i32 = 773;
2733pub const SN_seed_ecb: &[u8; 9] = b"SEED-ECB\0";
2734pub const LN_seed_ecb: &[u8; 9] = b"seed-ecb\0";
2735pub const NID_seed_ecb: i32 = 776;
2736pub const SN_seed_cbc: &[u8; 9] = b"SEED-CBC\0";
2737pub const LN_seed_cbc: &[u8; 9] = b"seed-cbc\0";
2738pub const NID_seed_cbc: i32 = 777;
2739pub const SN_seed_ofb128: &[u8; 9] = b"SEED-OFB\0";
2740pub const LN_seed_ofb128: &[u8; 9] = b"seed-ofb\0";
2741pub const NID_seed_ofb128: i32 = 778;
2742pub const SN_seed_cfb128: &[u8; 9] = b"SEED-CFB\0";
2743pub const LN_seed_cfb128: &[u8; 9] = b"seed-cfb\0";
2744pub const NID_seed_cfb128: i32 = 779;
2745pub const SN_hmac_md5: &[u8; 9] = b"HMAC-MD5\0";
2746pub const LN_hmac_md5: &[u8; 9] = b"hmac-md5\0";
2747pub const NID_hmac_md5: i32 = 780;
2748pub const SN_hmac_sha1: &[u8; 10] = b"HMAC-SHA1\0";
2749pub const LN_hmac_sha1: &[u8; 10] = b"hmac-sha1\0";
2750pub const NID_hmac_sha1: i32 = 781;
2751pub const SN_id_PasswordBasedMAC: &[u8; 20] = b"id-PasswordBasedMAC\0";
2752pub const LN_id_PasswordBasedMAC: &[u8; 19] = b"password based MAC\0";
2753pub const NID_id_PasswordBasedMAC: i32 = 782;
2754pub const SN_id_DHBasedMac: &[u8; 14] = b"id-DHBasedMac\0";
2755pub const LN_id_DHBasedMac: &[u8; 25] = b"Diffie-Hellman based MAC\0";
2756pub const NID_id_DHBasedMac: i32 = 783;
2757pub const SN_id_it_suppLangTags: &[u8; 19] = b"id-it-suppLangTags\0";
2758pub const NID_id_it_suppLangTags: i32 = 784;
2759pub const SN_caRepository: &[u8; 13] = b"caRepository\0";
2760pub const LN_caRepository: &[u8; 14] = b"CA Repository\0";
2761pub const NID_caRepository: i32 = 785;
2762pub const SN_id_smime_ct_compressedData: &[u8; 27] = b"id-smime-ct-compressedData\0";
2763pub const NID_id_smime_ct_compressedData: i32 = 786;
2764pub const SN_id_ct_asciiTextWithCRLF: &[u8; 24] = b"id-ct-asciiTextWithCRLF\0";
2765pub const NID_id_ct_asciiTextWithCRLF: i32 = 787;
2766pub const SN_id_aes128_wrap: &[u8; 15] = b"id-aes128-wrap\0";
2767pub const NID_id_aes128_wrap: i32 = 788;
2768pub const SN_id_aes192_wrap: &[u8; 15] = b"id-aes192-wrap\0";
2769pub const NID_id_aes192_wrap: i32 = 789;
2770pub const SN_id_aes256_wrap: &[u8; 15] = b"id-aes256-wrap\0";
2771pub const NID_id_aes256_wrap: i32 = 790;
2772pub const SN_ecdsa_with_Recommended: &[u8; 23] = b"ecdsa-with-Recommended\0";
2773pub const NID_ecdsa_with_Recommended: i32 = 791;
2774pub const SN_ecdsa_with_Specified: &[u8; 21] = b"ecdsa-with-Specified\0";
2775pub const NID_ecdsa_with_Specified: i32 = 792;
2776pub const SN_ecdsa_with_SHA224: &[u8; 18] = b"ecdsa-with-SHA224\0";
2777pub const NID_ecdsa_with_SHA224: i32 = 793;
2778pub const SN_ecdsa_with_SHA256: &[u8; 18] = b"ecdsa-with-SHA256\0";
2779pub const NID_ecdsa_with_SHA256: i32 = 794;
2780pub const SN_ecdsa_with_SHA384: &[u8; 18] = b"ecdsa-with-SHA384\0";
2781pub const NID_ecdsa_with_SHA384: i32 = 795;
2782pub const SN_ecdsa_with_SHA512: &[u8; 18] = b"ecdsa-with-SHA512\0";
2783pub const NID_ecdsa_with_SHA512: i32 = 796;
2784pub const LN_hmacWithMD5: &[u8; 12] = b"hmacWithMD5\0";
2785pub const NID_hmacWithMD5: i32 = 797;
2786pub const LN_hmacWithSHA224: &[u8; 15] = b"hmacWithSHA224\0";
2787pub const NID_hmacWithSHA224: i32 = 798;
2788pub const LN_hmacWithSHA256: &[u8; 15] = b"hmacWithSHA256\0";
2789pub const NID_hmacWithSHA256: i32 = 799;
2790pub const LN_hmacWithSHA384: &[u8; 15] = b"hmacWithSHA384\0";
2791pub const NID_hmacWithSHA384: i32 = 800;
2792pub const LN_hmacWithSHA512: &[u8; 15] = b"hmacWithSHA512\0";
2793pub const NID_hmacWithSHA512: i32 = 801;
2794pub const SN_dsa_with_SHA224: &[u8; 16] = b"dsa_with_SHA224\0";
2795pub const NID_dsa_with_SHA224: i32 = 802;
2796pub const SN_dsa_with_SHA256: &[u8; 16] = b"dsa_with_SHA256\0";
2797pub const NID_dsa_with_SHA256: i32 = 803;
2798pub const SN_whirlpool: &[u8; 10] = b"whirlpool\0";
2799pub const NID_whirlpool: i32 = 804;
2800pub const SN_cryptopro: &[u8; 10] = b"cryptopro\0";
2801pub const NID_cryptopro: i32 = 805;
2802pub const SN_cryptocom: &[u8; 10] = b"cryptocom\0";
2803pub const NID_cryptocom: i32 = 806;
2804pub const SN_id_GostR3411_94_with_GostR3410_2001: &[u8; 36] =
2805    b"id-GostR3411-94-with-GostR3410-2001\0";
2806pub const LN_id_GostR3411_94_with_GostR3410_2001: &[u8; 39] =
2807    b"GOST R 34.11-94 with GOST R 34.10-2001\0";
2808pub const NID_id_GostR3411_94_with_GostR3410_2001: i32 = 807;
2809pub const SN_id_GostR3411_94_with_GostR3410_94: &[u8; 34] = b"id-GostR3411-94-with-GostR3410-94\0";
2810pub const LN_id_GostR3411_94_with_GostR3410_94: &[u8; 37] =
2811    b"GOST R 34.11-94 with GOST R 34.10-94\0";
2812pub const NID_id_GostR3411_94_with_GostR3410_94: i32 = 808;
2813pub const SN_id_GostR3411_94: &[u8; 10] = b"md_gost94\0";
2814pub const LN_id_GostR3411_94: &[u8; 16] = b"GOST R 34.11-94\0";
2815pub const NID_id_GostR3411_94: i32 = 809;
2816pub const SN_id_HMACGostR3411_94: &[u8; 20] = b"id-HMACGostR3411-94\0";
2817pub const LN_id_HMACGostR3411_94: &[u8; 19] = b"HMAC GOST 34.11-94\0";
2818pub const NID_id_HMACGostR3411_94: i32 = 810;
2819pub const SN_id_GostR3410_2001: &[u8; 9] = b"gost2001\0";
2820pub const LN_id_GostR3410_2001: &[u8; 18] = b"GOST R 34.10-2001\0";
2821pub const NID_id_GostR3410_2001: i32 = 811;
2822pub const SN_id_GostR3410_94: &[u8; 7] = b"gost94\0";
2823pub const LN_id_GostR3410_94: &[u8; 16] = b"GOST R 34.10-94\0";
2824pub const NID_id_GostR3410_94: i32 = 812;
2825pub const SN_id_Gost28147_89: &[u8; 7] = b"gost89\0";
2826pub const LN_id_Gost28147_89: &[u8; 14] = b"GOST 28147-89\0";
2827pub const NID_id_Gost28147_89: i32 = 813;
2828pub const SN_gost89_cnt: &[u8; 11] = b"gost89-cnt\0";
2829pub const NID_gost89_cnt: i32 = 814;
2830pub const SN_id_Gost28147_89_MAC: &[u8; 9] = b"gost-mac\0";
2831pub const LN_id_Gost28147_89_MAC: &[u8; 18] = b"GOST 28147-89 MAC\0";
2832pub const NID_id_Gost28147_89_MAC: i32 = 815;
2833pub const SN_id_GostR3411_94_prf: &[u8; 17] = b"prf-gostr3411-94\0";
2834pub const LN_id_GostR3411_94_prf: &[u8; 20] = b"GOST R 34.11-94 PRF\0";
2835pub const NID_id_GostR3411_94_prf: i32 = 816;
2836pub const SN_id_GostR3410_2001DH: &[u8; 20] = b"id-GostR3410-2001DH\0";
2837pub const LN_id_GostR3410_2001DH: &[u8; 21] = b"GOST R 34.10-2001 DH\0";
2838pub const NID_id_GostR3410_2001DH: i32 = 817;
2839pub const SN_id_GostR3410_94DH: &[u8; 18] = b"id-GostR3410-94DH\0";
2840pub const LN_id_GostR3410_94DH: &[u8; 19] = b"GOST R 34.10-94 DH\0";
2841pub const NID_id_GostR3410_94DH: i32 = 818;
2842pub const SN_id_Gost28147_89_CryptoPro_KeyMeshing: &[u8; 37] =
2843    b"id-Gost28147-89-CryptoPro-KeyMeshing\0";
2844pub const NID_id_Gost28147_89_CryptoPro_KeyMeshing: i32 = 819;
2845pub const SN_id_Gost28147_89_None_KeyMeshing: &[u8; 32] = b"id-Gost28147-89-None-KeyMeshing\0";
2846pub const NID_id_Gost28147_89_None_KeyMeshing: i32 = 820;
2847pub const SN_id_GostR3411_94_TestParamSet: &[u8; 29] = b"id-GostR3411-94-TestParamSet\0";
2848pub const NID_id_GostR3411_94_TestParamSet: i32 = 821;
2849pub const SN_id_GostR3411_94_CryptoProParamSet: &[u8; 34] = b"id-GostR3411-94-CryptoProParamSet\0";
2850pub const NID_id_GostR3411_94_CryptoProParamSet: i32 = 822;
2851pub const SN_id_Gost28147_89_TestParamSet: &[u8; 29] = b"id-Gost28147-89-TestParamSet\0";
2852pub const NID_id_Gost28147_89_TestParamSet: i32 = 823;
2853pub const SN_id_Gost28147_89_CryptoPro_A_ParamSet: &[u8; 37] =
2854    b"id-Gost28147-89-CryptoPro-A-ParamSet\0";
2855pub const NID_id_Gost28147_89_CryptoPro_A_ParamSet: i32 = 824;
2856pub const SN_id_Gost28147_89_CryptoPro_B_ParamSet: &[u8; 37] =
2857    b"id-Gost28147-89-CryptoPro-B-ParamSet\0";
2858pub const NID_id_Gost28147_89_CryptoPro_B_ParamSet: i32 = 825;
2859pub const SN_id_Gost28147_89_CryptoPro_C_ParamSet: &[u8; 37] =
2860    b"id-Gost28147-89-CryptoPro-C-ParamSet\0";
2861pub const NID_id_Gost28147_89_CryptoPro_C_ParamSet: i32 = 826;
2862pub const SN_id_Gost28147_89_CryptoPro_D_ParamSet: &[u8; 37] =
2863    b"id-Gost28147-89-CryptoPro-D-ParamSet\0";
2864pub const NID_id_Gost28147_89_CryptoPro_D_ParamSet: i32 = 827;
2865pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: &[u8; 45] =
2866    b"id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet\0";
2867pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet: i32 = 828;
2868pub const SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: &[u8; 45] =
2869    b"id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet\0";
2870pub const NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet: i32 = 829;
2871pub const SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: &[u8; 41] =
2872    b"id-Gost28147-89-CryptoPro-RIC-1-ParamSet\0";
2873pub const NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet: i32 = 830;
2874pub const SN_id_GostR3410_94_TestParamSet: &[u8; 29] = b"id-GostR3410-94-TestParamSet\0";
2875pub const NID_id_GostR3410_94_TestParamSet: i32 = 831;
2876pub const SN_id_GostR3410_94_CryptoPro_A_ParamSet: &[u8; 37] =
2877    b"id-GostR3410-94-CryptoPro-A-ParamSet\0";
2878pub const NID_id_GostR3410_94_CryptoPro_A_ParamSet: i32 = 832;
2879pub const SN_id_GostR3410_94_CryptoPro_B_ParamSet: &[u8; 37] =
2880    b"id-GostR3410-94-CryptoPro-B-ParamSet\0";
2881pub const NID_id_GostR3410_94_CryptoPro_B_ParamSet: i32 = 833;
2882pub const SN_id_GostR3410_94_CryptoPro_C_ParamSet: &[u8; 37] =
2883    b"id-GostR3410-94-CryptoPro-C-ParamSet\0";
2884pub const NID_id_GostR3410_94_CryptoPro_C_ParamSet: i32 = 834;
2885pub const SN_id_GostR3410_94_CryptoPro_D_ParamSet: &[u8; 37] =
2886    b"id-GostR3410-94-CryptoPro-D-ParamSet\0";
2887pub const NID_id_GostR3410_94_CryptoPro_D_ParamSet: i32 = 835;
2888pub const SN_id_GostR3410_94_CryptoPro_XchA_ParamSet: &[u8; 40] =
2889    b"id-GostR3410-94-CryptoPro-XchA-ParamSet\0";
2890pub const NID_id_GostR3410_94_CryptoPro_XchA_ParamSet: i32 = 836;
2891pub const SN_id_GostR3410_94_CryptoPro_XchB_ParamSet: &[u8; 40] =
2892    b"id-GostR3410-94-CryptoPro-XchB-ParamSet\0";
2893pub const NID_id_GostR3410_94_CryptoPro_XchB_ParamSet: i32 = 837;
2894pub const SN_id_GostR3410_94_CryptoPro_XchC_ParamSet: &[u8; 40] =
2895    b"id-GostR3410-94-CryptoPro-XchC-ParamSet\0";
2896pub const NID_id_GostR3410_94_CryptoPro_XchC_ParamSet: i32 = 838;
2897pub const SN_id_GostR3410_2001_TestParamSet: &[u8; 31] = b"id-GostR3410-2001-TestParamSet\0";
2898pub const NID_id_GostR3410_2001_TestParamSet: i32 = 839;
2899pub const SN_id_GostR3410_2001_CryptoPro_A_ParamSet: &[u8; 39] =
2900    b"id-GostR3410-2001-CryptoPro-A-ParamSet\0";
2901pub const NID_id_GostR3410_2001_CryptoPro_A_ParamSet: i32 = 840;
2902pub const SN_id_GostR3410_2001_CryptoPro_B_ParamSet: &[u8; 39] =
2903    b"id-GostR3410-2001-CryptoPro-B-ParamSet\0";
2904pub const NID_id_GostR3410_2001_CryptoPro_B_ParamSet: i32 = 841;
2905pub const SN_id_GostR3410_2001_CryptoPro_C_ParamSet: &[u8; 39] =
2906    b"id-GostR3410-2001-CryptoPro-C-ParamSet\0";
2907pub const NID_id_GostR3410_2001_CryptoPro_C_ParamSet: i32 = 842;
2908pub const SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet: &[u8; 42] =
2909    b"id-GostR3410-2001-CryptoPro-XchA-ParamSet\0";
2910pub const NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet: i32 = 843;
2911pub const SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet: &[u8; 42] =
2912    b"id-GostR3410-2001-CryptoPro-XchB-ParamSet\0";
2913pub const NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet: i32 = 844;
2914pub const SN_id_GostR3410_94_a: &[u8; 18] = b"id-GostR3410-94-a\0";
2915pub const NID_id_GostR3410_94_a: i32 = 845;
2916pub const SN_id_GostR3410_94_aBis: &[u8; 21] = b"id-GostR3410-94-aBis\0";
2917pub const NID_id_GostR3410_94_aBis: i32 = 846;
2918pub const SN_id_GostR3410_94_b: &[u8; 18] = b"id-GostR3410-94-b\0";
2919pub const NID_id_GostR3410_94_b: i32 = 847;
2920pub const SN_id_GostR3410_94_bBis: &[u8; 21] = b"id-GostR3410-94-bBis\0";
2921pub const NID_id_GostR3410_94_bBis: i32 = 848;
2922pub const SN_id_Gost28147_89_cc: &[u8; 19] = b"id-Gost28147-89-cc\0";
2923pub const LN_id_Gost28147_89_cc: &[u8; 33] = b"GOST 28147-89 Cryptocom ParamSet\0";
2924pub const NID_id_Gost28147_89_cc: i32 = 849;
2925pub const SN_id_GostR3410_94_cc: &[u8; 9] = b"gost94cc\0";
2926pub const LN_id_GostR3410_94_cc: &[u8; 24] = b"GOST 34.10-94 Cryptocom\0";
2927pub const NID_id_GostR3410_94_cc: i32 = 850;
2928pub const SN_id_GostR3410_2001_cc: &[u8; 11] = b"gost2001cc\0";
2929pub const LN_id_GostR3410_2001_cc: &[u8; 26] = b"GOST 34.10-2001 Cryptocom\0";
2930pub const NID_id_GostR3410_2001_cc: i32 = 851;
2931pub const SN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 37] =
2932    b"id-GostR3411-94-with-GostR3410-94-cc\0";
2933pub const LN_id_GostR3411_94_with_GostR3410_94_cc: &[u8; 47] =
2934    b"GOST R 34.11-94 with GOST R 34.10-94 Cryptocom\0";
2935pub const NID_id_GostR3411_94_with_GostR3410_94_cc: i32 = 852;
2936pub const SN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 39] =
2937    b"id-GostR3411-94-with-GostR3410-2001-cc\0";
2938pub const LN_id_GostR3411_94_with_GostR3410_2001_cc: &[u8; 49] =
2939    b"GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom\0";
2940pub const NID_id_GostR3411_94_with_GostR3410_2001_cc: i32 = 853;
2941pub const SN_id_GostR3410_2001_ParamSet_cc: &[u8; 30] = b"id-GostR3410-2001-ParamSet-cc\0";
2942pub const LN_id_GostR3410_2001_ParamSet_cc: &[u8; 41] =
2943    b"GOST R 3410-2001 Parameter Set Cryptocom\0";
2944pub const NID_id_GostR3410_2001_ParamSet_cc: i32 = 854;
2945pub const SN_hmac: &[u8; 5] = b"HMAC\0";
2946pub const LN_hmac: &[u8; 5] = b"hmac\0";
2947pub const NID_hmac: i32 = 855;
2948pub const SN_LocalKeySet: &[u8; 12] = b"LocalKeySet\0";
2949pub const LN_LocalKeySet: &[u8; 24] = b"Microsoft Local Key set\0";
2950pub const NID_LocalKeySet: i32 = 856;
2951pub const SN_freshest_crl: &[u8; 12] = b"freshestCRL\0";
2952pub const LN_freshest_crl: &[u8; 20] = b"X509v3 Freshest CRL\0";
2953pub const NID_freshest_crl: i32 = 857;
2954pub const SN_id_on_permanentIdentifier: &[u8; 26] = b"id-on-permanentIdentifier\0";
2955pub const LN_id_on_permanentIdentifier: &[u8; 21] = b"Permanent Identifier\0";
2956pub const NID_id_on_permanentIdentifier: i32 = 858;
2957pub const LN_searchGuide: &[u8; 12] = b"searchGuide\0";
2958pub const NID_searchGuide: i32 = 859;
2959pub const LN_businessCategory: &[u8; 17] = b"businessCategory\0";
2960pub const NID_businessCategory: i32 = 860;
2961pub const LN_postalAddress: &[u8; 14] = b"postalAddress\0";
2962pub const NID_postalAddress: i32 = 861;
2963pub const LN_postOfficeBox: &[u8; 14] = b"postOfficeBox\0";
2964pub const NID_postOfficeBox: i32 = 862;
2965pub const LN_physicalDeliveryOfficeName: &[u8; 27] = b"physicalDeliveryOfficeName\0";
2966pub const NID_physicalDeliveryOfficeName: i32 = 863;
2967pub const LN_telephoneNumber: &[u8; 16] = b"telephoneNumber\0";
2968pub const NID_telephoneNumber: i32 = 864;
2969pub const LN_telexNumber: &[u8; 12] = b"telexNumber\0";
2970pub const NID_telexNumber: i32 = 865;
2971pub const LN_teletexTerminalIdentifier: &[u8; 26] = b"teletexTerminalIdentifier\0";
2972pub const NID_teletexTerminalIdentifier: i32 = 866;
2973pub const LN_facsimileTelephoneNumber: &[u8; 25] = b"facsimileTelephoneNumber\0";
2974pub const NID_facsimileTelephoneNumber: i32 = 867;
2975pub const LN_x121Address: &[u8; 12] = b"x121Address\0";
2976pub const NID_x121Address: i32 = 868;
2977pub const LN_internationaliSDNNumber: &[u8; 24] = b"internationaliSDNNumber\0";
2978pub const NID_internationaliSDNNumber: i32 = 869;
2979pub const LN_registeredAddress: &[u8; 18] = b"registeredAddress\0";
2980pub const NID_registeredAddress: i32 = 870;
2981pub const LN_destinationIndicator: &[u8; 21] = b"destinationIndicator\0";
2982pub const NID_destinationIndicator: i32 = 871;
2983pub const LN_preferredDeliveryMethod: &[u8; 24] = b"preferredDeliveryMethod\0";
2984pub const NID_preferredDeliveryMethod: i32 = 872;
2985pub const LN_presentationAddress: &[u8; 20] = b"presentationAddress\0";
2986pub const NID_presentationAddress: i32 = 873;
2987pub const LN_supportedApplicationContext: &[u8; 28] = b"supportedApplicationContext\0";
2988pub const NID_supportedApplicationContext: i32 = 874;
2989pub const SN_member: &[u8; 7] = b"member\0";
2990pub const NID_member: i32 = 875;
2991pub const SN_owner: &[u8; 6] = b"owner\0";
2992pub const NID_owner: i32 = 876;
2993pub const LN_roleOccupant: &[u8; 13] = b"roleOccupant\0";
2994pub const NID_roleOccupant: i32 = 877;
2995pub const SN_seeAlso: &[u8; 8] = b"seeAlso\0";
2996pub const NID_seeAlso: i32 = 878;
2997pub const LN_userPassword: &[u8; 13] = b"userPassword\0";
2998pub const NID_userPassword: i32 = 879;
2999pub const LN_userCertificate: &[u8; 16] = b"userCertificate\0";
3000pub const NID_userCertificate: i32 = 880;
3001pub const LN_cACertificate: &[u8; 14] = b"cACertificate\0";
3002pub const NID_cACertificate: i32 = 881;
3003pub const LN_authorityRevocationList: &[u8; 24] = b"authorityRevocationList\0";
3004pub const NID_authorityRevocationList: i32 = 882;
3005pub const LN_certificateRevocationList: &[u8; 26] = b"certificateRevocationList\0";
3006pub const NID_certificateRevocationList: i32 = 883;
3007pub const LN_crossCertificatePair: &[u8; 21] = b"crossCertificatePair\0";
3008pub const NID_crossCertificatePair: i32 = 884;
3009pub const LN_enhancedSearchGuide: &[u8; 20] = b"enhancedSearchGuide\0";
3010pub const NID_enhancedSearchGuide: i32 = 885;
3011pub const LN_protocolInformation: &[u8; 20] = b"protocolInformation\0";
3012pub const NID_protocolInformation: i32 = 886;
3013pub const LN_distinguishedName: &[u8; 18] = b"distinguishedName\0";
3014pub const NID_distinguishedName: i32 = 887;
3015pub const LN_uniqueMember: &[u8; 13] = b"uniqueMember\0";
3016pub const NID_uniqueMember: i32 = 888;
3017pub const LN_houseIdentifier: &[u8; 16] = b"houseIdentifier\0";
3018pub const NID_houseIdentifier: i32 = 889;
3019pub const LN_supportedAlgorithms: &[u8; 20] = b"supportedAlgorithms\0";
3020pub const NID_supportedAlgorithms: i32 = 890;
3021pub const LN_deltaRevocationList: &[u8; 20] = b"deltaRevocationList\0";
3022pub const NID_deltaRevocationList: i32 = 891;
3023pub const SN_dmdName: &[u8; 8] = b"dmdName\0";
3024pub const NID_dmdName: i32 = 892;
3025pub const SN_id_alg_PWRI_KEK: &[u8; 16] = b"id-alg-PWRI-KEK\0";
3026pub const NID_id_alg_PWRI_KEK: i32 = 893;
3027pub const SN_cmac: &[u8; 5] = b"CMAC\0";
3028pub const LN_cmac: &[u8; 5] = b"cmac\0";
3029pub const NID_cmac: i32 = 894;
3030pub const SN_aes_128_gcm: &[u8; 14] = b"id-aes128-GCM\0";
3031pub const LN_aes_128_gcm: &[u8; 12] = b"aes-128-gcm\0";
3032pub const NID_aes_128_gcm: i32 = 895;
3033pub const SN_aes_128_ccm: &[u8; 14] = b"id-aes128-CCM\0";
3034pub const LN_aes_128_ccm: &[u8; 12] = b"aes-128-ccm\0";
3035pub const NID_aes_128_ccm: i32 = 896;
3036pub const SN_id_aes128_wrap_pad: &[u8; 19] = b"id-aes128-wrap-pad\0";
3037pub const NID_id_aes128_wrap_pad: i32 = 897;
3038pub const SN_aes_192_gcm: &[u8; 14] = b"id-aes192-GCM\0";
3039pub const LN_aes_192_gcm: &[u8; 12] = b"aes-192-gcm\0";
3040pub const NID_aes_192_gcm: i32 = 898;
3041pub const SN_aes_192_ccm: &[u8; 14] = b"id-aes192-CCM\0";
3042pub const LN_aes_192_ccm: &[u8; 12] = b"aes-192-ccm\0";
3043pub const NID_aes_192_ccm: i32 = 899;
3044pub const SN_id_aes192_wrap_pad: &[u8; 19] = b"id-aes192-wrap-pad\0";
3045pub const NID_id_aes192_wrap_pad: i32 = 900;
3046pub const SN_aes_256_gcm: &[u8; 14] = b"id-aes256-GCM\0";
3047pub const LN_aes_256_gcm: &[u8; 12] = b"aes-256-gcm\0";
3048pub const NID_aes_256_gcm: i32 = 901;
3049pub const SN_aes_256_ccm: &[u8; 14] = b"id-aes256-CCM\0";
3050pub const LN_aes_256_ccm: &[u8; 12] = b"aes-256-ccm\0";
3051pub const NID_aes_256_ccm: i32 = 902;
3052pub const SN_id_aes256_wrap_pad: &[u8; 19] = b"id-aes256-wrap-pad\0";
3053pub const NID_id_aes256_wrap_pad: i32 = 903;
3054pub const SN_aes_128_ctr: &[u8; 12] = b"AES-128-CTR\0";
3055pub const LN_aes_128_ctr: &[u8; 12] = b"aes-128-ctr\0";
3056pub const NID_aes_128_ctr: i32 = 904;
3057pub const SN_aes_192_ctr: &[u8; 12] = b"AES-192-CTR\0";
3058pub const LN_aes_192_ctr: &[u8; 12] = b"aes-192-ctr\0";
3059pub const NID_aes_192_ctr: i32 = 905;
3060pub const SN_aes_256_ctr: &[u8; 12] = b"AES-256-CTR\0";
3061pub const LN_aes_256_ctr: &[u8; 12] = b"aes-256-ctr\0";
3062pub const NID_aes_256_ctr: i32 = 906;
3063pub const SN_id_camellia128_wrap: &[u8; 20] = b"id-camellia128-wrap\0";
3064pub const NID_id_camellia128_wrap: i32 = 907;
3065pub const SN_id_camellia192_wrap: &[u8; 20] = b"id-camellia192-wrap\0";
3066pub const NID_id_camellia192_wrap: i32 = 908;
3067pub const SN_id_camellia256_wrap: &[u8; 20] = b"id-camellia256-wrap\0";
3068pub const NID_id_camellia256_wrap: i32 = 909;
3069pub const SN_anyExtendedKeyUsage: &[u8; 20] = b"anyExtendedKeyUsage\0";
3070pub const LN_anyExtendedKeyUsage: &[u8; 23] = b"Any Extended Key Usage\0";
3071pub const NID_anyExtendedKeyUsage: i32 = 910;
3072pub const SN_mgf1: &[u8; 5] = b"MGF1\0";
3073pub const LN_mgf1: &[u8; 5] = b"mgf1\0";
3074pub const NID_mgf1: i32 = 911;
3075pub const SN_rsassaPss: &[u8; 11] = b"RSASSA-PSS\0";
3076pub const LN_rsassaPss: &[u8; 10] = b"rsassaPss\0";
3077pub const NID_rsassaPss: i32 = 912;
3078pub const SN_aes_128_xts: &[u8; 12] = b"AES-128-XTS\0";
3079pub const LN_aes_128_xts: &[u8; 12] = b"aes-128-xts\0";
3080pub const NID_aes_128_xts: i32 = 913;
3081pub const SN_aes_256_xts: &[u8; 12] = b"AES-256-XTS\0";
3082pub const LN_aes_256_xts: &[u8; 12] = b"aes-256-xts\0";
3083pub const NID_aes_256_xts: i32 = 914;
3084pub const SN_rc4_hmac_md5: &[u8; 13] = b"RC4-HMAC-MD5\0";
3085pub const LN_rc4_hmac_md5: &[u8; 13] = b"rc4-hmac-md5\0";
3086pub const NID_rc4_hmac_md5: i32 = 915;
3087pub const SN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"AES-128-CBC-HMAC-SHA1\0";
3088pub const LN_aes_128_cbc_hmac_sha1: &[u8; 22] = b"aes-128-cbc-hmac-sha1\0";
3089pub const NID_aes_128_cbc_hmac_sha1: i32 = 916;
3090pub const SN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"AES-192-CBC-HMAC-SHA1\0";
3091pub const LN_aes_192_cbc_hmac_sha1: &[u8; 22] = b"aes-192-cbc-hmac-sha1\0";
3092pub const NID_aes_192_cbc_hmac_sha1: i32 = 917;
3093pub const SN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"AES-256-CBC-HMAC-SHA1\0";
3094pub const LN_aes_256_cbc_hmac_sha1: &[u8; 22] = b"aes-256-cbc-hmac-sha1\0";
3095pub const NID_aes_256_cbc_hmac_sha1: i32 = 918;
3096pub const SN_rsaesOaep: &[u8; 11] = b"RSAES-OAEP\0";
3097pub const LN_rsaesOaep: &[u8; 10] = b"rsaesOaep\0";
3098pub const NID_rsaesOaep: i32 = 919;
3099pub const SN_dhpublicnumber: &[u8; 15] = b"dhpublicnumber\0";
3100pub const LN_dhpublicnumber: &[u8; 9] = b"X9.42 DH\0";
3101pub const NID_dhpublicnumber: i32 = 920;
3102pub const SN_brainpoolP160r1: &[u8; 16] = b"brainpoolP160r1\0";
3103pub const NID_brainpoolP160r1: i32 = 921;
3104pub const SN_brainpoolP160t1: &[u8; 16] = b"brainpoolP160t1\0";
3105pub const NID_brainpoolP160t1: i32 = 922;
3106pub const SN_brainpoolP192r1: &[u8; 16] = b"brainpoolP192r1\0";
3107pub const NID_brainpoolP192r1: i32 = 923;
3108pub const SN_brainpoolP192t1: &[u8; 16] = b"brainpoolP192t1\0";
3109pub const NID_brainpoolP192t1: i32 = 924;
3110pub const SN_brainpoolP224r1: &[u8; 16] = b"brainpoolP224r1\0";
3111pub const NID_brainpoolP224r1: i32 = 925;
3112pub const SN_brainpoolP224t1: &[u8; 16] = b"brainpoolP224t1\0";
3113pub const NID_brainpoolP224t1: i32 = 926;
3114pub const SN_brainpoolP256r1: &[u8; 16] = b"brainpoolP256r1\0";
3115pub const NID_brainpoolP256r1: i32 = 927;
3116pub const SN_brainpoolP256t1: &[u8; 16] = b"brainpoolP256t1\0";
3117pub const NID_brainpoolP256t1: i32 = 928;
3118pub const SN_brainpoolP320r1: &[u8; 16] = b"brainpoolP320r1\0";
3119pub const NID_brainpoolP320r1: i32 = 929;
3120pub const SN_brainpoolP320t1: &[u8; 16] = b"brainpoolP320t1\0";
3121pub const NID_brainpoolP320t1: i32 = 930;
3122pub const SN_brainpoolP384r1: &[u8; 16] = b"brainpoolP384r1\0";
3123pub const NID_brainpoolP384r1: i32 = 931;
3124pub const SN_brainpoolP384t1: &[u8; 16] = b"brainpoolP384t1\0";
3125pub const NID_brainpoolP384t1: i32 = 932;
3126pub const SN_brainpoolP512r1: &[u8; 16] = b"brainpoolP512r1\0";
3127pub const NID_brainpoolP512r1: i32 = 933;
3128pub const SN_brainpoolP512t1: &[u8; 16] = b"brainpoolP512t1\0";
3129pub const NID_brainpoolP512t1: i32 = 934;
3130pub const SN_pSpecified: &[u8; 11] = b"PSPECIFIED\0";
3131pub const LN_pSpecified: &[u8; 11] = b"pSpecified\0";
3132pub const NID_pSpecified: i32 = 935;
3133pub const SN_dhSinglePass_stdDH_sha1kdf_scheme: &[u8; 34] = b"dhSinglePass-stdDH-sha1kdf-scheme\0";
3134pub const NID_dhSinglePass_stdDH_sha1kdf_scheme: i32 = 936;
3135pub const SN_dhSinglePass_stdDH_sha224kdf_scheme: &[u8; 36] =
3136    b"dhSinglePass-stdDH-sha224kdf-scheme\0";
3137pub const NID_dhSinglePass_stdDH_sha224kdf_scheme: i32 = 937;
3138pub const SN_dhSinglePass_stdDH_sha256kdf_scheme: &[u8; 36] =
3139    b"dhSinglePass-stdDH-sha256kdf-scheme\0";
3140pub const NID_dhSinglePass_stdDH_sha256kdf_scheme: i32 = 938;
3141pub const SN_dhSinglePass_stdDH_sha384kdf_scheme: &[u8; 36] =
3142    b"dhSinglePass-stdDH-sha384kdf-scheme\0";
3143pub const NID_dhSinglePass_stdDH_sha384kdf_scheme: i32 = 939;
3144pub const SN_dhSinglePass_stdDH_sha512kdf_scheme: &[u8; 36] =
3145    b"dhSinglePass-stdDH-sha512kdf-scheme\0";
3146pub const NID_dhSinglePass_stdDH_sha512kdf_scheme: i32 = 940;
3147pub const SN_dhSinglePass_cofactorDH_sha1kdf_scheme: &[u8; 39] =
3148    b"dhSinglePass-cofactorDH-sha1kdf-scheme\0";
3149pub const NID_dhSinglePass_cofactorDH_sha1kdf_scheme: i32 = 941;
3150pub const SN_dhSinglePass_cofactorDH_sha224kdf_scheme: &[u8; 41] =
3151    b"dhSinglePass-cofactorDH-sha224kdf-scheme\0";
3152pub const NID_dhSinglePass_cofactorDH_sha224kdf_scheme: i32 = 942;
3153pub const SN_dhSinglePass_cofactorDH_sha256kdf_scheme: &[u8; 41] =
3154    b"dhSinglePass-cofactorDH-sha256kdf-scheme\0";
3155pub const NID_dhSinglePass_cofactorDH_sha256kdf_scheme: i32 = 943;
3156pub const SN_dhSinglePass_cofactorDH_sha384kdf_scheme: &[u8; 41] =
3157    b"dhSinglePass-cofactorDH-sha384kdf-scheme\0";
3158pub const NID_dhSinglePass_cofactorDH_sha384kdf_scheme: i32 = 944;
3159pub const SN_dhSinglePass_cofactorDH_sha512kdf_scheme: &[u8; 41] =
3160    b"dhSinglePass-cofactorDH-sha512kdf-scheme\0";
3161pub const NID_dhSinglePass_cofactorDH_sha512kdf_scheme: i32 = 945;
3162pub const SN_dh_std_kdf: &[u8; 11] = b"dh-std-kdf\0";
3163pub const NID_dh_std_kdf: i32 = 946;
3164pub const SN_dh_cofactor_kdf: &[u8; 16] = b"dh-cofactor-kdf\0";
3165pub const NID_dh_cofactor_kdf: i32 = 947;
3166pub const SN_X25519: &[u8; 7] = b"X25519\0";
3167pub const NID_X25519: i32 = 948;
3168pub const SN_ED25519: &[u8; 8] = b"ED25519\0";
3169pub const NID_ED25519: i32 = 949;
3170pub const SN_chacha20_poly1305: &[u8; 18] = b"ChaCha20-Poly1305\0";
3171pub const LN_chacha20_poly1305: &[u8; 18] = b"chacha20-poly1305\0";
3172pub const NID_chacha20_poly1305: i32 = 950;
3173pub const SN_kx_rsa: &[u8; 6] = b"KxRSA\0";
3174pub const LN_kx_rsa: &[u8; 7] = b"kx-rsa\0";
3175pub const NID_kx_rsa: i32 = 951;
3176pub const SN_kx_ecdhe: &[u8; 8] = b"KxECDHE\0";
3177pub const LN_kx_ecdhe: &[u8; 9] = b"kx-ecdhe\0";
3178pub const NID_kx_ecdhe: i32 = 952;
3179pub const SN_kx_psk: &[u8; 6] = b"KxPSK\0";
3180pub const LN_kx_psk: &[u8; 7] = b"kx-psk\0";
3181pub const NID_kx_psk: i32 = 953;
3182pub const SN_auth_rsa: &[u8; 8] = b"AuthRSA\0";
3183pub const LN_auth_rsa: &[u8; 9] = b"auth-rsa\0";
3184pub const NID_auth_rsa: i32 = 954;
3185pub const SN_auth_ecdsa: &[u8; 10] = b"AuthECDSA\0";
3186pub const LN_auth_ecdsa: &[u8; 11] = b"auth-ecdsa\0";
3187pub const NID_auth_ecdsa: i32 = 955;
3188pub const SN_auth_psk: &[u8; 8] = b"AuthPSK\0";
3189pub const LN_auth_psk: &[u8; 9] = b"auth-psk\0";
3190pub const NID_auth_psk: i32 = 956;
3191pub const SN_kx_any: &[u8; 6] = b"KxANY\0";
3192pub const LN_kx_any: &[u8; 7] = b"kx-any\0";
3193pub const NID_kx_any: i32 = 957;
3194pub const SN_auth_any: &[u8; 8] = b"AuthANY\0";
3195pub const LN_auth_any: &[u8; 9] = b"auth-any\0";
3196pub const NID_auth_any: i32 = 958;
3197pub const SN_ED448: &[u8; 6] = b"ED448\0";
3198pub const NID_ED448: i32 = 960;
3199pub const SN_X448: &[u8; 5] = b"X448\0";
3200pub const NID_X448: i32 = 961;
3201pub const SN_sha512_256: &[u8; 11] = b"SHA512-256\0";
3202pub const LN_sha512_256: &[u8; 11] = b"sha512-256\0";
3203pub const NID_sha512_256: i32 = 962;
3204pub const SN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"AES-128-CBC-HMAC-SHA256\0";
3205pub const LN_aes_128_cbc_hmac_sha256: &[u8; 24] = b"aes-128-cbc-hmac-sha256\0";
3206pub const NID_aes_128_cbc_hmac_sha256: i32 = 963;
3207pub const SN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"AES-256-CBC-HMAC-SHA256\0";
3208pub const LN_aes_256_cbc_hmac_sha256: &[u8; 24] = b"aes-256-cbc-hmac-sha256\0";
3209pub const NID_aes_256_cbc_hmac_sha256: i32 = 964;
3210pub const SN_sha3_224: &[u8; 9] = b"SHA3-224\0";
3211pub const LN_sha3_224: &[u8; 9] = b"sha3-224\0";
3212pub const NID_sha3_224: i32 = 965;
3213pub const SN_sha3_256: &[u8; 9] = b"SHA3-256\0";
3214pub const LN_sha3_256: &[u8; 9] = b"sha3-256\0";
3215pub const NID_sha3_256: i32 = 966;
3216pub const SN_sha3_384: &[u8; 9] = b"SHA3-384\0";
3217pub const LN_sha3_384: &[u8; 9] = b"sha3-384\0";
3218pub const NID_sha3_384: i32 = 967;
3219pub const SN_sha3_512: &[u8; 9] = b"SHA3-512\0";
3220pub const LN_sha3_512: &[u8; 9] = b"sha3-512\0";
3221pub const NID_sha3_512: i32 = 968;
3222pub const SN_hkdf: &[u8; 5] = b"HKDF\0";
3223pub const LN_hkdf: &[u8; 5] = b"hkdf\0";
3224pub const NID_hkdf: i32 = 969;
3225pub const SN_kem: &[u8; 4] = b"KEM\0";
3226pub const LN_kem: &[u8; 4] = b"kem\0";
3227pub const NID_kem: i32 = 970;
3228pub const SN_KYBER512: &[u8; 9] = b"KYBER512\0";
3229pub const NID_KYBER512: i32 = 971;
3230pub const SN_KYBER512_R3: &[u8; 12] = b"KYBER512_R3\0";
3231pub const NID_KYBER512_R3: i32 = 972;
3232pub const SN_KYBER768_R3: &[u8; 12] = b"KYBER768_R3\0";
3233pub const NID_KYBER768_R3: i32 = 973;
3234pub const SN_KYBER1024_R3: &[u8; 13] = b"KYBER1024_R3\0";
3235pub const NID_KYBER1024_R3: i32 = 974;
3236pub const SN_DILITHIUM3_R3: &[u8; 14] = b"DILITHIUM3_R3\0";
3237pub const NID_DILITHIUM3_R3: i32 = 975;
3238pub const SN_ffdhe2048: &[u8; 10] = b"ffdhe2048\0";
3239pub const NID_ffdhe2048: i32 = 976;
3240pub const SN_ffdhe4096: &[u8; 10] = b"ffdhe4096\0";
3241pub const NID_ffdhe4096: i32 = 977;
3242pub const SN_sha512_224: &[u8; 11] = b"SHA512-224\0";
3243pub const LN_sha512_224: &[u8; 11] = b"sha512-224\0";
3244pub const NID_sha512_224: i32 = 978;
3245pub const SN_shake128: &[u8; 9] = b"SHAKE128\0";
3246pub const LN_shake128: &[u8; 9] = b"shake128\0";
3247pub const NID_shake128: i32 = 979;
3248pub const SN_shake256: &[u8; 9] = b"SHAKE256\0";
3249pub const LN_shake256: &[u8; 9] = b"shake256\0";
3250pub const NID_shake256: i32 = 980;
3251pub const SN_SecP256r1Kyber768Draft00: &[u8; 25] = b"SecP256r1Kyber768Draft00\0";
3252pub const NID_SecP256r1Kyber768Draft00: i32 = 981;
3253pub const SN_X25519Kyber768Draft00: &[u8; 22] = b"X25519Kyber768Draft00\0";
3254pub const NID_X25519Kyber768Draft00: i32 = 982;
3255pub const SN_ffdhe3072: &[u8; 10] = b"ffdhe3072\0";
3256pub const NID_ffdhe3072: i32 = 983;
3257pub const SN_ffdhe8192: &[u8; 10] = b"ffdhe8192\0";
3258pub const NID_ffdhe8192: i32 = 984;
3259pub const SN_MLKEM512IPD: &[u8; 12] = b"MLKEM512IPD\0";
3260pub const NID_MLKEM512IPD: i32 = 985;
3261pub const SN_MLKEM768IPD: &[u8; 12] = b"MLKEM768IPD\0";
3262pub const NID_MLKEM768IPD: i32 = 986;
3263pub const SN_MLKEM1024IPD: &[u8; 13] = b"MLKEM1024IPD\0";
3264pub const NID_MLKEM1024IPD: i32 = 987;
3265pub const SN_MLKEM512: &[u8; 9] = b"MLKEM512\0";
3266pub const NID_MLKEM512: i32 = 988;
3267pub const SN_MLKEM768: &[u8; 9] = b"MLKEM768\0";
3268pub const NID_MLKEM768: i32 = 989;
3269pub const SN_MLKEM1024: &[u8; 10] = b"MLKEM1024\0";
3270pub const NID_MLKEM1024: i32 = 990;
3271pub const SN_X25519MLKEM768: &[u8; 15] = b"X25519MLKEM768\0";
3272pub const NID_X25519MLKEM768: i32 = 991;
3273pub const SN_SecP256r1MLKEM768: &[u8; 18] = b"SecP256r1MLKEM768\0";
3274pub const NID_SecP256r1MLKEM768: i32 = 992;
3275pub const SN_PQDSA: &[u8; 6] = b"PQDSA\0";
3276pub const NID_PQDSA: i32 = 993;
3277pub const SN_MLDSA44: &[u8; 8] = b"MLDSA44\0";
3278pub const NID_MLDSA44: i32 = 994;
3279pub const SN_MLDSA65: &[u8; 8] = b"MLDSA65\0";
3280pub const NID_MLDSA65: i32 = 995;
3281pub const SN_MLDSA87: &[u8; 8] = b"MLDSA87\0";
3282pub const NID_MLDSA87: i32 = 996;
3283pub const SN_ED25519ph: &[u8; 10] = b"ED25519ph\0";
3284pub const NID_ED25519ph: i32 = 997;
3285pub const OBJ_NAME_TYPE_MD_METH: i32 = 1;
3286pub const OBJ_NAME_TYPE_CIPHER_METH: i32 = 2;
3287pub const OBJ_R_UNKNOWN_NID: i32 = 100;
3288pub const OBJ_R_INVALID_OID_STRING: i32 = 101;
3289pub const EVP_PKEY_NONE: i32 = 0;
3290pub const EVP_PKEY_RSA: i32 = 6;
3291pub const EVP_PKEY_RSA_PSS: i32 = 912;
3292pub const EVP_PKEY_EC: i32 = 408;
3293pub const EVP_PKEY_ED25519: i32 = 949;
3294pub const EVP_PKEY_ED25519PH: i32 = 997;
3295pub const EVP_PKEY_X25519: i32 = 948;
3296pub const EVP_PKEY_HKDF: i32 = 969;
3297pub const EVP_PKEY_HMAC: i32 = 855;
3298pub const EVP_PKEY_DH: i32 = 28;
3299pub const EVP_PKEY_PQDSA: i32 = 993;
3300pub const EVP_PKEY_KEM: i32 = 970;
3301pub const PKCS5_SALT_LEN: i32 = 8;
3302pub const EVP_PKEY_RSA2: i32 = 19;
3303pub const EVP_PKEY_X448: i32 = 961;
3304pub const EVP_PKEY_ED448: i32 = 960;
3305pub const EVP_PKEY_DSA: i32 = 116;
3306pub const HKDF_R_OUTPUT_TOO_LARGE: i32 = 100;
3307pub const MD5_CBLOCK: i32 = 64;
3308pub const MD5_DIGEST_LENGTH: i32 = 16;
3309pub const HMAC_MD5_PRECOMPUTED_KEY_SIZE: i32 = 32;
3310pub const HMAC_SHA1_PRECOMPUTED_KEY_SIZE: i32 = 40;
3311pub const HMAC_SHA224_PRECOMPUTED_KEY_SIZE: i32 = 64;
3312pub const HMAC_SHA256_PRECOMPUTED_KEY_SIZE: i32 = 64;
3313pub const HMAC_SHA384_PRECOMPUTED_KEY_SIZE: i32 = 128;
3314pub const HMAC_SHA512_PRECOMPUTED_KEY_SIZE: i32 = 128;
3315pub const HMAC_SHA512_224_PRECOMPUTED_KEY_SIZE: i32 = 128;
3316pub const HMAC_SHA512_256_PRECOMPUTED_KEY_SIZE: i32 = 128;
3317pub const HMAC_MAX_PRECOMPUTED_KEY_SIZE: i32 = 128;
3318pub const HMAC_R_MISSING_PARAMETERS: i32 = 100;
3319pub const HMAC_R_BUFFER_TOO_SMALL: i32 = 102;
3320pub const HMAC_R_SET_PRECOMPUTED_KEY_EXPORT_NOT_CALLED: i32 = 103;
3321pub const HMAC_R_NOT_CALLED_JUST_AFTER_INIT: i32 = 104;
3322pub const EVP_HPKE_DHKEM_X25519_HKDF_SHA256: i32 = 32;
3323pub const EVP_HPKE_MAX_PUBLIC_KEY_LENGTH: i32 = 32;
3324pub const EVP_HPKE_MAX_PRIVATE_KEY_LENGTH: i32 = 32;
3325pub const EVP_HPKE_MAX_ENC_LENGTH: i32 = 32;
3326pub const EVP_HPKE_HKDF_SHA256: i32 = 1;
3327pub const EVP_HPKE_AES_128_GCM: i32 = 1;
3328pub const EVP_HPKE_AES_256_GCM: i32 = 2;
3329pub const EVP_HPKE_CHACHA20_POLY1305: i32 = 3;
3330pub const EVP_HPKE_MAX_OVERHEAD: i32 = 64;
3331pub const HRSS_SAMPLE_BYTES: i32 = 700;
3332pub const HRSS_GENERATE_KEY_BYTES: i32 = 1432;
3333pub const HRSS_ENCAP_BYTES: i32 = 1400;
3334pub const HRSS_PUBLIC_KEY_BYTES: i32 = 1138;
3335pub const HRSS_CIPHERTEXT_BYTES: i32 = 1138;
3336pub const HRSS_KEY_BYTES: i32 = 32;
3337pub const HRSS_POLY3_BYTES: i32 = 140;
3338pub const HRSS_PRIVATE_KEY_BYTES: i32 = 1452;
3339pub const EVP_PKEY_HKDEF_MODE_EXTRACT_AND_EXPAND: i32 = 0;
3340pub const EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY: i32 = 1;
3341pub const EVP_PKEY_HKDEF_MODE_EXPAND_ONLY: i32 = 2;
3342pub const MD4_CBLOCK: i32 = 64;
3343pub const MD4_DIGEST_LENGTH: i32 = 16;
3344pub const PKCS7_DETACHED: i32 = 64;
3345pub const PKCS7_BINARY: i32 = 128;
3346pub const PKCS7_NOINTERN: i32 = 16;
3347pub const PKCS7_NOATTR: i32 = 256;
3348pub const PKCS7_NOCERTS: i32 = 2;
3349pub const PKCS7_NOVERIFY: i32 = 32;
3350pub const PKCS7_TEXT: i32 = 1;
3351pub const PKCS7_NOSIGS: i32 = 4;
3352pub const PKCS7_NOCHAIN: i32 = 8;
3353pub const PKCS7_NOSMIMECAP: i32 = 512;
3354pub const PKCS7_STREAM: i32 = 4096;
3355pub const PKCS7_PARTIAL: i32 = 16384;
3356pub const PKCS7_R_BAD_PKCS7_VERSION: i32 = 100;
3357pub const PKCS7_R_NOT_PKCS7_SIGNED_DATA: i32 = 101;
3358pub const PKCS7_R_NO_CERTIFICATES_INCLUDED: i32 = 102;
3359pub const PKCS7_R_NO_CRLS_INCLUDED: i32 = 103;
3360pub const PKCS7_R_INVALID_NULL_POINTER: i32 = 104;
3361pub const PKCS7_R_NO_CONTENT: i32 = 105;
3362pub const PKCS7_R_CIPHER_NOT_INITIALIZED: i32 = 106;
3363pub const PKCS7_R_UNSUPPORTED_CONTENT_TYPE: i32 = 107;
3364pub const PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST: i32 = 108;
3365pub const PKCS7_R_UNABLE_TO_FIND_MEM_BIO: i32 = 109;
3366pub const PKCS7_R_WRONG_CONTENT_TYPE: i32 = 110;
3367pub const PKCS7_R_CONTENT_AND_DATA_PRESENT: i32 = 111;
3368pub const PKCS7_R_NO_SIGNATURES_ON_DATA: i32 = 112;
3369pub const PKCS7_R_CERTIFICATE_VERIFY_ERROR: i32 = 113;
3370pub const PKCS7_R_SMIME_TEXT_ERROR: i32 = 114;
3371pub const PKCS7_R_SIGNATURE_FAILURE: i32 = 115;
3372pub const PKCS7_R_NO_SIGNERS: i32 = 116;
3373pub const PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 117;
3374pub const PKCS7_R_ERROR_SETTING_CIPHER: i32 = 118;
3375pub const PKCS7_R_ERROR_ADDING_RECIPIENT: i32 = 119;
3376pub const PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 120;
3377pub const PKCS7_R_DECRYPT_ERROR: i32 = 121;
3378pub const PKCS7_R_PKCS7_DATASIGN: i32 = 122;
3379pub const PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 123;
3380pub const PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE: i32 = 124;
3381pub const PKCS7_R_UNKNOWN_DIGEST_TYPE: i32 = 125;
3382pub const PKCS7_R_INVALID_SIGNED_DATA_TYPE: i32 = 126;
3383pub const PKCS7_R_UNSUPPORTED_CIPHER_TYPE: i32 = 127;
3384pub const PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE: i32 = 128;
3385pub const PKCS7_R_DIGEST_FAILURE: i32 = 129;
3386pub const PKCS7_R_WRONG_PKCS7_TYPE: i32 = 130;
3387pub const PKCS7_R_PKCS7_ADD_SIGNER_ERROR: i32 = 131;
3388pub const PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR: i32 = 132;
3389pub const PKCS7_R_NO_DEFAULT_DIGEST: i32 = 133;
3390pub const PKCS7_R_CERT_MUST_BE_RSA: i32 = 134;
3391pub const PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE: i32 = 135;
3392pub const RSA_PKCS1_PADDING: i32 = 1;
3393pub const RSA_NO_PADDING: i32 = 3;
3394pub const RSA_PKCS1_OAEP_PADDING: i32 = 4;
3395pub const RSA_PKCS1_PSS_PADDING: i32 = 6;
3396pub const RSA_PSS_SALTLEN_DIGEST: i32 = -1;
3397pub const RSA_FLAG_OPAQUE: i32 = 1;
3398pub const RSA_FLAG_NO_BLINDING: i32 = 8;
3399pub const RSA_FLAG_EXT_PKEY: i32 = 32;
3400pub const RSA_FLAG_NO_PUBLIC_EXPONENT: i32 = 64;
3401pub const RSA_FLAG_LARGE_PUBLIC_EXPONENT: i32 = 128;
3402pub const RSA_3: i32 = 3;
3403pub const RSA_F4: i32 = 65537;
3404pub const RSA_METHOD_FLAG_NO_CHECK: i32 = 1;
3405pub const RSA_R_BAD_ENCODING: i32 = 100;
3406pub const RSA_R_BAD_E_VALUE: i32 = 101;
3407pub const RSA_R_BAD_FIXED_HEADER_DECRYPT: i32 = 102;
3408pub const RSA_R_BAD_PAD_BYTE_COUNT: i32 = 103;
3409pub const RSA_R_BAD_RSA_PARAMETERS: i32 = 104;
3410pub const RSA_R_BAD_SIGNATURE: i32 = 105;
3411pub const RSA_R_BAD_VERSION: i32 = 106;
3412pub const RSA_R_BLOCK_TYPE_IS_NOT_01: i32 = 107;
3413pub const RSA_R_BN_NOT_INITIALIZED: i32 = 108;
3414pub const RSA_R_CANNOT_RECOVER_MULTI_PRIME_KEY: i32 = 109;
3415pub const RSA_R_CRT_PARAMS_ALREADY_GIVEN: i32 = 110;
3416pub const RSA_R_CRT_VALUES_INCORRECT: i32 = 111;
3417pub const RSA_R_DATA_LEN_NOT_EQUAL_TO_MOD_LEN: i32 = 112;
3418pub const RSA_R_DATA_TOO_LARGE: i32 = 113;
3419pub const RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE: i32 = 114;
3420pub const RSA_R_DATA_TOO_LARGE_FOR_MODULUS: i32 = 115;
3421pub const RSA_R_DATA_TOO_SMALL: i32 = 116;
3422pub const RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE: i32 = 117;
3423pub const RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY: i32 = 118;
3424pub const RSA_R_D_E_NOT_CONGRUENT_TO_1: i32 = 119;
3425pub const RSA_R_EMPTY_PUBLIC_KEY: i32 = 120;
3426pub const RSA_R_ENCODE_ERROR: i32 = 121;
3427pub const RSA_R_FIRST_OCTET_INVALID: i32 = 122;
3428pub const RSA_R_INCONSISTENT_SET_OF_CRT_VALUES: i32 = 123;
3429pub const RSA_R_INTERNAL_ERROR: i32 = 124;
3430pub const RSA_R_INVALID_MESSAGE_LENGTH: i32 = 125;
3431pub const RSA_R_KEY_SIZE_TOO_SMALL: i32 = 126;
3432pub const RSA_R_LAST_OCTET_INVALID: i32 = 127;
3433pub const RSA_R_MODULUS_TOO_LARGE: i32 = 128;
3434pub const RSA_R_MUST_HAVE_AT_LEAST_TWO_PRIMES: i32 = 129;
3435pub const RSA_R_NO_PUBLIC_EXPONENT: i32 = 130;
3436pub const RSA_R_NULL_BEFORE_BLOCK_MISSING: i32 = 131;
3437pub const RSA_R_N_NOT_EQUAL_P_Q: i32 = 132;
3438pub const RSA_R_OAEP_DECODING_ERROR: i32 = 133;
3439pub const RSA_R_ONLY_ONE_OF_P_Q_GIVEN: i32 = 134;
3440pub const RSA_R_OUTPUT_BUFFER_TOO_SMALL: i32 = 135;
3441pub const RSA_R_PADDING_CHECK_FAILED: i32 = 136;
3442pub const RSA_R_PKCS_DECODING_ERROR: i32 = 137;
3443pub const RSA_R_SLEN_CHECK_FAILED: i32 = 138;
3444pub const RSA_R_SLEN_RECOVERY_FAILED: i32 = 139;
3445pub const RSA_R_TOO_LONG: i32 = 140;
3446pub const RSA_R_TOO_MANY_ITERATIONS: i32 = 141;
3447pub const RSA_R_UNKNOWN_ALGORITHM_TYPE: i32 = 142;
3448pub const RSA_R_UNKNOWN_PADDING_TYPE: i32 = 143;
3449pub const RSA_R_VALUE_MISSING: i32 = 144;
3450pub const RSA_R_WRONG_SIGNATURE_LENGTH: i32 = 145;
3451pub const RSA_R_PUBLIC_KEY_VALIDATION_FAILED: i32 = 146;
3452pub const RSA_R_D_OUT_OF_RANGE: i32 = 147;
3453pub const RSA_R_BLOCK_TYPE_IS_NOT_02: i32 = 148;
3454pub const RSA_R_MISMATCHED_SIGNATURE: i32 = 248;
3455pub const RSA_F_RSA_OSSL_PRIVATE_ENCRYPT: i32 = 0;
3456pub const X509V3_R_BAD_IP_ADDRESS: i32 = 100;
3457pub const X509V3_R_BAD_OBJECT: i32 = 101;
3458pub const X509V3_R_BN_DEC2BN_ERROR: i32 = 102;
3459pub const X509V3_R_BN_TO_ASN1_INTEGER_ERROR: i32 = 103;
3460pub const X509V3_R_CANNOT_FIND_FREE_FUNCTION: i32 = 104;
3461pub const X509V3_R_DIRNAME_ERROR: i32 = 105;
3462pub const X509V3_R_DISTPOINT_ALREADY_SET: i32 = 106;
3463pub const X509V3_R_DUPLICATE_ZONE_ID: i32 = 107;
3464pub const X509V3_R_ERROR_CONVERTING_ZONE: i32 = 108;
3465pub const X509V3_R_ERROR_CREATING_EXTENSION: i32 = 109;
3466pub const X509V3_R_ERROR_IN_EXTENSION: i32 = 110;
3467pub const X509V3_R_EXPECTED_A_SECTION_NAME: i32 = 111;
3468pub const X509V3_R_EXTENSION_EXISTS: i32 = 112;
3469pub const X509V3_R_EXTENSION_NAME_ERROR: i32 = 113;
3470pub const X509V3_R_EXTENSION_NOT_FOUND: i32 = 114;
3471pub const X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED: i32 = 115;
3472pub const X509V3_R_EXTENSION_VALUE_ERROR: i32 = 116;
3473pub const X509V3_R_ILLEGAL_EMPTY_EXTENSION: i32 = 117;
3474pub const X509V3_R_ILLEGAL_HEX_DIGIT: i32 = 118;
3475pub const X509V3_R_INCORRECT_POLICY_SYNTAX_TAG: i32 = 119;
3476pub const X509V3_R_INVALID_BOOLEAN_STRING: i32 = 120;
3477pub const X509V3_R_INVALID_EXTENSION_STRING: i32 = 121;
3478pub const X509V3_R_INVALID_MULTIPLE_RDNS: i32 = 122;
3479pub const X509V3_R_INVALID_NAME: i32 = 123;
3480pub const X509V3_R_INVALID_NULL_ARGUMENT: i32 = 124;
3481pub const X509V3_R_INVALID_NULL_NAME: i32 = 125;
3482pub const X509V3_R_INVALID_NULL_VALUE: i32 = 126;
3483pub const X509V3_R_INVALID_NUMBER: i32 = 127;
3484pub const X509V3_R_INVALID_NUMBERS: i32 = 128;
3485pub const X509V3_R_INVALID_OBJECT_IDENTIFIER: i32 = 129;
3486pub const X509V3_R_INVALID_OPTION: i32 = 130;
3487pub const X509V3_R_INVALID_POLICY_IDENTIFIER: i32 = 131;
3488pub const X509V3_R_INVALID_PROXY_POLICY_SETTING: i32 = 132;
3489pub const X509V3_R_INVALID_PURPOSE: i32 = 133;
3490pub const X509V3_R_INVALID_SECTION: i32 = 134;
3491pub const X509V3_R_INVALID_SYNTAX: i32 = 135;
3492pub const X509V3_R_ISSUER_DECODE_ERROR: i32 = 136;
3493pub const X509V3_R_MISSING_VALUE: i32 = 137;
3494pub const X509V3_R_NEED_ORGANIZATION_AND_NUMBERS: i32 = 138;
3495pub const X509V3_R_NO_CONFIG_DATABASE: i32 = 139;
3496pub const X509V3_R_NO_ISSUER_CERTIFICATE: i32 = 140;
3497pub const X509V3_R_NO_ISSUER_DETAILS: i32 = 141;
3498pub const X509V3_R_NO_POLICY_IDENTIFIER: i32 = 142;
3499pub const X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED: i32 = 143;
3500pub const X509V3_R_NO_PUBLIC_KEY: i32 = 144;
3501pub const X509V3_R_NO_SUBJECT_DETAILS: i32 = 145;
3502pub const X509V3_R_ODD_NUMBER_OF_DIGITS: i32 = 146;
3503pub const X509V3_R_OPERATION_NOT_DEFINED: i32 = 147;
3504pub const X509V3_R_OTHERNAME_ERROR: i32 = 148;
3505pub const X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED: i32 = 149;
3506pub const X509V3_R_POLICY_PATH_LENGTH: i32 = 150;
3507pub const X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED: i32 = 151;
3508pub const X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY: i32 = 152;
3509pub const X509V3_R_SECTION_NOT_FOUND: i32 = 153;
3510pub const X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS: i32 = 154;
3511pub const X509V3_R_UNABLE_TO_GET_ISSUER_KEYID: i32 = 155;
3512pub const X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT: i32 = 156;
3513pub const X509V3_R_UNKNOWN_EXTENSION: i32 = 157;
3514pub const X509V3_R_UNKNOWN_EXTENSION_NAME: i32 = 158;
3515pub const X509V3_R_UNKNOWN_OPTION: i32 = 159;
3516pub const X509V3_R_UNSUPPORTED_OPTION: i32 = 160;
3517pub const X509V3_R_UNSUPPORTED_TYPE: i32 = 161;
3518pub const X509V3_R_USER_TOO_LONG: i32 = 162;
3519pub const X509V3_R_INVALID_VALUE: i32 = 163;
3520pub const X509V3_R_TRAILING_DATA_IN_EXTENSION: i32 = 164;
3521pub const X509_VERSION_1: i32 = 0;
3522pub const X509_VERSION_2: i32 = 1;
3523pub const X509_VERSION_3: i32 = 2;
3524pub const EXFLAG_BCONS: i32 = 1;
3525pub const EXFLAG_KUSAGE: i32 = 2;
3526pub const EXFLAG_XKUSAGE: i32 = 4;
3527pub const EXFLAG_NSCERT: i32 = 8;
3528pub const EXFLAG_CA: i32 = 16;
3529pub const EXFLAG_SI: i32 = 32;
3530pub const EXFLAG_V1: i32 = 64;
3531pub const EXFLAG_INVALID: i32 = 128;
3532pub const EXFLAG_SET: i32 = 256;
3533pub const EXFLAG_CRITICAL: i32 = 512;
3534pub const EXFLAG_SS: i32 = 8192;
3535pub const X509v3_KU_DIGITAL_SIGNATURE: i32 = 128;
3536pub const X509v3_KU_NON_REPUDIATION: i32 = 64;
3537pub const X509v3_KU_KEY_ENCIPHERMENT: i32 = 32;
3538pub const X509v3_KU_DATA_ENCIPHERMENT: i32 = 16;
3539pub const X509v3_KU_KEY_AGREEMENT: i32 = 8;
3540pub const X509v3_KU_KEY_CERT_SIGN: i32 = 4;
3541pub const X509v3_KU_CRL_SIGN: i32 = 2;
3542pub const X509v3_KU_ENCIPHER_ONLY: i32 = 1;
3543pub const X509v3_KU_DECIPHER_ONLY: i32 = 32768;
3544pub const XKU_SSL_SERVER: i32 = 1;
3545pub const XKU_SSL_CLIENT: i32 = 2;
3546pub const XKU_SMIME: i32 = 4;
3547pub const XKU_CODE_SIGN: i32 = 8;
3548pub const XKU_SGC: i32 = 16;
3549pub const XKU_OCSP_SIGN: i32 = 32;
3550pub const XKU_TIMESTAMP: i32 = 64;
3551pub const XKU_DVCS: i32 = 128;
3552pub const XKU_ANYEKU: i32 = 256;
3553pub const X509_SIG_INFO_VALID: i32 = 1;
3554pub const X509_SIG_INFO_TLS: i32 = 2;
3555pub const X509_CRL_VERSION_1: i32 = 0;
3556pub const X509_CRL_VERSION_2: i32 = 1;
3557pub const X509_REQ_VERSION_1: i32 = 0;
3558pub const X509V3_ADD_OP_MASK: i32 = 15;
3559pub const X509V3_ADD_DEFAULT: i32 = 0;
3560pub const X509V3_ADD_APPEND: i32 = 1;
3561pub const X509V3_ADD_REPLACE: i32 = 2;
3562pub const X509V3_ADD_REPLACE_EXISTING: i32 = 3;
3563pub const X509V3_ADD_KEEP_EXISTING: i32 = 4;
3564pub const X509V3_ADD_DELETE: i32 = 5;
3565pub const X509V3_ADD_SILENT: i32 = 16;
3566pub const GEN_OTHERNAME: i32 = 0;
3567pub const GEN_EMAIL: i32 = 1;
3568pub const GEN_DNS: i32 = 2;
3569pub const GEN_X400: i32 = 3;
3570pub const GEN_DIRNAME: i32 = 4;
3571pub const GEN_EDIPARTY: i32 = 5;
3572pub const GEN_URI: i32 = 6;
3573pub const GEN_IPADD: i32 = 7;
3574pub const GEN_RID: i32 = 8;
3575pub const X509_LU_NONE: i32 = 0;
3576pub const X509_LU_X509: i32 = 1;
3577pub const X509_LU_CRL: i32 = 2;
3578pub const X509_LU_PKEY: i32 = 3;
3579pub const X509_V_OK: i32 = 0;
3580pub const X509_V_ERR_UNSPECIFIED: i32 = 1;
3581pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: i32 = 2;
3582pub const X509_V_ERR_UNABLE_TO_GET_CRL: i32 = 3;
3583pub const X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: i32 = 4;
3584pub const X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: i32 = 5;
3585pub const X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: i32 = 6;
3586pub const X509_V_ERR_CERT_SIGNATURE_FAILURE: i32 = 7;
3587pub const X509_V_ERR_CRL_SIGNATURE_FAILURE: i32 = 8;
3588pub const X509_V_ERR_CERT_NOT_YET_VALID: i32 = 9;
3589pub const X509_V_ERR_CERT_HAS_EXPIRED: i32 = 10;
3590pub const X509_V_ERR_CRL_NOT_YET_VALID: i32 = 11;
3591pub const X509_V_ERR_CRL_HAS_EXPIRED: i32 = 12;
3592pub const X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: i32 = 13;
3593pub const X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: i32 = 14;
3594pub const X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: i32 = 15;
3595pub const X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: i32 = 16;
3596pub const X509_V_ERR_OUT_OF_MEM: i32 = 17;
3597pub const X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: i32 = 18;
3598pub const X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: i32 = 19;
3599pub const X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: i32 = 20;
3600pub const X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: i32 = 21;
3601pub const X509_V_ERR_CERT_CHAIN_TOO_LONG: i32 = 22;
3602pub const X509_V_ERR_CERT_REVOKED: i32 = 23;
3603pub const X509_V_ERR_INVALID_CA: i32 = 24;
3604pub const X509_V_ERR_PATH_LENGTH_EXCEEDED: i32 = 25;
3605pub const X509_V_ERR_INVALID_PURPOSE: i32 = 26;
3606pub const X509_V_ERR_CERT_UNTRUSTED: i32 = 27;
3607pub const X509_V_ERR_CERT_REJECTED: i32 = 28;
3608pub const X509_V_ERR_SUBJECT_ISSUER_MISMATCH: i32 = 29;
3609pub const X509_V_ERR_AKID_SKID_MISMATCH: i32 = 30;
3610pub const X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: i32 = 31;
3611pub const X509_V_ERR_KEYUSAGE_NO_CERTSIGN: i32 = 32;
3612pub const X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER: i32 = 33;
3613pub const X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION: i32 = 34;
3614pub const X509_V_ERR_KEYUSAGE_NO_CRL_SIGN: i32 = 35;
3615pub const X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION: i32 = 36;
3616pub const X509_V_ERR_INVALID_NON_CA: i32 = 37;
3617pub const X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED: i32 = 38;
3618pub const X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE: i32 = 39;
3619pub const X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED: i32 = 40;
3620pub const X509_V_ERR_INVALID_EXTENSION: i32 = 41;
3621pub const X509_V_ERR_INVALID_POLICY_EXTENSION: i32 = 42;
3622pub const X509_V_ERR_NO_EXPLICIT_POLICY: i32 = 43;
3623pub const X509_V_ERR_DIFFERENT_CRL_SCOPE: i32 = 44;
3624pub const X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE: i32 = 45;
3625pub const X509_V_ERR_UNNESTED_RESOURCE: i32 = 46;
3626pub const X509_V_ERR_PERMITTED_VIOLATION: i32 = 47;
3627pub const X509_V_ERR_EXCLUDED_VIOLATION: i32 = 48;
3628pub const X509_V_ERR_SUBTREE_MINMAX: i32 = 49;
3629pub const X509_V_ERR_APPLICATION_VERIFICATION: i32 = 50;
3630pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE: i32 = 51;
3631pub const X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX: i32 = 52;
3632pub const X509_V_ERR_UNSUPPORTED_NAME_SYNTAX: i32 = 53;
3633pub const X509_V_ERR_CRL_PATH_VALIDATION_ERROR: i32 = 54;
3634pub const X509_V_ERR_HOSTNAME_MISMATCH: i32 = 62;
3635pub const X509_V_ERR_EMAIL_MISMATCH: i32 = 63;
3636pub const X509_V_ERR_IP_ADDRESS_MISMATCH: i32 = 64;
3637pub const X509_V_ERR_INVALID_CALL: i32 = 65;
3638pub const X509_V_ERR_STORE_LOOKUP: i32 = 66;
3639pub const X509_V_ERR_NAME_CONSTRAINTS_WITHOUT_SANS: i32 = 67;
3640pub const X509_V_ERR_EE_KEY_TOO_SMALL: i32 = 68;
3641pub const X509_V_ERR_CA_KEY_TOO_SMALL: i32 = 69;
3642pub const X509_V_ERR_CA_MD_TOO_WEAK: i32 = 70;
3643pub const X509_V_FLAG_CB_ISSUER_CHECK: i32 = 1;
3644pub const X509_V_FLAG_USE_CHECK_TIME: i32 = 2;
3645pub const X509_V_FLAG_CRL_CHECK: i32 = 4;
3646pub const X509_V_FLAG_CRL_CHECK_ALL: i32 = 8;
3647pub const X509_V_FLAG_IGNORE_CRITICAL: i32 = 16;
3648pub const X509_V_FLAG_X509_STRICT: i32 = 0;
3649pub const X509_V_FLAG_ALLOW_PROXY_CERTS: i32 = 64;
3650pub const X509_V_FLAG_POLICY_CHECK: i32 = 128;
3651pub const X509_V_FLAG_EXPLICIT_POLICY: i32 = 256;
3652pub const X509_V_FLAG_INHIBIT_ANY: i32 = 512;
3653pub const X509_V_FLAG_INHIBIT_MAP: i32 = 1024;
3654pub const X509_V_FLAG_NOTIFY_POLICY: i32 = 2048;
3655pub const X509_V_FLAG_EXTENDED_CRL_SUPPORT: i32 = 4096;
3656pub const X509_V_FLAG_USE_DELTAS: i32 = 8192;
3657pub const X509_V_FLAG_CHECK_SS_SIGNATURE: i32 = 16384;
3658pub const X509_V_FLAG_TRUSTED_FIRST: i32 = 32768;
3659pub const X509_V_FLAG_PARTIAL_CHAIN: i32 = 524288;
3660pub const X509_V_FLAG_NO_ALT_CHAINS: i32 = 1048576;
3661pub const X509_V_FLAG_NO_CHECK_TIME: i32 = 2097152;
3662pub const X509_CHECK_FLAG_NO_WILDCARDS: i32 = 2;
3663pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: i32 = 32;
3664pub const X509_PURPOSE_SSL_CLIENT: i32 = 1;
3665pub const X509_PURPOSE_SSL_SERVER: i32 = 2;
3666pub const X509_PURPOSE_NS_SSL_SERVER: i32 = 3;
3667pub const X509_PURPOSE_SMIME_SIGN: i32 = 4;
3668pub const X509_PURPOSE_SMIME_ENCRYPT: i32 = 5;
3669pub const X509_PURPOSE_CRL_SIGN: i32 = 6;
3670pub const X509_PURPOSE_ANY: i32 = 7;
3671pub const X509_PURPOSE_OCSP_HELPER: i32 = 8;
3672pub const X509_PURPOSE_TIMESTAMP_SIGN: i32 = 9;
3673pub const X509_TRUST_COMPAT: i32 = 1;
3674pub const X509_TRUST_SSL_CLIENT: i32 = 2;
3675pub const X509_TRUST_SSL_SERVER: i32 = 3;
3676pub const X509_TRUST_EMAIL: i32 = 4;
3677pub const X509_TRUST_OBJECT_SIGN: i32 = 5;
3678pub const X509_TRUST_OCSP_SIGN: i32 = 6;
3679pub const X509_TRUST_OCSP_REQUEST: i32 = 7;
3680pub const X509_TRUST_TSA: i32 = 8;
3681pub const X509_FILETYPE_PEM: i32 = 1;
3682pub const X509_FILETYPE_ASN1: i32 = 2;
3683pub const X509_FILETYPE_DEFAULT: i32 = 3;
3684pub const X509_L_FILE_LOAD: i32 = 1;
3685pub const X509_L_ADD_DIR: i32 = 2;
3686pub const X509_FLAG_COMPAT: i32 = 0;
3687pub const X509_FLAG_NO_HEADER: i32 = 1;
3688pub const X509_FLAG_NO_VERSION: i32 = 2;
3689pub const X509_FLAG_NO_SERIAL: i32 = 4;
3690pub const X509_FLAG_NO_SIGNAME: i32 = 8;
3691pub const X509_FLAG_NO_ISSUER: i32 = 16;
3692pub const X509_FLAG_NO_VALIDITY: i32 = 32;
3693pub const X509_FLAG_NO_SUBJECT: i32 = 64;
3694pub const X509_FLAG_NO_PUBKEY: i32 = 128;
3695pub const X509_FLAG_NO_EXTENSIONS: i32 = 256;
3696pub const X509_FLAG_NO_SIGDUMP: i32 = 512;
3697pub const X509_FLAG_NO_AUX: i32 = 1024;
3698pub const X509_FLAG_NO_ATTRIBUTES: i32 = 2048;
3699pub const X509_FLAG_NO_IDS: i32 = 4096;
3700pub const X509V3_EXT_UNKNOWN_MASK: i32 = 983040;
3701pub const X509V3_EXT_DEFAULT: i32 = 0;
3702pub const X509V3_EXT_ERROR_UNKNOWN: i32 = 65536;
3703pub const X509V3_EXT_PARSE_UNKNOWN: i32 = 131072;
3704pub const X509V3_EXT_DUMP_UNKNOWN: i32 = 196608;
3705pub const XN_FLAG_COMPAT: i32 = 0;
3706pub const XN_FLAG_SEP_MASK: i32 = 983040;
3707pub const XN_FLAG_SEP_COMMA_PLUS: i32 = 65536;
3708pub const XN_FLAG_SEP_CPLUS_SPC: i32 = 131072;
3709pub const XN_FLAG_SEP_SPLUS_SPC: i32 = 196608;
3710pub const XN_FLAG_SEP_MULTILINE: i32 = 262144;
3711pub const XN_FLAG_DN_REV: i32 = 1048576;
3712pub const XN_FLAG_FN_MASK: i32 = 6291456;
3713pub const XN_FLAG_FN_SN: i32 = 0;
3714pub const XN_FLAG_FN_LN: i32 = 2097152;
3715pub const XN_FLAG_FN_OID: i32 = 4194304;
3716pub const XN_FLAG_FN_NONE: i32 = 6291456;
3717pub const XN_FLAG_SPC_EQ: i32 = 8388608;
3718pub const XN_FLAG_DUMP_UNKNOWN_FIELDS: i32 = 16777216;
3719pub const XN_FLAG_FN_ALIGN: i32 = 33554432;
3720pub const XN_FLAG_RFC2253: i32 = 17892119;
3721pub const XN_FLAG_ONELINE: i32 = 8520479;
3722pub const XN_FLAG_MULTILINE: i32 = 44302342;
3723pub const X509_TRUST_TRUSTED: i32 = 1;
3724pub const X509_TRUST_REJECTED: i32 = 2;
3725pub const X509_TRUST_UNTRUSTED: i32 = 3;
3726pub const X509V3_EXT_MULTILINE: i32 = 4;
3727pub const X509V3_CTX_TEST: i32 = 1;
3728pub const X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT: i32 = 0;
3729pub const X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS: i32 = 0;
3730pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: i32 = 0;
3731pub const X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS: i32 = 0;
3732pub const NS_SSL_CLIENT: i32 = 128;
3733pub const NS_SSL_SERVER: i32 = 64;
3734pub const NS_SMIME: i32 = 32;
3735pub const NS_OBJSIGN: i32 = 16;
3736pub const NS_SSL_CA: i32 = 4;
3737pub const NS_SMIME_CA: i32 = 2;
3738pub const NS_OBJSIGN_CA: i32 = 1;
3739pub const NS_ANY_CA: i32 = 7;
3740pub const X509_V_FLAG_POLICY_MASK: i32 = 1920;
3741pub const X509_R_AKID_MISMATCH: i32 = 100;
3742pub const X509_R_BAD_PKCS7_VERSION: i32 = 101;
3743pub const X509_R_BAD_X509_FILETYPE: i32 = 102;
3744pub const X509_R_BASE64_DECODE_ERROR: i32 = 103;
3745pub const X509_R_CANT_CHECK_DH_KEY: i32 = 104;
3746pub const X509_R_CERT_ALREADY_IN_HASH_TABLE: i32 = 105;
3747pub const X509_R_CRL_ALREADY_DELTA: i32 = 106;
3748pub const X509_R_CRL_VERIFY_FAILURE: i32 = 107;
3749pub const X509_R_IDP_MISMATCH: i32 = 108;
3750pub const X509_R_INVALID_BIT_STRING_BITS_LEFT: i32 = 109;
3751pub const X509_R_INVALID_DIRECTORY: i32 = 110;
3752pub const X509_R_INVALID_FIELD_NAME: i32 = 111;
3753pub const X509_R_INVALID_PSS_PARAMETERS: i32 = 112;
3754pub const X509_R_INVALID_TRUST: i32 = 113;
3755pub const X509_R_ISSUER_MISMATCH: i32 = 114;
3756pub const X509_R_KEY_TYPE_MISMATCH: i32 = 115;
3757pub const X509_R_KEY_VALUES_MISMATCH: i32 = 116;
3758pub const X509_R_LOADING_CERT_DIR: i32 = 117;
3759pub const X509_R_LOADING_DEFAULTS: i32 = 118;
3760pub const X509_R_NEWER_CRL_NOT_NEWER: i32 = 119;
3761pub const X509_R_NOT_PKCS7_SIGNED_DATA: i32 = 120;
3762pub const X509_R_NO_CERTIFICATES_INCLUDED: i32 = 121;
3763pub const X509_R_NO_CERT_SET_FOR_US_TO_VERIFY: i32 = 122;
3764pub const X509_R_NO_CRLS_INCLUDED: i32 = 123;
3765pub const X509_R_NO_CRL_NUMBER: i32 = 124;
3766pub const X509_R_PUBLIC_KEY_DECODE_ERROR: i32 = 125;
3767pub const X509_R_PUBLIC_KEY_ENCODE_ERROR: i32 = 126;
3768pub const X509_R_SHOULD_RETRY: i32 = 127;
3769pub const X509_R_UNKNOWN_KEY_TYPE: i32 = 128;
3770pub const X509_R_UNKNOWN_NID: i32 = 129;
3771pub const X509_R_UNKNOWN_PURPOSE_ID: i32 = 130;
3772pub const X509_R_UNKNOWN_TRUST_ID: i32 = 131;
3773pub const X509_R_UNSUPPORTED_ALGORITHM: i32 = 132;
3774pub const X509_R_WRONG_LOOKUP_TYPE: i32 = 133;
3775pub const X509_R_WRONG_TYPE: i32 = 134;
3776pub const X509_R_NAME_TOO_LONG: i32 = 135;
3777pub const X509_R_INVALID_PARAMETER: i32 = 136;
3778pub const X509_R_SIGNATURE_ALGORITHM_MISMATCH: i32 = 137;
3779pub const X509_R_DELTA_CRL_WITHOUT_CRL_NUMBER: i32 = 138;
3780pub const X509_R_INVALID_FIELD_FOR_VERSION: i32 = 139;
3781pub const X509_R_INVALID_VERSION: i32 = 140;
3782pub const X509_R_NO_CERTIFICATE_FOUND: i32 = 141;
3783pub const X509_R_NO_CERTIFICATE_OR_CRL_FOUND: i32 = 142;
3784pub const X509_R_NO_CRL_FOUND: i32 = 143;
3785pub const X509_R_INVALID_POLICY_EXTENSION: i32 = 144;
3786pub const X509_R_UNKNOWN_SIGID_ALGS: i32 = 145;
3787pub const CRL_REASON_NONE: i32 = -1;
3788pub const CRL_REASON_UNSPECIFIED: i32 = 0;
3789pub const CRL_REASON_KEY_COMPROMISE: i32 = 1;
3790pub const CRL_REASON_CA_COMPROMISE: i32 = 2;
3791pub const CRL_REASON_AFFILIATION_CHANGED: i32 = 3;
3792pub const CRL_REASON_SUPERSEDED: i32 = 4;
3793pub const CRL_REASON_CESSATION_OF_OPERATION: i32 = 5;
3794pub const CRL_REASON_CERTIFICATE_HOLD: i32 = 6;
3795pub const CRL_REASON_REMOVE_FROM_CRL: i32 = 8;
3796pub const CRL_REASON_PRIVILEGE_WITHDRAWN: i32 = 9;
3797pub const CRL_REASON_AA_COMPROMISE: i32 = 10;
3798pub const KU_DIGITAL_SIGNATURE: i32 = 128;
3799pub const KU_NON_REPUDIATION: i32 = 64;
3800pub const KU_KEY_ENCIPHERMENT: i32 = 32;
3801pub const KU_DATA_ENCIPHERMENT: i32 = 16;
3802pub const KU_KEY_AGREEMENT: i32 = 8;
3803pub const KU_KEY_CERT_SIGN: i32 = 4;
3804pub const KU_CRL_SIGN: i32 = 2;
3805pub const KU_ENCIPHER_ONLY: i32 = 1;
3806pub const KU_DECIPHER_ONLY: i32 = 32768;
3807pub const OCSP_REVOKED_STATUS_NOSTATUS: i32 = -1;
3808pub const OCSP_REVOKED_STATUS_UNSPECIFIED: i32 = 0;
3809pub const OCSP_REVOKED_STATUS_KEYCOMPROMISE: i32 = 1;
3810pub const OCSP_REVOKED_STATUS_CACOMPROMISE: i32 = 2;
3811pub const OCSP_REVOKED_STATUS_AFFILIATIONCHANGED: i32 = 3;
3812pub const OCSP_REVOKED_STATUS_SUPERSEDED: i32 = 4;
3813pub const OCSP_REVOKED_STATUS_CESSATIONOFOPERATION: i32 = 5;
3814pub const OCSP_REVOKED_STATUS_CERTIFICATEHOLD: i32 = 6;
3815pub const OCSP_REVOKED_STATUS_REMOVEFROMCRL: i32 = 8;
3816pub const OCSP_REVOKED_STATUS_PRIVILEGEWITHDRAWN: i32 = 9;
3817pub const OCSP_REVOKED_STATUS_AACOMPROMISE: i32 = 10;
3818pub const OCSP_NOCERTS: i32 = 1;
3819pub const OCSP_NOINTERN: i32 = 2;
3820pub const OCSP_NOCHAIN: i32 = 8;
3821pub const OCSP_NOVERIFY: i32 = 16;
3822pub const OCSP_NOEXPLICIT: i32 = 32;
3823pub const OCSP_TRUSTOTHER: i32 = 512;
3824pub const OCSP_RESPID_KEY: i32 = 1024;
3825pub const OCSP_NOTIME: i32 = 2048;
3826pub const OCSP_NOSIGS: i32 = 0;
3827pub const OCSP_NOCASIGN: i32 = 0;
3828pub const OCSP_NODELEGATED: i32 = 0;
3829pub const OCSP_NOCHECKS: i32 = 0;
3830pub const OCSP_RESPONSE_STATUS_SUCCESSFUL: i32 = 0;
3831pub const OCSP_RESPONSE_STATUS_MALFORMEDREQUEST: i32 = 1;
3832pub const OCSP_RESPONSE_STATUS_INTERNALERROR: i32 = 2;
3833pub const OCSP_RESPONSE_STATUS_TRYLATER: i32 = 3;
3834pub const OCSP_RESPONSE_STATUS_SIGREQUIRED: i32 = 5;
3835pub const OCSP_RESPONSE_STATUS_UNAUTHORIZED: i32 = 6;
3836pub const V_OCSP_RESPID_NAME: i32 = 0;
3837pub const V_OCSP_RESPID_KEY: i32 = 1;
3838pub const V_OCSP_CERTSTATUS_GOOD: i32 = 0;
3839pub const V_OCSP_CERTSTATUS_REVOKED: i32 = 1;
3840pub const V_OCSP_CERTSTATUS_UNKNOWN: i32 = 2;
3841pub const OCSP_NONCE_EQUAL: i32 = 1;
3842pub const OCSP_NONCE_BOTH_ABSENT: i32 = 2;
3843pub const OCSP_NONCE_RESPONSE_ONLY: i32 = 3;
3844pub const OCSP_NONCE_NOT_EQUAL: i32 = 0;
3845pub const OCSP_NONCE_REQUEST_ONLY: i32 = -1;
3846pub const OCSP_R_CERTIFICATE_VERIFY_ERROR: i32 = 101;
3847pub const OCSP_R_DIGEST_ERR: i32 = 102;
3848pub const OCSP_R_MISSING_OCSPSIGNING_USAGE: i32 = 103;
3849pub const OCSP_R_NOT_BASIC_RESPONSE: i32 = 104;
3850pub const OCSP_R_NO_CERTIFICATES_IN_CHAIN: i32 = 105;
3851pub const OCSP_R_NO_RESPONSE_DATA: i32 = 108;
3852pub const OCSP_R_NO_REVOKED_TIME: i32 = 109;
3853pub const OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE: i32 = 110;
3854pub const OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA: i32 = 111;
3855pub const OCSP_R_ROOT_CA_NOT_TRUSTED: i32 = 112;
3856pub const OCSP_R_SERVER_RESPONSE_PARSE_ERROR: i32 = 115;
3857pub const OCSP_R_SIGNATURE_FAILURE: i32 = 117;
3858pub const OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND: i32 = 118;
3859pub const OCSP_R_UNKNOWN_MESSAGE_DIGEST: i32 = 119;
3860pub const OCSP_R_UNKNOWN_NID: i32 = 120;
3861pub const OCSP_R_ERROR_PARSING_URL: i32 = 121;
3862pub const OCSP_R_ERROR_IN_NEXTUPDATE_FIELD: i32 = 122;
3863pub const OCSP_R_ERROR_IN_THISUPDATE_FIELD: i32 = 123;
3864pub const OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE: i32 = 124;
3865pub const OCSP_R_STATUS_EXPIRED: i32 = 125;
3866pub const OCSP_R_STATUS_NOT_YET_VALID: i32 = 126;
3867pub const OCSP_R_STATUS_TOO_OLD: i32 = 127;
3868pub const OCSP_R_REQUEST_NOT_SIGNED: i32 = 128;
3869pub const OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE: i32 = 129;
3870pub const OCSP_R_NO_SIGNER_KEY: i32 = 130;
3871pub const OCSP_R_OCSP_REQUEST_DUPLICATE_SIGNATURE: i32 = 131;
3872pub const OCSP_R_UNKNOWN_FIELD_VALUE: i32 = 132;
3873pub const PEM_BUFSIZE: i32 = 1024;
3874pub const PEM_STRING_X509_OLD: &[u8; 17] = b"X509 CERTIFICATE\0";
3875pub const PEM_STRING_X509: &[u8; 12] = b"CERTIFICATE\0";
3876pub const PEM_STRING_X509_PAIR: &[u8; 17] = b"CERTIFICATE PAIR\0";
3877pub const PEM_STRING_X509_TRUSTED: &[u8; 20] = b"TRUSTED CERTIFICATE\0";
3878pub const PEM_STRING_X509_REQ_OLD: &[u8; 24] = b"NEW CERTIFICATE REQUEST\0";
3879pub const PEM_STRING_X509_REQ: &[u8; 20] = b"CERTIFICATE REQUEST\0";
3880pub const PEM_STRING_X509_CRL: &[u8; 9] = b"X509 CRL\0";
3881pub const PEM_STRING_EVP_PKEY: &[u8; 16] = b"ANY PRIVATE KEY\0";
3882pub const PEM_STRING_PUBLIC: &[u8; 11] = b"PUBLIC KEY\0";
3883pub const PEM_STRING_RSA: &[u8; 16] = b"RSA PRIVATE KEY\0";
3884pub const PEM_STRING_RSA_PUBLIC: &[u8; 15] = b"RSA PUBLIC KEY\0";
3885pub const PEM_STRING_DSA: &[u8; 16] = b"DSA PRIVATE KEY\0";
3886pub const PEM_STRING_DSA_PUBLIC: &[u8; 15] = b"DSA PUBLIC KEY\0";
3887pub const PEM_STRING_EC: &[u8; 15] = b"EC PRIVATE KEY\0";
3888pub const PEM_STRING_PKCS7: &[u8; 6] = b"PKCS7\0";
3889pub const PEM_STRING_PKCS7_SIGNED: &[u8; 20] = b"PKCS #7 SIGNED DATA\0";
3890pub const PEM_STRING_PKCS8: &[u8; 22] = b"ENCRYPTED PRIVATE KEY\0";
3891pub const PEM_STRING_PKCS8INF: &[u8; 12] = b"PRIVATE KEY\0";
3892pub const PEM_STRING_DHPARAMS: &[u8; 14] = b"DH PARAMETERS\0";
3893pub const PEM_STRING_SSL_SESSION: &[u8; 23] = b"SSL SESSION PARAMETERS\0";
3894pub const PEM_STRING_DSAPARAMS: &[u8; 15] = b"DSA PARAMETERS\0";
3895pub const PEM_STRING_ECDSA_PUBLIC: &[u8; 17] = b"ECDSA PUBLIC KEY\0";
3896pub const PEM_STRING_ECPARAMETERS: &[u8; 14] = b"EC PARAMETERS\0";
3897pub const PEM_STRING_ECPRIVATEKEY: &[u8; 15] = b"EC PRIVATE KEY\0";
3898pub const PEM_STRING_PARAMETERS: &[u8; 11] = b"PARAMETERS\0";
3899pub const PEM_STRING_CMS: &[u8; 4] = b"CMS\0";
3900pub const PEM_TYPE_ENCRYPTED: i32 = 10;
3901pub const PEM_TYPE_MIC_ONLY: i32 = 20;
3902pub const PEM_TYPE_MIC_CLEAR: i32 = 30;
3903pub const PEM_TYPE_CLEAR: i32 = 40;
3904pub const PEM_R_BAD_BASE64_DECODE: i32 = 100;
3905pub const PEM_R_BAD_DECRYPT: i32 = 101;
3906pub const PEM_R_BAD_END_LINE: i32 = 102;
3907pub const PEM_R_BAD_IV_CHARS: i32 = 103;
3908pub const PEM_R_BAD_PASSWORD_READ: i32 = 104;
3909pub const PEM_R_CIPHER_IS_NULL: i32 = 105;
3910pub const PEM_R_ERROR_CONVERTING_PRIVATE_KEY: i32 = 106;
3911pub const PEM_R_NOT_DEK_INFO: i32 = 107;
3912pub const PEM_R_NOT_ENCRYPTED: i32 = 108;
3913pub const PEM_R_NOT_PROC_TYPE: i32 = 109;
3914pub const PEM_R_NO_START_LINE: i32 = 110;
3915pub const PEM_R_READ_KEY: i32 = 111;
3916pub const PEM_R_SHORT_HEADER: i32 = 112;
3917pub const PEM_R_UNSUPPORTED_CIPHER: i32 = 113;
3918pub const PEM_R_UNSUPPORTED_ENCRYPTION: i32 = 114;
3919pub const PEM_R_PROBLEMS_GETTING_PASSWORD: i32 = 115;
3920pub const PKCS12_DEFAULT_ITER: i32 = 2048;
3921pub const PKCS8_R_BAD_PKCS12_DATA: i32 = 100;
3922pub const PKCS8_R_BAD_PKCS12_VERSION: i32 = 101;
3923pub const PKCS8_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER: i32 = 102;
3924pub const PKCS8_R_CRYPT_ERROR: i32 = 103;
3925pub const PKCS8_R_DECODE_ERROR: i32 = 104;
3926pub const PKCS8_R_ENCODE_ERROR: i32 = 105;
3927pub const PKCS8_R_ENCRYPT_ERROR: i32 = 106;
3928pub const PKCS8_R_ERROR_SETTING_CIPHER_PARAMS: i32 = 107;
3929pub const PKCS8_R_INCORRECT_PASSWORD: i32 = 108;
3930pub const PKCS8_R_KEYGEN_FAILURE: i32 = 109;
3931pub const PKCS8_R_KEY_GEN_ERROR: i32 = 110;
3932pub const PKCS8_R_METHOD_NOT_SUPPORTED: i32 = 111;
3933pub const PKCS8_R_MISSING_MAC: i32 = 112;
3934pub const PKCS8_R_MULTIPLE_PRIVATE_KEYS_IN_PKCS12: i32 = 113;
3935pub const PKCS8_R_PKCS12_PUBLIC_KEY_INTEGRITY_NOT_SUPPORTED: i32 = 114;
3936pub const PKCS8_R_PKCS12_TOO_DEEPLY_NESTED: i32 = 115;
3937pub const PKCS8_R_PRIVATE_KEY_DECODE_ERROR: i32 = 116;
3938pub const PKCS8_R_PRIVATE_KEY_ENCODE_ERROR: i32 = 117;
3939pub const PKCS8_R_TOO_LONG: i32 = 118;
3940pub const PKCS8_R_UNKNOWN_ALGORITHM: i32 = 119;
3941pub const PKCS8_R_UNKNOWN_CIPHER: i32 = 120;
3942pub const PKCS8_R_UNKNOWN_CIPHER_ALGORITHM: i32 = 121;
3943pub const PKCS8_R_UNKNOWN_DIGEST: i32 = 122;
3944pub const PKCS8_R_UNKNOWN_HASH: i32 = 123;
3945pub const PKCS8_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM: i32 = 124;
3946pub const PKCS8_R_UNSUPPORTED_KEYLENGTH: i32 = 125;
3947pub const PKCS8_R_UNSUPPORTED_SALT_TYPE: i32 = 126;
3948pub const PKCS8_R_UNSUPPORTED_CIPHER: i32 = 127;
3949pub const PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION: i32 = 128;
3950pub const PKCS8_R_BAD_ITERATION_COUNT: i32 = 129;
3951pub const PKCS8_R_UNSUPPORTED_PRF: i32 = 130;
3952pub const PKCS8_R_INVALID_CHARACTERS: i32 = 131;
3953pub const PKCS8_R_UNSUPPORTED_OPTIONS: i32 = 132;
3954pub const PKCS8_R_AMBIGUOUS_FRIENDLY_NAME: i32 = 133;
3955pub const PKCS12_R_MAC_VERIFY_FAILURE: i32 = 108;
3956pub const RIPEMD160_CBLOCK: i32 = 64;
3957pub const RIPEMD160_LBLOCK: i32 = 16;
3958pub const RIPEMD160_DIGEST_LENGTH: i32 = 20;
3959pub const TRUST_TOKEN_MAX_PRIVATE_KEY_SIZE: i32 = 512;
3960pub const TRUST_TOKEN_MAX_PUBLIC_KEY_SIZE: i32 = 512;
3961pub const TRUST_TOKEN_R_KEYGEN_FAILURE: i32 = 100;
3962pub const TRUST_TOKEN_R_BUFFER_TOO_SMALL: i32 = 101;
3963pub const TRUST_TOKEN_R_OVER_BATCHSIZE: i32 = 102;
3964pub const TRUST_TOKEN_R_DECODE_ERROR: i32 = 103;
3965pub const TRUST_TOKEN_R_SRR_SIGNATURE_ERROR: i32 = 104;
3966pub const TRUST_TOKEN_R_DECODE_FAILURE: i32 = 105;
3967pub const TRUST_TOKEN_R_INVALID_METADATA: i32 = 106;
3968pub const TRUST_TOKEN_R_TOO_MANY_KEYS: i32 = 107;
3969pub const TRUST_TOKEN_R_NO_KEYS_CONFIGURED: i32 = 108;
3970pub const TRUST_TOKEN_R_INVALID_KEY_ID: i32 = 109;
3971pub const TRUST_TOKEN_R_INVALID_TOKEN: i32 = 110;
3972pub const TRUST_TOKEN_R_BAD_VALIDITY_CHECK: i32 = 111;
3973pub const TRUST_TOKEN_R_NO_SRR_KEY_CONFIGURED: i32 = 112;
3974pub const TRUST_TOKEN_R_INVALID_METADATA_KEY: i32 = 113;
3975pub const TRUST_TOKEN_R_INVALID_PROOF: i32 = 114;
3976pub type __off_t = ::std::os::raw::c_long;
3977pub type __off64_t = ::std::os::raw::c_long;
3978pub type __time_t = ::std::os::raw::c_long;
3979pub type time_t = __time_t;
3980pub type ossl_ssize_t = isize;
3981pub type CBS_ASN1_TAG = u32;
3982pub type CRYPTO_THREADID = ::std::os::raw::c_int;
3983#[repr(C)]
3984#[derive(Debug, Copy, Clone)]
3985pub struct asn1_null_st {
3986    _unused: [u8; 0],
3987}
3988pub type ASN1_NULL = asn1_null_st;
3989pub type ASN1_BOOLEAN = ::std::os::raw::c_int;
3990pub type ASN1_ITEM = ASN1_ITEM_st;
3991#[repr(C)]
3992#[derive(Debug, Copy, Clone)]
3993pub struct asn1_object_st {
3994    _unused: [u8; 0],
3995}
3996pub type ASN1_OBJECT = asn1_object_st;
3997#[repr(C)]
3998#[derive(Debug, Copy, Clone)]
3999pub struct asn1_pctx_st {
4000    _unused: [u8; 0],
4001}
4002pub type ASN1_PCTX = asn1_pctx_st;
4003pub type ASN1_BIT_STRING = asn1_string_st;
4004pub type ASN1_BMPSTRING = asn1_string_st;
4005pub type ASN1_ENUMERATED = asn1_string_st;
4006pub type ASN1_GENERALIZEDTIME = asn1_string_st;
4007pub type ASN1_GENERALSTRING = asn1_string_st;
4008pub type ASN1_IA5STRING = asn1_string_st;
4009pub type ASN1_INTEGER = asn1_string_st;
4010pub type ASN1_OCTET_STRING = asn1_string_st;
4011pub type ASN1_PRINTABLESTRING = asn1_string_st;
4012pub type ASN1_STRING = asn1_string_st;
4013pub type ASN1_T61STRING = asn1_string_st;
4014pub type ASN1_TIME = asn1_string_st;
4015pub type ASN1_UNIVERSALSTRING = asn1_string_st;
4016pub type ASN1_UTCTIME = asn1_string_st;
4017pub type ASN1_UTF8STRING = asn1_string_st;
4018pub type ASN1_VISIBLESTRING = asn1_string_st;
4019pub type ASN1_TYPE = asn1_type_st;
4020pub type AUTHORITY_KEYID = AUTHORITY_KEYID_st;
4021pub type BASIC_CONSTRAINTS = BASIC_CONSTRAINTS_st;
4022pub type DIST_POINT = DIST_POINT_st;
4023pub type DSA_SIG = DSA_SIG_st;
4024pub type GENERAL_NAME = GENERAL_NAME_st;
4025pub type ISSUING_DIST_POINT = ISSUING_DIST_POINT_st;
4026pub type NAME_CONSTRAINTS = NAME_CONSTRAINTS_st;
4027pub type NETSCAPE_SPKAC = Netscape_spkac_st;
4028pub type NETSCAPE_SPKI = Netscape_spki_st;
4029pub type RIPEMD160_CTX = RIPEMD160state_st;
4030#[repr(C)]
4031#[derive(Debug, Copy, Clone)]
4032pub struct X509_VERIFY_PARAM_st {
4033    _unused: [u8; 0],
4034}
4035pub type X509_VERIFY_PARAM = X509_VERIFY_PARAM_st;
4036pub type X509_ALGOR = X509_algor_st;
4037#[repr(C)]
4038#[derive(Debug, Copy, Clone)]
4039pub struct X509_crl_st {
4040    _unused: [u8; 0],
4041}
4042pub type X509_CRL = X509_crl_st;
4043#[repr(C)]
4044#[derive(Debug, Copy, Clone)]
4045pub struct X509_extension_st {
4046    _unused: [u8; 0],
4047}
4048pub type X509_EXTENSION = X509_extension_st;
4049pub type X509_INFO = X509_info_st;
4050#[repr(C)]
4051#[derive(Debug, Copy, Clone)]
4052pub struct X509_name_entry_st {
4053    _unused: [u8; 0],
4054}
4055pub type X509_NAME_ENTRY = X509_name_entry_st;
4056#[repr(C)]
4057#[derive(Debug, Copy, Clone)]
4058pub struct X509_name_st {
4059    _unused: [u8; 0],
4060}
4061pub type X509_NAME = X509_name_st;
4062#[repr(C)]
4063#[derive(Debug, Copy, Clone)]
4064pub struct X509_pubkey_st {
4065    _unused: [u8; 0],
4066}
4067pub type X509_PUBKEY = X509_pubkey_st;
4068#[repr(C)]
4069#[derive(Debug, Copy, Clone)]
4070pub struct X509_req_st {
4071    _unused: [u8; 0],
4072}
4073pub type X509_REQ = X509_req_st;
4074#[repr(C)]
4075#[derive(Debug, Copy, Clone)]
4076pub struct x509_sig_info_st {
4077    _unused: [u8; 0],
4078}
4079pub type X509_SIG_INFO = x509_sig_info_st;
4080#[repr(C)]
4081#[derive(Debug, Copy, Clone)]
4082pub struct X509_sig_st {
4083    _unused: [u8; 0],
4084}
4085pub type X509_SIG = X509_sig_st;
4086#[repr(C)]
4087#[derive(Debug, Copy, Clone)]
4088pub struct bignum_ctx {
4089    _unused: [u8; 0],
4090}
4091pub type BN_CTX = bignum_ctx;
4092pub type BIGNUM = bignum_st;
4093pub type BIO_METHOD = bio_method_st;
4094pub type BIO = bio_st;
4095pub type BLAKE2B_CTX = blake2b_state_st;
4096pub type BN_GENCB = bn_gencb_st;
4097pub type BN_MONT_CTX = bn_mont_ctx_st;
4098pub type BUF_MEM = buf_mem_st;
4099#[repr(C)]
4100#[derive(Debug, Copy, Clone)]
4101pub struct cast_key_st {
4102    _unused: [u8; 0],
4103}
4104pub type CAST_KEY = cast_key_st;
4105pub type CBB = cbb_st;
4106pub type CBS = cbs_st;
4107#[repr(C)]
4108#[derive(Debug, Copy, Clone)]
4109pub struct cmac_ctx_st {
4110    _unused: [u8; 0],
4111}
4112pub type CMAC_CTX = cmac_ctx_st;
4113pub type CONF = conf_st;
4114pub type CONF_VALUE = conf_value_st;
4115#[repr(C)]
4116#[derive(Debug, Copy, Clone)]
4117pub struct crypto_buffer_pool_st {
4118    _unused: [u8; 0],
4119}
4120pub type CRYPTO_BUFFER_POOL = crypto_buffer_pool_st;
4121#[repr(C)]
4122#[derive(Debug, Copy, Clone)]
4123pub struct crypto_buffer_st {
4124    _unused: [u8; 0],
4125}
4126pub type CRYPTO_BUFFER = crypto_buffer_st;
4127#[repr(C)]
4128#[derive(Debug, Copy, Clone)]
4129pub struct ctr_drbg_state_st {
4130    _unused: [u8; 0],
4131}
4132pub type CTR_DRBG_STATE = ctr_drbg_state_st;
4133#[repr(C)]
4134#[derive(Debug, Copy, Clone)]
4135pub struct dh_st {
4136    _unused: [u8; 0],
4137}
4138pub type DH = dh_st;
4139#[repr(C)]
4140#[derive(Debug, Copy, Clone)]
4141pub struct dsa_st {
4142    _unused: [u8; 0],
4143}
4144pub type DSA = dsa_st;
4145#[repr(C)]
4146#[derive(Debug, Copy, Clone)]
4147pub struct ec_group_st {
4148    _unused: [u8; 0],
4149}
4150pub type EC_GROUP = ec_group_st;
4151#[repr(C)]
4152#[derive(Debug, Copy, Clone)]
4153pub struct ec_key_st {
4154    _unused: [u8; 0],
4155}
4156pub type EC_KEY = ec_key_st;
4157#[repr(C)]
4158#[derive(Debug, Copy, Clone)]
4159pub struct ec_point_st {
4160    _unused: [u8; 0],
4161}
4162pub type EC_POINT = ec_point_st;
4163#[repr(C)]
4164#[derive(Debug, Copy, Clone)]
4165pub struct ec_key_method_st {
4166    _unused: [u8; 0],
4167}
4168pub type EC_KEY_METHOD = ec_key_method_st;
4169pub type ECDSA_SIG = ecdsa_sig_st;
4170#[repr(C)]
4171#[derive(Debug, Copy, Clone)]
4172pub struct engine_st {
4173    _unused: [u8; 0],
4174}
4175pub type ENGINE = engine_st;
4176pub type EVP_MD_CTX = env_md_ctx_st;
4177#[repr(C)]
4178#[derive(Debug, Copy, Clone)]
4179pub struct env_md_st {
4180    _unused: [u8; 0],
4181}
4182pub type EVP_MD = env_md_st;
4183#[repr(C)]
4184#[derive(Debug, Copy, Clone)]
4185pub struct evp_aead_st {
4186    _unused: [u8; 0],
4187}
4188pub type EVP_AEAD = evp_aead_st;
4189pub type EVP_AEAD_CTX = evp_aead_ctx_st;
4190pub type EVP_CIPHER_CTX = evp_cipher_ctx_st;
4191#[repr(C)]
4192#[derive(Debug, Copy, Clone)]
4193pub struct evp_cipher_st {
4194    _unused: [u8; 0],
4195}
4196pub type EVP_CIPHER = evp_cipher_st;
4197pub type EVP_ENCODE_CTX = evp_encode_ctx_st;
4198#[repr(C)]
4199#[derive(Debug, Copy, Clone)]
4200pub struct evp_hpke_aead_st {
4201    _unused: [u8; 0],
4202}
4203pub type EVP_HPKE_AEAD = evp_hpke_aead_st;
4204pub type EVP_HPKE_CTX = evp_hpke_ctx_st;
4205#[repr(C)]
4206#[derive(Debug, Copy, Clone)]
4207pub struct evp_hpke_kdf_st {
4208    _unused: [u8; 0],
4209}
4210pub type EVP_HPKE_KDF = evp_hpke_kdf_st;
4211#[repr(C)]
4212#[derive(Debug, Copy, Clone)]
4213pub struct evp_hpke_kem_st {
4214    _unused: [u8; 0],
4215}
4216pub type EVP_HPKE_KEM = evp_hpke_kem_st;
4217pub type EVP_HPKE_KEY = evp_hpke_key_st;
4218#[repr(C)]
4219#[derive(Debug, Copy, Clone)]
4220pub struct evp_kem_st {
4221    _unused: [u8; 0],
4222}
4223pub type EVP_KEM = evp_kem_st;
4224#[repr(C)]
4225#[derive(Debug, Copy, Clone)]
4226pub struct kem_key_st {
4227    _unused: [u8; 0],
4228}
4229pub type KEM_KEY = kem_key_st;
4230#[repr(C)]
4231#[derive(Debug, Copy, Clone)]
4232pub struct evp_pkey_ctx_st {
4233    _unused: [u8; 0],
4234}
4235pub type EVP_PKEY_CTX = evp_pkey_ctx_st;
4236#[repr(C)]
4237#[derive(Debug, Copy, Clone)]
4238pub struct evp_pkey_asn1_method_st {
4239    _unused: [u8; 0],
4240}
4241pub type EVP_PKEY_ASN1_METHOD = evp_pkey_asn1_method_st;
4242#[repr(C)]
4243#[derive(Debug, Copy, Clone)]
4244pub struct evp_pkey_st {
4245    _unused: [u8; 0],
4246}
4247pub type EVP_PKEY = evp_pkey_st;
4248#[repr(C)]
4249#[derive(Debug, Copy, Clone)]
4250pub struct evp_pkey_ctx_signature_context_params_st {
4251    _unused: [u8; 0],
4252}
4253pub type EVP_PKEY_CTX_SIGNATURE_CONTEXT_PARAMS = evp_pkey_ctx_signature_context_params_st;
4254pub type HMAC_CTX = hmac_ctx_st;
4255pub type MD4_CTX = md4_state_st;
4256pub type MD5_CTX = md5_state_st;
4257#[repr(C)]
4258#[derive(Debug, Copy, Clone)]
4259pub struct pqdsa_key_st {
4260    _unused: [u8; 0],
4261}
4262pub type PQDSA_KEY = pqdsa_key_st;
4263#[repr(C)]
4264#[derive(Debug, Copy, Clone)]
4265pub struct ocsp_req_ctx_st {
4266    _unused: [u8; 0],
4267}
4268pub type OCSP_REQ_CTX = ocsp_req_ctx_st;
4269#[repr(C)]
4270#[derive(Debug, Copy, Clone)]
4271pub struct ossl_init_settings_st {
4272    _unused: [u8; 0],
4273}
4274pub type OPENSSL_INIT_SETTINGS = ossl_init_settings_st;
4275#[repr(C)]
4276#[derive(Debug, Copy, Clone)]
4277pub struct pkcs7_digest_st {
4278    _unused: [u8; 0],
4279}
4280pub type PKCS7_DIGEST = pkcs7_digest_st;
4281#[repr(C)]
4282#[derive(Debug, Copy, Clone)]
4283pub struct pkcs7_enc_content_st {
4284    _unused: [u8; 0],
4285}
4286pub type PKCS7_ENC_CONTENT = pkcs7_enc_content_st;
4287#[repr(C)]
4288#[derive(Debug, Copy, Clone)]
4289pub struct pkcs7_encrypt_st {
4290    _unused: [u8; 0],
4291}
4292pub type PKCS7_ENCRYPT = pkcs7_encrypt_st;
4293pub type PKCS7_ENVELOPE = pkcs7_envelope_st;
4294pub type PKCS7_ISSUER_AND_SERIAL = pkcs7_issuer_and_serial_st;
4295pub type PKCS7_RECIP_INFO = pkcs7_recip_info_st;
4296pub type PKCS7_SIGN_ENVELOPE = pkcs7_sign_envelope_st;
4297pub type PKCS7_SIGNED = pkcs7_signed_st;
4298pub type PKCS7_SIGNER_INFO = pkcs7_signer_info_st;
4299pub type PKCS7 = pkcs7_st;
4300#[repr(C)]
4301#[derive(Debug, Copy, Clone)]
4302pub struct pkcs12_st {
4303    _unused: [u8; 0],
4304}
4305pub type PKCS12 = pkcs12_st;
4306#[repr(C)]
4307#[derive(Debug, Copy, Clone)]
4308pub struct pkcs8_priv_key_info_st {
4309    _unused: [u8; 0],
4310}
4311pub type PKCS8_PRIV_KEY_INFO = pkcs8_priv_key_info_st;
4312pub type X509_PKEY = private_key_st;
4313pub type RAND_METHOD = rand_meth_st;
4314pub type RC4_KEY = rc4_key_st;
4315#[repr(C)]
4316#[derive(Debug, Copy, Clone)]
4317pub struct rsa_meth_st {
4318    _unused: [u8; 0],
4319}
4320pub type RSA_METHOD = rsa_meth_st;
4321#[repr(C)]
4322#[derive(Debug, Copy, Clone)]
4323pub struct rsassa_pss_params_st {
4324    _unused: [u8; 0],
4325}
4326pub type RSASSA_PSS_PARAMS = rsassa_pss_params_st;
4327pub type RSA_PSS_PARAMS = rsa_pss_params_st;
4328#[repr(C)]
4329#[derive(Debug, Copy, Clone)]
4330pub struct rsa_st {
4331    _unused: [u8; 0],
4332}
4333pub type RSA = rsa_st;
4334pub type SHA256_CTX = sha256_state_st;
4335pub type SHA512_CTX = sha512_state_st;
4336pub type SHA_CTX = sha_state_st;
4337#[repr(C)]
4338#[derive(Debug, Copy, Clone)]
4339pub struct spake2_ctx_st {
4340    _unused: [u8; 0],
4341}
4342pub type SPAKE2_CTX = spake2_ctx_st;
4343#[repr(C)]
4344#[derive(Debug, Copy, Clone)]
4345pub struct srtp_protection_profile_st {
4346    _unused: [u8; 0],
4347}
4348pub type SRTP_PROTECTION_PROFILE = srtp_protection_profile_st;
4349#[repr(C)]
4350#[derive(Debug, Copy, Clone)]
4351pub struct ssl_cipher_st {
4352    _unused: [u8; 0],
4353}
4354pub type SSL_CIPHER = ssl_cipher_st;
4355#[repr(C)]
4356#[derive(Debug, Copy, Clone)]
4357pub struct ssl_ctx_st {
4358    _unused: [u8; 0],
4359}
4360pub type SSL_CTX = ssl_ctx_st;
4361#[repr(C)]
4362#[derive(Debug, Copy, Clone)]
4363pub struct ssl_early_callback_ctx {
4364    _unused: [u8; 0],
4365}
4366pub type SSL_CLIENT_HELLO = ssl_early_callback_ctx;
4367#[repr(C)]
4368#[derive(Debug, Copy, Clone)]
4369pub struct ssl_ech_keys_st {
4370    _unused: [u8; 0],
4371}
4372pub type SSL_ECH_KEYS = ssl_ech_keys_st;
4373#[repr(C)]
4374#[derive(Debug, Copy, Clone)]
4375pub struct ssl_method_st {
4376    _unused: [u8; 0],
4377}
4378pub type SSL_METHOD = ssl_method_st;
4379#[repr(C)]
4380#[derive(Debug, Copy, Clone)]
4381pub struct ssl_private_key_method_st {
4382    _unused: [u8; 0],
4383}
4384pub type SSL_PRIVATE_KEY_METHOD = ssl_private_key_method_st;
4385#[repr(C)]
4386#[derive(Debug, Copy, Clone)]
4387pub struct ssl_quic_method_st {
4388    _unused: [u8; 0],
4389}
4390pub type SSL_QUIC_METHOD = ssl_quic_method_st;
4391#[repr(C)]
4392#[derive(Debug, Copy, Clone)]
4393pub struct ssl_session_st {
4394    _unused: [u8; 0],
4395}
4396pub type SSL_SESSION = ssl_session_st;
4397#[repr(C)]
4398#[derive(Debug, Copy, Clone)]
4399pub struct ssl_st {
4400    _unused: [u8; 0],
4401}
4402pub type SSL = ssl_st;
4403#[repr(C)]
4404#[derive(Debug, Copy, Clone)]
4405pub struct ssl_ticket_aead_method_st {
4406    _unused: [u8; 0],
4407}
4408pub type SSL_TICKET_AEAD_METHOD = ssl_ticket_aead_method_st;
4409#[repr(C)]
4410#[derive(Debug, Copy, Clone)]
4411pub struct st_ERR_FNS {
4412    _unused: [u8; 0],
4413}
4414pub type ERR_FNS = st_ERR_FNS;
4415pub type TRUST_TOKEN = trust_token_st;
4416#[repr(C)]
4417#[derive(Debug, Copy, Clone)]
4418pub struct trust_token_client_st {
4419    _unused: [u8; 0],
4420}
4421pub type TRUST_TOKEN_CLIENT = trust_token_client_st;
4422#[repr(C)]
4423#[derive(Debug, Copy, Clone)]
4424pub struct trust_token_issuer_st {
4425    _unused: [u8; 0],
4426}
4427pub type TRUST_TOKEN_ISSUER = trust_token_issuer_st;
4428#[repr(C)]
4429#[derive(Debug, Copy, Clone)]
4430pub struct trust_token_method_st {
4431    _unused: [u8; 0],
4432}
4433pub type TRUST_TOKEN_METHOD = trust_token_method_st;
4434pub type X509V3_CTX = v3_ext_ctx;
4435pub type X509V3_EXT_METHOD = v3_ext_method;
4436#[repr(C)]
4437#[derive(Debug, Copy, Clone)]
4438pub struct x509_attributes_st {
4439    _unused: [u8; 0],
4440}
4441pub type X509_ATTRIBUTE = x509_attributes_st;
4442#[repr(C)]
4443#[derive(Debug, Copy, Clone)]
4444pub struct x509_lookup_st {
4445    _unused: [u8; 0],
4446}
4447pub type X509_LOOKUP = x509_lookup_st;
4448#[repr(C)]
4449#[derive(Debug, Copy, Clone)]
4450pub struct x509_lookup_method_st {
4451    _unused: [u8; 0],
4452}
4453pub type X509_LOOKUP_METHOD = x509_lookup_method_st;
4454#[repr(C)]
4455#[derive(Debug, Copy, Clone)]
4456pub struct x509_object_st {
4457    _unused: [u8; 0],
4458}
4459pub type X509_OBJECT = x509_object_st;
4460#[repr(C)]
4461#[derive(Debug, Copy, Clone)]
4462pub struct x509_revoked_st {
4463    _unused: [u8; 0],
4464}
4465pub type X509_REVOKED = x509_revoked_st;
4466#[repr(C)]
4467#[derive(Debug, Copy, Clone)]
4468pub struct x509_st {
4469    _unused: [u8; 0],
4470}
4471pub type X509 = x509_st;
4472#[repr(C)]
4473#[derive(Debug, Copy, Clone)]
4474pub struct x509_store_ctx_st {
4475    _unused: [u8; 0],
4476}
4477pub type X509_STORE_CTX = x509_store_ctx_st;
4478#[repr(C)]
4479#[derive(Debug, Copy, Clone)]
4480pub struct x509_store_st {
4481    _unused: [u8; 0],
4482}
4483pub type X509_STORE = x509_store_st;
4484pub type X509_TRUST = x509_trust_st;
4485pub type OPENSSL_BLOCK = *mut ::std::os::raw::c_void;
4486#[repr(C)]
4487#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4488pub struct aes_key_st {
4489    pub rd_key: [u32; 60usize],
4490    pub rounds: ::std::os::raw::c_uint,
4491}
4492#[test]
4493fn bindgen_test_layout_aes_key_st() {
4494    const UNINIT: ::std::mem::MaybeUninit<aes_key_st> = ::std::mem::MaybeUninit::uninit();
4495    let ptr = UNINIT.as_ptr();
4496    assert_eq!(
4497        ::std::mem::size_of::<aes_key_st>(),
4498        244usize,
4499        concat!("Size of: ", stringify!(aes_key_st))
4500    );
4501    assert_eq!(
4502        ::std::mem::align_of::<aes_key_st>(),
4503        4usize,
4504        concat!("Alignment of ", stringify!(aes_key_st))
4505    );
4506    assert_eq!(
4507        unsafe { ::std::ptr::addr_of!((*ptr).rd_key) as usize - ptr as usize },
4508        0usize,
4509        concat!(
4510            "Offset of field: ",
4511            stringify!(aes_key_st),
4512            "::",
4513            stringify!(rd_key)
4514        )
4515    );
4516    assert_eq!(
4517        unsafe { ::std::ptr::addr_of!((*ptr).rounds) as usize - ptr as usize },
4518        240usize,
4519        concat!(
4520            "Offset of field: ",
4521            stringify!(aes_key_st),
4522            "::",
4523            stringify!(rounds)
4524        )
4525    );
4526}
4527impl Default for aes_key_st {
4528    fn default() -> Self {
4529        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4530        unsafe {
4531            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4532            s.assume_init()
4533        }
4534    }
4535}
4536pub type AES_KEY = aes_key_st;
4537extern "C" {
4538    #[link_name = "\u{1}aws_lc_0_27_2_AES_set_encrypt_key"]
4539    pub fn AES_set_encrypt_key(
4540        key: *const u8,
4541        bits: ::std::os::raw::c_uint,
4542        aeskey: *mut AES_KEY,
4543    ) -> ::std::os::raw::c_int;
4544}
4545extern "C" {
4546    #[link_name = "\u{1}aws_lc_0_27_2_AES_set_decrypt_key"]
4547    pub fn AES_set_decrypt_key(
4548        key: *const u8,
4549        bits: ::std::os::raw::c_uint,
4550        aeskey: *mut AES_KEY,
4551    ) -> ::std::os::raw::c_int;
4552}
4553extern "C" {
4554    #[link_name = "\u{1}aws_lc_0_27_2_AES_encrypt"]
4555    pub fn AES_encrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4556}
4557extern "C" {
4558    #[link_name = "\u{1}aws_lc_0_27_2_AES_decrypt"]
4559    pub fn AES_decrypt(in_: *const u8, out: *mut u8, key: *const AES_KEY);
4560}
4561extern "C" {
4562    #[link_name = "\u{1}aws_lc_0_27_2_AES_ctr128_encrypt"]
4563    pub fn AES_ctr128_encrypt(
4564        in_: *const u8,
4565        out: *mut u8,
4566        len: usize,
4567        key: *const AES_KEY,
4568        ivec: *mut u8,
4569        ecount_buf: *mut u8,
4570        num: *mut ::std::os::raw::c_uint,
4571    );
4572}
4573extern "C" {
4574    #[link_name = "\u{1}aws_lc_0_27_2_AES_ecb_encrypt"]
4575    pub fn AES_ecb_encrypt(
4576        in_: *const u8,
4577        out: *mut u8,
4578        key: *const AES_KEY,
4579        enc: ::std::os::raw::c_int,
4580    );
4581}
4582extern "C" {
4583    #[link_name = "\u{1}aws_lc_0_27_2_AES_cbc_encrypt"]
4584    pub fn AES_cbc_encrypt(
4585        in_: *const u8,
4586        out: *mut u8,
4587        len: usize,
4588        key: *const AES_KEY,
4589        ivec: *mut u8,
4590        enc: ::std::os::raw::c_int,
4591    );
4592}
4593extern "C" {
4594    #[link_name = "\u{1}aws_lc_0_27_2_AES_ofb128_encrypt"]
4595    pub fn AES_ofb128_encrypt(
4596        in_: *const u8,
4597        out: *mut u8,
4598        len: usize,
4599        key: *const AES_KEY,
4600        ivec: *mut u8,
4601        num: *mut ::std::os::raw::c_int,
4602    );
4603}
4604extern "C" {
4605    #[link_name = "\u{1}aws_lc_0_27_2_AES_cfb1_encrypt"]
4606    pub fn AES_cfb1_encrypt(
4607        in_: *const u8,
4608        out: *mut u8,
4609        bits: usize,
4610        key: *const AES_KEY,
4611        ivec: *mut u8,
4612        num: *mut ::std::os::raw::c_int,
4613        enc: ::std::os::raw::c_int,
4614    );
4615}
4616extern "C" {
4617    #[link_name = "\u{1}aws_lc_0_27_2_AES_cfb8_encrypt"]
4618    pub fn AES_cfb8_encrypt(
4619        in_: *const u8,
4620        out: *mut u8,
4621        len: usize,
4622        key: *const AES_KEY,
4623        ivec: *mut u8,
4624        num: *mut ::std::os::raw::c_int,
4625        enc: ::std::os::raw::c_int,
4626    );
4627}
4628extern "C" {
4629    #[link_name = "\u{1}aws_lc_0_27_2_AES_cfb128_encrypt"]
4630    pub fn AES_cfb128_encrypt(
4631        in_: *const u8,
4632        out: *mut u8,
4633        len: usize,
4634        key: *const AES_KEY,
4635        ivec: *mut u8,
4636        num: *mut ::std::os::raw::c_int,
4637        enc: ::std::os::raw::c_int,
4638    );
4639}
4640extern "C" {
4641    #[link_name = "\u{1}aws_lc_0_27_2_AES_wrap_key"]
4642    pub fn AES_wrap_key(
4643        key: *const AES_KEY,
4644        iv: *const u8,
4645        out: *mut u8,
4646        in_: *const u8,
4647        in_len: usize,
4648    ) -> ::std::os::raw::c_int;
4649}
4650extern "C" {
4651    #[link_name = "\u{1}aws_lc_0_27_2_AES_unwrap_key"]
4652    pub fn AES_unwrap_key(
4653        key: *const AES_KEY,
4654        iv: *const u8,
4655        out: *mut u8,
4656        in_: *const u8,
4657        in_len: usize,
4658    ) -> ::std::os::raw::c_int;
4659}
4660extern "C" {
4661    #[link_name = "\u{1}aws_lc_0_27_2_AES_wrap_key_padded"]
4662    pub fn AES_wrap_key_padded(
4663        key: *const AES_KEY,
4664        out: *mut u8,
4665        out_len: *mut usize,
4666        max_out: usize,
4667        in_: *const u8,
4668        in_len: usize,
4669    ) -> ::std::os::raw::c_int;
4670}
4671extern "C" {
4672    #[link_name = "\u{1}aws_lc_0_27_2_AES_unwrap_key_padded"]
4673    pub fn AES_unwrap_key_padded(
4674        key: *const AES_KEY,
4675        out: *mut u8,
4676        out_len: *mut usize,
4677        max_out: usize,
4678        in_: *const u8,
4679        in_len: usize,
4680    ) -> ::std::os::raw::c_int;
4681}
4682#[repr(C)]
4683#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4684pub struct tm {
4685    pub tm_sec: ::std::os::raw::c_int,
4686    pub tm_min: ::std::os::raw::c_int,
4687    pub tm_hour: ::std::os::raw::c_int,
4688    pub tm_mday: ::std::os::raw::c_int,
4689    pub tm_mon: ::std::os::raw::c_int,
4690    pub tm_year: ::std::os::raw::c_int,
4691    pub tm_wday: ::std::os::raw::c_int,
4692    pub tm_yday: ::std::os::raw::c_int,
4693    pub tm_isdst: ::std::os::raw::c_int,
4694    pub tm_gmtoff: ::std::os::raw::c_long,
4695    pub tm_zone: *const ::std::os::raw::c_char,
4696}
4697#[test]
4698fn bindgen_test_layout_tm() {
4699    const UNINIT: ::std::mem::MaybeUninit<tm> = ::std::mem::MaybeUninit::uninit();
4700    let ptr = UNINIT.as_ptr();
4701    assert_eq!(
4702        ::std::mem::size_of::<tm>(),
4703        56usize,
4704        concat!("Size of: ", stringify!(tm))
4705    );
4706    assert_eq!(
4707        ::std::mem::align_of::<tm>(),
4708        8usize,
4709        concat!("Alignment of ", stringify!(tm))
4710    );
4711    assert_eq!(
4712        unsafe { ::std::ptr::addr_of!((*ptr).tm_sec) as usize - ptr as usize },
4713        0usize,
4714        concat!(
4715            "Offset of field: ",
4716            stringify!(tm),
4717            "::",
4718            stringify!(tm_sec)
4719        )
4720    );
4721    assert_eq!(
4722        unsafe { ::std::ptr::addr_of!((*ptr).tm_min) as usize - ptr as usize },
4723        4usize,
4724        concat!(
4725            "Offset of field: ",
4726            stringify!(tm),
4727            "::",
4728            stringify!(tm_min)
4729        )
4730    );
4731    assert_eq!(
4732        unsafe { ::std::ptr::addr_of!((*ptr).tm_hour) as usize - ptr as usize },
4733        8usize,
4734        concat!(
4735            "Offset of field: ",
4736            stringify!(tm),
4737            "::",
4738            stringify!(tm_hour)
4739        )
4740    );
4741    assert_eq!(
4742        unsafe { ::std::ptr::addr_of!((*ptr).tm_mday) as usize - ptr as usize },
4743        12usize,
4744        concat!(
4745            "Offset of field: ",
4746            stringify!(tm),
4747            "::",
4748            stringify!(tm_mday)
4749        )
4750    );
4751    assert_eq!(
4752        unsafe { ::std::ptr::addr_of!((*ptr).tm_mon) as usize - ptr as usize },
4753        16usize,
4754        concat!(
4755            "Offset of field: ",
4756            stringify!(tm),
4757            "::",
4758            stringify!(tm_mon)
4759        )
4760    );
4761    assert_eq!(
4762        unsafe { ::std::ptr::addr_of!((*ptr).tm_year) as usize - ptr as usize },
4763        20usize,
4764        concat!(
4765            "Offset of field: ",
4766            stringify!(tm),
4767            "::",
4768            stringify!(tm_year)
4769        )
4770    );
4771    assert_eq!(
4772        unsafe { ::std::ptr::addr_of!((*ptr).tm_wday) as usize - ptr as usize },
4773        24usize,
4774        concat!(
4775            "Offset of field: ",
4776            stringify!(tm),
4777            "::",
4778            stringify!(tm_wday)
4779        )
4780    );
4781    assert_eq!(
4782        unsafe { ::std::ptr::addr_of!((*ptr).tm_yday) as usize - ptr as usize },
4783        28usize,
4784        concat!(
4785            "Offset of field: ",
4786            stringify!(tm),
4787            "::",
4788            stringify!(tm_yday)
4789        )
4790    );
4791    assert_eq!(
4792        unsafe { ::std::ptr::addr_of!((*ptr).tm_isdst) as usize - ptr as usize },
4793        32usize,
4794        concat!(
4795            "Offset of field: ",
4796            stringify!(tm),
4797            "::",
4798            stringify!(tm_isdst)
4799        )
4800    );
4801    assert_eq!(
4802        unsafe { ::std::ptr::addr_of!((*ptr).tm_gmtoff) as usize - ptr as usize },
4803        40usize,
4804        concat!(
4805            "Offset of field: ",
4806            stringify!(tm),
4807            "::",
4808            stringify!(tm_gmtoff)
4809        )
4810    );
4811    assert_eq!(
4812        unsafe { ::std::ptr::addr_of!((*ptr).tm_zone) as usize - ptr as usize },
4813        48usize,
4814        concat!(
4815            "Offset of field: ",
4816            stringify!(tm),
4817            "::",
4818            stringify!(tm_zone)
4819        )
4820    );
4821}
4822impl Default for tm {
4823    fn default() -> Self {
4824        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
4825        unsafe {
4826            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
4827            s.assume_init()
4828        }
4829    }
4830}
4831pub type __gnuc_va_list = __builtin_va_list;
4832pub type FILE = _IO_FILE;
4833#[repr(C)]
4834#[derive(Debug, Copy, Clone)]
4835pub struct _IO_marker {
4836    _unused: [u8; 0],
4837}
4838#[repr(C)]
4839#[derive(Debug, Copy, Clone)]
4840pub struct _IO_codecvt {
4841    _unused: [u8; 0],
4842}
4843#[repr(C)]
4844#[derive(Debug, Copy, Clone)]
4845pub struct _IO_wide_data {
4846    _unused: [u8; 0],
4847}
4848pub type _IO_lock_t = ::std::os::raw::c_void;
4849#[repr(C)]
4850#[derive(Debug, Copy, Clone, PartialEq, Eq)]
4851pub struct _IO_FILE {
4852    pub _flags: ::std::os::raw::c_int,
4853    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
4854    pub _IO_read_end: *mut ::std::os::raw::c_char,
4855    pub _IO_read_base: *mut ::std::os::raw::c_char,
4856    pub _IO_write_base: *mut ::std::os::raw::c_char,
4857    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
4858    pub _IO_write_end: *mut ::std::os::raw::c_char,
4859    pub _IO_buf_base: *mut ::std::os::raw::c_char,
4860    pub _IO_buf_end: *mut ::std::os::raw::c_char,
4861    pub _IO_save_base: *mut ::std::os::raw::c_char,
4862    pub _IO_backup_base: *mut ::std::os::raw::c_char,
4863    pub _IO_save_end: *mut ::std::os::raw::c_char,
4864    pub _markers: *mut _IO_marker,
4865    pub _chain: *mut _IO_FILE,
4866    pub _fileno: ::std::os::raw::c_int,
4867    pub _flags2: ::std::os::raw::c_int,
4868    pub _old_offset: __off_t,
4869    pub _cur_column: ::std::os::raw::c_ushort,
4870    pub _vtable_offset: ::std::os::raw::c_schar,
4871    pub _shortbuf: [::std::os::raw::c_char; 1usize],
4872    pub _lock: *mut _IO_lock_t,
4873    pub _offset: __off64_t,
4874    pub _codecvt: *mut _IO_codecvt,
4875    pub _wide_data: *mut _IO_wide_data,
4876    pub _freeres_list: *mut _IO_FILE,
4877    pub _freeres_buf: *mut ::std::os::raw::c_void,
4878    pub __pad5: usize,
4879    pub _mode: ::std::os::raw::c_int,
4880    pub _unused2: [::std::os::raw::c_char; 20usize],
4881}
4882#[test]
4883fn bindgen_test_layout__IO_FILE() {
4884    const UNINIT: ::std::mem::MaybeUninit<_IO_FILE> = ::std::mem::MaybeUninit::uninit();
4885    let ptr = UNINIT.as_ptr();
4886    assert_eq!(
4887        ::std::mem::size_of::<_IO_FILE>(),
4888        216usize,
4889        concat!("Size of: ", stringify!(_IO_FILE))
4890    );
4891    assert_eq!(
4892        ::std::mem::align_of::<_IO_FILE>(),
4893        8usize,
4894        concat!("Alignment of ", stringify!(_IO_FILE))
4895    );
4896    assert_eq!(
4897        unsafe { ::std::ptr::addr_of!((*ptr)._flags) as usize - ptr as usize },
4898        0usize,
4899        concat!(
4900            "Offset of field: ",
4901            stringify!(_IO_FILE),
4902            "::",
4903            stringify!(_flags)
4904        )
4905    );
4906    assert_eq!(
4907        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_ptr) as usize - ptr as usize },
4908        8usize,
4909        concat!(
4910            "Offset of field: ",
4911            stringify!(_IO_FILE),
4912            "::",
4913            stringify!(_IO_read_ptr)
4914        )
4915    );
4916    assert_eq!(
4917        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_end) as usize - ptr as usize },
4918        16usize,
4919        concat!(
4920            "Offset of field: ",
4921            stringify!(_IO_FILE),
4922            "::",
4923            stringify!(_IO_read_end)
4924        )
4925    );
4926    assert_eq!(
4927        unsafe { ::std::ptr::addr_of!((*ptr)._IO_read_base) as usize - ptr as usize },
4928        24usize,
4929        concat!(
4930            "Offset of field: ",
4931            stringify!(_IO_FILE),
4932            "::",
4933            stringify!(_IO_read_base)
4934        )
4935    );
4936    assert_eq!(
4937        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_base) as usize - ptr as usize },
4938        32usize,
4939        concat!(
4940            "Offset of field: ",
4941            stringify!(_IO_FILE),
4942            "::",
4943            stringify!(_IO_write_base)
4944        )
4945    );
4946    assert_eq!(
4947        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_ptr) as usize - ptr as usize },
4948        40usize,
4949        concat!(
4950            "Offset of field: ",
4951            stringify!(_IO_FILE),
4952            "::",
4953            stringify!(_IO_write_ptr)
4954        )
4955    );
4956    assert_eq!(
4957        unsafe { ::std::ptr::addr_of!((*ptr)._IO_write_end) as usize - ptr as usize },
4958        48usize,
4959        concat!(
4960            "Offset of field: ",
4961            stringify!(_IO_FILE),
4962            "::",
4963            stringify!(_IO_write_end)
4964        )
4965    );
4966    assert_eq!(
4967        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_base) as usize - ptr as usize },
4968        56usize,
4969        concat!(
4970            "Offset of field: ",
4971            stringify!(_IO_FILE),
4972            "::",
4973            stringify!(_IO_buf_base)
4974        )
4975    );
4976    assert_eq!(
4977        unsafe { ::std::ptr::addr_of!((*ptr)._IO_buf_end) as usize - ptr as usize },
4978        64usize,
4979        concat!(
4980            "Offset of field: ",
4981            stringify!(_IO_FILE),
4982            "::",
4983            stringify!(_IO_buf_end)
4984        )
4985    );
4986    assert_eq!(
4987        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_base) as usize - ptr as usize },
4988        72usize,
4989        concat!(
4990            "Offset of field: ",
4991            stringify!(_IO_FILE),
4992            "::",
4993            stringify!(_IO_save_base)
4994        )
4995    );
4996    assert_eq!(
4997        unsafe { ::std::ptr::addr_of!((*ptr)._IO_backup_base) as usize - ptr as usize },
4998        80usize,
4999        concat!(
5000            "Offset of field: ",
5001            stringify!(_IO_FILE),
5002            "::",
5003            stringify!(_IO_backup_base)
5004        )
5005    );
5006    assert_eq!(
5007        unsafe { ::std::ptr::addr_of!((*ptr)._IO_save_end) as usize - ptr as usize },
5008        88usize,
5009        concat!(
5010            "Offset of field: ",
5011            stringify!(_IO_FILE),
5012            "::",
5013            stringify!(_IO_save_end)
5014        )
5015    );
5016    assert_eq!(
5017        unsafe { ::std::ptr::addr_of!((*ptr)._markers) as usize - ptr as usize },
5018        96usize,
5019        concat!(
5020            "Offset of field: ",
5021            stringify!(_IO_FILE),
5022            "::",
5023            stringify!(_markers)
5024        )
5025    );
5026    assert_eq!(
5027        unsafe { ::std::ptr::addr_of!((*ptr)._chain) as usize - ptr as usize },
5028        104usize,
5029        concat!(
5030            "Offset of field: ",
5031            stringify!(_IO_FILE),
5032            "::",
5033            stringify!(_chain)
5034        )
5035    );
5036    assert_eq!(
5037        unsafe { ::std::ptr::addr_of!((*ptr)._fileno) as usize - ptr as usize },
5038        112usize,
5039        concat!(
5040            "Offset of field: ",
5041            stringify!(_IO_FILE),
5042            "::",
5043            stringify!(_fileno)
5044        )
5045    );
5046    assert_eq!(
5047        unsafe { ::std::ptr::addr_of!((*ptr)._flags2) as usize - ptr as usize },
5048        116usize,
5049        concat!(
5050            "Offset of field: ",
5051            stringify!(_IO_FILE),
5052            "::",
5053            stringify!(_flags2)
5054        )
5055    );
5056    assert_eq!(
5057        unsafe { ::std::ptr::addr_of!((*ptr)._old_offset) as usize - ptr as usize },
5058        120usize,
5059        concat!(
5060            "Offset of field: ",
5061            stringify!(_IO_FILE),
5062            "::",
5063            stringify!(_old_offset)
5064        )
5065    );
5066    assert_eq!(
5067        unsafe { ::std::ptr::addr_of!((*ptr)._cur_column) as usize - ptr as usize },
5068        128usize,
5069        concat!(
5070            "Offset of field: ",
5071            stringify!(_IO_FILE),
5072            "::",
5073            stringify!(_cur_column)
5074        )
5075    );
5076    assert_eq!(
5077        unsafe { ::std::ptr::addr_of!((*ptr)._vtable_offset) as usize - ptr as usize },
5078        130usize,
5079        concat!(
5080            "Offset of field: ",
5081            stringify!(_IO_FILE),
5082            "::",
5083            stringify!(_vtable_offset)
5084        )
5085    );
5086    assert_eq!(
5087        unsafe { ::std::ptr::addr_of!((*ptr)._shortbuf) as usize - ptr as usize },
5088        131usize,
5089        concat!(
5090            "Offset of field: ",
5091            stringify!(_IO_FILE),
5092            "::",
5093            stringify!(_shortbuf)
5094        )
5095    );
5096    assert_eq!(
5097        unsafe { ::std::ptr::addr_of!((*ptr)._lock) as usize - ptr as usize },
5098        136usize,
5099        concat!(
5100            "Offset of field: ",
5101            stringify!(_IO_FILE),
5102            "::",
5103            stringify!(_lock)
5104        )
5105    );
5106    assert_eq!(
5107        unsafe { ::std::ptr::addr_of!((*ptr)._offset) as usize - ptr as usize },
5108        144usize,
5109        concat!(
5110            "Offset of field: ",
5111            stringify!(_IO_FILE),
5112            "::",
5113            stringify!(_offset)
5114        )
5115    );
5116    assert_eq!(
5117        unsafe { ::std::ptr::addr_of!((*ptr)._codecvt) as usize - ptr as usize },
5118        152usize,
5119        concat!(
5120            "Offset of field: ",
5121            stringify!(_IO_FILE),
5122            "::",
5123            stringify!(_codecvt)
5124        )
5125    );
5126    assert_eq!(
5127        unsafe { ::std::ptr::addr_of!((*ptr)._wide_data) as usize - ptr as usize },
5128        160usize,
5129        concat!(
5130            "Offset of field: ",
5131            stringify!(_IO_FILE),
5132            "::",
5133            stringify!(_wide_data)
5134        )
5135    );
5136    assert_eq!(
5137        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_list) as usize - ptr as usize },
5138        168usize,
5139        concat!(
5140            "Offset of field: ",
5141            stringify!(_IO_FILE),
5142            "::",
5143            stringify!(_freeres_list)
5144        )
5145    );
5146    assert_eq!(
5147        unsafe { ::std::ptr::addr_of!((*ptr)._freeres_buf) as usize - ptr as usize },
5148        176usize,
5149        concat!(
5150            "Offset of field: ",
5151            stringify!(_IO_FILE),
5152            "::",
5153            stringify!(_freeres_buf)
5154        )
5155    );
5156    assert_eq!(
5157        unsafe { ::std::ptr::addr_of!((*ptr).__pad5) as usize - ptr as usize },
5158        184usize,
5159        concat!(
5160            "Offset of field: ",
5161            stringify!(_IO_FILE),
5162            "::",
5163            stringify!(__pad5)
5164        )
5165    );
5166    assert_eq!(
5167        unsafe { ::std::ptr::addr_of!((*ptr)._mode) as usize - ptr as usize },
5168        192usize,
5169        concat!(
5170            "Offset of field: ",
5171            stringify!(_IO_FILE),
5172            "::",
5173            stringify!(_mode)
5174        )
5175    );
5176    assert_eq!(
5177        unsafe { ::std::ptr::addr_of!((*ptr)._unused2) as usize - ptr as usize },
5178        196usize,
5179        concat!(
5180            "Offset of field: ",
5181            stringify!(_IO_FILE),
5182            "::",
5183            stringify!(_unused2)
5184        )
5185    );
5186}
5187impl Default for _IO_FILE {
5188    fn default() -> Self {
5189        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5190        unsafe {
5191            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5192            s.assume_init()
5193        }
5194    }
5195}
5196pub type va_list = __gnuc_va_list;
5197#[repr(C)]
5198#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5199pub struct buf_mem_st {
5200    pub length: usize,
5201    pub data: *mut ::std::os::raw::c_char,
5202    pub max: usize,
5203}
5204#[test]
5205fn bindgen_test_layout_buf_mem_st() {
5206    const UNINIT: ::std::mem::MaybeUninit<buf_mem_st> = ::std::mem::MaybeUninit::uninit();
5207    let ptr = UNINIT.as_ptr();
5208    assert_eq!(
5209        ::std::mem::size_of::<buf_mem_st>(),
5210        24usize,
5211        concat!("Size of: ", stringify!(buf_mem_st))
5212    );
5213    assert_eq!(
5214        ::std::mem::align_of::<buf_mem_st>(),
5215        8usize,
5216        concat!("Alignment of ", stringify!(buf_mem_st))
5217    );
5218    assert_eq!(
5219        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
5220        0usize,
5221        concat!(
5222            "Offset of field: ",
5223            stringify!(buf_mem_st),
5224            "::",
5225            stringify!(length)
5226        )
5227    );
5228    assert_eq!(
5229        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5230        8usize,
5231        concat!(
5232            "Offset of field: ",
5233            stringify!(buf_mem_st),
5234            "::",
5235            stringify!(data)
5236        )
5237    );
5238    assert_eq!(
5239        unsafe { ::std::ptr::addr_of!((*ptr).max) as usize - ptr as usize },
5240        16usize,
5241        concat!(
5242            "Offset of field: ",
5243            stringify!(buf_mem_st),
5244            "::",
5245            stringify!(max)
5246        )
5247    );
5248}
5249impl Default for buf_mem_st {
5250    fn default() -> Self {
5251        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5252        unsafe {
5253            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5254            s.assume_init()
5255        }
5256    }
5257}
5258extern "C" {
5259    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_new"]
5260    pub fn BUF_MEM_new() -> *mut BUF_MEM;
5261}
5262extern "C" {
5263    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_free"]
5264    pub fn BUF_MEM_free(buf: *mut BUF_MEM);
5265}
5266extern "C" {
5267    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_reserve"]
5268    pub fn BUF_MEM_reserve(buf: *mut BUF_MEM, cap: usize) -> ::std::os::raw::c_int;
5269}
5270extern "C" {
5271    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_grow"]
5272    pub fn BUF_MEM_grow(buf: *mut BUF_MEM, len: usize) -> usize;
5273}
5274extern "C" {
5275    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_grow_clean"]
5276    pub fn BUF_MEM_grow_clean(buf: *mut BUF_MEM, len: usize) -> usize;
5277}
5278extern "C" {
5279    #[link_name = "\u{1}aws_lc_0_27_2_BUF_MEM_append"]
5280    pub fn BUF_MEM_append(
5281        buf: *mut BUF_MEM,
5282        in_: *const ::std::os::raw::c_void,
5283        len: usize,
5284    ) -> ::std::os::raw::c_int;
5285}
5286extern "C" {
5287    #[link_name = "\u{1}aws_lc_0_27_2_BUF_strdup"]
5288    pub fn BUF_strdup(str_: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5289}
5290extern "C" {
5291    #[link_name = "\u{1}aws_lc_0_27_2_BUF_strnlen"]
5292    pub fn BUF_strnlen(str_: *const ::std::os::raw::c_char, max_len: usize) -> usize;
5293}
5294extern "C" {
5295    #[link_name = "\u{1}aws_lc_0_27_2_BUF_strndup"]
5296    pub fn BUF_strndup(
5297        str_: *const ::std::os::raw::c_char,
5298        size: usize,
5299    ) -> *mut ::std::os::raw::c_char;
5300}
5301extern "C" {
5302    #[link_name = "\u{1}aws_lc_0_27_2_BUF_memdup"]
5303    pub fn BUF_memdup(
5304        data: *const ::std::os::raw::c_void,
5305        size: usize,
5306    ) -> *mut ::std::os::raw::c_void;
5307}
5308extern "C" {
5309    #[link_name = "\u{1}aws_lc_0_27_2_BUF_strlcpy"]
5310    pub fn BUF_strlcpy(
5311        dst: *mut ::std::os::raw::c_char,
5312        src: *const ::std::os::raw::c_char,
5313        dst_size: usize,
5314    ) -> usize;
5315}
5316extern "C" {
5317    #[link_name = "\u{1}aws_lc_0_27_2_BUF_strlcat"]
5318    pub fn BUF_strlcat(
5319        dst: *mut ::std::os::raw::c_char,
5320        src: *const ::std::os::raw::c_char,
5321        dst_size: usize,
5322    ) -> usize;
5323}
5324extern "C" {
5325    #[link_name = "\u{1}aws_lc_0_27_2_SHA1_Init"]
5326    pub fn SHA1_Init(sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5327}
5328extern "C" {
5329    #[link_name = "\u{1}aws_lc_0_27_2_SHA1_Update"]
5330    pub fn SHA1_Update(
5331        sha: *mut SHA_CTX,
5332        data: *const ::std::os::raw::c_void,
5333        len: usize,
5334    ) -> ::std::os::raw::c_int;
5335}
5336extern "C" {
5337    #[link_name = "\u{1}aws_lc_0_27_2_SHA1_Final"]
5338    pub fn SHA1_Final(out: *mut u8, sha: *mut SHA_CTX) -> ::std::os::raw::c_int;
5339}
5340extern "C" {
5341    #[link_name = "\u{1}aws_lc_0_27_2_SHA1"]
5342    pub fn SHA1(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5343}
5344extern "C" {
5345    #[link_name = "\u{1}aws_lc_0_27_2_SHA1_Transform"]
5346    pub fn SHA1_Transform(sha: *mut SHA_CTX, block: *const u8);
5347}
5348#[repr(C)]
5349#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5350pub struct sha_state_st {
5351    pub h: [u32; 5usize],
5352    pub Nl: u32,
5353    pub Nh: u32,
5354    pub data: [u8; 64usize],
5355    pub num: ::std::os::raw::c_uint,
5356}
5357#[test]
5358fn bindgen_test_layout_sha_state_st() {
5359    const UNINIT: ::std::mem::MaybeUninit<sha_state_st> = ::std::mem::MaybeUninit::uninit();
5360    let ptr = UNINIT.as_ptr();
5361    assert_eq!(
5362        ::std::mem::size_of::<sha_state_st>(),
5363        96usize,
5364        concat!("Size of: ", stringify!(sha_state_st))
5365    );
5366    assert_eq!(
5367        ::std::mem::align_of::<sha_state_st>(),
5368        4usize,
5369        concat!("Alignment of ", stringify!(sha_state_st))
5370    );
5371    assert_eq!(
5372        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5373        0usize,
5374        concat!(
5375            "Offset of field: ",
5376            stringify!(sha_state_st),
5377            "::",
5378            stringify!(h)
5379        )
5380    );
5381    assert_eq!(
5382        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5383        20usize,
5384        concat!(
5385            "Offset of field: ",
5386            stringify!(sha_state_st),
5387            "::",
5388            stringify!(Nl)
5389        )
5390    );
5391    assert_eq!(
5392        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5393        24usize,
5394        concat!(
5395            "Offset of field: ",
5396            stringify!(sha_state_st),
5397            "::",
5398            stringify!(Nh)
5399        )
5400    );
5401    assert_eq!(
5402        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5403        28usize,
5404        concat!(
5405            "Offset of field: ",
5406            stringify!(sha_state_st),
5407            "::",
5408            stringify!(data)
5409        )
5410    );
5411    assert_eq!(
5412        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5413        92usize,
5414        concat!(
5415            "Offset of field: ",
5416            stringify!(sha_state_st),
5417            "::",
5418            stringify!(num)
5419        )
5420    );
5421}
5422impl Default for sha_state_st {
5423    fn default() -> Self {
5424        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5425        unsafe {
5426            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5427            s.assume_init()
5428        }
5429    }
5430}
5431extern "C" {
5432    #[link_name = "\u{1}aws_lc_0_27_2_SHA224_Init"]
5433    pub fn SHA224_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5434}
5435extern "C" {
5436    #[link_name = "\u{1}aws_lc_0_27_2_SHA224_Update"]
5437    pub fn SHA224_Update(
5438        sha: *mut SHA256_CTX,
5439        data: *const ::std::os::raw::c_void,
5440        len: usize,
5441    ) -> ::std::os::raw::c_int;
5442}
5443extern "C" {
5444    #[link_name = "\u{1}aws_lc_0_27_2_SHA224_Final"]
5445    pub fn SHA224_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5446}
5447extern "C" {
5448    #[link_name = "\u{1}aws_lc_0_27_2_SHA224"]
5449    pub fn SHA224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5450}
5451extern "C" {
5452    #[link_name = "\u{1}aws_lc_0_27_2_SHA256_Init"]
5453    pub fn SHA256_Init(sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5454}
5455extern "C" {
5456    #[link_name = "\u{1}aws_lc_0_27_2_SHA256_Update"]
5457    pub fn SHA256_Update(
5458        sha: *mut SHA256_CTX,
5459        data: *const ::std::os::raw::c_void,
5460        len: usize,
5461    ) -> ::std::os::raw::c_int;
5462}
5463extern "C" {
5464    #[link_name = "\u{1}aws_lc_0_27_2_SHA256_Final"]
5465    pub fn SHA256_Final(out: *mut u8, sha: *mut SHA256_CTX) -> ::std::os::raw::c_int;
5466}
5467extern "C" {
5468    #[link_name = "\u{1}aws_lc_0_27_2_SHA256"]
5469    pub fn SHA256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5470}
5471extern "C" {
5472    #[link_name = "\u{1}aws_lc_0_27_2_SHA256_Transform"]
5473    pub fn SHA256_Transform(sha: *mut SHA256_CTX, block: *const u8);
5474}
5475extern "C" {
5476    #[link_name = "\u{1}aws_lc_0_27_2_SHA256_TransformBlocks"]
5477    pub fn SHA256_TransformBlocks(state: *mut u32, data: *const u8, num_blocks: usize);
5478}
5479#[repr(C)]
5480#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5481pub struct sha256_state_st {
5482    pub h: [u32; 8usize],
5483    pub Nl: u32,
5484    pub Nh: u32,
5485    pub data: [u8; 64usize],
5486    pub num: ::std::os::raw::c_uint,
5487    pub md_len: ::std::os::raw::c_uint,
5488}
5489#[test]
5490fn bindgen_test_layout_sha256_state_st() {
5491    const UNINIT: ::std::mem::MaybeUninit<sha256_state_st> = ::std::mem::MaybeUninit::uninit();
5492    let ptr = UNINIT.as_ptr();
5493    assert_eq!(
5494        ::std::mem::size_of::<sha256_state_st>(),
5495        112usize,
5496        concat!("Size of: ", stringify!(sha256_state_st))
5497    );
5498    assert_eq!(
5499        ::std::mem::align_of::<sha256_state_st>(),
5500        4usize,
5501        concat!("Alignment of ", stringify!(sha256_state_st))
5502    );
5503    assert_eq!(
5504        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5505        0usize,
5506        concat!(
5507            "Offset of field: ",
5508            stringify!(sha256_state_st),
5509            "::",
5510            stringify!(h)
5511        )
5512    );
5513    assert_eq!(
5514        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5515        32usize,
5516        concat!(
5517            "Offset of field: ",
5518            stringify!(sha256_state_st),
5519            "::",
5520            stringify!(Nl)
5521        )
5522    );
5523    assert_eq!(
5524        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5525        36usize,
5526        concat!(
5527            "Offset of field: ",
5528            stringify!(sha256_state_st),
5529            "::",
5530            stringify!(Nh)
5531        )
5532    );
5533    assert_eq!(
5534        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
5535        40usize,
5536        concat!(
5537            "Offset of field: ",
5538            stringify!(sha256_state_st),
5539            "::",
5540            stringify!(data)
5541        )
5542    );
5543    assert_eq!(
5544        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5545        104usize,
5546        concat!(
5547            "Offset of field: ",
5548            stringify!(sha256_state_st),
5549            "::",
5550            stringify!(num)
5551        )
5552    );
5553    assert_eq!(
5554        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5555        108usize,
5556        concat!(
5557            "Offset of field: ",
5558            stringify!(sha256_state_st),
5559            "::",
5560            stringify!(md_len)
5561        )
5562    );
5563}
5564impl Default for sha256_state_st {
5565    fn default() -> Self {
5566        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5567        unsafe {
5568            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5569            s.assume_init()
5570        }
5571    }
5572}
5573extern "C" {
5574    #[link_name = "\u{1}aws_lc_0_27_2_SHA384_Init"]
5575    pub fn SHA384_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5576}
5577extern "C" {
5578    #[link_name = "\u{1}aws_lc_0_27_2_SHA384_Update"]
5579    pub fn SHA384_Update(
5580        sha: *mut SHA512_CTX,
5581        data: *const ::std::os::raw::c_void,
5582        len: usize,
5583    ) -> ::std::os::raw::c_int;
5584}
5585extern "C" {
5586    #[link_name = "\u{1}aws_lc_0_27_2_SHA384_Final"]
5587    pub fn SHA384_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5588}
5589extern "C" {
5590    #[link_name = "\u{1}aws_lc_0_27_2_SHA384"]
5591    pub fn SHA384(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5592}
5593extern "C" {
5594    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_Init"]
5595    pub fn SHA512_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5596}
5597extern "C" {
5598    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_Update"]
5599    pub fn SHA512_Update(
5600        sha: *mut SHA512_CTX,
5601        data: *const ::std::os::raw::c_void,
5602        len: usize,
5603    ) -> ::std::os::raw::c_int;
5604}
5605extern "C" {
5606    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_Final"]
5607    pub fn SHA512_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5608}
5609extern "C" {
5610    #[link_name = "\u{1}aws_lc_0_27_2_SHA512"]
5611    pub fn SHA512(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5612}
5613extern "C" {
5614    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_Transform"]
5615    pub fn SHA512_Transform(sha: *mut SHA512_CTX, block: *const u8);
5616}
5617#[repr(C)]
5618#[derive(Debug, Copy, Clone, PartialEq, Eq)]
5619pub struct sha512_state_st {
5620    pub h: [u64; 8usize],
5621    pub Nl: u64,
5622    pub Nh: u64,
5623    pub p: [u8; 128usize],
5624    pub num: ::std::os::raw::c_uint,
5625    pub md_len: ::std::os::raw::c_uint,
5626}
5627#[test]
5628fn bindgen_test_layout_sha512_state_st() {
5629    const UNINIT: ::std::mem::MaybeUninit<sha512_state_st> = ::std::mem::MaybeUninit::uninit();
5630    let ptr = UNINIT.as_ptr();
5631    assert_eq!(
5632        ::std::mem::size_of::<sha512_state_st>(),
5633        216usize,
5634        concat!("Size of: ", stringify!(sha512_state_st))
5635    );
5636    assert_eq!(
5637        ::std::mem::align_of::<sha512_state_st>(),
5638        8usize,
5639        concat!("Alignment of ", stringify!(sha512_state_st))
5640    );
5641    assert_eq!(
5642        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
5643        0usize,
5644        concat!(
5645            "Offset of field: ",
5646            stringify!(sha512_state_st),
5647            "::",
5648            stringify!(h)
5649        )
5650    );
5651    assert_eq!(
5652        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
5653        64usize,
5654        concat!(
5655            "Offset of field: ",
5656            stringify!(sha512_state_st),
5657            "::",
5658            stringify!(Nl)
5659        )
5660    );
5661    assert_eq!(
5662        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
5663        72usize,
5664        concat!(
5665            "Offset of field: ",
5666            stringify!(sha512_state_st),
5667            "::",
5668            stringify!(Nh)
5669        )
5670    );
5671    assert_eq!(
5672        unsafe { ::std::ptr::addr_of!((*ptr).p) as usize - ptr as usize },
5673        80usize,
5674        concat!(
5675            "Offset of field: ",
5676            stringify!(sha512_state_st),
5677            "::",
5678            stringify!(p)
5679        )
5680    );
5681    assert_eq!(
5682        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
5683        208usize,
5684        concat!(
5685            "Offset of field: ",
5686            stringify!(sha512_state_st),
5687            "::",
5688            stringify!(num)
5689        )
5690    );
5691    assert_eq!(
5692        unsafe { ::std::ptr::addr_of!((*ptr).md_len) as usize - ptr as usize },
5693        212usize,
5694        concat!(
5695            "Offset of field: ",
5696            stringify!(sha512_state_st),
5697            "::",
5698            stringify!(md_len)
5699        )
5700    );
5701}
5702impl Default for sha512_state_st {
5703    fn default() -> Self {
5704        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5705        unsafe {
5706            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5707            s.assume_init()
5708        }
5709    }
5710}
5711extern "C" {
5712    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_224_Init"]
5713    pub fn SHA512_224_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5714}
5715extern "C" {
5716    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_224_Update"]
5717    pub fn SHA512_224_Update(
5718        sha: *mut SHA512_CTX,
5719        data: *const ::std::os::raw::c_void,
5720        len: usize,
5721    ) -> ::std::os::raw::c_int;
5722}
5723extern "C" {
5724    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_224_Final"]
5725    pub fn SHA512_224_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5726}
5727extern "C" {
5728    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_224"]
5729    pub fn SHA512_224(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5730}
5731extern "C" {
5732    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_256_Init"]
5733    pub fn SHA512_256_Init(sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5734}
5735extern "C" {
5736    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_256_Update"]
5737    pub fn SHA512_256_Update(
5738        sha: *mut SHA512_CTX,
5739        data: *const ::std::os::raw::c_void,
5740        len: usize,
5741    ) -> ::std::os::raw::c_int;
5742}
5743extern "C" {
5744    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_256_Final"]
5745    pub fn SHA512_256_Final(out: *mut u8, sha: *mut SHA512_CTX) -> ::std::os::raw::c_int;
5746}
5747extern "C" {
5748    #[link_name = "\u{1}aws_lc_0_27_2_SHA512_256"]
5749    pub fn SHA512_256(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
5750}
5751extern "C" {
5752    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_malloc"]
5753    pub fn OPENSSL_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5754}
5755extern "C" {
5756    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_zalloc"]
5757    pub fn OPENSSL_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5758}
5759extern "C" {
5760    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_calloc"]
5761    pub fn OPENSSL_calloc(num: usize, size: usize) -> *mut ::std::os::raw::c_void;
5762}
5763extern "C" {
5764    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_realloc"]
5765    pub fn OPENSSL_realloc(
5766        ptr: *mut ::std::os::raw::c_void,
5767        new_size: usize,
5768    ) -> *mut ::std::os::raw::c_void;
5769}
5770extern "C" {
5771    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_free"]
5772    pub fn OPENSSL_free(ptr: *mut ::std::os::raw::c_void);
5773}
5774extern "C" {
5775    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_cleanse"]
5776    pub fn OPENSSL_cleanse(ptr: *mut ::std::os::raw::c_void, len: usize);
5777}
5778extern "C" {
5779    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_memcmp"]
5780    pub fn CRYPTO_memcmp(
5781        a: *const ::std::os::raw::c_void,
5782        b: *const ::std::os::raw::c_void,
5783        len: usize,
5784    ) -> ::std::os::raw::c_int;
5785}
5786extern "C" {
5787    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_hash32"]
5788    pub fn OPENSSL_hash32(ptr: *const ::std::os::raw::c_void, len: usize) -> u32;
5789}
5790extern "C" {
5791    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strhash"]
5792    pub fn OPENSSL_strhash(s: *const ::std::os::raw::c_char) -> u32;
5793}
5794extern "C" {
5795    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strdup"]
5796    pub fn OPENSSL_strdup(s: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
5797}
5798extern "C" {
5799    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strnlen"]
5800    pub fn OPENSSL_strnlen(s: *const ::std::os::raw::c_char, len: usize) -> usize;
5801}
5802extern "C" {
5803    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_isalpha"]
5804    pub fn OPENSSL_isalpha(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5805}
5806extern "C" {
5807    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_isdigit"]
5808    pub fn OPENSSL_isdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5809}
5810extern "C" {
5811    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_isxdigit"]
5812    pub fn OPENSSL_isxdigit(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5813}
5814extern "C" {
5815    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_fromxdigit"]
5816    pub fn OPENSSL_fromxdigit(out: *mut u8, c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5817}
5818extern "C" {
5819    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_hexstr2buf"]
5820    pub fn OPENSSL_hexstr2buf(str_: *const ::std::os::raw::c_char, len: *mut usize) -> *mut u8;
5821}
5822extern "C" {
5823    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_isalnum"]
5824    pub fn OPENSSL_isalnum(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5825}
5826extern "C" {
5827    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_tolower"]
5828    pub fn OPENSSL_tolower(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5829}
5830extern "C" {
5831    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_isspace"]
5832    pub fn OPENSSL_isspace(c: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
5833}
5834extern "C" {
5835    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strcasecmp"]
5836    pub fn OPENSSL_strcasecmp(
5837        a: *const ::std::os::raw::c_char,
5838        b: *const ::std::os::raw::c_char,
5839    ) -> ::std::os::raw::c_int;
5840}
5841extern "C" {
5842    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strncasecmp"]
5843    pub fn OPENSSL_strncasecmp(
5844        a: *const ::std::os::raw::c_char,
5845        b: *const ::std::os::raw::c_char,
5846        n: usize,
5847    ) -> ::std::os::raw::c_int;
5848}
5849extern "C" {
5850    #[link_name = "\u{1}aws_lc_0_27_2_BIO_snprintf"]
5851    pub fn BIO_snprintf(
5852        buf: *mut ::std::os::raw::c_char,
5853        n: usize,
5854        format: *const ::std::os::raw::c_char,
5855        ...
5856    ) -> ::std::os::raw::c_int;
5857}
5858extern "C" {
5859    #[link_name = "\u{1}aws_lc_0_27_2_BIO_vsnprintf"]
5860    pub fn BIO_vsnprintf(
5861        buf: *mut ::std::os::raw::c_char,
5862        n: usize,
5863        format: *const ::std::os::raw::c_char,
5864        args: *mut __va_list_tag,
5865    ) -> ::std::os::raw::c_int;
5866}
5867extern "C" {
5868    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_vasprintf"]
5869    pub fn OPENSSL_vasprintf(
5870        str_: *mut *mut ::std::os::raw::c_char,
5871        format: *const ::std::os::raw::c_char,
5872        args: *mut __va_list_tag,
5873    ) -> ::std::os::raw::c_int;
5874}
5875extern "C" {
5876    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_asprintf"]
5877    pub fn OPENSSL_asprintf(
5878        str_: *mut *mut ::std::os::raw::c_char,
5879        format: *const ::std::os::raw::c_char,
5880        ...
5881    ) -> ::std::os::raw::c_int;
5882}
5883extern "C" {
5884    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strndup"]
5885    pub fn OPENSSL_strndup(
5886        str_: *const ::std::os::raw::c_char,
5887        size: usize,
5888    ) -> *mut ::std::os::raw::c_char;
5889}
5890extern "C" {
5891    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_memdup"]
5892    pub fn OPENSSL_memdup(
5893        data: *const ::std::os::raw::c_void,
5894        size: usize,
5895    ) -> *mut ::std::os::raw::c_void;
5896}
5897extern "C" {
5898    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strlcpy"]
5899    pub fn OPENSSL_strlcpy(
5900        dst: *mut ::std::os::raw::c_char,
5901        src: *const ::std::os::raw::c_char,
5902        dst_size: usize,
5903    ) -> usize;
5904}
5905extern "C" {
5906    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_strlcat"]
5907    pub fn OPENSSL_strlcat(
5908        dst: *mut ::std::os::raw::c_char,
5909        src: *const ::std::os::raw::c_char,
5910        dst_size: usize,
5911    ) -> usize;
5912}
5913extern "C" {
5914    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_malloc"]
5915    pub fn CRYPTO_malloc(
5916        size: usize,
5917        file: *const ::std::os::raw::c_char,
5918        line: ::std::os::raw::c_int,
5919    ) -> *mut ::std::os::raw::c_void;
5920}
5921extern "C" {
5922    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_realloc"]
5923    pub fn CRYPTO_realloc(
5924        ptr: *mut ::std::os::raw::c_void,
5925        new_size: usize,
5926        file: *const ::std::os::raw::c_char,
5927        line: ::std::os::raw::c_int,
5928    ) -> *mut ::std::os::raw::c_void;
5929}
5930extern "C" {
5931    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_free"]
5932    pub fn CRYPTO_free(
5933        ptr: *mut ::std::os::raw::c_void,
5934        file: *const ::std::os::raw::c_char,
5935        line: ::std::os::raw::c_int,
5936    );
5937}
5938extern "C" {
5939    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_clear_free"]
5940    pub fn OPENSSL_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5941}
5942extern "C" {
5943    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_mem_functions"]
5944    pub fn CRYPTO_set_mem_functions(
5945        m: ::std::option::Option<
5946            unsafe extern "C" fn(
5947                arg1: usize,
5948                arg2: *const ::std::os::raw::c_char,
5949                arg3: ::std::os::raw::c_int,
5950            ) -> *mut ::std::os::raw::c_void,
5951        >,
5952        r: ::std::option::Option<
5953            unsafe extern "C" fn(
5954                arg1: *mut ::std::os::raw::c_void,
5955                arg2: usize,
5956                arg3: *const ::std::os::raw::c_char,
5957                arg4: ::std::os::raw::c_int,
5958            ) -> *mut ::std::os::raw::c_void,
5959        >,
5960        f: ::std::option::Option<
5961            unsafe extern "C" fn(
5962                arg1: *mut ::std::os::raw::c_void,
5963                arg2: *const ::std::os::raw::c_char,
5964                arg3: ::std::os::raw::c_int,
5965            ),
5966        >,
5967    ) -> ::std::os::raw::c_int;
5968}
5969extern "C" {
5970    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_secure_malloc_init"]
5971    pub fn CRYPTO_secure_malloc_init(size: usize, min_size: usize) -> ::std::os::raw::c_int;
5972}
5973extern "C" {
5974    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_secure_malloc_initialized"]
5975    pub fn CRYPTO_secure_malloc_initialized() -> ::std::os::raw::c_int;
5976}
5977extern "C" {
5978    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_secure_used"]
5979    pub fn CRYPTO_secure_used() -> usize;
5980}
5981extern "C" {
5982    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_secure_malloc"]
5983    pub fn OPENSSL_secure_malloc(size: usize) -> *mut ::std::os::raw::c_void;
5984}
5985extern "C" {
5986    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_secure_zalloc"]
5987    pub fn OPENSSL_secure_zalloc(size: usize) -> *mut ::std::os::raw::c_void;
5988}
5989extern "C" {
5990    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_secure_clear_free"]
5991    pub fn OPENSSL_secure_clear_free(ptr: *mut ::std::os::raw::c_void, len: usize);
5992}
5993#[repr(C)]
5994#[derive(Copy, Clone)]
5995pub union crypto_mutex_st {
5996    pub alignment: f64,
5997    pub padding: [u8; 56usize],
5998}
5999#[test]
6000fn bindgen_test_layout_crypto_mutex_st() {
6001    const UNINIT: ::std::mem::MaybeUninit<crypto_mutex_st> = ::std::mem::MaybeUninit::uninit();
6002    let ptr = UNINIT.as_ptr();
6003    assert_eq!(
6004        ::std::mem::size_of::<crypto_mutex_st>(),
6005        56usize,
6006        concat!("Size of: ", stringify!(crypto_mutex_st))
6007    );
6008    assert_eq!(
6009        ::std::mem::align_of::<crypto_mutex_st>(),
6010        8usize,
6011        concat!("Alignment of ", stringify!(crypto_mutex_st))
6012    );
6013    assert_eq!(
6014        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
6015        0usize,
6016        concat!(
6017            "Offset of field: ",
6018            stringify!(crypto_mutex_st),
6019            "::",
6020            stringify!(alignment)
6021        )
6022    );
6023    assert_eq!(
6024        unsafe { ::std::ptr::addr_of!((*ptr).padding) as usize - ptr as usize },
6025        0usize,
6026        concat!(
6027            "Offset of field: ",
6028            stringify!(crypto_mutex_st),
6029            "::",
6030            stringify!(padding)
6031        )
6032    );
6033}
6034impl Default for crypto_mutex_st {
6035    fn default() -> Self {
6036        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6037        unsafe {
6038            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6039            s.assume_init()
6040        }
6041    }
6042}
6043pub type CRYPTO_MUTEX = crypto_mutex_st;
6044pub type CRYPTO_refcount_t = u32;
6045extern "C" {
6046    #[link_name = "\u{1}aws_lc_0_27_2_AWSLC_thread_local_clear"]
6047    pub fn AWSLC_thread_local_clear() -> ::std::os::raw::c_int;
6048}
6049extern "C" {
6050    #[link_name = "\u{1}aws_lc_0_27_2_AWSLC_thread_local_shutdown"]
6051    pub fn AWSLC_thread_local_shutdown() -> ::std::os::raw::c_int;
6052}
6053extern "C" {
6054    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_num_locks"]
6055    pub fn CRYPTO_num_locks() -> ::std::os::raw::c_int;
6056}
6057extern "C" {
6058    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_locking_callback"]
6059    pub fn CRYPTO_set_locking_callback(
6060        func: ::std::option::Option<
6061            unsafe extern "C" fn(
6062                mode: ::std::os::raw::c_int,
6063                lock_num: ::std::os::raw::c_int,
6064                file: *const ::std::os::raw::c_char,
6065                line: ::std::os::raw::c_int,
6066            ),
6067        >,
6068    );
6069}
6070extern "C" {
6071    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_add_lock_callback"]
6072    pub fn CRYPTO_set_add_lock_callback(
6073        func: ::std::option::Option<
6074            unsafe extern "C" fn(
6075                num: *mut ::std::os::raw::c_int,
6076                amount: ::std::os::raw::c_int,
6077                lock_num: ::std::os::raw::c_int,
6078                file: *const ::std::os::raw::c_char,
6079                line: ::std::os::raw::c_int,
6080            ) -> ::std::os::raw::c_int,
6081        >,
6082    );
6083}
6084extern "C" {
6085    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_get_locking_callback"]
6086    pub fn CRYPTO_get_locking_callback() -> ::std::option::Option<
6087        unsafe extern "C" fn(
6088            arg1: ::std::os::raw::c_int,
6089            arg2: ::std::os::raw::c_int,
6090            arg3: *const ::std::os::raw::c_char,
6091            arg4: ::std::os::raw::c_int,
6092        ),
6093    >;
6094}
6095extern "C" {
6096    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_get_lock_name"]
6097    pub fn CRYPTO_get_lock_name(lock_num: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6098}
6099extern "C" {
6100    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_THREADID_set_callback"]
6101    pub fn CRYPTO_THREADID_set_callback(
6102        threadid_func: ::std::option::Option<unsafe extern "C" fn(threadid: *mut CRYPTO_THREADID)>,
6103    ) -> ::std::os::raw::c_int;
6104}
6105extern "C" {
6106    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_THREADID_set_numeric"]
6107    pub fn CRYPTO_THREADID_set_numeric(id: *mut CRYPTO_THREADID, val: ::std::os::raw::c_ulong);
6108}
6109extern "C" {
6110    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_THREADID_set_pointer"]
6111    pub fn CRYPTO_THREADID_set_pointer(id: *mut CRYPTO_THREADID, ptr: *mut ::std::os::raw::c_void);
6112}
6113extern "C" {
6114    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_THREADID_current"]
6115    pub fn CRYPTO_THREADID_current(id: *mut CRYPTO_THREADID);
6116}
6117extern "C" {
6118    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_id_callback"]
6119    pub fn CRYPTO_set_id_callback(
6120        func: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_ulong>,
6121    );
6122}
6123#[repr(C)]
6124#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6125pub struct CRYPTO_dynlock {
6126    pub references: ::std::os::raw::c_int,
6127    pub data: *mut CRYPTO_dynlock_value,
6128}
6129#[test]
6130fn bindgen_test_layout_CRYPTO_dynlock() {
6131    const UNINIT: ::std::mem::MaybeUninit<CRYPTO_dynlock> = ::std::mem::MaybeUninit::uninit();
6132    let ptr = UNINIT.as_ptr();
6133    assert_eq!(
6134        ::std::mem::size_of::<CRYPTO_dynlock>(),
6135        16usize,
6136        concat!("Size of: ", stringify!(CRYPTO_dynlock))
6137    );
6138    assert_eq!(
6139        ::std::mem::align_of::<CRYPTO_dynlock>(),
6140        8usize,
6141        concat!("Alignment of ", stringify!(CRYPTO_dynlock))
6142    );
6143    assert_eq!(
6144        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
6145        0usize,
6146        concat!(
6147            "Offset of field: ",
6148            stringify!(CRYPTO_dynlock),
6149            "::",
6150            stringify!(references)
6151        )
6152    );
6153    assert_eq!(
6154        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
6155        8usize,
6156        concat!(
6157            "Offset of field: ",
6158            stringify!(CRYPTO_dynlock),
6159            "::",
6160            stringify!(data)
6161        )
6162    );
6163}
6164impl Default for CRYPTO_dynlock {
6165    fn default() -> Self {
6166        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6167        unsafe {
6168            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6169            s.assume_init()
6170        }
6171    }
6172}
6173extern "C" {
6174    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_dynlock_create_callback"]
6175    pub fn CRYPTO_set_dynlock_create_callback(
6176        dyn_create_function: ::std::option::Option<
6177            unsafe extern "C" fn(
6178                file: *const ::std::os::raw::c_char,
6179                line: ::std::os::raw::c_int,
6180            ) -> *mut CRYPTO_dynlock_value,
6181        >,
6182    );
6183}
6184extern "C" {
6185    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_dynlock_lock_callback"]
6186    pub fn CRYPTO_set_dynlock_lock_callback(
6187        dyn_lock_function: ::std::option::Option<
6188            unsafe extern "C" fn(
6189                mode: ::std::os::raw::c_int,
6190                l: *mut CRYPTO_dynlock_value,
6191                file: *const ::std::os::raw::c_char,
6192                line: ::std::os::raw::c_int,
6193            ),
6194        >,
6195    );
6196}
6197extern "C" {
6198    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_set_dynlock_destroy_callback"]
6199    pub fn CRYPTO_set_dynlock_destroy_callback(
6200        dyn_destroy_function: ::std::option::Option<
6201            unsafe extern "C" fn(
6202                l: *mut CRYPTO_dynlock_value,
6203                file: *const ::std::os::raw::c_char,
6204                line: ::std::os::raw::c_int,
6205            ),
6206        >,
6207    );
6208}
6209extern "C" {
6210    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_get_dynlock_create_callback"]
6211    pub fn CRYPTO_get_dynlock_create_callback() -> ::std::option::Option<
6212        unsafe extern "C" fn(
6213            arg1: *const ::std::os::raw::c_char,
6214            arg2: ::std::os::raw::c_int,
6215        ) -> *mut CRYPTO_dynlock_value,
6216    >;
6217}
6218extern "C" {
6219    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_get_dynlock_lock_callback"]
6220    pub fn CRYPTO_get_dynlock_lock_callback() -> ::std::option::Option<
6221        unsafe extern "C" fn(
6222            arg1: ::std::os::raw::c_int,
6223            arg2: *mut CRYPTO_dynlock_value,
6224            arg3: *const ::std::os::raw::c_char,
6225            arg4: ::std::os::raw::c_int,
6226        ),
6227    >;
6228}
6229extern "C" {
6230    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_get_dynlock_destroy_callback"]
6231    pub fn CRYPTO_get_dynlock_destroy_callback() -> ::std::option::Option<
6232        unsafe extern "C" fn(
6233            arg1: *mut CRYPTO_dynlock_value,
6234            arg2: *const ::std::os::raw::c_char,
6235            arg3: ::std::os::raw::c_int,
6236        ),
6237    >;
6238}
6239extern "C" {
6240    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_library_init"]
6241    pub fn CRYPTO_library_init();
6242}
6243extern "C" {
6244    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_is_confidential_build"]
6245    pub fn CRYPTO_is_confidential_build() -> ::std::os::raw::c_int;
6246}
6247extern "C" {
6248    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_has_asm"]
6249    pub fn CRYPTO_has_asm() -> ::std::os::raw::c_int;
6250}
6251extern "C" {
6252    #[link_name = "\u{1}aws_lc_0_27_2_BORINGSSL_self_test"]
6253    pub fn BORINGSSL_self_test() -> ::std::os::raw::c_int;
6254}
6255extern "C" {
6256    pub fn BORINGSSL_integrity_test() -> ::std::os::raw::c_int;
6257}
6258extern "C" {
6259    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_pre_sandbox_init"]
6260    pub fn CRYPTO_pre_sandbox_init();
6261}
6262extern "C" {
6263    #[link_name = "\u{1}aws_lc_0_27_2_FIPS_mode"]
6264    pub fn FIPS_mode() -> ::std::os::raw::c_int;
6265}
6266extern "C" {
6267    #[link_name = "\u{1}aws_lc_0_27_2_FIPS_is_entropy_cpu_jitter"]
6268    pub fn FIPS_is_entropy_cpu_jitter() -> ::std::os::raw::c_int;
6269}
6270pub const fips_counter_t_fips_counter_evp_aes_128_gcm: fips_counter_t = 0;
6271pub const fips_counter_t_fips_counter_evp_aes_256_gcm: fips_counter_t = 1;
6272pub const fips_counter_t_fips_counter_evp_aes_128_ctr: fips_counter_t = 2;
6273pub const fips_counter_t_fips_counter_evp_aes_256_ctr: fips_counter_t = 3;
6274pub const fips_counter_t_fips_counter_max: fips_counter_t = 3;
6275pub type fips_counter_t = ::std::os::raw::c_uint;
6276extern "C" {
6277    #[link_name = "\u{1}aws_lc_0_27_2_FIPS_read_counter"]
6278    pub fn FIPS_read_counter(counter: fips_counter_t) -> usize;
6279}
6280extern "C" {
6281    #[link_name = "\u{1}aws_lc_0_27_2_OpenSSL_version"]
6282    pub fn OpenSSL_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6283}
6284extern "C" {
6285    #[link_name = "\u{1}aws_lc_0_27_2_SSLeay_version"]
6286    pub fn SSLeay_version(which: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
6287}
6288extern "C" {
6289    #[link_name = "\u{1}aws_lc_0_27_2_SSLeay"]
6290    pub fn SSLeay() -> ::std::os::raw::c_ulong;
6291}
6292extern "C" {
6293    #[link_name = "\u{1}aws_lc_0_27_2_OpenSSL_version_num"]
6294    pub fn OpenSSL_version_num() -> ::std::os::raw::c_ulong;
6295}
6296extern "C" {
6297    #[link_name = "\u{1}aws_lc_0_27_2_awslc_api_version_num"]
6298    pub fn awslc_api_version_num() -> ::std::os::raw::c_ulong;
6299}
6300extern "C" {
6301    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_malloc_init"]
6302    pub fn CRYPTO_malloc_init() -> ::std::os::raw::c_int;
6303}
6304extern "C" {
6305    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_malloc_init"]
6306    pub fn OPENSSL_malloc_init() -> ::std::os::raw::c_int;
6307}
6308extern "C" {
6309    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_load_builtin_engines"]
6310    pub fn ENGINE_load_builtin_engines();
6311}
6312extern "C" {
6313    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_register_all_complete"]
6314    pub fn ENGINE_register_all_complete() -> ::std::os::raw::c_int;
6315}
6316extern "C" {
6317    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_load_builtin_modules"]
6318    pub fn OPENSSL_load_builtin_modules();
6319}
6320extern "C" {
6321    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_init_crypto"]
6322    pub fn OPENSSL_init_crypto(
6323        opts: u64,
6324        settings: *const OPENSSL_INIT_SETTINGS,
6325    ) -> ::std::os::raw::c_int;
6326}
6327extern "C" {
6328    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_init"]
6329    pub fn OPENSSL_init();
6330}
6331extern "C" {
6332    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_cleanup"]
6333    pub fn OPENSSL_cleanup();
6334}
6335extern "C" {
6336    #[link_name = "\u{1}aws_lc_0_27_2_FIPS_mode_set"]
6337    pub fn FIPS_mode_set(on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6338}
6339extern "C" {
6340    #[link_name = "\u{1}aws_lc_0_27_2_ERR_load_BIO_strings"]
6341    pub fn ERR_load_BIO_strings();
6342}
6343extern "C" {
6344    #[link_name = "\u{1}aws_lc_0_27_2_ERR_load_ERR_strings"]
6345    pub fn ERR_load_ERR_strings();
6346}
6347extern "C" {
6348    #[link_name = "\u{1}aws_lc_0_27_2_ERR_load_CRYPTO_strings"]
6349    pub fn ERR_load_CRYPTO_strings();
6350}
6351extern "C" {
6352    #[link_name = "\u{1}aws_lc_0_27_2_ERR_load_crypto_strings"]
6353    pub fn ERR_load_crypto_strings();
6354}
6355extern "C" {
6356    #[link_name = "\u{1}aws_lc_0_27_2_ERR_load_RAND_strings"]
6357    pub fn ERR_load_RAND_strings();
6358}
6359extern "C" {
6360    #[link_name = "\u{1}aws_lc_0_27_2_ERR_free_strings"]
6361    pub fn ERR_free_strings();
6362}
6363extern "C" {
6364    #[link_name = "\u{1}aws_lc_0_27_2_ERR_get_error"]
6365    pub fn ERR_get_error() -> u32;
6366}
6367extern "C" {
6368    #[link_name = "\u{1}aws_lc_0_27_2_ERR_get_error_line"]
6369    pub fn ERR_get_error_line(
6370        file: *mut *const ::std::os::raw::c_char,
6371        line: *mut ::std::os::raw::c_int,
6372    ) -> u32;
6373}
6374extern "C" {
6375    #[link_name = "\u{1}aws_lc_0_27_2_ERR_get_error_line_data"]
6376    pub fn ERR_get_error_line_data(
6377        file: *mut *const ::std::os::raw::c_char,
6378        line: *mut ::std::os::raw::c_int,
6379        data: *mut *const ::std::os::raw::c_char,
6380        flags: *mut ::std::os::raw::c_int,
6381    ) -> u32;
6382}
6383extern "C" {
6384    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_error"]
6385    pub fn ERR_peek_error() -> u32;
6386}
6387extern "C" {
6388    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_error_line"]
6389    pub fn ERR_peek_error_line(
6390        file: *mut *const ::std::os::raw::c_char,
6391        line: *mut ::std::os::raw::c_int,
6392    ) -> u32;
6393}
6394extern "C" {
6395    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_error_line_data"]
6396    pub fn ERR_peek_error_line_data(
6397        file: *mut *const ::std::os::raw::c_char,
6398        line: *mut ::std::os::raw::c_int,
6399        data: *mut *const ::std::os::raw::c_char,
6400        flags: *mut ::std::os::raw::c_int,
6401    ) -> u32;
6402}
6403extern "C" {
6404    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_last_error"]
6405    pub fn ERR_peek_last_error() -> u32;
6406}
6407extern "C" {
6408    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_last_error_line"]
6409    pub fn ERR_peek_last_error_line(
6410        file: *mut *const ::std::os::raw::c_char,
6411        line: *mut ::std::os::raw::c_int,
6412    ) -> u32;
6413}
6414extern "C" {
6415    #[link_name = "\u{1}aws_lc_0_27_2_ERR_peek_last_error_line_data"]
6416    pub fn ERR_peek_last_error_line_data(
6417        file: *mut *const ::std::os::raw::c_char,
6418        line: *mut ::std::os::raw::c_int,
6419        data: *mut *const ::std::os::raw::c_char,
6420        flags: *mut ::std::os::raw::c_int,
6421    ) -> u32;
6422}
6423extern "C" {
6424    #[link_name = "\u{1}aws_lc_0_27_2_ERR_error_string_n"]
6425    pub fn ERR_error_string_n(
6426        packed_error: u32,
6427        buf: *mut ::std::os::raw::c_char,
6428        len: usize,
6429    ) -> *mut ::std::os::raw::c_char;
6430}
6431extern "C" {
6432    #[link_name = "\u{1}aws_lc_0_27_2_ERR_lib_error_string"]
6433    pub fn ERR_lib_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6434}
6435extern "C" {
6436    #[link_name = "\u{1}aws_lc_0_27_2_ERR_reason_error_string"]
6437    pub fn ERR_reason_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6438}
6439pub type ERR_print_errors_callback_t = ::std::option::Option<
6440    unsafe extern "C" fn(
6441        str_: *const ::std::os::raw::c_char,
6442        len: usize,
6443        ctx: *mut ::std::os::raw::c_void,
6444    ) -> ::std::os::raw::c_int,
6445>;
6446extern "C" {
6447    #[link_name = "\u{1}aws_lc_0_27_2_ERR_print_errors_cb"]
6448    pub fn ERR_print_errors_cb(
6449        callback: ERR_print_errors_callback_t,
6450        ctx: *mut ::std::os::raw::c_void,
6451    );
6452}
6453extern "C" {
6454    #[link_name = "\u{1}aws_lc_0_27_2_ERR_print_errors_fp"]
6455    pub fn ERR_print_errors_fp(file: *mut FILE);
6456}
6457extern "C" {
6458    #[link_name = "\u{1}aws_lc_0_27_2_ERR_clear_error"]
6459    pub fn ERR_clear_error();
6460}
6461extern "C" {
6462    #[link_name = "\u{1}aws_lc_0_27_2_ERR_set_mark"]
6463    pub fn ERR_set_mark() -> ::std::os::raw::c_int;
6464}
6465extern "C" {
6466    #[link_name = "\u{1}aws_lc_0_27_2_ERR_pop_to_mark"]
6467    pub fn ERR_pop_to_mark() -> ::std::os::raw::c_int;
6468}
6469extern "C" {
6470    #[link_name = "\u{1}aws_lc_0_27_2_ERR_get_next_error_library"]
6471    pub fn ERR_get_next_error_library() -> ::std::os::raw::c_int;
6472}
6473extern "C" {
6474    #[link_name = "\u{1}aws_lc_0_27_2_ERR_remove_state"]
6475    pub fn ERR_remove_state(pid: ::std::os::raw::c_ulong);
6476}
6477extern "C" {
6478    #[link_name = "\u{1}aws_lc_0_27_2_ERR_remove_thread_state"]
6479    pub fn ERR_remove_thread_state(tid: *const CRYPTO_THREADID);
6480}
6481extern "C" {
6482    #[link_name = "\u{1}aws_lc_0_27_2_ERR_func_error_string"]
6483    pub fn ERR_func_error_string(packed_error: u32) -> *const ::std::os::raw::c_char;
6484}
6485extern "C" {
6486    #[link_name = "\u{1}aws_lc_0_27_2_ERR_error_string"]
6487    pub fn ERR_error_string(
6488        packed_error: u32,
6489        buf: *mut ::std::os::raw::c_char,
6490    ) -> *mut ::std::os::raw::c_char;
6491}
6492extern "C" {
6493    #[link_name = "\u{1}aws_lc_0_27_2_ERR_clear_system_error"]
6494    pub fn ERR_clear_system_error();
6495}
6496extern "C" {
6497    #[link_name = "\u{1}aws_lc_0_27_2_ERR_put_error"]
6498    pub fn ERR_put_error(
6499        library: ::std::os::raw::c_int,
6500        unused: ::std::os::raw::c_int,
6501        reason: ::std::os::raw::c_int,
6502        file: *const ::std::os::raw::c_char,
6503        line: ::std::os::raw::c_uint,
6504    );
6505}
6506extern "C" {
6507    #[link_name = "\u{1}aws_lc_0_27_2_ERR_add_error_data"]
6508    pub fn ERR_add_error_data(count: ::std::os::raw::c_uint, ...);
6509}
6510extern "C" {
6511    #[link_name = "\u{1}aws_lc_0_27_2_ERR_add_error_dataf"]
6512    pub fn ERR_add_error_dataf(format: *const ::std::os::raw::c_char, ...);
6513}
6514extern "C" {
6515    #[link_name = "\u{1}aws_lc_0_27_2_ERR_set_error_data"]
6516    pub fn ERR_set_error_data(data: *mut ::std::os::raw::c_char, flags: ::std::os::raw::c_int);
6517}
6518pub type OPENSSL_sk_free_func =
6519    ::std::option::Option<unsafe extern "C" fn(ptr: *mut ::std::os::raw::c_void)>;
6520pub type OPENSSL_sk_copy_func = ::std::option::Option<
6521    unsafe extern "C" fn(ptr: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6522>;
6523pub type OPENSSL_sk_cmp_func = ::std::option::Option<
6524    unsafe extern "C" fn(
6525        a: *const *const ::std::os::raw::c_void,
6526        b: *const *const ::std::os::raw::c_void,
6527    ) -> ::std::os::raw::c_int,
6528>;
6529pub type OPENSSL_sk_delete_if_func = ::std::option::Option<
6530    unsafe extern "C" fn(
6531        obj: *mut ::std::os::raw::c_void,
6532        data: *mut ::std::os::raw::c_void,
6533    ) -> ::std::os::raw::c_int,
6534>;
6535pub type OPENSSL_sk_call_free_func = ::std::option::Option<
6536    unsafe extern "C" fn(arg1: OPENSSL_sk_free_func, arg2: *mut ::std::os::raw::c_void),
6537>;
6538pub type OPENSSL_sk_call_copy_func = ::std::option::Option<
6539    unsafe extern "C" fn(
6540        arg1: OPENSSL_sk_copy_func,
6541        arg2: *const ::std::os::raw::c_void,
6542    ) -> *mut ::std::os::raw::c_void,
6543>;
6544pub type OPENSSL_sk_call_cmp_func = ::std::option::Option<
6545    unsafe extern "C" fn(
6546        arg1: OPENSSL_sk_cmp_func,
6547        arg2: *const ::std::os::raw::c_void,
6548        arg3: *const ::std::os::raw::c_void,
6549    ) -> ::std::os::raw::c_int,
6550>;
6551pub type OPENSSL_sk_call_delete_if_func = ::std::option::Option<
6552    unsafe extern "C" fn(
6553        arg1: OPENSSL_sk_delete_if_func,
6554        arg2: *mut ::std::os::raw::c_void,
6555        arg3: *mut ::std::os::raw::c_void,
6556    ) -> ::std::os::raw::c_int,
6557>;
6558#[repr(C)]
6559#[derive(Debug, Copy, Clone)]
6560pub struct stack_st {
6561    _unused: [u8; 0],
6562}
6563pub type OPENSSL_STACK = stack_st;
6564extern "C" {
6565    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_new"]
6566    pub fn OPENSSL_sk_new(comp: OPENSSL_sk_cmp_func) -> *mut OPENSSL_STACK;
6567}
6568extern "C" {
6569    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_new_null"]
6570    pub fn OPENSSL_sk_new_null() -> *mut OPENSSL_STACK;
6571}
6572extern "C" {
6573    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_num"]
6574    pub fn OPENSSL_sk_num(sk: *const OPENSSL_STACK) -> usize;
6575}
6576extern "C" {
6577    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_zero"]
6578    pub fn OPENSSL_sk_zero(sk: *mut OPENSSL_STACK);
6579}
6580extern "C" {
6581    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_value"]
6582    pub fn OPENSSL_sk_value(sk: *const OPENSSL_STACK, i: usize) -> *mut ::std::os::raw::c_void;
6583}
6584extern "C" {
6585    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_set"]
6586    pub fn OPENSSL_sk_set(
6587        sk: *mut OPENSSL_STACK,
6588        i: usize,
6589        p: *mut ::std::os::raw::c_void,
6590    ) -> *mut ::std::os::raw::c_void;
6591}
6592extern "C" {
6593    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_free"]
6594    pub fn OPENSSL_sk_free(sk: *mut OPENSSL_STACK);
6595}
6596extern "C" {
6597    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_pop_free_ex"]
6598    pub fn OPENSSL_sk_pop_free_ex(
6599        sk: *mut OPENSSL_STACK,
6600        call_free_func: OPENSSL_sk_call_free_func,
6601        free_func: OPENSSL_sk_free_func,
6602    );
6603}
6604extern "C" {
6605    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_insert"]
6606    pub fn OPENSSL_sk_insert(
6607        sk: *mut OPENSSL_STACK,
6608        p: *mut ::std::os::raw::c_void,
6609        where_: usize,
6610    ) -> usize;
6611}
6612extern "C" {
6613    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_delete"]
6614    pub fn OPENSSL_sk_delete(sk: *mut OPENSSL_STACK, where_: usize) -> *mut ::std::os::raw::c_void;
6615}
6616extern "C" {
6617    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_delete_ptr"]
6618    pub fn OPENSSL_sk_delete_ptr(
6619        sk: *mut OPENSSL_STACK,
6620        p: *const ::std::os::raw::c_void,
6621    ) -> *mut ::std::os::raw::c_void;
6622}
6623extern "C" {
6624    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_delete_if"]
6625    pub fn OPENSSL_sk_delete_if(
6626        sk: *mut OPENSSL_STACK,
6627        call_func: OPENSSL_sk_call_delete_if_func,
6628        func: OPENSSL_sk_delete_if_func,
6629        data: *mut ::std::os::raw::c_void,
6630    );
6631}
6632extern "C" {
6633    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_find"]
6634    pub fn OPENSSL_sk_find(
6635        sk: *const OPENSSL_STACK,
6636        out_index: *mut usize,
6637        p: *const ::std::os::raw::c_void,
6638        call_cmp_func: OPENSSL_sk_call_cmp_func,
6639    ) -> ::std::os::raw::c_int;
6640}
6641extern "C" {
6642    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_unshift"]
6643    pub fn OPENSSL_sk_unshift(
6644        sk: *mut OPENSSL_STACK,
6645        data: *mut ::std::os::raw::c_void,
6646    ) -> ::std::os::raw::c_int;
6647}
6648extern "C" {
6649    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_shift"]
6650    pub fn OPENSSL_sk_shift(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6651}
6652extern "C" {
6653    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_push"]
6654    pub fn OPENSSL_sk_push(sk: *mut OPENSSL_STACK, p: *mut ::std::os::raw::c_void) -> usize;
6655}
6656extern "C" {
6657    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_pop"]
6658    pub fn OPENSSL_sk_pop(sk: *mut OPENSSL_STACK) -> *mut ::std::os::raw::c_void;
6659}
6660extern "C" {
6661    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_dup"]
6662    pub fn OPENSSL_sk_dup(sk: *const OPENSSL_STACK) -> *mut OPENSSL_STACK;
6663}
6664extern "C" {
6665    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_sort"]
6666    pub fn OPENSSL_sk_sort(sk: *mut OPENSSL_STACK, call_cmp_func: OPENSSL_sk_call_cmp_func);
6667}
6668extern "C" {
6669    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_is_sorted"]
6670    pub fn OPENSSL_sk_is_sorted(sk: *const OPENSSL_STACK) -> ::std::os::raw::c_int;
6671}
6672extern "C" {
6673    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_set_cmp_func"]
6674    pub fn OPENSSL_sk_set_cmp_func(
6675        sk: *mut OPENSSL_STACK,
6676        comp: OPENSSL_sk_cmp_func,
6677    ) -> OPENSSL_sk_cmp_func;
6678}
6679extern "C" {
6680    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_sk_deep_copy"]
6681    pub fn OPENSSL_sk_deep_copy(
6682        sk: *const OPENSSL_STACK,
6683        call_copy_func: OPENSSL_sk_call_copy_func,
6684        copy_func: OPENSSL_sk_copy_func,
6685        call_free_func: OPENSSL_sk_call_free_func,
6686        free_func: OPENSSL_sk_free_func,
6687    ) -> *mut OPENSSL_STACK;
6688}
6689pub type _STACK = OPENSSL_STACK;
6690extern "C" {
6691    #[link_name = "\u{1}aws_lc_0_27_2_sk_pop_free"]
6692    pub fn sk_pop_free(sk: *mut OPENSSL_STACK, free_func: OPENSSL_sk_free_func);
6693}
6694pub type OPENSSL_STRING = *mut ::std::os::raw::c_char;
6695#[repr(C)]
6696#[derive(Debug, Copy, Clone)]
6697pub struct stack_st_void {
6698    _unused: [u8; 0],
6699}
6700pub type sk_void_free_func =
6701    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
6702pub type sk_void_copy_func = ::std::option::Option<
6703    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
6704>;
6705pub type sk_void_cmp_func = ::std::option::Option<
6706    unsafe extern "C" fn(
6707        arg1: *const *const ::std::os::raw::c_void,
6708        arg2: *const *const ::std::os::raw::c_void,
6709    ) -> ::std::os::raw::c_int,
6710>;
6711pub type sk_void_delete_if_func = ::std::option::Option<
6712    unsafe extern "C" fn(
6713        arg1: *mut ::std::os::raw::c_void,
6714        arg2: *mut ::std::os::raw::c_void,
6715    ) -> ::std::os::raw::c_int,
6716>;
6717#[repr(C)]
6718#[derive(Debug, Copy, Clone)]
6719pub struct stack_st_OPENSSL_STRING {
6720    _unused: [u8; 0],
6721}
6722pub type sk_OPENSSL_STRING_free_func =
6723    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_char)>;
6724pub type sk_OPENSSL_STRING_copy_func = ::std::option::Option<
6725    unsafe extern "C" fn(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char,
6726>;
6727pub type sk_OPENSSL_STRING_cmp_func = ::std::option::Option<
6728    unsafe extern "C" fn(
6729        arg1: *const *const ::std::os::raw::c_char,
6730        arg2: *const *const ::std::os::raw::c_char,
6731    ) -> ::std::os::raw::c_int,
6732>;
6733pub type sk_OPENSSL_STRING_delete_if_func = ::std::option::Option<
6734    unsafe extern "C" fn(
6735        arg1: *mut ::std::os::raw::c_char,
6736        arg2: *mut ::std::os::raw::c_void,
6737    ) -> ::std::os::raw::c_int,
6738>;
6739pub type CRYPTO_EX_DATA = crypto_ex_data_st;
6740pub type CRYPTO_EX_free = ::std::option::Option<
6741    unsafe extern "C" fn(
6742        parent: *mut ::std::os::raw::c_void,
6743        ptr: *mut ::std::os::raw::c_void,
6744        ad: *mut CRYPTO_EX_DATA,
6745        index: ::std::os::raw::c_int,
6746        argl: ::std::os::raw::c_long,
6747        argp: *mut ::std::os::raw::c_void,
6748    ),
6749>;
6750extern "C" {
6751    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_cleanup_all_ex_data"]
6752    pub fn CRYPTO_cleanup_all_ex_data();
6753}
6754pub type CRYPTO_EX_dup = ::std::option::Option<
6755    unsafe extern "C" fn(
6756        to: *mut CRYPTO_EX_DATA,
6757        from: *const CRYPTO_EX_DATA,
6758        from_d: *mut *mut ::std::os::raw::c_void,
6759        index: ::std::os::raw::c_int,
6760        argl: ::std::os::raw::c_long,
6761        argp: *mut ::std::os::raw::c_void,
6762    ) -> ::std::os::raw::c_int,
6763>;
6764pub type CRYPTO_EX_unused = ::std::os::raw::c_int;
6765#[repr(C)]
6766#[derive(Debug, Copy, Clone, PartialEq, Eq)]
6767pub struct crypto_ex_data_st {
6768    pub sk: *mut stack_st_void,
6769}
6770#[test]
6771fn bindgen_test_layout_crypto_ex_data_st() {
6772    const UNINIT: ::std::mem::MaybeUninit<crypto_ex_data_st> = ::std::mem::MaybeUninit::uninit();
6773    let ptr = UNINIT.as_ptr();
6774    assert_eq!(
6775        ::std::mem::size_of::<crypto_ex_data_st>(),
6776        8usize,
6777        concat!("Size of: ", stringify!(crypto_ex_data_st))
6778    );
6779    assert_eq!(
6780        ::std::mem::align_of::<crypto_ex_data_st>(),
6781        8usize,
6782        concat!("Alignment of ", stringify!(crypto_ex_data_st))
6783    );
6784    assert_eq!(
6785        unsafe { ::std::ptr::addr_of!((*ptr).sk) as usize - ptr as usize },
6786        0usize,
6787        concat!(
6788            "Offset of field: ",
6789            stringify!(crypto_ex_data_st),
6790            "::",
6791            stringify!(sk)
6792        )
6793    );
6794}
6795impl Default for crypto_ex_data_st {
6796    fn default() -> Self {
6797        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
6798        unsafe {
6799            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
6800            s.assume_init()
6801        }
6802    }
6803}
6804#[repr(C)]
6805#[derive(Debug, Copy, Clone)]
6806pub struct stack_st_BIO {
6807    _unused: [u8; 0],
6808}
6809pub type sk_BIO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO)>;
6810pub type sk_BIO_copy_func =
6811    ::std::option::Option<unsafe extern "C" fn(arg1: *const BIO) -> *mut BIO>;
6812pub type sk_BIO_cmp_func = ::std::option::Option<
6813    unsafe extern "C" fn(arg1: *const *const BIO, arg2: *const *const BIO) -> ::std::os::raw::c_int,
6814>;
6815pub type sk_BIO_delete_if_func = ::std::option::Option<
6816    unsafe extern "C" fn(
6817        arg1: *mut BIO,
6818        arg2: *mut ::std::os::raw::c_void,
6819    ) -> ::std::os::raw::c_int,
6820>;
6821extern "C" {
6822    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new"]
6823    pub fn BIO_new(method: *const BIO_METHOD) -> *mut BIO;
6824}
6825extern "C" {
6826    #[link_name = "\u{1}aws_lc_0_27_2_BIO_free"]
6827    pub fn BIO_free(bio: *mut BIO) -> ::std::os::raw::c_int;
6828}
6829extern "C" {
6830    #[link_name = "\u{1}aws_lc_0_27_2_BIO_vfree"]
6831    pub fn BIO_vfree(bio: *mut BIO);
6832}
6833extern "C" {
6834    #[link_name = "\u{1}aws_lc_0_27_2_BIO_up_ref"]
6835    pub fn BIO_up_ref(bio: *mut BIO) -> ::std::os::raw::c_int;
6836}
6837extern "C" {
6838    #[link_name = "\u{1}aws_lc_0_27_2_BIO_read"]
6839    pub fn BIO_read(
6840        bio: *mut BIO,
6841        data: *mut ::std::os::raw::c_void,
6842        len: ::std::os::raw::c_int,
6843    ) -> ::std::os::raw::c_int;
6844}
6845extern "C" {
6846    #[link_name = "\u{1}aws_lc_0_27_2_BIO_read_ex"]
6847    pub fn BIO_read_ex(
6848        bio: *mut BIO,
6849        data: *mut ::std::os::raw::c_void,
6850        data_len: usize,
6851        read_bytes: *mut usize,
6852    ) -> ::std::os::raw::c_int;
6853}
6854extern "C" {
6855    #[link_name = "\u{1}aws_lc_0_27_2_BIO_gets"]
6856    pub fn BIO_gets(
6857        bio: *mut BIO,
6858        buf: *mut ::std::os::raw::c_char,
6859        size: ::std::os::raw::c_int,
6860    ) -> ::std::os::raw::c_int;
6861}
6862extern "C" {
6863    #[link_name = "\u{1}aws_lc_0_27_2_BIO_write"]
6864    pub fn BIO_write(
6865        bio: *mut BIO,
6866        data: *const ::std::os::raw::c_void,
6867        len: ::std::os::raw::c_int,
6868    ) -> ::std::os::raw::c_int;
6869}
6870extern "C" {
6871    #[link_name = "\u{1}aws_lc_0_27_2_BIO_write_ex"]
6872    pub fn BIO_write_ex(
6873        bio: *mut BIO,
6874        data: *const ::std::os::raw::c_void,
6875        data_len: usize,
6876        written_bytes: *mut usize,
6877    ) -> ::std::os::raw::c_int;
6878}
6879extern "C" {
6880    #[link_name = "\u{1}aws_lc_0_27_2_BIO_write_all"]
6881    pub fn BIO_write_all(
6882        bio: *mut BIO,
6883        data: *const ::std::os::raw::c_void,
6884        len: usize,
6885    ) -> ::std::os::raw::c_int;
6886}
6887extern "C" {
6888    #[link_name = "\u{1}aws_lc_0_27_2_BIO_puts"]
6889    pub fn BIO_puts(bio: *mut BIO, buf: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
6890}
6891extern "C" {
6892    #[link_name = "\u{1}aws_lc_0_27_2_BIO_flush"]
6893    pub fn BIO_flush(bio: *mut BIO) -> ::std::os::raw::c_int;
6894}
6895extern "C" {
6896    #[link_name = "\u{1}aws_lc_0_27_2_BIO_ctrl"]
6897    pub fn BIO_ctrl(
6898        bio: *mut BIO,
6899        cmd: ::std::os::raw::c_int,
6900        larg: ::std::os::raw::c_long,
6901        parg: *mut ::std::os::raw::c_void,
6902    ) -> ::std::os::raw::c_long;
6903}
6904extern "C" {
6905    #[link_name = "\u{1}aws_lc_0_27_2_BIO_ptr_ctrl"]
6906    pub fn BIO_ptr_ctrl(
6907        bp: *mut BIO,
6908        cmd: ::std::os::raw::c_int,
6909        larg: ::std::os::raw::c_long,
6910    ) -> *mut ::std::os::raw::c_char;
6911}
6912extern "C" {
6913    #[link_name = "\u{1}aws_lc_0_27_2_BIO_int_ctrl"]
6914    pub fn BIO_int_ctrl(
6915        bp: *mut BIO,
6916        cmd: ::std::os::raw::c_int,
6917        larg: ::std::os::raw::c_long,
6918        iarg: ::std::os::raw::c_int,
6919    ) -> ::std::os::raw::c_long;
6920}
6921extern "C" {
6922    #[link_name = "\u{1}aws_lc_0_27_2_BIO_reset"]
6923    pub fn BIO_reset(bio: *mut BIO) -> ::std::os::raw::c_int;
6924}
6925extern "C" {
6926    #[link_name = "\u{1}aws_lc_0_27_2_BIO_eof"]
6927    pub fn BIO_eof(bio: *mut BIO) -> ::std::os::raw::c_int;
6928}
6929extern "C" {
6930    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_flags"]
6931    pub fn BIO_set_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6932}
6933extern "C" {
6934    #[link_name = "\u{1}aws_lc_0_27_2_BIO_test_flags"]
6935    pub fn BIO_test_flags(bio: *const BIO, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
6936}
6937extern "C" {
6938    #[link_name = "\u{1}aws_lc_0_27_2_BIO_should_read"]
6939    pub fn BIO_should_read(bio: *const BIO) -> ::std::os::raw::c_int;
6940}
6941extern "C" {
6942    #[link_name = "\u{1}aws_lc_0_27_2_BIO_should_write"]
6943    pub fn BIO_should_write(bio: *const BIO) -> ::std::os::raw::c_int;
6944}
6945extern "C" {
6946    #[link_name = "\u{1}aws_lc_0_27_2_BIO_should_retry"]
6947    pub fn BIO_should_retry(bio: *const BIO) -> ::std::os::raw::c_int;
6948}
6949extern "C" {
6950    #[link_name = "\u{1}aws_lc_0_27_2_BIO_should_io_special"]
6951    pub fn BIO_should_io_special(bio: *const BIO) -> ::std::os::raw::c_int;
6952}
6953extern "C" {
6954    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_retry_reason"]
6955    pub fn BIO_get_retry_reason(bio: *const BIO) -> ::std::os::raw::c_int;
6956}
6957extern "C" {
6958    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_retry_reason"]
6959    pub fn BIO_set_retry_reason(bio: *mut BIO, reason: ::std::os::raw::c_int);
6960}
6961extern "C" {
6962    #[link_name = "\u{1}aws_lc_0_27_2_BIO_clear_flags"]
6963    pub fn BIO_clear_flags(bio: *mut BIO, flags: ::std::os::raw::c_int);
6964}
6965extern "C" {
6966    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_retry_read"]
6967    pub fn BIO_set_retry_read(bio: *mut BIO);
6968}
6969extern "C" {
6970    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_retry_write"]
6971    pub fn BIO_set_retry_write(bio: *mut BIO);
6972}
6973extern "C" {
6974    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_retry_flags"]
6975    pub fn BIO_get_retry_flags(bio: *mut BIO) -> ::std::os::raw::c_int;
6976}
6977extern "C" {
6978    #[link_name = "\u{1}aws_lc_0_27_2_BIO_clear_retry_flags"]
6979    pub fn BIO_clear_retry_flags(bio: *mut BIO);
6980}
6981extern "C" {
6982    #[link_name = "\u{1}aws_lc_0_27_2_BIO_method_type"]
6983    pub fn BIO_method_type(bio: *const BIO) -> ::std::os::raw::c_int;
6984}
6985extern "C" {
6986    #[link_name = "\u{1}aws_lc_0_27_2_BIO_method_name"]
6987    pub fn BIO_method_name(b: *const BIO) -> *const ::std::os::raw::c_char;
6988}
6989pub type bio_info_cb = ::std::option::Option<
6990    unsafe extern "C" fn(
6991        b: *mut BIO,
6992        state: ::std::os::raw::c_int,
6993        res: ::std::os::raw::c_int,
6994    ) -> ::std::os::raw::c_long,
6995>;
6996pub type BIO_callback_fn_ex = ::std::option::Option<
6997    unsafe extern "C" fn(
6998        bio: *mut BIO,
6999        oper: ::std::os::raw::c_int,
7000        argp: *const ::std::os::raw::c_char,
7001        len: usize,
7002        argi: ::std::os::raw::c_int,
7003        argl: ::std::os::raw::c_long,
7004        bio_ret: ::std::os::raw::c_int,
7005        processed: *mut usize,
7006    ) -> ::std::os::raw::c_long,
7007>;
7008extern "C" {
7009    #[link_name = "\u{1}aws_lc_0_27_2_BIO_callback_ctrl"]
7010    pub fn BIO_callback_ctrl(
7011        bio: *mut BIO,
7012        cmd: ::std::os::raw::c_int,
7013        fp: bio_info_cb,
7014    ) -> ::std::os::raw::c_long;
7015}
7016extern "C" {
7017    #[link_name = "\u{1}aws_lc_0_27_2_BIO_pending"]
7018    pub fn BIO_pending(bio: *const BIO) -> usize;
7019}
7020extern "C" {
7021    #[link_name = "\u{1}aws_lc_0_27_2_BIO_ctrl_pending"]
7022    pub fn BIO_ctrl_pending(bio: *const BIO) -> usize;
7023}
7024extern "C" {
7025    #[link_name = "\u{1}aws_lc_0_27_2_BIO_wpending"]
7026    pub fn BIO_wpending(bio: *const BIO) -> usize;
7027}
7028extern "C" {
7029    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_close"]
7030    pub fn BIO_set_close(bio: *mut BIO, close_flag: ::std::os::raw::c_int)
7031        -> ::std::os::raw::c_int;
7032}
7033extern "C" {
7034    #[link_name = "\u{1}aws_lc_0_27_2_BIO_number_read"]
7035    pub fn BIO_number_read(bio: *const BIO) -> u64;
7036}
7037extern "C" {
7038    #[link_name = "\u{1}aws_lc_0_27_2_BIO_number_written"]
7039    pub fn BIO_number_written(bio: *const BIO) -> u64;
7040}
7041extern "C" {
7042    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_callback_ex"]
7043    pub fn BIO_set_callback_ex(bio: *mut BIO, callback_ex: BIO_callback_fn_ex);
7044}
7045extern "C" {
7046    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_callback_arg"]
7047    pub fn BIO_set_callback_arg(bio: *mut BIO, arg: *mut ::std::os::raw::c_char);
7048}
7049extern "C" {
7050    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_callback_arg"]
7051    pub fn BIO_get_callback_arg(bio: *const BIO) -> *mut ::std::os::raw::c_char;
7052}
7053extern "C" {
7054    #[link_name = "\u{1}aws_lc_0_27_2_BIO_push"]
7055    pub fn BIO_push(bio: *mut BIO, appended_bio: *mut BIO) -> *mut BIO;
7056}
7057extern "C" {
7058    #[link_name = "\u{1}aws_lc_0_27_2_BIO_pop"]
7059    pub fn BIO_pop(bio: *mut BIO) -> *mut BIO;
7060}
7061extern "C" {
7062    #[link_name = "\u{1}aws_lc_0_27_2_BIO_next"]
7063    pub fn BIO_next(bio: *mut BIO) -> *mut BIO;
7064}
7065extern "C" {
7066    #[link_name = "\u{1}aws_lc_0_27_2_BIO_free_all"]
7067    pub fn BIO_free_all(bio: *mut BIO);
7068}
7069extern "C" {
7070    #[link_name = "\u{1}aws_lc_0_27_2_BIO_find_type"]
7071    pub fn BIO_find_type(bio: *mut BIO, type_: ::std::os::raw::c_int) -> *mut BIO;
7072}
7073extern "C" {
7074    #[link_name = "\u{1}aws_lc_0_27_2_BIO_copy_next_retry"]
7075    pub fn BIO_copy_next_retry(bio: *mut BIO);
7076}
7077extern "C" {
7078    #[link_name = "\u{1}aws_lc_0_27_2_BIO_printf"]
7079    pub fn BIO_printf(
7080        bio: *mut BIO,
7081        format: *const ::std::os::raw::c_char,
7082        ...
7083    ) -> ::std::os::raw::c_int;
7084}
7085extern "C" {
7086    #[link_name = "\u{1}aws_lc_0_27_2_BIO_indent"]
7087    pub fn BIO_indent(
7088        bio: *mut BIO,
7089        indent: ::std::os::raw::c_uint,
7090        max_indent: ::std::os::raw::c_uint,
7091    ) -> ::std::os::raw::c_int;
7092}
7093extern "C" {
7094    #[link_name = "\u{1}aws_lc_0_27_2_BIO_hexdump"]
7095    pub fn BIO_hexdump(
7096        bio: *mut BIO,
7097        data: *const u8,
7098        len: usize,
7099        indent: ::std::os::raw::c_uint,
7100    ) -> ::std::os::raw::c_int;
7101}
7102extern "C" {
7103    #[link_name = "\u{1}aws_lc_0_27_2_ERR_print_errors"]
7104    pub fn ERR_print_errors(bio: *mut BIO);
7105}
7106extern "C" {
7107    #[link_name = "\u{1}aws_lc_0_27_2_BIO_read_asn1"]
7108    pub fn BIO_read_asn1(
7109        bio: *mut BIO,
7110        out: *mut *mut u8,
7111        out_len: *mut usize,
7112        max_len: usize,
7113    ) -> ::std::os::raw::c_int;
7114}
7115extern "C" {
7116    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_mem"]
7117    pub fn BIO_s_mem() -> *const BIO_METHOD;
7118}
7119extern "C" {
7120    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_mem_buf"]
7121    pub fn BIO_new_mem_buf(buf: *const ::std::os::raw::c_void, len: ossl_ssize_t) -> *mut BIO;
7122}
7123extern "C" {
7124    #[link_name = "\u{1}aws_lc_0_27_2_BIO_mem_contents"]
7125    pub fn BIO_mem_contents(
7126        bio: *const BIO,
7127        out_contents: *mut *const u8,
7128        out_len: *mut usize,
7129    ) -> ::std::os::raw::c_int;
7130}
7131extern "C" {
7132    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_mem_ptr"]
7133    pub fn BIO_get_mem_ptr(bio: *mut BIO, out: *mut *mut BUF_MEM) -> ::std::os::raw::c_int;
7134}
7135extern "C" {
7136    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_mem_buf"]
7137    pub fn BIO_set_mem_buf(
7138        bio: *mut BIO,
7139        b: *mut BUF_MEM,
7140        take_ownership: ::std::os::raw::c_int,
7141    ) -> ::std::os::raw::c_int;
7142}
7143extern "C" {
7144    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_mem_eof_return"]
7145    pub fn BIO_set_mem_eof_return(
7146        bio: *mut BIO,
7147        eof_value: ::std::os::raw::c_int,
7148    ) -> ::std::os::raw::c_int;
7149}
7150extern "C" {
7151    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_fd"]
7152    pub fn BIO_s_fd() -> *const BIO_METHOD;
7153}
7154extern "C" {
7155    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_fd"]
7156    pub fn BIO_new_fd(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7157}
7158extern "C" {
7159    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_fd"]
7160    pub fn BIO_set_fd(
7161        bio: *mut BIO,
7162        fd: ::std::os::raw::c_int,
7163        close_flag: ::std::os::raw::c_int,
7164    ) -> ::std::os::raw::c_int;
7165}
7166extern "C" {
7167    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_fd"]
7168    pub fn BIO_get_fd(bio: *mut BIO, out_fd: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7169}
7170extern "C" {
7171    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_file"]
7172    pub fn BIO_s_file() -> *const BIO_METHOD;
7173}
7174extern "C" {
7175    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_file"]
7176    pub fn BIO_new_file(
7177        filename: *const ::std::os::raw::c_char,
7178        mode: *const ::std::os::raw::c_char,
7179    ) -> *mut BIO;
7180}
7181extern "C" {
7182    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_fp"]
7183    pub fn BIO_new_fp(stream: *mut FILE, close_flag: ::std::os::raw::c_int) -> *mut BIO;
7184}
7185extern "C" {
7186    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_fp"]
7187    pub fn BIO_get_fp(bio: *mut BIO, out_file: *mut *mut FILE) -> ::std::os::raw::c_int;
7188}
7189extern "C" {
7190    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_fp"]
7191    pub fn BIO_set_fp(
7192        bio: *mut BIO,
7193        file: *mut FILE,
7194        close_flag: ::std::os::raw::c_int,
7195    ) -> ::std::os::raw::c_int;
7196}
7197extern "C" {
7198    #[link_name = "\u{1}aws_lc_0_27_2_BIO_read_filename"]
7199    pub fn BIO_read_filename(
7200        bio: *mut BIO,
7201        filename: *const ::std::os::raw::c_char,
7202    ) -> ::std::os::raw::c_int;
7203}
7204extern "C" {
7205    #[link_name = "\u{1}aws_lc_0_27_2_BIO_write_filename"]
7206    pub fn BIO_write_filename(
7207        bio: *mut BIO,
7208        filename: *const ::std::os::raw::c_char,
7209    ) -> ::std::os::raw::c_int;
7210}
7211extern "C" {
7212    #[link_name = "\u{1}aws_lc_0_27_2_BIO_append_filename"]
7213    pub fn BIO_append_filename(
7214        bio: *mut BIO,
7215        filename: *const ::std::os::raw::c_char,
7216    ) -> ::std::os::raw::c_int;
7217}
7218extern "C" {
7219    #[link_name = "\u{1}aws_lc_0_27_2_BIO_rw_filename"]
7220    pub fn BIO_rw_filename(
7221        bio: *mut BIO,
7222        filename: *const ::std::os::raw::c_char,
7223    ) -> ::std::os::raw::c_int;
7224}
7225extern "C" {
7226    #[link_name = "\u{1}aws_lc_0_27_2_BIO_tell"]
7227    pub fn BIO_tell(bio: *mut BIO) -> ::std::os::raw::c_long;
7228}
7229extern "C" {
7230    #[link_name = "\u{1}aws_lc_0_27_2_BIO_seek"]
7231    pub fn BIO_seek(bio: *mut BIO, offset: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
7232}
7233extern "C" {
7234    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_socket"]
7235    pub fn BIO_s_socket() -> *const BIO_METHOD;
7236}
7237extern "C" {
7238    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_socket"]
7239    pub fn BIO_new_socket(fd: ::std::os::raw::c_int, close_flag: ::std::os::raw::c_int)
7240        -> *mut BIO;
7241}
7242extern "C" {
7243    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_connect"]
7244    pub fn BIO_s_connect() -> *const BIO_METHOD;
7245}
7246extern "C" {
7247    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_connect"]
7248    pub fn BIO_new_connect(host_and_optional_port: *const ::std::os::raw::c_char) -> *mut BIO;
7249}
7250extern "C" {
7251    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_conn_hostname"]
7252    pub fn BIO_set_conn_hostname(
7253        bio: *mut BIO,
7254        host_and_optional_port: *const ::std::os::raw::c_char,
7255    ) -> ::std::os::raw::c_int;
7256}
7257extern "C" {
7258    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_conn_port"]
7259    pub fn BIO_set_conn_port(
7260        bio: *mut BIO,
7261        port_str: *const ::std::os::raw::c_char,
7262    ) -> ::std::os::raw::c_int;
7263}
7264extern "C" {
7265    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_conn_int_port"]
7266    pub fn BIO_set_conn_int_port(
7267        bio: *mut BIO,
7268        port: *const ::std::os::raw::c_int,
7269    ) -> ::std::os::raw::c_int;
7270}
7271extern "C" {
7272    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_nbio"]
7273    pub fn BIO_set_nbio(bio: *mut BIO, on: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
7274}
7275extern "C" {
7276    #[link_name = "\u{1}aws_lc_0_27_2_BIO_do_connect"]
7277    pub fn BIO_do_connect(bio: *mut BIO) -> ::std::os::raw::c_int;
7278}
7279extern "C" {
7280    #[link_name = "\u{1}aws_lc_0_27_2_BIO_new_bio_pair"]
7281    pub fn BIO_new_bio_pair(
7282        out1: *mut *mut BIO,
7283        writebuf1: usize,
7284        out2: *mut *mut BIO,
7285        writebuf2: usize,
7286    ) -> ::std::os::raw::c_int;
7287}
7288extern "C" {
7289    #[link_name = "\u{1}aws_lc_0_27_2_BIO_destroy_bio_pair"]
7290    pub fn BIO_destroy_bio_pair(b: *mut BIO) -> ::std::os::raw::c_int;
7291}
7292extern "C" {
7293    #[link_name = "\u{1}aws_lc_0_27_2_BIO_ctrl_get_read_request"]
7294    pub fn BIO_ctrl_get_read_request(bio: *mut BIO) -> usize;
7295}
7296extern "C" {
7297    #[link_name = "\u{1}aws_lc_0_27_2_BIO_ctrl_get_write_guarantee"]
7298    pub fn BIO_ctrl_get_write_guarantee(bio: *mut BIO) -> usize;
7299}
7300extern "C" {
7301    #[link_name = "\u{1}aws_lc_0_27_2_BIO_shutdown_wr"]
7302    pub fn BIO_shutdown_wr(bio: *mut BIO) -> ::std::os::raw::c_int;
7303}
7304extern "C" {
7305    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_new_index"]
7306    pub fn BIO_get_new_index() -> ::std::os::raw::c_int;
7307}
7308extern "C" {
7309    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_new"]
7310    pub fn BIO_meth_new(
7311        type_: ::std::os::raw::c_int,
7312        name: *const ::std::os::raw::c_char,
7313    ) -> *mut BIO_METHOD;
7314}
7315extern "C" {
7316    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_free"]
7317    pub fn BIO_meth_free(method: *mut BIO_METHOD);
7318}
7319extern "C" {
7320    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_create"]
7321    pub fn BIO_meth_set_create(
7322        method: *mut BIO_METHOD,
7323        create: ::std::option::Option<
7324            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7325        >,
7326    ) -> ::std::os::raw::c_int;
7327}
7328extern "C" {
7329    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_create"]
7330    pub fn BIO_meth_get_create(
7331        method: *const BIO_METHOD,
7332    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7333}
7334extern "C" {
7335    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_destroy"]
7336    pub fn BIO_meth_set_destroy(
7337        method: *mut BIO_METHOD,
7338        destroy: ::std::option::Option<
7339            unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int,
7340        >,
7341    ) -> ::std::os::raw::c_int;
7342}
7343extern "C" {
7344    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_destroy"]
7345    pub fn BIO_meth_get_destroy(
7346        method: *const BIO_METHOD,
7347    ) -> ::std::option::Option<unsafe extern "C" fn(method: *mut BIO) -> ::std::os::raw::c_int>;
7348}
7349extern "C" {
7350    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_write"]
7351    pub fn BIO_meth_set_write(
7352        method: *mut BIO_METHOD,
7353        write: ::std::option::Option<
7354            unsafe extern "C" fn(
7355                arg1: *mut BIO,
7356                arg2: *const ::std::os::raw::c_char,
7357                arg3: ::std::os::raw::c_int,
7358            ) -> ::std::os::raw::c_int,
7359        >,
7360    ) -> ::std::os::raw::c_int;
7361}
7362extern "C" {
7363    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_read"]
7364    pub fn BIO_meth_set_read(
7365        method: *mut BIO_METHOD,
7366        read: ::std::option::Option<
7367            unsafe extern "C" fn(
7368                arg1: *mut BIO,
7369                arg2: *mut ::std::os::raw::c_char,
7370                arg3: ::std::os::raw::c_int,
7371            ) -> ::std::os::raw::c_int,
7372        >,
7373    ) -> ::std::os::raw::c_int;
7374}
7375extern "C" {
7376    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_gets"]
7377    pub fn BIO_meth_set_gets(
7378        method: *mut BIO_METHOD,
7379        gets: ::std::option::Option<
7380            unsafe extern "C" fn(
7381                arg1: *mut BIO,
7382                arg2: *mut ::std::os::raw::c_char,
7383                arg3: ::std::os::raw::c_int,
7384            ) -> ::std::os::raw::c_int,
7385        >,
7386    ) -> ::std::os::raw::c_int;
7387}
7388extern "C" {
7389    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_gets"]
7390    pub fn BIO_meth_get_gets(
7391        method: *const BIO_METHOD,
7392    ) -> ::std::option::Option<
7393        unsafe extern "C" fn(
7394            method: *mut BIO,
7395            arg1: *mut ::std::os::raw::c_char,
7396            arg2: ::std::os::raw::c_int,
7397        ) -> ::std::os::raw::c_int,
7398    >;
7399}
7400extern "C" {
7401    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_ctrl"]
7402    pub fn BIO_meth_set_ctrl(
7403        method: *mut BIO_METHOD,
7404        ctrl: ::std::option::Option<
7405            unsafe extern "C" fn(
7406                arg1: *mut BIO,
7407                arg2: ::std::os::raw::c_int,
7408                arg3: ::std::os::raw::c_long,
7409                arg4: *mut ::std::os::raw::c_void,
7410            ) -> ::std::os::raw::c_long,
7411        >,
7412    ) -> ::std::os::raw::c_int;
7413}
7414extern "C" {
7415    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_ctrl"]
7416    pub fn BIO_meth_get_ctrl(
7417        method: *const BIO_METHOD,
7418    ) -> ::std::option::Option<
7419        unsafe extern "C" fn(
7420            method: *mut BIO,
7421            arg1: ::std::os::raw::c_int,
7422            arg2: ::std::os::raw::c_long,
7423            arg3: *mut ::std::os::raw::c_void,
7424        ) -> ::std::os::raw::c_long,
7425    >;
7426}
7427extern "C" {
7428    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_callback_ctrl"]
7429    pub fn BIO_meth_set_callback_ctrl(
7430        method: *mut BIO_METHOD,
7431        callback_ctrl: ::std::option::Option<
7432            unsafe extern "C" fn(
7433                arg1: *mut BIO,
7434                arg2: ::std::os::raw::c_int,
7435                arg3: bio_info_cb,
7436            ) -> ::std::os::raw::c_long,
7437        >,
7438    ) -> ::std::os::raw::c_int;
7439}
7440extern "C" {
7441    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_callback_ctrl"]
7442    pub fn BIO_meth_get_callback_ctrl(
7443        method: *const BIO_METHOD,
7444    ) -> ::std::option::Option<
7445        unsafe extern "C" fn(
7446            method: *mut BIO,
7447            arg1: ::std::os::raw::c_int,
7448            arg2: bio_info_cb,
7449        ) -> ::std::os::raw::c_long,
7450    >;
7451}
7452extern "C" {
7453    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_data"]
7454    pub fn BIO_set_data(bio: *mut BIO, ptr: *mut ::std::os::raw::c_void);
7455}
7456extern "C" {
7457    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_data"]
7458    pub fn BIO_get_data(bio: *mut BIO) -> *mut ::std::os::raw::c_void;
7459}
7460extern "C" {
7461    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_init"]
7462    pub fn BIO_set_init(bio: *mut BIO, init: ::std::os::raw::c_int);
7463}
7464extern "C" {
7465    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_init"]
7466    pub fn BIO_get_init(bio: *mut BIO) -> ::std::os::raw::c_int;
7467}
7468extern "C" {
7469    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_ex_new_index"]
7470    pub fn BIO_get_ex_new_index(
7471        argl: ::std::os::raw::c_long,
7472        argp: *mut ::std::os::raw::c_void,
7473        unused: *mut CRYPTO_EX_unused,
7474        dup_unused: CRYPTO_EX_dup,
7475        free_func: CRYPTO_EX_free,
7476    ) -> ::std::os::raw::c_int;
7477}
7478extern "C" {
7479    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_ex_data"]
7480    pub fn BIO_set_ex_data(
7481        bio: *mut BIO,
7482        idx: ::std::os::raw::c_int,
7483        arg: *mut ::std::os::raw::c_void,
7484    ) -> ::std::os::raw::c_int;
7485}
7486extern "C" {
7487    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_ex_data"]
7488    pub fn BIO_get_ex_data(
7489        bio: *const BIO,
7490        idx: ::std::os::raw::c_int,
7491    ) -> *mut ::std::os::raw::c_void;
7492}
7493extern "C" {
7494    #[link_name = "\u{1}aws_lc_0_27_2_BIO_f_base64"]
7495    pub fn BIO_f_base64() -> *const BIO_METHOD;
7496}
7497extern "C" {
7498    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_retry_special"]
7499    pub fn BIO_set_retry_special(bio: *mut BIO);
7500}
7501extern "C" {
7502    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_shutdown"]
7503    pub fn BIO_set_shutdown(bio: *mut BIO, shutdown: ::std::os::raw::c_int);
7504}
7505extern "C" {
7506    #[link_name = "\u{1}aws_lc_0_27_2_BIO_get_shutdown"]
7507    pub fn BIO_get_shutdown(bio: *mut BIO) -> ::std::os::raw::c_int;
7508}
7509extern "C" {
7510    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_set_puts"]
7511    pub fn BIO_meth_set_puts(
7512        method: *mut BIO_METHOD,
7513        puts: ::std::option::Option<
7514            unsafe extern "C" fn(
7515                arg1: *mut BIO,
7516                arg2: *const ::std::os::raw::c_char,
7517            ) -> ::std::os::raw::c_int,
7518        >,
7519    ) -> ::std::os::raw::c_int;
7520}
7521extern "C" {
7522    #[link_name = "\u{1}aws_lc_0_27_2_BIO_meth_get_puts"]
7523    pub fn BIO_meth_get_puts(
7524        method: *const BIO_METHOD,
7525    ) -> ::std::option::Option<
7526        unsafe extern "C" fn(
7527            method: *mut BIO,
7528            arg1: *const ::std::os::raw::c_char,
7529        ) -> ::std::os::raw::c_int,
7530    >;
7531}
7532extern "C" {
7533    #[link_name = "\u{1}aws_lc_0_27_2_BIO_s_secmem"]
7534    pub fn BIO_s_secmem() -> *const BIO_METHOD;
7535}
7536extern "C" {
7537    #[link_name = "\u{1}aws_lc_0_27_2_BIO_set_write_buffer_size"]
7538    pub fn BIO_set_write_buffer_size(
7539        bio: *mut BIO,
7540        buffer_size: ::std::os::raw::c_int,
7541    ) -> ::std::os::raw::c_int;
7542}
7543#[repr(C)]
7544#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7545pub struct bio_method_st {
7546    pub type_: ::std::os::raw::c_int,
7547    pub name: *const ::std::os::raw::c_char,
7548    pub bwrite: ::std::option::Option<
7549        unsafe extern "C" fn(
7550            arg1: *mut BIO,
7551            arg2: *const ::std::os::raw::c_char,
7552            arg3: ::std::os::raw::c_int,
7553        ) -> ::std::os::raw::c_int,
7554    >,
7555    pub bread: ::std::option::Option<
7556        unsafe extern "C" fn(
7557            arg1: *mut BIO,
7558            arg2: *mut ::std::os::raw::c_char,
7559            arg3: ::std::os::raw::c_int,
7560        ) -> ::std::os::raw::c_int,
7561    >,
7562    pub bputs: ::std::option::Option<
7563        unsafe extern "C" fn(
7564            arg1: *mut BIO,
7565            arg2: *const ::std::os::raw::c_char,
7566        ) -> ::std::os::raw::c_int,
7567    >,
7568    pub bgets: ::std::option::Option<
7569        unsafe extern "C" fn(
7570            arg1: *mut BIO,
7571            arg2: *mut ::std::os::raw::c_char,
7572            arg3: ::std::os::raw::c_int,
7573        ) -> ::std::os::raw::c_int,
7574    >,
7575    pub ctrl: ::std::option::Option<
7576        unsafe extern "C" fn(
7577            arg1: *mut BIO,
7578            arg2: ::std::os::raw::c_int,
7579            arg3: ::std::os::raw::c_long,
7580            arg4: *mut ::std::os::raw::c_void,
7581        ) -> ::std::os::raw::c_long,
7582    >,
7583    pub create:
7584        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7585    pub destroy:
7586        ::std::option::Option<unsafe extern "C" fn(arg1: *mut BIO) -> ::std::os::raw::c_int>,
7587    pub callback_ctrl: ::std::option::Option<
7588        unsafe extern "C" fn(
7589            arg1: *mut BIO,
7590            arg2: ::std::os::raw::c_int,
7591            arg3: bio_info_cb,
7592        ) -> ::std::os::raw::c_long,
7593    >,
7594}
7595#[test]
7596fn bindgen_test_layout_bio_method_st() {
7597    const UNINIT: ::std::mem::MaybeUninit<bio_method_st> = ::std::mem::MaybeUninit::uninit();
7598    let ptr = UNINIT.as_ptr();
7599    assert_eq!(
7600        ::std::mem::size_of::<bio_method_st>(),
7601        80usize,
7602        concat!("Size of: ", stringify!(bio_method_st))
7603    );
7604    assert_eq!(
7605        ::std::mem::align_of::<bio_method_st>(),
7606        8usize,
7607        concat!("Alignment of ", stringify!(bio_method_st))
7608    );
7609    assert_eq!(
7610        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
7611        0usize,
7612        concat!(
7613            "Offset of field: ",
7614            stringify!(bio_method_st),
7615            "::",
7616            stringify!(type_)
7617        )
7618    );
7619    assert_eq!(
7620        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
7621        8usize,
7622        concat!(
7623            "Offset of field: ",
7624            stringify!(bio_method_st),
7625            "::",
7626            stringify!(name)
7627        )
7628    );
7629    assert_eq!(
7630        unsafe { ::std::ptr::addr_of!((*ptr).bwrite) as usize - ptr as usize },
7631        16usize,
7632        concat!(
7633            "Offset of field: ",
7634            stringify!(bio_method_st),
7635            "::",
7636            stringify!(bwrite)
7637        )
7638    );
7639    assert_eq!(
7640        unsafe { ::std::ptr::addr_of!((*ptr).bread) as usize - ptr as usize },
7641        24usize,
7642        concat!(
7643            "Offset of field: ",
7644            stringify!(bio_method_st),
7645            "::",
7646            stringify!(bread)
7647        )
7648    );
7649    assert_eq!(
7650        unsafe { ::std::ptr::addr_of!((*ptr).bputs) as usize - ptr as usize },
7651        32usize,
7652        concat!(
7653            "Offset of field: ",
7654            stringify!(bio_method_st),
7655            "::",
7656            stringify!(bputs)
7657        )
7658    );
7659    assert_eq!(
7660        unsafe { ::std::ptr::addr_of!((*ptr).bgets) as usize - ptr as usize },
7661        40usize,
7662        concat!(
7663            "Offset of field: ",
7664            stringify!(bio_method_st),
7665            "::",
7666            stringify!(bgets)
7667        )
7668    );
7669    assert_eq!(
7670        unsafe { ::std::ptr::addr_of!((*ptr).ctrl) as usize - ptr as usize },
7671        48usize,
7672        concat!(
7673            "Offset of field: ",
7674            stringify!(bio_method_st),
7675            "::",
7676            stringify!(ctrl)
7677        )
7678    );
7679    assert_eq!(
7680        unsafe { ::std::ptr::addr_of!((*ptr).create) as usize - ptr as usize },
7681        56usize,
7682        concat!(
7683            "Offset of field: ",
7684            stringify!(bio_method_st),
7685            "::",
7686            stringify!(create)
7687        )
7688    );
7689    assert_eq!(
7690        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
7691        64usize,
7692        concat!(
7693            "Offset of field: ",
7694            stringify!(bio_method_st),
7695            "::",
7696            stringify!(destroy)
7697        )
7698    );
7699    assert_eq!(
7700        unsafe { ::std::ptr::addr_of!((*ptr).callback_ctrl) as usize - ptr as usize },
7701        72usize,
7702        concat!(
7703            "Offset of field: ",
7704            stringify!(bio_method_st),
7705            "::",
7706            stringify!(callback_ctrl)
7707        )
7708    );
7709}
7710impl Default for bio_method_st {
7711    fn default() -> Self {
7712        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7713        unsafe {
7714            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7715            s.assume_init()
7716        }
7717    }
7718}
7719#[repr(C)]
7720#[derive(Debug, Copy, Clone, PartialEq, Eq)]
7721pub struct bio_st {
7722    pub method: *const BIO_METHOD,
7723    pub ex_data: CRYPTO_EX_DATA,
7724    pub callback_ex: BIO_callback_fn_ex,
7725    pub cb_arg: *mut ::std::os::raw::c_char,
7726    pub init: ::std::os::raw::c_int,
7727    pub shutdown: ::std::os::raw::c_int,
7728    pub flags: ::std::os::raw::c_int,
7729    pub retry_reason: ::std::os::raw::c_int,
7730    pub num: ::std::os::raw::c_int,
7731    pub references: CRYPTO_refcount_t,
7732    pub ptr: *mut ::std::os::raw::c_void,
7733    pub next_bio: *mut BIO,
7734    pub num_read: u64,
7735    pub num_write: u64,
7736}
7737#[test]
7738fn bindgen_test_layout_bio_st() {
7739    const UNINIT: ::std::mem::MaybeUninit<bio_st> = ::std::mem::MaybeUninit::uninit();
7740    let ptr = UNINIT.as_ptr();
7741    assert_eq!(
7742        ::std::mem::size_of::<bio_st>(),
7743        88usize,
7744        concat!("Size of: ", stringify!(bio_st))
7745    );
7746    assert_eq!(
7747        ::std::mem::align_of::<bio_st>(),
7748        8usize,
7749        concat!("Alignment of ", stringify!(bio_st))
7750    );
7751    assert_eq!(
7752        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
7753        0usize,
7754        concat!(
7755            "Offset of field: ",
7756            stringify!(bio_st),
7757            "::",
7758            stringify!(method)
7759        )
7760    );
7761    assert_eq!(
7762        unsafe { ::std::ptr::addr_of!((*ptr).ex_data) as usize - ptr as usize },
7763        8usize,
7764        concat!(
7765            "Offset of field: ",
7766            stringify!(bio_st),
7767            "::",
7768            stringify!(ex_data)
7769        )
7770    );
7771    assert_eq!(
7772        unsafe { ::std::ptr::addr_of!((*ptr).callback_ex) as usize - ptr as usize },
7773        16usize,
7774        concat!(
7775            "Offset of field: ",
7776            stringify!(bio_st),
7777            "::",
7778            stringify!(callback_ex)
7779        )
7780    );
7781    assert_eq!(
7782        unsafe { ::std::ptr::addr_of!((*ptr).cb_arg) as usize - ptr as usize },
7783        24usize,
7784        concat!(
7785            "Offset of field: ",
7786            stringify!(bio_st),
7787            "::",
7788            stringify!(cb_arg)
7789        )
7790    );
7791    assert_eq!(
7792        unsafe { ::std::ptr::addr_of!((*ptr).init) as usize - ptr as usize },
7793        32usize,
7794        concat!(
7795            "Offset of field: ",
7796            stringify!(bio_st),
7797            "::",
7798            stringify!(init)
7799        )
7800    );
7801    assert_eq!(
7802        unsafe { ::std::ptr::addr_of!((*ptr).shutdown) as usize - ptr as usize },
7803        36usize,
7804        concat!(
7805            "Offset of field: ",
7806            stringify!(bio_st),
7807            "::",
7808            stringify!(shutdown)
7809        )
7810    );
7811    assert_eq!(
7812        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
7813        40usize,
7814        concat!(
7815            "Offset of field: ",
7816            stringify!(bio_st),
7817            "::",
7818            stringify!(flags)
7819        )
7820    );
7821    assert_eq!(
7822        unsafe { ::std::ptr::addr_of!((*ptr).retry_reason) as usize - ptr as usize },
7823        44usize,
7824        concat!(
7825            "Offset of field: ",
7826            stringify!(bio_st),
7827            "::",
7828            stringify!(retry_reason)
7829        )
7830    );
7831    assert_eq!(
7832        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
7833        48usize,
7834        concat!(
7835            "Offset of field: ",
7836            stringify!(bio_st),
7837            "::",
7838            stringify!(num)
7839        )
7840    );
7841    assert_eq!(
7842        unsafe { ::std::ptr::addr_of!((*ptr).references) as usize - ptr as usize },
7843        52usize,
7844        concat!(
7845            "Offset of field: ",
7846            stringify!(bio_st),
7847            "::",
7848            stringify!(references)
7849        )
7850    );
7851    assert_eq!(
7852        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
7853        56usize,
7854        concat!(
7855            "Offset of field: ",
7856            stringify!(bio_st),
7857            "::",
7858            stringify!(ptr)
7859        )
7860    );
7861    assert_eq!(
7862        unsafe { ::std::ptr::addr_of!((*ptr).next_bio) as usize - ptr as usize },
7863        64usize,
7864        concat!(
7865            "Offset of field: ",
7866            stringify!(bio_st),
7867            "::",
7868            stringify!(next_bio)
7869        )
7870    );
7871    assert_eq!(
7872        unsafe { ::std::ptr::addr_of!((*ptr).num_read) as usize - ptr as usize },
7873        72usize,
7874        concat!(
7875            "Offset of field: ",
7876            stringify!(bio_st),
7877            "::",
7878            stringify!(num_read)
7879        )
7880    );
7881    assert_eq!(
7882        unsafe { ::std::ptr::addr_of!((*ptr).num_write) as usize - ptr as usize },
7883        80usize,
7884        concat!(
7885            "Offset of field: ",
7886            stringify!(bio_st),
7887            "::",
7888            stringify!(num_write)
7889        )
7890    );
7891}
7892impl Default for bio_st {
7893    fn default() -> Self {
7894        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
7895        unsafe {
7896            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
7897            s.assume_init()
7898        }
7899    }
7900}
7901pub type BN_ULONG = u64;
7902extern "C" {
7903    #[link_name = "\u{1}aws_lc_0_27_2_BN_new"]
7904    pub fn BN_new() -> *mut BIGNUM;
7905}
7906extern "C" {
7907    #[link_name = "\u{1}aws_lc_0_27_2_BN_init"]
7908    pub fn BN_init(bn: *mut BIGNUM);
7909}
7910extern "C" {
7911    #[link_name = "\u{1}aws_lc_0_27_2_BN_free"]
7912    pub fn BN_free(bn: *mut BIGNUM);
7913}
7914extern "C" {
7915    #[link_name = "\u{1}aws_lc_0_27_2_BN_clear_free"]
7916    pub fn BN_clear_free(bn: *mut BIGNUM);
7917}
7918extern "C" {
7919    #[link_name = "\u{1}aws_lc_0_27_2_BN_dup"]
7920    pub fn BN_dup(src: *const BIGNUM) -> *mut BIGNUM;
7921}
7922extern "C" {
7923    #[link_name = "\u{1}aws_lc_0_27_2_BN_copy"]
7924    pub fn BN_copy(dest: *mut BIGNUM, src: *const BIGNUM) -> *mut BIGNUM;
7925}
7926extern "C" {
7927    #[link_name = "\u{1}aws_lc_0_27_2_BN_clear"]
7928    pub fn BN_clear(bn: *mut BIGNUM);
7929}
7930extern "C" {
7931    #[link_name = "\u{1}aws_lc_0_27_2_BN_value_one"]
7932    pub fn BN_value_one() -> *const BIGNUM;
7933}
7934extern "C" {
7935    #[link_name = "\u{1}aws_lc_0_27_2_BN_num_bits"]
7936    pub fn BN_num_bits(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7937}
7938extern "C" {
7939    #[link_name = "\u{1}aws_lc_0_27_2_BN_num_bytes"]
7940    pub fn BN_num_bytes(bn: *const BIGNUM) -> ::std::os::raw::c_uint;
7941}
7942extern "C" {
7943    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_minimal_width"]
7944    pub fn BN_get_minimal_width(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7945}
7946extern "C" {
7947    #[link_name = "\u{1}aws_lc_0_27_2_BN_zero"]
7948    pub fn BN_zero(bn: *mut BIGNUM);
7949}
7950extern "C" {
7951    #[link_name = "\u{1}aws_lc_0_27_2_BN_one"]
7952    pub fn BN_one(bn: *mut BIGNUM) -> ::std::os::raw::c_int;
7953}
7954extern "C" {
7955    #[link_name = "\u{1}aws_lc_0_27_2_BN_set_word"]
7956    pub fn BN_set_word(bn: *mut BIGNUM, value: BN_ULONG) -> ::std::os::raw::c_int;
7957}
7958extern "C" {
7959    #[link_name = "\u{1}aws_lc_0_27_2_BN_set_u64"]
7960    pub fn BN_set_u64(bn: *mut BIGNUM, value: u64) -> ::std::os::raw::c_int;
7961}
7962extern "C" {
7963    #[link_name = "\u{1}aws_lc_0_27_2_BN_set_negative"]
7964    pub fn BN_set_negative(bn: *mut BIGNUM, sign: ::std::os::raw::c_int);
7965}
7966extern "C" {
7967    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_negative"]
7968    pub fn BN_is_negative(bn: *const BIGNUM) -> ::std::os::raw::c_int;
7969}
7970extern "C" {
7971    #[link_name = "\u{1}aws_lc_0_27_2_BN_bin2bn"]
7972    pub fn BN_bin2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7973}
7974extern "C" {
7975    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2bin"]
7976    pub fn BN_bn2bin(in_: *const BIGNUM, out: *mut u8) -> usize;
7977}
7978extern "C" {
7979    #[link_name = "\u{1}aws_lc_0_27_2_BN_le2bn"]
7980    pub fn BN_le2bn(in_: *const u8, len: usize, ret: *mut BIGNUM) -> *mut BIGNUM;
7981}
7982extern "C" {
7983    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2le_padded"]
7984    pub fn BN_bn2le_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7985}
7986extern "C" {
7987    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2bin_padded"]
7988    pub fn BN_bn2bin_padded(out: *mut u8, len: usize, in_: *const BIGNUM) -> ::std::os::raw::c_int;
7989}
7990extern "C" {
7991    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2cbb_padded"]
7992    pub fn BN_bn2cbb_padded(out: *mut CBB, len: usize, in_: *const BIGNUM)
7993        -> ::std::os::raw::c_int;
7994}
7995extern "C" {
7996    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2hex"]
7997    pub fn BN_bn2hex(bn: *const BIGNUM) -> *mut ::std::os::raw::c_char;
7998}
7999extern "C" {
8000    #[link_name = "\u{1}aws_lc_0_27_2_BN_hex2bn"]
8001    pub fn BN_hex2bn(
8002        outp: *mut *mut BIGNUM,
8003        in_: *const ::std::os::raw::c_char,
8004    ) -> ::std::os::raw::c_int;
8005}
8006extern "C" {
8007    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2dec"]
8008    pub fn BN_bn2dec(a: *const BIGNUM) -> *mut ::std::os::raw::c_char;
8009}
8010extern "C" {
8011    #[link_name = "\u{1}aws_lc_0_27_2_BN_dec2bn"]
8012    pub fn BN_dec2bn(
8013        outp: *mut *mut BIGNUM,
8014        in_: *const ::std::os::raw::c_char,
8015    ) -> ::std::os::raw::c_int;
8016}
8017extern "C" {
8018    #[link_name = "\u{1}aws_lc_0_27_2_BN_asc2bn"]
8019    pub fn BN_asc2bn(
8020        outp: *mut *mut BIGNUM,
8021        in_: *const ::std::os::raw::c_char,
8022    ) -> ::std::os::raw::c_int;
8023}
8024extern "C" {
8025    #[link_name = "\u{1}aws_lc_0_27_2_BN_print"]
8026    pub fn BN_print(bio: *mut BIO, a: *const BIGNUM) -> ::std::os::raw::c_int;
8027}
8028extern "C" {
8029    #[link_name = "\u{1}aws_lc_0_27_2_BN_print_fp"]
8030    pub fn BN_print_fp(fp: *mut FILE, a: *const BIGNUM) -> ::std::os::raw::c_int;
8031}
8032extern "C" {
8033    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_word"]
8034    pub fn BN_get_word(bn: *const BIGNUM) -> BN_ULONG;
8035}
8036extern "C" {
8037    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_u64"]
8038    pub fn BN_get_u64(bn: *const BIGNUM, out: *mut u64) -> ::std::os::raw::c_int;
8039}
8040extern "C" {
8041    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_flags"]
8042    pub fn BN_get_flags(bn: *const BIGNUM, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8043}
8044extern "C" {
8045    #[link_name = "\u{1}aws_lc_0_27_2_BN_parse_asn1_unsigned"]
8046    pub fn BN_parse_asn1_unsigned(cbs: *mut CBS, ret: *mut BIGNUM) -> ::std::os::raw::c_int;
8047}
8048extern "C" {
8049    #[link_name = "\u{1}aws_lc_0_27_2_BN_marshal_asn1"]
8050    pub fn BN_marshal_asn1(cbb: *mut CBB, bn: *const BIGNUM) -> ::std::os::raw::c_int;
8051}
8052extern "C" {
8053    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_new"]
8054    pub fn BN_CTX_new() -> *mut BN_CTX;
8055}
8056extern "C" {
8057    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_free"]
8058    pub fn BN_CTX_free(ctx: *mut BN_CTX);
8059}
8060extern "C" {
8061    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_start"]
8062    pub fn BN_CTX_start(ctx: *mut BN_CTX);
8063}
8064extern "C" {
8065    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_get"]
8066    pub fn BN_CTX_get(ctx: *mut BN_CTX) -> *mut BIGNUM;
8067}
8068extern "C" {
8069    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_end"]
8070    pub fn BN_CTX_end(ctx: *mut BN_CTX);
8071}
8072extern "C" {
8073    #[link_name = "\u{1}aws_lc_0_27_2_BN_add"]
8074    pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8075}
8076extern "C" {
8077    #[link_name = "\u{1}aws_lc_0_27_2_BN_uadd"]
8078    pub fn BN_uadd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8079}
8080extern "C" {
8081    #[link_name = "\u{1}aws_lc_0_27_2_BN_add_word"]
8082    pub fn BN_add_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8083}
8084extern "C" {
8085    #[link_name = "\u{1}aws_lc_0_27_2_BN_sub"]
8086    pub fn BN_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8087}
8088extern "C" {
8089    #[link_name = "\u{1}aws_lc_0_27_2_BN_usub"]
8090    pub fn BN_usub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8091}
8092extern "C" {
8093    #[link_name = "\u{1}aws_lc_0_27_2_BN_sub_word"]
8094    pub fn BN_sub_word(a: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8095}
8096extern "C" {
8097    #[link_name = "\u{1}aws_lc_0_27_2_BN_mul"]
8098    pub fn BN_mul(
8099        r: *mut BIGNUM,
8100        a: *const BIGNUM,
8101        b: *const BIGNUM,
8102        ctx: *mut BN_CTX,
8103    ) -> ::std::os::raw::c_int;
8104}
8105extern "C" {
8106    #[link_name = "\u{1}aws_lc_0_27_2_BN_mul_word"]
8107    pub fn BN_mul_word(bn: *mut BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8108}
8109extern "C" {
8110    #[link_name = "\u{1}aws_lc_0_27_2_BN_sqr"]
8111    pub fn BN_sqr(r: *mut BIGNUM, a: *const BIGNUM, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
8112}
8113extern "C" {
8114    #[link_name = "\u{1}aws_lc_0_27_2_BN_div"]
8115    pub fn BN_div(
8116        quotient: *mut BIGNUM,
8117        rem: *mut BIGNUM,
8118        numerator: *const BIGNUM,
8119        divisor: *const BIGNUM,
8120        ctx: *mut BN_CTX,
8121    ) -> ::std::os::raw::c_int;
8122}
8123extern "C" {
8124    #[link_name = "\u{1}aws_lc_0_27_2_BN_div_word"]
8125    pub fn BN_div_word(numerator: *mut BIGNUM, divisor: BN_ULONG) -> BN_ULONG;
8126}
8127extern "C" {
8128    #[link_name = "\u{1}aws_lc_0_27_2_BN_sqrt"]
8129    pub fn BN_sqrt(
8130        out_sqrt: *mut BIGNUM,
8131        in_: *const BIGNUM,
8132        ctx: *mut BN_CTX,
8133    ) -> ::std::os::raw::c_int;
8134}
8135extern "C" {
8136    #[link_name = "\u{1}aws_lc_0_27_2_BN_cmp"]
8137    pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8138}
8139extern "C" {
8140    #[link_name = "\u{1}aws_lc_0_27_2_BN_cmp_word"]
8141    pub fn BN_cmp_word(a: *const BIGNUM, b: BN_ULONG) -> ::std::os::raw::c_int;
8142}
8143extern "C" {
8144    #[link_name = "\u{1}aws_lc_0_27_2_BN_ucmp"]
8145    pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8146}
8147extern "C" {
8148    #[link_name = "\u{1}aws_lc_0_27_2_BN_equal_consttime"]
8149    pub fn BN_equal_consttime(a: *const BIGNUM, b: *const BIGNUM) -> ::std::os::raw::c_int;
8150}
8151extern "C" {
8152    #[link_name = "\u{1}aws_lc_0_27_2_BN_abs_is_word"]
8153    pub fn BN_abs_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8154}
8155extern "C" {
8156    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_zero"]
8157    pub fn BN_is_zero(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8158}
8159extern "C" {
8160    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_one"]
8161    pub fn BN_is_one(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8162}
8163extern "C" {
8164    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_word"]
8165    pub fn BN_is_word(bn: *const BIGNUM, w: BN_ULONG) -> ::std::os::raw::c_int;
8166}
8167extern "C" {
8168    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_odd"]
8169    pub fn BN_is_odd(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8170}
8171extern "C" {
8172    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_pow2"]
8173    pub fn BN_is_pow2(a: *const BIGNUM) -> ::std::os::raw::c_int;
8174}
8175extern "C" {
8176    #[link_name = "\u{1}aws_lc_0_27_2_BN_lshift"]
8177    pub fn BN_lshift(
8178        r: *mut BIGNUM,
8179        a: *const BIGNUM,
8180        n: ::std::os::raw::c_int,
8181    ) -> ::std::os::raw::c_int;
8182}
8183extern "C" {
8184    #[link_name = "\u{1}aws_lc_0_27_2_BN_lshift1"]
8185    pub fn BN_lshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8186}
8187extern "C" {
8188    #[link_name = "\u{1}aws_lc_0_27_2_BN_rshift"]
8189    pub fn BN_rshift(
8190        r: *mut BIGNUM,
8191        a: *const BIGNUM,
8192        n: ::std::os::raw::c_int,
8193    ) -> ::std::os::raw::c_int;
8194}
8195extern "C" {
8196    #[link_name = "\u{1}aws_lc_0_27_2_BN_rshift1"]
8197    pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> ::std::os::raw::c_int;
8198}
8199extern "C" {
8200    #[link_name = "\u{1}aws_lc_0_27_2_BN_set_bit"]
8201    pub fn BN_set_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8202}
8203extern "C" {
8204    #[link_name = "\u{1}aws_lc_0_27_2_BN_clear_bit"]
8205    pub fn BN_clear_bit(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8206}
8207extern "C" {
8208    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_bit_set"]
8209    pub fn BN_is_bit_set(a: *const BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8210}
8211extern "C" {
8212    #[link_name = "\u{1}aws_lc_0_27_2_BN_mask_bits"]
8213    pub fn BN_mask_bits(a: *mut BIGNUM, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
8214}
8215extern "C" {
8216    #[link_name = "\u{1}aws_lc_0_27_2_BN_count_low_zero_bits"]
8217    pub fn BN_count_low_zero_bits(bn: *const BIGNUM) -> ::std::os::raw::c_int;
8218}
8219extern "C" {
8220    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_word"]
8221    pub fn BN_mod_word(a: *const BIGNUM, w: BN_ULONG) -> BN_ULONG;
8222}
8223extern "C" {
8224    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_pow2"]
8225    pub fn BN_mod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8226}
8227extern "C" {
8228    #[link_name = "\u{1}aws_lc_0_27_2_BN_nnmod_pow2"]
8229    pub fn BN_nnmod_pow2(r: *mut BIGNUM, a: *const BIGNUM, e: usize) -> ::std::os::raw::c_int;
8230}
8231extern "C" {
8232    #[link_name = "\u{1}aws_lc_0_27_2_BN_nnmod"]
8233    pub fn BN_nnmod(
8234        rem: *mut BIGNUM,
8235        numerator: *const BIGNUM,
8236        divisor: *const BIGNUM,
8237        ctx: *mut BN_CTX,
8238    ) -> ::std::os::raw::c_int;
8239}
8240extern "C" {
8241    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_add"]
8242    pub fn BN_mod_add(
8243        r: *mut BIGNUM,
8244        a: *const BIGNUM,
8245        b: *const BIGNUM,
8246        m: *const BIGNUM,
8247        ctx: *mut BN_CTX,
8248    ) -> ::std::os::raw::c_int;
8249}
8250extern "C" {
8251    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_add_quick"]
8252    pub fn BN_mod_add_quick(
8253        r: *mut BIGNUM,
8254        a: *const BIGNUM,
8255        b: *const BIGNUM,
8256        m: *const BIGNUM,
8257    ) -> ::std::os::raw::c_int;
8258}
8259extern "C" {
8260    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_sub"]
8261    pub fn BN_mod_sub(
8262        r: *mut BIGNUM,
8263        a: *const BIGNUM,
8264        b: *const BIGNUM,
8265        m: *const BIGNUM,
8266        ctx: *mut BN_CTX,
8267    ) -> ::std::os::raw::c_int;
8268}
8269extern "C" {
8270    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_sub_quick"]
8271    pub fn BN_mod_sub_quick(
8272        r: *mut BIGNUM,
8273        a: *const BIGNUM,
8274        b: *const BIGNUM,
8275        m: *const BIGNUM,
8276    ) -> ::std::os::raw::c_int;
8277}
8278extern "C" {
8279    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_mul"]
8280    pub fn BN_mod_mul(
8281        r: *mut BIGNUM,
8282        a: *const BIGNUM,
8283        b: *const BIGNUM,
8284        m: *const BIGNUM,
8285        ctx: *mut BN_CTX,
8286    ) -> ::std::os::raw::c_int;
8287}
8288extern "C" {
8289    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_sqr"]
8290    pub fn BN_mod_sqr(
8291        r: *mut BIGNUM,
8292        a: *const BIGNUM,
8293        m: *const BIGNUM,
8294        ctx: *mut BN_CTX,
8295    ) -> ::std::os::raw::c_int;
8296}
8297extern "C" {
8298    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_lshift"]
8299    pub fn BN_mod_lshift(
8300        r: *mut BIGNUM,
8301        a: *const BIGNUM,
8302        n: ::std::os::raw::c_int,
8303        m: *const BIGNUM,
8304        ctx: *mut BN_CTX,
8305    ) -> ::std::os::raw::c_int;
8306}
8307extern "C" {
8308    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_lshift_quick"]
8309    pub fn BN_mod_lshift_quick(
8310        r: *mut BIGNUM,
8311        a: *const BIGNUM,
8312        n: ::std::os::raw::c_int,
8313        m: *const BIGNUM,
8314    ) -> ::std::os::raw::c_int;
8315}
8316extern "C" {
8317    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_lshift1"]
8318    pub fn BN_mod_lshift1(
8319        r: *mut BIGNUM,
8320        a: *const BIGNUM,
8321        m: *const BIGNUM,
8322        ctx: *mut BN_CTX,
8323    ) -> ::std::os::raw::c_int;
8324}
8325extern "C" {
8326    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_lshift1_quick"]
8327    pub fn BN_mod_lshift1_quick(
8328        r: *mut BIGNUM,
8329        a: *const BIGNUM,
8330        m: *const BIGNUM,
8331    ) -> ::std::os::raw::c_int;
8332}
8333extern "C" {
8334    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_sqrt"]
8335    pub fn BN_mod_sqrt(
8336        in_: *mut BIGNUM,
8337        a: *const BIGNUM,
8338        p: *const BIGNUM,
8339        ctx: *mut BN_CTX,
8340    ) -> *mut BIGNUM;
8341}
8342extern "C" {
8343    #[link_name = "\u{1}aws_lc_0_27_2_BN_rand"]
8344    pub fn BN_rand(
8345        rnd: *mut BIGNUM,
8346        bits: ::std::os::raw::c_int,
8347        top: ::std::os::raw::c_int,
8348        bottom: ::std::os::raw::c_int,
8349    ) -> ::std::os::raw::c_int;
8350}
8351extern "C" {
8352    #[link_name = "\u{1}aws_lc_0_27_2_BN_pseudo_rand"]
8353    pub fn BN_pseudo_rand(
8354        rnd: *mut BIGNUM,
8355        bits: ::std::os::raw::c_int,
8356        top: ::std::os::raw::c_int,
8357        bottom: ::std::os::raw::c_int,
8358    ) -> ::std::os::raw::c_int;
8359}
8360extern "C" {
8361    #[link_name = "\u{1}aws_lc_0_27_2_BN_rand_range"]
8362    pub fn BN_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8363}
8364extern "C" {
8365    #[link_name = "\u{1}aws_lc_0_27_2_BN_rand_range_ex"]
8366    pub fn BN_rand_range_ex(
8367        r: *mut BIGNUM,
8368        min_inclusive: BN_ULONG,
8369        max_exclusive: *const BIGNUM,
8370    ) -> ::std::os::raw::c_int;
8371}
8372extern "C" {
8373    #[link_name = "\u{1}aws_lc_0_27_2_BN_pseudo_rand_range"]
8374    pub fn BN_pseudo_rand_range(rnd: *mut BIGNUM, range: *const BIGNUM) -> ::std::os::raw::c_int;
8375}
8376#[repr(C)]
8377#[derive(Copy, Clone)]
8378pub struct bn_gencb_st {
8379    pub type_: u8,
8380    pub arg: *mut ::std::os::raw::c_void,
8381    pub callback: bn_gencb_st__bindgen_ty_1,
8382}
8383#[repr(C)]
8384#[derive(Copy, Clone)]
8385pub union bn_gencb_st__bindgen_ty_1 {
8386    pub new_style: ::std::option::Option<
8387        unsafe extern "C" fn(
8388            event: ::std::os::raw::c_int,
8389            n: ::std::os::raw::c_int,
8390            arg1: *mut bn_gencb_st,
8391        ) -> ::std::os::raw::c_int,
8392    >,
8393    pub old_style: ::std::option::Option<
8394        unsafe extern "C" fn(
8395            arg1: ::std::os::raw::c_int,
8396            arg2: ::std::os::raw::c_int,
8397            arg3: *mut ::std::os::raw::c_void,
8398        ),
8399    >,
8400}
8401#[test]
8402fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1() {
8403    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st__bindgen_ty_1> =
8404        ::std::mem::MaybeUninit::uninit();
8405    let ptr = UNINIT.as_ptr();
8406    assert_eq!(
8407        ::std::mem::size_of::<bn_gencb_st__bindgen_ty_1>(),
8408        8usize,
8409        concat!("Size of: ", stringify!(bn_gencb_st__bindgen_ty_1))
8410    );
8411    assert_eq!(
8412        ::std::mem::align_of::<bn_gencb_st__bindgen_ty_1>(),
8413        8usize,
8414        concat!("Alignment of ", stringify!(bn_gencb_st__bindgen_ty_1))
8415    );
8416    assert_eq!(
8417        unsafe { ::std::ptr::addr_of!((*ptr).new_style) as usize - ptr as usize },
8418        0usize,
8419        concat!(
8420            "Offset of field: ",
8421            stringify!(bn_gencb_st__bindgen_ty_1),
8422            "::",
8423            stringify!(new_style)
8424        )
8425    );
8426    assert_eq!(
8427        unsafe { ::std::ptr::addr_of!((*ptr).old_style) as usize - ptr as usize },
8428        0usize,
8429        concat!(
8430            "Offset of field: ",
8431            stringify!(bn_gencb_st__bindgen_ty_1),
8432            "::",
8433            stringify!(old_style)
8434        )
8435    );
8436}
8437impl Default for bn_gencb_st__bindgen_ty_1 {
8438    fn default() -> Self {
8439        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8440        unsafe {
8441            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8442            s.assume_init()
8443        }
8444    }
8445}
8446#[test]
8447fn bindgen_test_layout_bn_gencb_st() {
8448    const UNINIT: ::std::mem::MaybeUninit<bn_gencb_st> = ::std::mem::MaybeUninit::uninit();
8449    let ptr = UNINIT.as_ptr();
8450    assert_eq!(
8451        ::std::mem::size_of::<bn_gencb_st>(),
8452        24usize,
8453        concat!("Size of: ", stringify!(bn_gencb_st))
8454    );
8455    assert_eq!(
8456        ::std::mem::align_of::<bn_gencb_st>(),
8457        8usize,
8458        concat!("Alignment of ", stringify!(bn_gencb_st))
8459    );
8460    assert_eq!(
8461        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
8462        0usize,
8463        concat!(
8464            "Offset of field: ",
8465            stringify!(bn_gencb_st),
8466            "::",
8467            stringify!(type_)
8468        )
8469    );
8470    assert_eq!(
8471        unsafe { ::std::ptr::addr_of!((*ptr).arg) as usize - ptr as usize },
8472        8usize,
8473        concat!(
8474            "Offset of field: ",
8475            stringify!(bn_gencb_st),
8476            "::",
8477            stringify!(arg)
8478        )
8479    );
8480    assert_eq!(
8481        unsafe { ::std::ptr::addr_of!((*ptr).callback) as usize - ptr as usize },
8482        16usize,
8483        concat!(
8484            "Offset of field: ",
8485            stringify!(bn_gencb_st),
8486            "::",
8487            stringify!(callback)
8488        )
8489    );
8490}
8491impl Default for bn_gencb_st {
8492    fn default() -> Self {
8493        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8494        unsafe {
8495            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8496            s.assume_init()
8497        }
8498    }
8499}
8500extern "C" {
8501    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_new"]
8502    pub fn BN_GENCB_new() -> *mut BN_GENCB;
8503}
8504extern "C" {
8505    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_free"]
8506    pub fn BN_GENCB_free(callback: *mut BN_GENCB);
8507}
8508extern "C" {
8509    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_set"]
8510    pub fn BN_GENCB_set(
8511        callback: *mut BN_GENCB,
8512        f: ::std::option::Option<
8513            unsafe extern "C" fn(
8514                event: ::std::os::raw::c_int,
8515                n: ::std::os::raw::c_int,
8516                arg1: *mut BN_GENCB,
8517            ) -> ::std::os::raw::c_int,
8518        >,
8519        arg: *mut ::std::os::raw::c_void,
8520    );
8521}
8522extern "C" {
8523    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_call"]
8524    pub fn BN_GENCB_call(
8525        callback: *mut BN_GENCB,
8526        event: ::std::os::raw::c_int,
8527        n: ::std::os::raw::c_int,
8528    ) -> ::std::os::raw::c_int;
8529}
8530extern "C" {
8531    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_get_arg"]
8532    pub fn BN_GENCB_get_arg(callback: *const BN_GENCB) -> *mut ::std::os::raw::c_void;
8533}
8534extern "C" {
8535    #[link_name = "\u{1}aws_lc_0_27_2_BN_generate_prime_ex"]
8536    pub fn BN_generate_prime_ex(
8537        ret: *mut BIGNUM,
8538        bits: ::std::os::raw::c_int,
8539        safe: ::std::os::raw::c_int,
8540        add: *const BIGNUM,
8541        rem: *const BIGNUM,
8542        cb: *mut BN_GENCB,
8543    ) -> ::std::os::raw::c_int;
8544}
8545pub const bn_primality_result_t_bn_probably_prime: bn_primality_result_t = 0;
8546pub const bn_primality_result_t_bn_composite: bn_primality_result_t = 1;
8547pub const bn_primality_result_t_bn_non_prime_power_composite: bn_primality_result_t = 2;
8548pub type bn_primality_result_t = ::std::os::raw::c_uint;
8549extern "C" {
8550    #[link_name = "\u{1}aws_lc_0_27_2_BN_enhanced_miller_rabin_primality_test"]
8551    pub fn BN_enhanced_miller_rabin_primality_test(
8552        out_result: *mut bn_primality_result_t,
8553        w: *const BIGNUM,
8554        checks: ::std::os::raw::c_int,
8555        ctx: *mut BN_CTX,
8556        cb: *mut BN_GENCB,
8557    ) -> ::std::os::raw::c_int;
8558}
8559extern "C" {
8560    #[link_name = "\u{1}aws_lc_0_27_2_BN_primality_test"]
8561    pub fn BN_primality_test(
8562        is_probably_prime: *mut ::std::os::raw::c_int,
8563        candidate: *const BIGNUM,
8564        checks: ::std::os::raw::c_int,
8565        ctx: *mut BN_CTX,
8566        do_trial_division: ::std::os::raw::c_int,
8567        cb: *mut BN_GENCB,
8568    ) -> ::std::os::raw::c_int;
8569}
8570extern "C" {
8571    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_prime_fasttest_ex"]
8572    pub fn BN_is_prime_fasttest_ex(
8573        candidate: *const BIGNUM,
8574        checks: ::std::os::raw::c_int,
8575        ctx: *mut BN_CTX,
8576        do_trial_division: ::std::os::raw::c_int,
8577        cb: *mut BN_GENCB,
8578    ) -> ::std::os::raw::c_int;
8579}
8580extern "C" {
8581    #[link_name = "\u{1}aws_lc_0_27_2_BN_is_prime_ex"]
8582    pub fn BN_is_prime_ex(
8583        candidate: *const BIGNUM,
8584        checks: ::std::os::raw::c_int,
8585        ctx: *mut BN_CTX,
8586        cb: *mut BN_GENCB,
8587    ) -> ::std::os::raw::c_int;
8588}
8589extern "C" {
8590    #[link_name = "\u{1}aws_lc_0_27_2_BN_gcd"]
8591    pub fn BN_gcd(
8592        r: *mut BIGNUM,
8593        a: *const BIGNUM,
8594        b: *const BIGNUM,
8595        ctx: *mut BN_CTX,
8596    ) -> ::std::os::raw::c_int;
8597}
8598extern "C" {
8599    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_inverse"]
8600    pub fn BN_mod_inverse(
8601        out: *mut BIGNUM,
8602        a: *const BIGNUM,
8603        n: *const BIGNUM,
8604        ctx: *mut BN_CTX,
8605    ) -> *mut BIGNUM;
8606}
8607extern "C" {
8608    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_inverse_blinded"]
8609    pub fn BN_mod_inverse_blinded(
8610        out: *mut BIGNUM,
8611        out_no_inverse: *mut ::std::os::raw::c_int,
8612        a: *const BIGNUM,
8613        mont: *const BN_MONT_CTX,
8614        ctx: *mut BN_CTX,
8615    ) -> ::std::os::raw::c_int;
8616}
8617extern "C" {
8618    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_inverse_odd"]
8619    pub fn BN_mod_inverse_odd(
8620        out: *mut BIGNUM,
8621        out_no_inverse: *mut ::std::os::raw::c_int,
8622        a: *const BIGNUM,
8623        n: *const BIGNUM,
8624        ctx: *mut BN_CTX,
8625    ) -> ::std::os::raw::c_int;
8626}
8627extern "C" {
8628    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_new_for_modulus"]
8629    pub fn BN_MONT_CTX_new_for_modulus(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8630}
8631extern "C" {
8632    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_new_consttime"]
8633    pub fn BN_MONT_CTX_new_consttime(mod_: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BN_MONT_CTX;
8634}
8635extern "C" {
8636    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_free"]
8637    pub fn BN_MONT_CTX_free(mont: *mut BN_MONT_CTX);
8638}
8639extern "C" {
8640    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_copy"]
8641    pub fn BN_MONT_CTX_copy(to: *mut BN_MONT_CTX, from: *const BN_MONT_CTX) -> *mut BN_MONT_CTX;
8642}
8643extern "C" {
8644    #[link_name = "\u{1}aws_lc_0_27_2_BN_to_montgomery"]
8645    pub fn BN_to_montgomery(
8646        ret: *mut BIGNUM,
8647        a: *const BIGNUM,
8648        mont: *const BN_MONT_CTX,
8649        ctx: *mut BN_CTX,
8650    ) -> ::std::os::raw::c_int;
8651}
8652extern "C" {
8653    #[link_name = "\u{1}aws_lc_0_27_2_BN_from_montgomery"]
8654    pub fn BN_from_montgomery(
8655        ret: *mut BIGNUM,
8656        a: *const BIGNUM,
8657        mont: *const BN_MONT_CTX,
8658        ctx: *mut BN_CTX,
8659    ) -> ::std::os::raw::c_int;
8660}
8661extern "C" {
8662    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_mul_montgomery"]
8663    pub fn BN_mod_mul_montgomery(
8664        r: *mut BIGNUM,
8665        a: *const BIGNUM,
8666        b: *const BIGNUM,
8667        mont: *const BN_MONT_CTX,
8668        ctx: *mut BN_CTX,
8669    ) -> ::std::os::raw::c_int;
8670}
8671extern "C" {
8672    #[link_name = "\u{1}aws_lc_0_27_2_BN_exp"]
8673    pub fn BN_exp(
8674        r: *mut BIGNUM,
8675        a: *const BIGNUM,
8676        p: *const BIGNUM,
8677        ctx: *mut BN_CTX,
8678    ) -> ::std::os::raw::c_int;
8679}
8680extern "C" {
8681    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp"]
8682    pub fn BN_mod_exp(
8683        r: *mut BIGNUM,
8684        a: *const BIGNUM,
8685        p: *const BIGNUM,
8686        m: *const BIGNUM,
8687        ctx: *mut BN_CTX,
8688    ) -> ::std::os::raw::c_int;
8689}
8690extern "C" {
8691    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp_mont"]
8692    pub fn BN_mod_exp_mont(
8693        r: *mut BIGNUM,
8694        a: *const BIGNUM,
8695        p: *const BIGNUM,
8696        m: *const BIGNUM,
8697        ctx: *mut BN_CTX,
8698        mont: *const BN_MONT_CTX,
8699    ) -> ::std::os::raw::c_int;
8700}
8701extern "C" {
8702    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp_mont_consttime"]
8703    pub fn BN_mod_exp_mont_consttime(
8704        rr: *mut BIGNUM,
8705        a: *const BIGNUM,
8706        p: *const BIGNUM,
8707        m: *const BIGNUM,
8708        ctx: *mut BN_CTX,
8709        mont: *const BN_MONT_CTX,
8710    ) -> ::std::os::raw::c_int;
8711}
8712extern "C" {
8713    #[link_name = "\u{1}aws_lc_0_27_2_BN_GENCB_set_old"]
8714    pub fn BN_GENCB_set_old(
8715        callback: *mut BN_GENCB,
8716        f: ::std::option::Option<
8717            unsafe extern "C" fn(
8718                arg1: ::std::os::raw::c_int,
8719                arg2: ::std::os::raw::c_int,
8720                arg3: *mut ::std::os::raw::c_void,
8721            ),
8722        >,
8723        cb_arg: *mut ::std::os::raw::c_void,
8724    );
8725}
8726extern "C" {
8727    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2mpi"]
8728    pub fn BN_bn2mpi(in_: *const BIGNUM, out: *mut u8) -> usize;
8729}
8730extern "C" {
8731    #[link_name = "\u{1}aws_lc_0_27_2_BN_mpi2bn"]
8732    pub fn BN_mpi2bn(in_: *const u8, len: usize, out: *mut BIGNUM) -> *mut BIGNUM;
8733}
8734extern "C" {
8735    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp_mont_word"]
8736    pub fn BN_mod_exp_mont_word(
8737        r: *mut BIGNUM,
8738        a: BN_ULONG,
8739        p: *const BIGNUM,
8740        m: *const BIGNUM,
8741        ctx: *mut BN_CTX,
8742        mont: *const BN_MONT_CTX,
8743    ) -> ::std::os::raw::c_int;
8744}
8745extern "C" {
8746    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp2_mont"]
8747    pub fn BN_mod_exp2_mont(
8748        r: *mut BIGNUM,
8749        a1: *const BIGNUM,
8750        p1: *const BIGNUM,
8751        a2: *const BIGNUM,
8752        p2: *const BIGNUM,
8753        m: *const BIGNUM,
8754        ctx: *mut BN_CTX,
8755        mont: *const BN_MONT_CTX,
8756    ) -> ::std::os::raw::c_int;
8757}
8758extern "C" {
8759    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_new"]
8760    pub fn BN_MONT_CTX_new() -> *mut BN_MONT_CTX;
8761}
8762extern "C" {
8763    #[link_name = "\u{1}aws_lc_0_27_2_BN_MONT_CTX_set"]
8764    pub fn BN_MONT_CTX_set(
8765        mont: *mut BN_MONT_CTX,
8766        mod_: *const BIGNUM,
8767        ctx: *mut BN_CTX,
8768    ) -> ::std::os::raw::c_int;
8769}
8770extern "C" {
8771    #[link_name = "\u{1}aws_lc_0_27_2_BN_bn2binpad"]
8772    pub fn BN_bn2binpad(
8773        in_: *const BIGNUM,
8774        out: *mut u8,
8775        len: ::std::os::raw::c_int,
8776    ) -> ::std::os::raw::c_int;
8777}
8778extern "C" {
8779    #[link_name = "\u{1}aws_lc_0_27_2_BN_secure_new"]
8780    pub fn BN_secure_new() -> *mut BIGNUM;
8781}
8782extern "C" {
8783    #[link_name = "\u{1}aws_lc_0_27_2_BN_CTX_secure_new"]
8784    pub fn BN_CTX_secure_new() -> *mut BN_CTX;
8785}
8786extern "C" {
8787    #[link_name = "\u{1}aws_lc_0_27_2_BN_mod_exp_mont_consttime_x2"]
8788    pub fn BN_mod_exp_mont_consttime_x2(
8789        rr1: *mut BIGNUM,
8790        a1: *const BIGNUM,
8791        p1: *const BIGNUM,
8792        m1: *const BIGNUM,
8793        in_mont1: *const BN_MONT_CTX,
8794        rr2: *mut BIGNUM,
8795        a2: *const BIGNUM,
8796        p2: *const BIGNUM,
8797        m2: *const BIGNUM,
8798        in_mont2: *const BN_MONT_CTX,
8799        ctx: *mut BN_CTX,
8800    ) -> ::std::os::raw::c_int;
8801}
8802extern "C" {
8803    #[link_name = "\u{1}aws_lc_0_27_2_BN_set_flags"]
8804    pub fn BN_set_flags(b: *mut BIGNUM, n: ::std::os::raw::c_int);
8805}
8806#[repr(C)]
8807#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8808pub struct bignum_st {
8809    pub d: *mut BN_ULONG,
8810    pub width: ::std::os::raw::c_int,
8811    pub dmax: ::std::os::raw::c_int,
8812    pub neg: ::std::os::raw::c_int,
8813    pub flags: ::std::os::raw::c_int,
8814}
8815#[test]
8816fn bindgen_test_layout_bignum_st() {
8817    const UNINIT: ::std::mem::MaybeUninit<bignum_st> = ::std::mem::MaybeUninit::uninit();
8818    let ptr = UNINIT.as_ptr();
8819    assert_eq!(
8820        ::std::mem::size_of::<bignum_st>(),
8821        24usize,
8822        concat!("Size of: ", stringify!(bignum_st))
8823    );
8824    assert_eq!(
8825        ::std::mem::align_of::<bignum_st>(),
8826        8usize,
8827        concat!("Alignment of ", stringify!(bignum_st))
8828    );
8829    assert_eq!(
8830        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
8831        0usize,
8832        concat!(
8833            "Offset of field: ",
8834            stringify!(bignum_st),
8835            "::",
8836            stringify!(d)
8837        )
8838    );
8839    assert_eq!(
8840        unsafe { ::std::ptr::addr_of!((*ptr).width) as usize - ptr as usize },
8841        8usize,
8842        concat!(
8843            "Offset of field: ",
8844            stringify!(bignum_st),
8845            "::",
8846            stringify!(width)
8847        )
8848    );
8849    assert_eq!(
8850        unsafe { ::std::ptr::addr_of!((*ptr).dmax) as usize - ptr as usize },
8851        12usize,
8852        concat!(
8853            "Offset of field: ",
8854            stringify!(bignum_st),
8855            "::",
8856            stringify!(dmax)
8857        )
8858    );
8859    assert_eq!(
8860        unsafe { ::std::ptr::addr_of!((*ptr).neg) as usize - ptr as usize },
8861        16usize,
8862        concat!(
8863            "Offset of field: ",
8864            stringify!(bignum_st),
8865            "::",
8866            stringify!(neg)
8867        )
8868    );
8869    assert_eq!(
8870        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
8871        20usize,
8872        concat!(
8873            "Offset of field: ",
8874            stringify!(bignum_st),
8875            "::",
8876            stringify!(flags)
8877        )
8878    );
8879}
8880impl Default for bignum_st {
8881    fn default() -> Self {
8882        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8883        unsafe {
8884            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8885            s.assume_init()
8886        }
8887    }
8888}
8889#[repr(C)]
8890#[derive(Debug, Copy, Clone, PartialEq, Eq)]
8891pub struct bn_mont_ctx_st {
8892    pub RR: BIGNUM,
8893    pub N: BIGNUM,
8894    pub n0: [BN_ULONG; 2usize],
8895}
8896#[test]
8897fn bindgen_test_layout_bn_mont_ctx_st() {
8898    const UNINIT: ::std::mem::MaybeUninit<bn_mont_ctx_st> = ::std::mem::MaybeUninit::uninit();
8899    let ptr = UNINIT.as_ptr();
8900    assert_eq!(
8901        ::std::mem::size_of::<bn_mont_ctx_st>(),
8902        64usize,
8903        concat!("Size of: ", stringify!(bn_mont_ctx_st))
8904    );
8905    assert_eq!(
8906        ::std::mem::align_of::<bn_mont_ctx_st>(),
8907        8usize,
8908        concat!("Alignment of ", stringify!(bn_mont_ctx_st))
8909    );
8910    assert_eq!(
8911        unsafe { ::std::ptr::addr_of!((*ptr).RR) as usize - ptr as usize },
8912        0usize,
8913        concat!(
8914            "Offset of field: ",
8915            stringify!(bn_mont_ctx_st),
8916            "::",
8917            stringify!(RR)
8918        )
8919    );
8920    assert_eq!(
8921        unsafe { ::std::ptr::addr_of!((*ptr).N) as usize - ptr as usize },
8922        24usize,
8923        concat!(
8924            "Offset of field: ",
8925            stringify!(bn_mont_ctx_st),
8926            "::",
8927            stringify!(N)
8928        )
8929    );
8930    assert_eq!(
8931        unsafe { ::std::ptr::addr_of!((*ptr).n0) as usize - ptr as usize },
8932        48usize,
8933        concat!(
8934            "Offset of field: ",
8935            stringify!(bn_mont_ctx_st),
8936            "::",
8937            stringify!(n0)
8938        )
8939    );
8940}
8941impl Default for bn_mont_ctx_st {
8942    fn default() -> Self {
8943        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8944        unsafe {
8945            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8946            s.assume_init()
8947        }
8948    }
8949}
8950extern "C" {
8951    #[link_name = "\u{1}aws_lc_0_27_2_BN_num_bits_word"]
8952    pub fn BN_num_bits_word(l: BN_ULONG) -> ::std::os::raw::c_uint;
8953}
8954extern "C" {
8955    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_tag2bit"]
8956    pub fn ASN1_tag2bit(tag: ::std::os::raw::c_int) -> ::std::os::raw::c_ulong;
8957}
8958extern "C" {
8959    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_tag2str"]
8960    pub fn ASN1_tag2str(tag: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
8961}
8962pub type d2i_of_void = ::std::option::Option<
8963    unsafe extern "C" fn(
8964        arg1: *mut *mut ::std::os::raw::c_void,
8965        arg2: *mut *const ::std::os::raw::c_uchar,
8966        arg3: ::std::os::raw::c_long,
8967    ) -> *mut ::std::os::raw::c_void,
8968>;
8969pub type i2d_of_void = ::std::option::Option<
8970    unsafe extern "C" fn(
8971        arg1: *const ::std::os::raw::c_void,
8972        arg2: *mut *mut ::std::os::raw::c_uchar,
8973    ) -> ::std::os::raw::c_int,
8974>;
8975pub type ASN1_ITEM_EXP = ASN1_ITEM;
8976#[repr(C)]
8977#[derive(Debug, Copy, Clone)]
8978pub struct ASN1_VALUE_st {
8979    _unused: [u8; 0],
8980}
8981pub type ASN1_VALUE = ASN1_VALUE_st;
8982extern "C" {
8983    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_new"]
8984    pub fn ASN1_item_new(it: *const ASN1_ITEM) -> *mut ASN1_VALUE;
8985}
8986extern "C" {
8987    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_free"]
8988    pub fn ASN1_item_free(val: *mut ASN1_VALUE, it: *const ASN1_ITEM);
8989}
8990extern "C" {
8991    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_d2i"]
8992    pub fn ASN1_item_d2i(
8993        out: *mut *mut ASN1_VALUE,
8994        inp: *mut *const ::std::os::raw::c_uchar,
8995        len: ::std::os::raw::c_long,
8996        it: *const ASN1_ITEM,
8997    ) -> *mut ASN1_VALUE;
8998}
8999extern "C" {
9000    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_i2d"]
9001    pub fn ASN1_item_i2d(
9002        val: *mut ASN1_VALUE,
9003        outp: *mut *mut ::std::os::raw::c_uchar,
9004        it: *const ASN1_ITEM,
9005    ) -> ::std::os::raw::c_int;
9006}
9007extern "C" {
9008    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_dup"]
9009    pub fn ASN1_dup(
9010        i2d: i2d_of_void,
9011        d2i: d2i_of_void,
9012        x: *mut ::std::os::raw::c_void,
9013    ) -> *mut ::std::os::raw::c_void;
9014}
9015extern "C" {
9016    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_dup"]
9017    pub fn ASN1_item_dup(
9018        it: *const ASN1_ITEM,
9019        x: *mut ::std::os::raw::c_void,
9020    ) -> *mut ::std::os::raw::c_void;
9021}
9022extern "C" {
9023    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_d2i_fp"]
9024    pub fn ASN1_item_d2i_fp(
9025        it: *const ASN1_ITEM,
9026        in_: *mut FILE,
9027        out: *mut ::std::os::raw::c_void,
9028    ) -> *mut ::std::os::raw::c_void;
9029}
9030extern "C" {
9031    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_d2i_bio"]
9032    pub fn ASN1_item_d2i_bio(
9033        it: *const ASN1_ITEM,
9034        in_: *mut BIO,
9035        out: *mut ::std::os::raw::c_void,
9036    ) -> *mut ::std::os::raw::c_void;
9037}
9038extern "C" {
9039    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_i2d_fp"]
9040    pub fn ASN1_item_i2d_fp(
9041        it: *const ASN1_ITEM,
9042        out: *mut FILE,
9043        in_: *mut ::std::os::raw::c_void,
9044    ) -> ::std::os::raw::c_int;
9045}
9046extern "C" {
9047    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_i2d_bio"]
9048    pub fn ASN1_item_i2d_bio(
9049        it: *const ASN1_ITEM,
9050        out: *mut BIO,
9051        in_: *mut ::std::os::raw::c_void,
9052    ) -> ::std::os::raw::c_int;
9053}
9054extern "C" {
9055    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_i2d_bio"]
9056    pub fn ASN1_i2d_bio(
9057        i2d: i2d_of_void,
9058        out: *mut BIO,
9059        in_: *mut ::std::os::raw::c_void,
9060    ) -> ::std::os::raw::c_int;
9061}
9062extern "C" {
9063    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_unpack"]
9064    pub fn ASN1_item_unpack(
9065        oct: *const ASN1_STRING,
9066        it: *const ASN1_ITEM,
9067    ) -> *mut ::std::os::raw::c_void;
9068}
9069extern "C" {
9070    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_pack"]
9071    pub fn ASN1_item_pack(
9072        obj: *mut ::std::os::raw::c_void,
9073        it: *const ASN1_ITEM,
9074        out: *mut *mut ASN1_STRING,
9075    ) -> *mut ASN1_STRING;
9076}
9077extern "C" {
9078    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_BOOLEAN"]
9079    pub fn d2i_ASN1_BOOLEAN(
9080        out: *mut ASN1_BOOLEAN,
9081        inp: *mut *const ::std::os::raw::c_uchar,
9082        len: ::std::os::raw::c_long,
9083    ) -> ASN1_BOOLEAN;
9084}
9085extern "C" {
9086    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_BOOLEAN"]
9087    pub fn i2d_ASN1_BOOLEAN(
9088        a: ASN1_BOOLEAN,
9089        outp: *mut *mut ::std::os::raw::c_uchar,
9090    ) -> ::std::os::raw::c_int;
9091}
9092extern "C" {
9093    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BOOLEAN_it"]
9094    pub static ASN1_BOOLEAN_it: ASN1_ITEM;
9095}
9096extern "C" {
9097    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TBOOLEAN_it"]
9098    pub static ASN1_TBOOLEAN_it: ASN1_ITEM;
9099}
9100extern "C" {
9101    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_FBOOLEAN_it"]
9102    pub static ASN1_FBOOLEAN_it: ASN1_ITEM;
9103}
9104#[repr(C)]
9105#[derive(Debug, Copy, Clone, PartialEq, Eq)]
9106pub struct asn1_string_st {
9107    pub length: ::std::os::raw::c_int,
9108    pub type_: ::std::os::raw::c_int,
9109    pub data: *mut ::std::os::raw::c_uchar,
9110    pub flags: ::std::os::raw::c_long,
9111}
9112#[test]
9113fn bindgen_test_layout_asn1_string_st() {
9114    const UNINIT: ::std::mem::MaybeUninit<asn1_string_st> = ::std::mem::MaybeUninit::uninit();
9115    let ptr = UNINIT.as_ptr();
9116    assert_eq!(
9117        ::std::mem::size_of::<asn1_string_st>(),
9118        24usize,
9119        concat!("Size of: ", stringify!(asn1_string_st))
9120    );
9121    assert_eq!(
9122        ::std::mem::align_of::<asn1_string_st>(),
9123        8usize,
9124        concat!("Alignment of ", stringify!(asn1_string_st))
9125    );
9126    assert_eq!(
9127        unsafe { ::std::ptr::addr_of!((*ptr).length) as usize - ptr as usize },
9128        0usize,
9129        concat!(
9130            "Offset of field: ",
9131            stringify!(asn1_string_st),
9132            "::",
9133            stringify!(length)
9134        )
9135    );
9136    assert_eq!(
9137        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
9138        4usize,
9139        concat!(
9140            "Offset of field: ",
9141            stringify!(asn1_string_st),
9142            "::",
9143            stringify!(type_)
9144        )
9145    );
9146    assert_eq!(
9147        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
9148        8usize,
9149        concat!(
9150            "Offset of field: ",
9151            stringify!(asn1_string_st),
9152            "::",
9153            stringify!(data)
9154        )
9155    );
9156    assert_eq!(
9157        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
9158        16usize,
9159        concat!(
9160            "Offset of field: ",
9161            stringify!(asn1_string_st),
9162            "::",
9163            stringify!(flags)
9164        )
9165    );
9166}
9167impl Default for asn1_string_st {
9168    fn default() -> Self {
9169        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
9170        unsafe {
9171            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
9172            s.assume_init()
9173        }
9174    }
9175}
9176extern "C" {
9177    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_type_new"]
9178    pub fn ASN1_STRING_type_new(type_: ::std::os::raw::c_int) -> *mut ASN1_STRING;
9179}
9180extern "C" {
9181    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_new"]
9182    pub fn ASN1_STRING_new() -> *mut ASN1_STRING;
9183}
9184extern "C" {
9185    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_free"]
9186    pub fn ASN1_STRING_free(str_: *mut ASN1_STRING);
9187}
9188extern "C" {
9189    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_clear_free"]
9190    pub fn ASN1_STRING_clear_free(str_: *mut ASN1_STRING);
9191}
9192extern "C" {
9193    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_copy"]
9194    pub fn ASN1_STRING_copy(
9195        dst: *mut ASN1_STRING,
9196        str_: *const ASN1_STRING,
9197    ) -> ::std::os::raw::c_int;
9198}
9199extern "C" {
9200    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_dup"]
9201    pub fn ASN1_STRING_dup(str_: *const ASN1_STRING) -> *mut ASN1_STRING;
9202}
9203extern "C" {
9204    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_type"]
9205    pub fn ASN1_STRING_type(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9206}
9207extern "C" {
9208    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_get0_data"]
9209    pub fn ASN1_STRING_get0_data(str_: *const ASN1_STRING) -> *const ::std::os::raw::c_uchar;
9210}
9211extern "C" {
9212    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_data"]
9213    pub fn ASN1_STRING_data(str_: *mut ASN1_STRING) -> *mut ::std::os::raw::c_uchar;
9214}
9215extern "C" {
9216    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_length"]
9217    pub fn ASN1_STRING_length(str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
9218}
9219extern "C" {
9220    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_cmp"]
9221    pub fn ASN1_STRING_cmp(a: *const ASN1_STRING, b: *const ASN1_STRING) -> ::std::os::raw::c_int;
9222}
9223extern "C" {
9224    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_set"]
9225    pub fn ASN1_STRING_set(
9226        str_: *mut ASN1_STRING,
9227        data: *const ::std::os::raw::c_void,
9228        len: ossl_ssize_t,
9229    ) -> ::std::os::raw::c_int;
9230}
9231extern "C" {
9232    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_set0"]
9233    pub fn ASN1_STRING_set0(
9234        str_: *mut ASN1_STRING,
9235        data: *mut ::std::os::raw::c_void,
9236        len: ::std::os::raw::c_int,
9237    );
9238}
9239extern "C" {
9240    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BMPSTRING_new"]
9241    pub fn ASN1_BMPSTRING_new() -> *mut ASN1_BMPSTRING;
9242}
9243extern "C" {
9244    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALSTRING_new"]
9245    pub fn ASN1_GENERALSTRING_new() -> *mut ASN1_GENERALSTRING;
9246}
9247extern "C" {
9248    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_IA5STRING_new"]
9249    pub fn ASN1_IA5STRING_new() -> *mut ASN1_IA5STRING;
9250}
9251extern "C" {
9252    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_new"]
9253    pub fn ASN1_OCTET_STRING_new() -> *mut ASN1_OCTET_STRING;
9254}
9255extern "C" {
9256    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLESTRING_new"]
9257    pub fn ASN1_PRINTABLESTRING_new() -> *mut ASN1_PRINTABLESTRING;
9258}
9259extern "C" {
9260    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_T61STRING_new"]
9261    pub fn ASN1_T61STRING_new() -> *mut ASN1_T61STRING;
9262}
9263extern "C" {
9264    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UNIVERSALSTRING_new"]
9265    pub fn ASN1_UNIVERSALSTRING_new() -> *mut ASN1_UNIVERSALSTRING;
9266}
9267extern "C" {
9268    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTF8STRING_new"]
9269    pub fn ASN1_UTF8STRING_new() -> *mut ASN1_UTF8STRING;
9270}
9271extern "C" {
9272    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_VISIBLESTRING_new"]
9273    pub fn ASN1_VISIBLESTRING_new() -> *mut ASN1_VISIBLESTRING;
9274}
9275extern "C" {
9276    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BMPSTRING_free"]
9277    pub fn ASN1_BMPSTRING_free(str_: *mut ASN1_BMPSTRING);
9278}
9279extern "C" {
9280    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALSTRING_free"]
9281    pub fn ASN1_GENERALSTRING_free(str_: *mut ASN1_GENERALSTRING);
9282}
9283extern "C" {
9284    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_IA5STRING_free"]
9285    pub fn ASN1_IA5STRING_free(str_: *mut ASN1_IA5STRING);
9286}
9287extern "C" {
9288    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_free"]
9289    pub fn ASN1_OCTET_STRING_free(str_: *mut ASN1_OCTET_STRING);
9290}
9291extern "C" {
9292    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLESTRING_free"]
9293    pub fn ASN1_PRINTABLESTRING_free(str_: *mut ASN1_PRINTABLESTRING);
9294}
9295extern "C" {
9296    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_T61STRING_free"]
9297    pub fn ASN1_T61STRING_free(str_: *mut ASN1_T61STRING);
9298}
9299extern "C" {
9300    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UNIVERSALSTRING_free"]
9301    pub fn ASN1_UNIVERSALSTRING_free(str_: *mut ASN1_UNIVERSALSTRING);
9302}
9303extern "C" {
9304    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTF8STRING_free"]
9305    pub fn ASN1_UTF8STRING_free(str_: *mut ASN1_UTF8STRING);
9306}
9307extern "C" {
9308    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_VISIBLESTRING_free"]
9309    pub fn ASN1_VISIBLESTRING_free(str_: *mut ASN1_VISIBLESTRING);
9310}
9311extern "C" {
9312    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_BMPSTRING"]
9313    pub fn d2i_ASN1_BMPSTRING(
9314        out: *mut *mut ASN1_BMPSTRING,
9315        inp: *mut *const u8,
9316        len: ::std::os::raw::c_long,
9317    ) -> *mut ASN1_BMPSTRING;
9318}
9319extern "C" {
9320    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_GENERALSTRING"]
9321    pub fn d2i_ASN1_GENERALSTRING(
9322        out: *mut *mut ASN1_GENERALSTRING,
9323        inp: *mut *const u8,
9324        len: ::std::os::raw::c_long,
9325    ) -> *mut ASN1_GENERALSTRING;
9326}
9327extern "C" {
9328    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_IA5STRING"]
9329    pub fn d2i_ASN1_IA5STRING(
9330        out: *mut *mut ASN1_IA5STRING,
9331        inp: *mut *const u8,
9332        len: ::std::os::raw::c_long,
9333    ) -> *mut ASN1_IA5STRING;
9334}
9335extern "C" {
9336    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_OCTET_STRING"]
9337    pub fn d2i_ASN1_OCTET_STRING(
9338        out: *mut *mut ASN1_OCTET_STRING,
9339        inp: *mut *const u8,
9340        len: ::std::os::raw::c_long,
9341    ) -> *mut ASN1_OCTET_STRING;
9342}
9343extern "C" {
9344    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_PRINTABLESTRING"]
9345    pub fn d2i_ASN1_PRINTABLESTRING(
9346        out: *mut *mut ASN1_PRINTABLESTRING,
9347        inp: *mut *const u8,
9348        len: ::std::os::raw::c_long,
9349    ) -> *mut ASN1_PRINTABLESTRING;
9350}
9351extern "C" {
9352    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_T61STRING"]
9353    pub fn d2i_ASN1_T61STRING(
9354        out: *mut *mut ASN1_T61STRING,
9355        inp: *mut *const u8,
9356        len: ::std::os::raw::c_long,
9357    ) -> *mut ASN1_T61STRING;
9358}
9359extern "C" {
9360    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_UNIVERSALSTRING"]
9361    pub fn d2i_ASN1_UNIVERSALSTRING(
9362        out: *mut *mut ASN1_UNIVERSALSTRING,
9363        inp: *mut *const u8,
9364        len: ::std::os::raw::c_long,
9365    ) -> *mut ASN1_UNIVERSALSTRING;
9366}
9367extern "C" {
9368    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_UTF8STRING"]
9369    pub fn d2i_ASN1_UTF8STRING(
9370        out: *mut *mut ASN1_UTF8STRING,
9371        inp: *mut *const u8,
9372        len: ::std::os::raw::c_long,
9373    ) -> *mut ASN1_UTF8STRING;
9374}
9375extern "C" {
9376    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_VISIBLESTRING"]
9377    pub fn d2i_ASN1_VISIBLESTRING(
9378        out: *mut *mut ASN1_VISIBLESTRING,
9379        inp: *mut *const u8,
9380        len: ::std::os::raw::c_long,
9381    ) -> *mut ASN1_VISIBLESTRING;
9382}
9383extern "C" {
9384    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_BMPSTRING"]
9385    pub fn i2d_ASN1_BMPSTRING(
9386        in_: *const ASN1_BMPSTRING,
9387        outp: *mut *mut u8,
9388    ) -> ::std::os::raw::c_int;
9389}
9390extern "C" {
9391    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_GENERALSTRING"]
9392    pub fn i2d_ASN1_GENERALSTRING(
9393        in_: *const ASN1_GENERALSTRING,
9394        outp: *mut *mut u8,
9395    ) -> ::std::os::raw::c_int;
9396}
9397extern "C" {
9398    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_IA5STRING"]
9399    pub fn i2d_ASN1_IA5STRING(
9400        in_: *const ASN1_IA5STRING,
9401        outp: *mut *mut u8,
9402    ) -> ::std::os::raw::c_int;
9403}
9404extern "C" {
9405    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_OCTET_STRING"]
9406    pub fn i2d_ASN1_OCTET_STRING(
9407        in_: *const ASN1_OCTET_STRING,
9408        outp: *mut *mut u8,
9409    ) -> ::std::os::raw::c_int;
9410}
9411extern "C" {
9412    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_PRINTABLESTRING"]
9413    pub fn i2d_ASN1_PRINTABLESTRING(
9414        in_: *const ASN1_PRINTABLESTRING,
9415        outp: *mut *mut u8,
9416    ) -> ::std::os::raw::c_int;
9417}
9418extern "C" {
9419    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_T61STRING"]
9420    pub fn i2d_ASN1_T61STRING(
9421        in_: *const ASN1_T61STRING,
9422        outp: *mut *mut u8,
9423    ) -> ::std::os::raw::c_int;
9424}
9425extern "C" {
9426    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_UNIVERSALSTRING"]
9427    pub fn i2d_ASN1_UNIVERSALSTRING(
9428        in_: *const ASN1_UNIVERSALSTRING,
9429        outp: *mut *mut u8,
9430    ) -> ::std::os::raw::c_int;
9431}
9432extern "C" {
9433    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_UTF8STRING"]
9434    pub fn i2d_ASN1_UTF8STRING(
9435        in_: *const ASN1_UTF8STRING,
9436        outp: *mut *mut u8,
9437    ) -> ::std::os::raw::c_int;
9438}
9439extern "C" {
9440    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_VISIBLESTRING"]
9441    pub fn i2d_ASN1_VISIBLESTRING(
9442        in_: *const ASN1_VISIBLESTRING,
9443        outp: *mut *mut u8,
9444    ) -> ::std::os::raw::c_int;
9445}
9446extern "C" {
9447    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BMPSTRING_it"]
9448    pub static ASN1_BMPSTRING_it: ASN1_ITEM;
9449}
9450extern "C" {
9451    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALSTRING_it"]
9452    pub static ASN1_GENERALSTRING_it: ASN1_ITEM;
9453}
9454extern "C" {
9455    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_IA5STRING_it"]
9456    pub static ASN1_IA5STRING_it: ASN1_ITEM;
9457}
9458extern "C" {
9459    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_it"]
9460    pub static ASN1_OCTET_STRING_it: ASN1_ITEM;
9461}
9462extern "C" {
9463    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLESTRING_it"]
9464    pub static ASN1_PRINTABLESTRING_it: ASN1_ITEM;
9465}
9466extern "C" {
9467    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_T61STRING_it"]
9468    pub static ASN1_T61STRING_it: ASN1_ITEM;
9469}
9470extern "C" {
9471    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UNIVERSALSTRING_it"]
9472    pub static ASN1_UNIVERSALSTRING_it: ASN1_ITEM;
9473}
9474extern "C" {
9475    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTF8STRING_it"]
9476    pub static ASN1_UTF8STRING_it: ASN1_ITEM;
9477}
9478extern "C" {
9479    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_VISIBLESTRING_it"]
9480    pub static ASN1_VISIBLESTRING_it: ASN1_ITEM;
9481}
9482extern "C" {
9483    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_dup"]
9484    pub fn ASN1_OCTET_STRING_dup(a: *const ASN1_OCTET_STRING) -> *mut ASN1_OCTET_STRING;
9485}
9486extern "C" {
9487    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_cmp"]
9488    pub fn ASN1_OCTET_STRING_cmp(
9489        a: *const ASN1_OCTET_STRING,
9490        b: *const ASN1_OCTET_STRING,
9491    ) -> ::std::os::raw::c_int;
9492}
9493extern "C" {
9494    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OCTET_STRING_set"]
9495    pub fn ASN1_OCTET_STRING_set(
9496        str_: *mut ASN1_OCTET_STRING,
9497        data: *const ::std::os::raw::c_uchar,
9498        len: ::std::os::raw::c_int,
9499    ) -> ::std::os::raw::c_int;
9500}
9501extern "C" {
9502    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_to_UTF8"]
9503    pub fn ASN1_STRING_to_UTF8(
9504        out: *mut *mut ::std::os::raw::c_uchar,
9505        in_: *const ASN1_STRING,
9506    ) -> ::std::os::raw::c_int;
9507}
9508extern "C" {
9509    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_mbstring_copy"]
9510    pub fn ASN1_mbstring_copy(
9511        out: *mut *mut ASN1_STRING,
9512        in_: *const u8,
9513        len: ossl_ssize_t,
9514        inform: ::std::os::raw::c_int,
9515        mask: ::std::os::raw::c_ulong,
9516    ) -> ::std::os::raw::c_int;
9517}
9518extern "C" {
9519    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_mbstring_ncopy"]
9520    pub fn ASN1_mbstring_ncopy(
9521        out: *mut *mut ASN1_STRING,
9522        in_: *const u8,
9523        len: ossl_ssize_t,
9524        inform: ::std::os::raw::c_int,
9525        mask: ::std::os::raw::c_ulong,
9526        minsize: ossl_ssize_t,
9527        maxsize: ossl_ssize_t,
9528    ) -> ::std::os::raw::c_int;
9529}
9530extern "C" {
9531    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_set_by_NID"]
9532    pub fn ASN1_STRING_set_by_NID(
9533        out: *mut *mut ASN1_STRING,
9534        in_: *const ::std::os::raw::c_uchar,
9535        len: ossl_ssize_t,
9536        inform: ::std::os::raw::c_int,
9537        nid: ::std::os::raw::c_int,
9538    ) -> *mut ASN1_STRING;
9539}
9540extern "C" {
9541    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_TABLE_add"]
9542    pub fn ASN1_STRING_TABLE_add(
9543        nid: ::std::os::raw::c_int,
9544        minsize: ::std::os::raw::c_long,
9545        maxsize: ::std::os::raw::c_long,
9546        mask: ::std::os::raw::c_ulong,
9547        flags: ::std::os::raw::c_ulong,
9548    ) -> ::std::os::raw::c_int;
9549}
9550extern "C" {
9551    #[link_name = "\u{1}aws_lc_0_27_2_DIRECTORYSTRING_new"]
9552    pub fn DIRECTORYSTRING_new() -> *mut ASN1_STRING;
9553}
9554extern "C" {
9555    #[link_name = "\u{1}aws_lc_0_27_2_DIRECTORYSTRING_free"]
9556    pub fn DIRECTORYSTRING_free(str_: *mut ASN1_STRING);
9557}
9558extern "C" {
9559    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DIRECTORYSTRING"]
9560    pub fn d2i_DIRECTORYSTRING(
9561        out: *mut *mut ASN1_STRING,
9562        inp: *mut *const u8,
9563        len: ::std::os::raw::c_long,
9564    ) -> *mut ASN1_STRING;
9565}
9566extern "C" {
9567    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DIRECTORYSTRING"]
9568    pub fn i2d_DIRECTORYSTRING(
9569        in_: *const ASN1_STRING,
9570        outp: *mut *mut u8,
9571    ) -> ::std::os::raw::c_int;
9572}
9573extern "C" {
9574    #[link_name = "\u{1}aws_lc_0_27_2_DIRECTORYSTRING_it"]
9575    pub static DIRECTORYSTRING_it: ASN1_ITEM;
9576}
9577extern "C" {
9578    #[link_name = "\u{1}aws_lc_0_27_2_DISPLAYTEXT_new"]
9579    pub fn DISPLAYTEXT_new() -> *mut ASN1_STRING;
9580}
9581extern "C" {
9582    #[link_name = "\u{1}aws_lc_0_27_2_DISPLAYTEXT_free"]
9583    pub fn DISPLAYTEXT_free(str_: *mut ASN1_STRING);
9584}
9585extern "C" {
9586    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DISPLAYTEXT"]
9587    pub fn d2i_DISPLAYTEXT(
9588        out: *mut *mut ASN1_STRING,
9589        inp: *mut *const u8,
9590        len: ::std::os::raw::c_long,
9591    ) -> *mut ASN1_STRING;
9592}
9593extern "C" {
9594    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DISPLAYTEXT"]
9595    pub fn i2d_DISPLAYTEXT(in_: *const ASN1_STRING, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9596}
9597extern "C" {
9598    #[link_name = "\u{1}aws_lc_0_27_2_DISPLAYTEXT_it"]
9599    pub static DISPLAYTEXT_it: ASN1_ITEM;
9600}
9601extern "C" {
9602    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_new"]
9603    pub fn ASN1_BIT_STRING_new() -> *mut ASN1_BIT_STRING;
9604}
9605extern "C" {
9606    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_free"]
9607    pub fn ASN1_BIT_STRING_free(str_: *mut ASN1_BIT_STRING);
9608}
9609extern "C" {
9610    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_BIT_STRING"]
9611    pub fn d2i_ASN1_BIT_STRING(
9612        out: *mut *mut ASN1_BIT_STRING,
9613        inp: *mut *const u8,
9614        len: ::std::os::raw::c_long,
9615    ) -> *mut ASN1_BIT_STRING;
9616}
9617extern "C" {
9618    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_BIT_STRING"]
9619    pub fn i2d_ASN1_BIT_STRING(
9620        in_: *const ASN1_BIT_STRING,
9621        outp: *mut *mut u8,
9622    ) -> ::std::os::raw::c_int;
9623}
9624extern "C" {
9625    #[link_name = "\u{1}aws_lc_0_27_2_c2i_ASN1_BIT_STRING"]
9626    pub fn c2i_ASN1_BIT_STRING(
9627        out: *mut *mut ASN1_BIT_STRING,
9628        inp: *mut *const u8,
9629        len: ::std::os::raw::c_long,
9630    ) -> *mut ASN1_BIT_STRING;
9631}
9632extern "C" {
9633    #[link_name = "\u{1}aws_lc_0_27_2_i2c_ASN1_BIT_STRING"]
9634    pub fn i2c_ASN1_BIT_STRING(
9635        in_: *const ASN1_BIT_STRING,
9636        outp: *mut *mut u8,
9637    ) -> ::std::os::raw::c_int;
9638}
9639extern "C" {
9640    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_it"]
9641    pub static ASN1_BIT_STRING_it: ASN1_ITEM;
9642}
9643extern "C" {
9644    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_num_bytes"]
9645    pub fn ASN1_BIT_STRING_num_bytes(
9646        str_: *const ASN1_BIT_STRING,
9647        out: *mut usize,
9648    ) -> ::std::os::raw::c_int;
9649}
9650extern "C" {
9651    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_set"]
9652    pub fn ASN1_BIT_STRING_set(
9653        str_: *mut ASN1_BIT_STRING,
9654        d: *const ::std::os::raw::c_uchar,
9655        length: ossl_ssize_t,
9656    ) -> ::std::os::raw::c_int;
9657}
9658extern "C" {
9659    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_set_bit"]
9660    pub fn ASN1_BIT_STRING_set_bit(
9661        str_: *mut ASN1_BIT_STRING,
9662        n: ::std::os::raw::c_int,
9663        value: ::std::os::raw::c_int,
9664    ) -> ::std::os::raw::c_int;
9665}
9666extern "C" {
9667    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_get_bit"]
9668    pub fn ASN1_BIT_STRING_get_bit(
9669        str_: *const ASN1_BIT_STRING,
9670        n: ::std::os::raw::c_int,
9671    ) -> ::std::os::raw::c_int;
9672}
9673extern "C" {
9674    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_BIT_STRING_check"]
9675    pub fn ASN1_BIT_STRING_check(
9676        str_: *const ASN1_BIT_STRING,
9677        flags: *const ::std::os::raw::c_uchar,
9678        flags_len: ::std::os::raw::c_int,
9679    ) -> ::std::os::raw::c_int;
9680}
9681#[repr(C)]
9682#[derive(Debug, Copy, Clone)]
9683pub struct stack_st_ASN1_INTEGER {
9684    _unused: [u8; 0],
9685}
9686pub type sk_ASN1_INTEGER_free_func =
9687    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_INTEGER)>;
9688pub type sk_ASN1_INTEGER_copy_func =
9689    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_INTEGER) -> *mut ASN1_INTEGER>;
9690pub type sk_ASN1_INTEGER_cmp_func = ::std::option::Option<
9691    unsafe extern "C" fn(
9692        arg1: *const *const ASN1_INTEGER,
9693        arg2: *const *const ASN1_INTEGER,
9694    ) -> ::std::os::raw::c_int,
9695>;
9696pub type sk_ASN1_INTEGER_delete_if_func = ::std::option::Option<
9697    unsafe extern "C" fn(
9698        arg1: *mut ASN1_INTEGER,
9699        arg2: *mut ::std::os::raw::c_void,
9700    ) -> ::std::os::raw::c_int,
9701>;
9702extern "C" {
9703    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_new"]
9704    pub fn ASN1_INTEGER_new() -> *mut ASN1_INTEGER;
9705}
9706extern "C" {
9707    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_free"]
9708    pub fn ASN1_INTEGER_free(str_: *mut ASN1_INTEGER);
9709}
9710extern "C" {
9711    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_dup"]
9712    pub fn ASN1_INTEGER_dup(x: *const ASN1_INTEGER) -> *mut ASN1_INTEGER;
9713}
9714extern "C" {
9715    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_INTEGER"]
9716    pub fn d2i_ASN1_INTEGER(
9717        out: *mut *mut ASN1_INTEGER,
9718        inp: *mut *const u8,
9719        len: ::std::os::raw::c_long,
9720    ) -> *mut ASN1_INTEGER;
9721}
9722extern "C" {
9723    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_INTEGER"]
9724    pub fn i2d_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9725}
9726extern "C" {
9727    #[link_name = "\u{1}aws_lc_0_27_2_c2i_ASN1_INTEGER"]
9728    pub fn c2i_ASN1_INTEGER(
9729        in_: *mut *mut ASN1_INTEGER,
9730        outp: *mut *const u8,
9731        len: ::std::os::raw::c_long,
9732    ) -> *mut ASN1_INTEGER;
9733}
9734extern "C" {
9735    #[link_name = "\u{1}aws_lc_0_27_2_i2c_ASN1_INTEGER"]
9736    pub fn i2c_ASN1_INTEGER(in_: *const ASN1_INTEGER, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9737}
9738extern "C" {
9739    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_it"]
9740    pub static ASN1_INTEGER_it: ASN1_ITEM;
9741}
9742extern "C" {
9743    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_set_uint64"]
9744    pub fn ASN1_INTEGER_set_uint64(out: *mut ASN1_INTEGER, v: u64) -> ::std::os::raw::c_int;
9745}
9746extern "C" {
9747    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_set_int64"]
9748    pub fn ASN1_INTEGER_set_int64(out: *mut ASN1_INTEGER, v: i64) -> ::std::os::raw::c_int;
9749}
9750extern "C" {
9751    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_get_uint64"]
9752    pub fn ASN1_INTEGER_get_uint64(out: *mut u64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9753}
9754extern "C" {
9755    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_get_int64"]
9756    pub fn ASN1_INTEGER_get_int64(out: *mut i64, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
9757}
9758extern "C" {
9759    #[link_name = "\u{1}aws_lc_0_27_2_BN_to_ASN1_INTEGER"]
9760    pub fn BN_to_ASN1_INTEGER(bn: *const BIGNUM, ai: *mut ASN1_INTEGER) -> *mut ASN1_INTEGER;
9761}
9762extern "C" {
9763    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_to_BN"]
9764    pub fn ASN1_INTEGER_to_BN(ai: *const ASN1_INTEGER, bn: *mut BIGNUM) -> *mut BIGNUM;
9765}
9766extern "C" {
9767    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_cmp"]
9768    pub fn ASN1_INTEGER_cmp(
9769        x: *const ASN1_INTEGER,
9770        y: *const ASN1_INTEGER,
9771    ) -> ::std::os::raw::c_int;
9772}
9773extern "C" {
9774    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_new"]
9775    pub fn ASN1_ENUMERATED_new() -> *mut ASN1_ENUMERATED;
9776}
9777extern "C" {
9778    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_free"]
9779    pub fn ASN1_ENUMERATED_free(str_: *mut ASN1_ENUMERATED);
9780}
9781extern "C" {
9782    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_ENUMERATED"]
9783    pub fn d2i_ASN1_ENUMERATED(
9784        out: *mut *mut ASN1_ENUMERATED,
9785        inp: *mut *const u8,
9786        len: ::std::os::raw::c_long,
9787    ) -> *mut ASN1_ENUMERATED;
9788}
9789extern "C" {
9790    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_ENUMERATED"]
9791    pub fn i2d_ASN1_ENUMERATED(
9792        in_: *const ASN1_ENUMERATED,
9793        outp: *mut *mut u8,
9794    ) -> ::std::os::raw::c_int;
9795}
9796extern "C" {
9797    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_it"]
9798    pub static ASN1_ENUMERATED_it: ASN1_ITEM;
9799}
9800extern "C" {
9801    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_set_uint64"]
9802    pub fn ASN1_ENUMERATED_set_uint64(out: *mut ASN1_ENUMERATED, v: u64) -> ::std::os::raw::c_int;
9803}
9804extern "C" {
9805    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_set_int64"]
9806    pub fn ASN1_ENUMERATED_set_int64(out: *mut ASN1_ENUMERATED, v: i64) -> ::std::os::raw::c_int;
9807}
9808extern "C" {
9809    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_get_uint64"]
9810    pub fn ASN1_ENUMERATED_get_uint64(
9811        out: *mut u64,
9812        a: *const ASN1_ENUMERATED,
9813    ) -> ::std::os::raw::c_int;
9814}
9815extern "C" {
9816    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_get_int64"]
9817    pub fn ASN1_ENUMERATED_get_int64(
9818        out: *mut i64,
9819        a: *const ASN1_ENUMERATED,
9820    ) -> ::std::os::raw::c_int;
9821}
9822extern "C" {
9823    #[link_name = "\u{1}aws_lc_0_27_2_BN_to_ASN1_ENUMERATED"]
9824    pub fn BN_to_ASN1_ENUMERATED(
9825        bn: *const BIGNUM,
9826        ai: *mut ASN1_ENUMERATED,
9827    ) -> *mut ASN1_ENUMERATED;
9828}
9829extern "C" {
9830    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_to_BN"]
9831    pub fn ASN1_ENUMERATED_to_BN(ai: *const ASN1_ENUMERATED, bn: *mut BIGNUM) -> *mut BIGNUM;
9832}
9833extern "C" {
9834    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_new"]
9835    pub fn ASN1_UTCTIME_new() -> *mut ASN1_UTCTIME;
9836}
9837extern "C" {
9838    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_free"]
9839    pub fn ASN1_UTCTIME_free(str_: *mut ASN1_UTCTIME);
9840}
9841extern "C" {
9842    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_UTCTIME"]
9843    pub fn d2i_ASN1_UTCTIME(
9844        out: *mut *mut ASN1_UTCTIME,
9845        inp: *mut *const u8,
9846        len: ::std::os::raw::c_long,
9847    ) -> *mut ASN1_UTCTIME;
9848}
9849extern "C" {
9850    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_UTCTIME"]
9851    pub fn i2d_ASN1_UTCTIME(in_: *const ASN1_UTCTIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9852}
9853extern "C" {
9854    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_it"]
9855    pub static ASN1_UTCTIME_it: ASN1_ITEM;
9856}
9857extern "C" {
9858    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_check"]
9859    pub fn ASN1_UTCTIME_check(a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
9860}
9861extern "C" {
9862    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_set"]
9863    pub fn ASN1_UTCTIME_set(s: *mut ASN1_UTCTIME, posix_time: i64) -> *mut ASN1_UTCTIME;
9864}
9865extern "C" {
9866    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_adj"]
9867    pub fn ASN1_UTCTIME_adj(
9868        s: *mut ASN1_UTCTIME,
9869        posix_time: i64,
9870        offset_day: ::std::os::raw::c_int,
9871        offset_sec: ::std::os::raw::c_long,
9872    ) -> *mut ASN1_UTCTIME;
9873}
9874extern "C" {
9875    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_set_string"]
9876    pub fn ASN1_UTCTIME_set_string(
9877        s: *mut ASN1_UTCTIME,
9878        str_: *const ::std::os::raw::c_char,
9879    ) -> ::std::os::raw::c_int;
9880}
9881extern "C" {
9882    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_cmp_time_t"]
9883    pub fn ASN1_UTCTIME_cmp_time_t(s: *const ASN1_UTCTIME, t: time_t) -> ::std::os::raw::c_int;
9884}
9885extern "C" {
9886    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_new"]
9887    pub fn ASN1_GENERALIZEDTIME_new() -> *mut ASN1_GENERALIZEDTIME;
9888}
9889extern "C" {
9890    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_free"]
9891    pub fn ASN1_GENERALIZEDTIME_free(str_: *mut ASN1_GENERALIZEDTIME);
9892}
9893extern "C" {
9894    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_GENERALIZEDTIME"]
9895    pub fn d2i_ASN1_GENERALIZEDTIME(
9896        out: *mut *mut ASN1_GENERALIZEDTIME,
9897        inp: *mut *const u8,
9898        len: ::std::os::raw::c_long,
9899    ) -> *mut ASN1_GENERALIZEDTIME;
9900}
9901extern "C" {
9902    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_GENERALIZEDTIME"]
9903    pub fn i2d_ASN1_GENERALIZEDTIME(
9904        in_: *const ASN1_GENERALIZEDTIME,
9905        outp: *mut *mut u8,
9906    ) -> ::std::os::raw::c_int;
9907}
9908extern "C" {
9909    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_it"]
9910    pub static ASN1_GENERALIZEDTIME_it: ASN1_ITEM;
9911}
9912extern "C" {
9913    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_check"]
9914    pub fn ASN1_GENERALIZEDTIME_check(a: *const ASN1_GENERALIZEDTIME) -> ::std::os::raw::c_int;
9915}
9916extern "C" {
9917    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_set"]
9918    pub fn ASN1_GENERALIZEDTIME_set(
9919        s: *mut ASN1_GENERALIZEDTIME,
9920        posix_time: i64,
9921    ) -> *mut ASN1_GENERALIZEDTIME;
9922}
9923extern "C" {
9924    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_adj"]
9925    pub fn ASN1_GENERALIZEDTIME_adj(
9926        s: *mut ASN1_GENERALIZEDTIME,
9927        posix_time: i64,
9928        offset_day: ::std::os::raw::c_int,
9929        offset_sec: ::std::os::raw::c_long,
9930    ) -> *mut ASN1_GENERALIZEDTIME;
9931}
9932extern "C" {
9933    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_set_string"]
9934    pub fn ASN1_GENERALIZEDTIME_set_string(
9935        s: *mut ASN1_GENERALIZEDTIME,
9936        str_: *const ::std::os::raw::c_char,
9937    ) -> ::std::os::raw::c_int;
9938}
9939extern "C" {
9940    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_new"]
9941    pub fn ASN1_TIME_new() -> *mut ASN1_TIME;
9942}
9943extern "C" {
9944    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_free"]
9945    pub fn ASN1_TIME_free(str_: *mut ASN1_TIME);
9946}
9947extern "C" {
9948    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_TIME"]
9949    pub fn d2i_ASN1_TIME(
9950        out: *mut *mut ASN1_TIME,
9951        inp: *mut *const u8,
9952        len: ::std::os::raw::c_long,
9953    ) -> *mut ASN1_TIME;
9954}
9955extern "C" {
9956    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_TIME"]
9957    pub fn i2d_ASN1_TIME(in_: *const ASN1_TIME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
9958}
9959extern "C" {
9960    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_it"]
9961    pub static ASN1_TIME_it: ASN1_ITEM;
9962}
9963extern "C" {
9964    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_diff"]
9965    pub fn ASN1_TIME_diff(
9966        out_days: *mut ::std::os::raw::c_int,
9967        out_seconds: *mut ::std::os::raw::c_int,
9968        from: *const ASN1_TIME,
9969        to: *const ASN1_TIME,
9970    ) -> ::std::os::raw::c_int;
9971}
9972extern "C" {
9973    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_set_posix"]
9974    pub fn ASN1_TIME_set_posix(s: *mut ASN1_TIME, posix_time: i64) -> *mut ASN1_TIME;
9975}
9976extern "C" {
9977    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_set"]
9978    pub fn ASN1_TIME_set(s: *mut ASN1_TIME, time: time_t) -> *mut ASN1_TIME;
9979}
9980extern "C" {
9981    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_adj"]
9982    pub fn ASN1_TIME_adj(
9983        s: *mut ASN1_TIME,
9984        posix_time: i64,
9985        offset_day: ::std::os::raw::c_int,
9986        offset_sec: ::std::os::raw::c_long,
9987    ) -> *mut ASN1_TIME;
9988}
9989extern "C" {
9990    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_check"]
9991    pub fn ASN1_TIME_check(t: *const ASN1_TIME) -> ::std::os::raw::c_int;
9992}
9993extern "C" {
9994    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_to_generalizedtime"]
9995    pub fn ASN1_TIME_to_generalizedtime(
9996        t: *const ASN1_TIME,
9997        out: *mut *mut ASN1_GENERALIZEDTIME,
9998    ) -> *mut ASN1_GENERALIZEDTIME;
9999}
10000extern "C" {
10001    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_set_string"]
10002    pub fn ASN1_TIME_set_string(
10003        s: *mut ASN1_TIME,
10004        str_: *const ::std::os::raw::c_char,
10005    ) -> ::std::os::raw::c_int;
10006}
10007extern "C" {
10008    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_to_tm"]
10009    pub fn ASN1_TIME_to_tm(t: *const ASN1_TIME, out: *mut tm) -> ::std::os::raw::c_int;
10010}
10011extern "C" {
10012    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_set_string_X509"]
10013    pub fn ASN1_TIME_set_string_X509(
10014        s: *mut ASN1_TIME,
10015        str_: *const ::std::os::raw::c_char,
10016    ) -> ::std::os::raw::c_int;
10017}
10018extern "C" {
10019    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_to_time_t"]
10020    pub fn ASN1_TIME_to_time_t(t: *const ASN1_TIME, out: *mut time_t) -> ::std::os::raw::c_int;
10021}
10022extern "C" {
10023    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_to_posix"]
10024    pub fn ASN1_TIME_to_posix(t: *const ASN1_TIME, out: *mut i64) -> ::std::os::raw::c_int;
10025}
10026extern "C" {
10027    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_NULL_new"]
10028    pub fn ASN1_NULL_new() -> *mut ASN1_NULL;
10029}
10030extern "C" {
10031    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_NULL_free"]
10032    pub fn ASN1_NULL_free(null: *mut ASN1_NULL);
10033}
10034extern "C" {
10035    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_NULL"]
10036    pub fn d2i_ASN1_NULL(
10037        out: *mut *mut ASN1_NULL,
10038        inp: *mut *const u8,
10039        len: ::std::os::raw::c_long,
10040    ) -> *mut ASN1_NULL;
10041}
10042extern "C" {
10043    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_NULL"]
10044    pub fn i2d_ASN1_NULL(in_: *const ASN1_NULL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10045}
10046extern "C" {
10047    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_NULL_it"]
10048    pub static ASN1_NULL_it: ASN1_ITEM;
10049}
10050#[repr(C)]
10051#[derive(Debug, Copy, Clone)]
10052pub struct stack_st_ASN1_OBJECT {
10053    _unused: [u8; 0],
10054}
10055pub type sk_ASN1_OBJECT_free_func =
10056    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_OBJECT)>;
10057pub type sk_ASN1_OBJECT_copy_func =
10058    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_OBJECT) -> *mut ASN1_OBJECT>;
10059pub type sk_ASN1_OBJECT_cmp_func = ::std::option::Option<
10060    unsafe extern "C" fn(
10061        arg1: *const *const ASN1_OBJECT,
10062        arg2: *const *const ASN1_OBJECT,
10063    ) -> ::std::os::raw::c_int,
10064>;
10065pub type sk_ASN1_OBJECT_delete_if_func = ::std::option::Option<
10066    unsafe extern "C" fn(
10067        arg1: *mut ASN1_OBJECT,
10068        arg2: *mut ::std::os::raw::c_void,
10069    ) -> ::std::os::raw::c_int,
10070>;
10071extern "C" {
10072    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OBJECT_create"]
10073    pub fn ASN1_OBJECT_create(
10074        nid: ::std::os::raw::c_int,
10075        data: *const u8,
10076        len: usize,
10077        sn: *const ::std::os::raw::c_char,
10078        ln: *const ::std::os::raw::c_char,
10079    ) -> *mut ASN1_OBJECT;
10080}
10081extern "C" {
10082    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OBJECT_free"]
10083    pub fn ASN1_OBJECT_free(a: *mut ASN1_OBJECT);
10084}
10085extern "C" {
10086    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_OBJECT"]
10087    pub fn d2i_ASN1_OBJECT(
10088        out: *mut *mut ASN1_OBJECT,
10089        inp: *mut *const u8,
10090        len: ::std::os::raw::c_long,
10091    ) -> *mut ASN1_OBJECT;
10092}
10093extern "C" {
10094    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_OBJECT"]
10095    pub fn i2d_ASN1_OBJECT(in_: *const ASN1_OBJECT, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10096}
10097extern "C" {
10098    #[link_name = "\u{1}aws_lc_0_27_2_c2i_ASN1_OBJECT"]
10099    pub fn c2i_ASN1_OBJECT(
10100        out: *mut *mut ASN1_OBJECT,
10101        inp: *mut *const u8,
10102        len: ::std::os::raw::c_long,
10103    ) -> *mut ASN1_OBJECT;
10104}
10105extern "C" {
10106    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_OBJECT_it"]
10107    pub static ASN1_OBJECT_it: ASN1_ITEM;
10108}
10109#[repr(C)]
10110#[derive(Copy, Clone)]
10111pub struct asn1_type_st {
10112    pub type_: ::std::os::raw::c_int,
10113    pub value: asn1_type_st__bindgen_ty_1,
10114}
10115#[repr(C)]
10116#[derive(Copy, Clone)]
10117pub union asn1_type_st__bindgen_ty_1 {
10118    pub ptr: *mut ::std::os::raw::c_char,
10119    pub boolean: ASN1_BOOLEAN,
10120    pub asn1_string: *mut ASN1_STRING,
10121    pub object: *mut ASN1_OBJECT,
10122    pub integer: *mut ASN1_INTEGER,
10123    pub enumerated: *mut ASN1_ENUMERATED,
10124    pub bit_string: *mut ASN1_BIT_STRING,
10125    pub octet_string: *mut ASN1_OCTET_STRING,
10126    pub printablestring: *mut ASN1_PRINTABLESTRING,
10127    pub t61string: *mut ASN1_T61STRING,
10128    pub ia5string: *mut ASN1_IA5STRING,
10129    pub generalstring: *mut ASN1_GENERALSTRING,
10130    pub bmpstring: *mut ASN1_BMPSTRING,
10131    pub universalstring: *mut ASN1_UNIVERSALSTRING,
10132    pub utctime: *mut ASN1_UTCTIME,
10133    pub generalizedtime: *mut ASN1_GENERALIZEDTIME,
10134    pub visiblestring: *mut ASN1_VISIBLESTRING,
10135    pub utf8string: *mut ASN1_UTF8STRING,
10136    pub set: *mut ASN1_STRING,
10137    pub sequence: *mut ASN1_STRING,
10138    pub asn1_value: *mut ASN1_VALUE,
10139}
10140#[test]
10141fn bindgen_test_layout_asn1_type_st__bindgen_ty_1() {
10142    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st__bindgen_ty_1> =
10143        ::std::mem::MaybeUninit::uninit();
10144    let ptr = UNINIT.as_ptr();
10145    assert_eq!(
10146        ::std::mem::size_of::<asn1_type_st__bindgen_ty_1>(),
10147        8usize,
10148        concat!("Size of: ", stringify!(asn1_type_st__bindgen_ty_1))
10149    );
10150    assert_eq!(
10151        ::std::mem::align_of::<asn1_type_st__bindgen_ty_1>(),
10152        8usize,
10153        concat!("Alignment of ", stringify!(asn1_type_st__bindgen_ty_1))
10154    );
10155    assert_eq!(
10156        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
10157        0usize,
10158        concat!(
10159            "Offset of field: ",
10160            stringify!(asn1_type_st__bindgen_ty_1),
10161            "::",
10162            stringify!(ptr)
10163        )
10164    );
10165    assert_eq!(
10166        unsafe { ::std::ptr::addr_of!((*ptr).boolean) as usize - ptr as usize },
10167        0usize,
10168        concat!(
10169            "Offset of field: ",
10170            stringify!(asn1_type_st__bindgen_ty_1),
10171            "::",
10172            stringify!(boolean)
10173        )
10174    );
10175    assert_eq!(
10176        unsafe { ::std::ptr::addr_of!((*ptr).asn1_string) as usize - ptr as usize },
10177        0usize,
10178        concat!(
10179            "Offset of field: ",
10180            stringify!(asn1_type_st__bindgen_ty_1),
10181            "::",
10182            stringify!(asn1_string)
10183        )
10184    );
10185    assert_eq!(
10186        unsafe { ::std::ptr::addr_of!((*ptr).object) as usize - ptr as usize },
10187        0usize,
10188        concat!(
10189            "Offset of field: ",
10190            stringify!(asn1_type_st__bindgen_ty_1),
10191            "::",
10192            stringify!(object)
10193        )
10194    );
10195    assert_eq!(
10196        unsafe { ::std::ptr::addr_of!((*ptr).integer) as usize - ptr as usize },
10197        0usize,
10198        concat!(
10199            "Offset of field: ",
10200            stringify!(asn1_type_st__bindgen_ty_1),
10201            "::",
10202            stringify!(integer)
10203        )
10204    );
10205    assert_eq!(
10206        unsafe { ::std::ptr::addr_of!((*ptr).enumerated) as usize - ptr as usize },
10207        0usize,
10208        concat!(
10209            "Offset of field: ",
10210            stringify!(asn1_type_st__bindgen_ty_1),
10211            "::",
10212            stringify!(enumerated)
10213        )
10214    );
10215    assert_eq!(
10216        unsafe { ::std::ptr::addr_of!((*ptr).bit_string) as usize - ptr as usize },
10217        0usize,
10218        concat!(
10219            "Offset of field: ",
10220            stringify!(asn1_type_st__bindgen_ty_1),
10221            "::",
10222            stringify!(bit_string)
10223        )
10224    );
10225    assert_eq!(
10226        unsafe { ::std::ptr::addr_of!((*ptr).octet_string) as usize - ptr as usize },
10227        0usize,
10228        concat!(
10229            "Offset of field: ",
10230            stringify!(asn1_type_st__bindgen_ty_1),
10231            "::",
10232            stringify!(octet_string)
10233        )
10234    );
10235    assert_eq!(
10236        unsafe { ::std::ptr::addr_of!((*ptr).printablestring) as usize - ptr as usize },
10237        0usize,
10238        concat!(
10239            "Offset of field: ",
10240            stringify!(asn1_type_st__bindgen_ty_1),
10241            "::",
10242            stringify!(printablestring)
10243        )
10244    );
10245    assert_eq!(
10246        unsafe { ::std::ptr::addr_of!((*ptr).t61string) as usize - ptr as usize },
10247        0usize,
10248        concat!(
10249            "Offset of field: ",
10250            stringify!(asn1_type_st__bindgen_ty_1),
10251            "::",
10252            stringify!(t61string)
10253        )
10254    );
10255    assert_eq!(
10256        unsafe { ::std::ptr::addr_of!((*ptr).ia5string) as usize - ptr as usize },
10257        0usize,
10258        concat!(
10259            "Offset of field: ",
10260            stringify!(asn1_type_st__bindgen_ty_1),
10261            "::",
10262            stringify!(ia5string)
10263        )
10264    );
10265    assert_eq!(
10266        unsafe { ::std::ptr::addr_of!((*ptr).generalstring) as usize - ptr as usize },
10267        0usize,
10268        concat!(
10269            "Offset of field: ",
10270            stringify!(asn1_type_st__bindgen_ty_1),
10271            "::",
10272            stringify!(generalstring)
10273        )
10274    );
10275    assert_eq!(
10276        unsafe { ::std::ptr::addr_of!((*ptr).bmpstring) as usize - ptr as usize },
10277        0usize,
10278        concat!(
10279            "Offset of field: ",
10280            stringify!(asn1_type_st__bindgen_ty_1),
10281            "::",
10282            stringify!(bmpstring)
10283        )
10284    );
10285    assert_eq!(
10286        unsafe { ::std::ptr::addr_of!((*ptr).universalstring) as usize - ptr as usize },
10287        0usize,
10288        concat!(
10289            "Offset of field: ",
10290            stringify!(asn1_type_st__bindgen_ty_1),
10291            "::",
10292            stringify!(universalstring)
10293        )
10294    );
10295    assert_eq!(
10296        unsafe { ::std::ptr::addr_of!((*ptr).utctime) as usize - ptr as usize },
10297        0usize,
10298        concat!(
10299            "Offset of field: ",
10300            stringify!(asn1_type_st__bindgen_ty_1),
10301            "::",
10302            stringify!(utctime)
10303        )
10304    );
10305    assert_eq!(
10306        unsafe { ::std::ptr::addr_of!((*ptr).generalizedtime) as usize - ptr as usize },
10307        0usize,
10308        concat!(
10309            "Offset of field: ",
10310            stringify!(asn1_type_st__bindgen_ty_1),
10311            "::",
10312            stringify!(generalizedtime)
10313        )
10314    );
10315    assert_eq!(
10316        unsafe { ::std::ptr::addr_of!((*ptr).visiblestring) as usize - ptr as usize },
10317        0usize,
10318        concat!(
10319            "Offset of field: ",
10320            stringify!(asn1_type_st__bindgen_ty_1),
10321            "::",
10322            stringify!(visiblestring)
10323        )
10324    );
10325    assert_eq!(
10326        unsafe { ::std::ptr::addr_of!((*ptr).utf8string) as usize - ptr as usize },
10327        0usize,
10328        concat!(
10329            "Offset of field: ",
10330            stringify!(asn1_type_st__bindgen_ty_1),
10331            "::",
10332            stringify!(utf8string)
10333        )
10334    );
10335    assert_eq!(
10336        unsafe { ::std::ptr::addr_of!((*ptr).set) as usize - ptr as usize },
10337        0usize,
10338        concat!(
10339            "Offset of field: ",
10340            stringify!(asn1_type_st__bindgen_ty_1),
10341            "::",
10342            stringify!(set)
10343        )
10344    );
10345    assert_eq!(
10346        unsafe { ::std::ptr::addr_of!((*ptr).sequence) as usize - ptr as usize },
10347        0usize,
10348        concat!(
10349            "Offset of field: ",
10350            stringify!(asn1_type_st__bindgen_ty_1),
10351            "::",
10352            stringify!(sequence)
10353        )
10354    );
10355    assert_eq!(
10356        unsafe { ::std::ptr::addr_of!((*ptr).asn1_value) as usize - ptr as usize },
10357        0usize,
10358        concat!(
10359            "Offset of field: ",
10360            stringify!(asn1_type_st__bindgen_ty_1),
10361            "::",
10362            stringify!(asn1_value)
10363        )
10364    );
10365}
10366impl Default for asn1_type_st__bindgen_ty_1 {
10367    fn default() -> Self {
10368        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10369        unsafe {
10370            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10371            s.assume_init()
10372        }
10373    }
10374}
10375#[test]
10376fn bindgen_test_layout_asn1_type_st() {
10377    const UNINIT: ::std::mem::MaybeUninit<asn1_type_st> = ::std::mem::MaybeUninit::uninit();
10378    let ptr = UNINIT.as_ptr();
10379    assert_eq!(
10380        ::std::mem::size_of::<asn1_type_st>(),
10381        16usize,
10382        concat!("Size of: ", stringify!(asn1_type_st))
10383    );
10384    assert_eq!(
10385        ::std::mem::align_of::<asn1_type_st>(),
10386        8usize,
10387        concat!("Alignment of ", stringify!(asn1_type_st))
10388    );
10389    assert_eq!(
10390        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
10391        0usize,
10392        concat!(
10393            "Offset of field: ",
10394            stringify!(asn1_type_st),
10395            "::",
10396            stringify!(type_)
10397        )
10398    );
10399    assert_eq!(
10400        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10401        8usize,
10402        concat!(
10403            "Offset of field: ",
10404            stringify!(asn1_type_st),
10405            "::",
10406            stringify!(value)
10407        )
10408    );
10409}
10410impl Default for asn1_type_st {
10411    fn default() -> Self {
10412        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10413        unsafe {
10414            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10415            s.assume_init()
10416        }
10417    }
10418}
10419#[repr(C)]
10420#[derive(Debug, Copy, Clone)]
10421pub struct stack_st_ASN1_TYPE {
10422    _unused: [u8; 0],
10423}
10424pub type sk_ASN1_TYPE_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_TYPE)>;
10425pub type sk_ASN1_TYPE_copy_func =
10426    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_TYPE) -> *mut ASN1_TYPE>;
10427pub type sk_ASN1_TYPE_cmp_func = ::std::option::Option<
10428    unsafe extern "C" fn(
10429        arg1: *const *const ASN1_TYPE,
10430        arg2: *const *const ASN1_TYPE,
10431    ) -> ::std::os::raw::c_int,
10432>;
10433pub type sk_ASN1_TYPE_delete_if_func = ::std::option::Option<
10434    unsafe extern "C" fn(
10435        arg1: *mut ASN1_TYPE,
10436        arg2: *mut ::std::os::raw::c_void,
10437    ) -> ::std::os::raw::c_int,
10438>;
10439extern "C" {
10440    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_new"]
10441    pub fn ASN1_TYPE_new() -> *mut ASN1_TYPE;
10442}
10443extern "C" {
10444    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_free"]
10445    pub fn ASN1_TYPE_free(a: *mut ASN1_TYPE);
10446}
10447extern "C" {
10448    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_TYPE"]
10449    pub fn d2i_ASN1_TYPE(
10450        out: *mut *mut ASN1_TYPE,
10451        inp: *mut *const u8,
10452        len: ::std::os::raw::c_long,
10453    ) -> *mut ASN1_TYPE;
10454}
10455extern "C" {
10456    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_TYPE"]
10457    pub fn i2d_ASN1_TYPE(in_: *const ASN1_TYPE, outp: *mut *mut u8) -> ::std::os::raw::c_int;
10458}
10459extern "C" {
10460    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ANY_it"]
10461    pub static ASN1_ANY_it: ASN1_ITEM;
10462}
10463extern "C" {
10464    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_get"]
10465    pub fn ASN1_TYPE_get(a: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10466}
10467extern "C" {
10468    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_set"]
10469    pub fn ASN1_TYPE_set(
10470        a: *mut ASN1_TYPE,
10471        type_: ::std::os::raw::c_int,
10472        value: *mut ::std::os::raw::c_void,
10473    );
10474}
10475extern "C" {
10476    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_set1"]
10477    pub fn ASN1_TYPE_set1(
10478        a: *mut ASN1_TYPE,
10479        type_: ::std::os::raw::c_int,
10480        value: *const ::std::os::raw::c_void,
10481    ) -> ::std::os::raw::c_int;
10482}
10483extern "C" {
10484    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TYPE_cmp"]
10485    pub fn ASN1_TYPE_cmp(a: *const ASN1_TYPE, b: *const ASN1_TYPE) -> ::std::os::raw::c_int;
10486}
10487pub type ASN1_SEQUENCE_ANY = stack_st_ASN1_TYPE;
10488extern "C" {
10489    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_SEQUENCE_ANY"]
10490    pub fn d2i_ASN1_SEQUENCE_ANY(
10491        out: *mut *mut ASN1_SEQUENCE_ANY,
10492        inp: *mut *const u8,
10493        len: ::std::os::raw::c_long,
10494    ) -> *mut ASN1_SEQUENCE_ANY;
10495}
10496extern "C" {
10497    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_SEQUENCE_ANY"]
10498    pub fn i2d_ASN1_SEQUENCE_ANY(
10499        in_: *const ASN1_SEQUENCE_ANY,
10500        outp: *mut *mut u8,
10501    ) -> ::std::os::raw::c_int;
10502}
10503extern "C" {
10504    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_SET_ANY"]
10505    pub fn d2i_ASN1_SET_ANY(
10506        out: *mut *mut ASN1_SEQUENCE_ANY,
10507        inp: *mut *const u8,
10508        len: ::std::os::raw::c_long,
10509    ) -> *mut ASN1_SEQUENCE_ANY;
10510}
10511extern "C" {
10512    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_SET_ANY"]
10513    pub fn i2d_ASN1_SET_ANY(
10514        in_: *const ASN1_SEQUENCE_ANY,
10515        outp: *mut *mut u8,
10516    ) -> ::std::os::raw::c_int;
10517}
10518extern "C" {
10519    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_UTCTIME_print"]
10520    pub fn ASN1_UTCTIME_print(out: *mut BIO, a: *const ASN1_UTCTIME) -> ::std::os::raw::c_int;
10521}
10522extern "C" {
10523    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_GENERALIZEDTIME_print"]
10524    pub fn ASN1_GENERALIZEDTIME_print(
10525        out: *mut BIO,
10526        a: *const ASN1_GENERALIZEDTIME,
10527    ) -> ::std::os::raw::c_int;
10528}
10529extern "C" {
10530    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_TIME_print"]
10531    pub fn ASN1_TIME_print(out: *mut BIO, a: *const ASN1_TIME) -> ::std::os::raw::c_int;
10532}
10533extern "C" {
10534    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_print"]
10535    pub fn ASN1_STRING_print(out: *mut BIO, str_: *const ASN1_STRING) -> ::std::os::raw::c_int;
10536}
10537extern "C" {
10538    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_print_ex"]
10539    pub fn ASN1_STRING_print_ex(
10540        out: *mut BIO,
10541        str_: *const ASN1_STRING,
10542        flags: ::std::os::raw::c_ulong,
10543    ) -> ::std::os::raw::c_int;
10544}
10545extern "C" {
10546    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_print_ex_fp"]
10547    pub fn ASN1_STRING_print_ex_fp(
10548        fp: *mut FILE,
10549        str_: *const ASN1_STRING,
10550        flags: ::std::os::raw::c_ulong,
10551    ) -> ::std::os::raw::c_int;
10552}
10553extern "C" {
10554    #[link_name = "\u{1}aws_lc_0_27_2_i2a_ASN1_INTEGER"]
10555    pub fn i2a_ASN1_INTEGER(bp: *mut BIO, a: *const ASN1_INTEGER) -> ::std::os::raw::c_int;
10556}
10557extern "C" {
10558    #[link_name = "\u{1}aws_lc_0_27_2_i2a_ASN1_ENUMERATED"]
10559    pub fn i2a_ASN1_ENUMERATED(bp: *mut BIO, a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_int;
10560}
10561extern "C" {
10562    #[link_name = "\u{1}aws_lc_0_27_2_i2a_ASN1_OBJECT"]
10563    pub fn i2a_ASN1_OBJECT(bp: *mut BIO, a: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
10564}
10565extern "C" {
10566    #[link_name = "\u{1}aws_lc_0_27_2_i2a_ASN1_STRING"]
10567    pub fn i2a_ASN1_STRING(
10568        bp: *mut BIO,
10569        a: *const ASN1_STRING,
10570        type_: ::std::os::raw::c_int,
10571    ) -> ::std::os::raw::c_int;
10572}
10573extern "C" {
10574    #[link_name = "\u{1}aws_lc_0_27_2_i2t_ASN1_OBJECT"]
10575    pub fn i2t_ASN1_OBJECT(
10576        buf: *mut ::std::os::raw::c_char,
10577        buf_len: ::std::os::raw::c_int,
10578        a: *const ASN1_OBJECT,
10579    ) -> ::std::os::raw::c_int;
10580}
10581extern "C" {
10582    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_get_object"]
10583    pub fn ASN1_get_object(
10584        inp: *mut *const ::std::os::raw::c_uchar,
10585        out_length: *mut ::std::os::raw::c_long,
10586        out_tag: *mut ::std::os::raw::c_int,
10587        out_class: *mut ::std::os::raw::c_int,
10588        max_len: ::std::os::raw::c_long,
10589    ) -> ::std::os::raw::c_int;
10590}
10591extern "C" {
10592    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_put_object"]
10593    pub fn ASN1_put_object(
10594        outp: *mut *mut ::std::os::raw::c_uchar,
10595        constructed: ::std::os::raw::c_int,
10596        length: ::std::os::raw::c_int,
10597        tag: ::std::os::raw::c_int,
10598        xclass: ::std::os::raw::c_int,
10599    );
10600}
10601extern "C" {
10602    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_put_eoc"]
10603    pub fn ASN1_put_eoc(outp: *mut *mut ::std::os::raw::c_uchar) -> ::std::os::raw::c_int;
10604}
10605extern "C" {
10606    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_object_size"]
10607    pub fn ASN1_object_size(
10608        constructed: ::std::os::raw::c_int,
10609        length: ::std::os::raw::c_int,
10610        tag: ::std::os::raw::c_int,
10611    ) -> ::std::os::raw::c_int;
10612}
10613extern "C" {
10614    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLE_new"]
10615    pub fn ASN1_PRINTABLE_new() -> *mut ASN1_STRING;
10616}
10617extern "C" {
10618    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLE_free"]
10619    pub fn ASN1_PRINTABLE_free(str_: *mut ASN1_STRING);
10620}
10621extern "C" {
10622    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ASN1_PRINTABLE"]
10623    pub fn d2i_ASN1_PRINTABLE(
10624        out: *mut *mut ASN1_STRING,
10625        inp: *mut *const u8,
10626        len: ::std::os::raw::c_long,
10627    ) -> *mut ASN1_STRING;
10628}
10629extern "C" {
10630    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ASN1_PRINTABLE"]
10631    pub fn i2d_ASN1_PRINTABLE(in_: *const ASN1_STRING, outp: *mut *mut u8)
10632        -> ::std::os::raw::c_int;
10633}
10634extern "C" {
10635    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_PRINTABLE_it"]
10636    pub static ASN1_PRINTABLE_it: ASN1_ITEM;
10637}
10638extern "C" {
10639    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_set"]
10640    pub fn ASN1_INTEGER_set(
10641        a: *mut ASN1_INTEGER,
10642        v: ::std::os::raw::c_long,
10643    ) -> ::std::os::raw::c_int;
10644}
10645extern "C" {
10646    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_set"]
10647    pub fn ASN1_ENUMERATED_set(
10648        a: *mut ASN1_ENUMERATED,
10649        v: ::std::os::raw::c_long,
10650    ) -> ::std::os::raw::c_int;
10651}
10652extern "C" {
10653    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_INTEGER_get"]
10654    pub fn ASN1_INTEGER_get(a: *const ASN1_INTEGER) -> ::std::os::raw::c_long;
10655}
10656extern "C" {
10657    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_ENUMERATED_get"]
10658    pub fn ASN1_ENUMERATED_get(a: *const ASN1_ENUMERATED) -> ::std::os::raw::c_long;
10659}
10660extern "C" {
10661    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_set_default_mask"]
10662    pub fn ASN1_STRING_set_default_mask(mask: ::std::os::raw::c_ulong);
10663}
10664extern "C" {
10665    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_set_default_mask_asc"]
10666    pub fn ASN1_STRING_set_default_mask_asc(
10667        p: *const ::std::os::raw::c_char,
10668    ) -> ::std::os::raw::c_int;
10669}
10670extern "C" {
10671    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_get_default_mask"]
10672    pub fn ASN1_STRING_get_default_mask() -> ::std::os::raw::c_ulong;
10673}
10674extern "C" {
10675    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_STRING_TABLE_cleanup"]
10676    pub fn ASN1_STRING_TABLE_cleanup();
10677}
10678pub type ASN1_TEMPLATE = ASN1_TEMPLATE_st;
10679#[repr(C)]
10680#[derive(Debug, Copy, Clone)]
10681pub struct ASN1_TLC_st {
10682    _unused: [u8; 0],
10683}
10684pub type ASN1_TLC = ASN1_TLC_st;
10685#[repr(C)]
10686#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10687pub struct ASN1_TEMPLATE_st {
10688    pub flags: u32,
10689    pub tag: ::std::os::raw::c_int,
10690    pub offset: ::std::os::raw::c_ulong,
10691    pub field_name: *const ::std::os::raw::c_char,
10692    pub item: *const ASN1_ITEM_st,
10693}
10694#[test]
10695fn bindgen_test_layout_ASN1_TEMPLATE_st() {
10696    const UNINIT: ::std::mem::MaybeUninit<ASN1_TEMPLATE_st> = ::std::mem::MaybeUninit::uninit();
10697    let ptr = UNINIT.as_ptr();
10698    assert_eq!(
10699        ::std::mem::size_of::<ASN1_TEMPLATE_st>(),
10700        32usize,
10701        concat!("Size of: ", stringify!(ASN1_TEMPLATE_st))
10702    );
10703    assert_eq!(
10704        ::std::mem::align_of::<ASN1_TEMPLATE_st>(),
10705        8usize,
10706        concat!("Alignment of ", stringify!(ASN1_TEMPLATE_st))
10707    );
10708    assert_eq!(
10709        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10710        0usize,
10711        concat!(
10712            "Offset of field: ",
10713            stringify!(ASN1_TEMPLATE_st),
10714            "::",
10715            stringify!(flags)
10716        )
10717    );
10718    assert_eq!(
10719        unsafe { ::std::ptr::addr_of!((*ptr).tag) as usize - ptr as usize },
10720        4usize,
10721        concat!(
10722            "Offset of field: ",
10723            stringify!(ASN1_TEMPLATE_st),
10724            "::",
10725            stringify!(tag)
10726        )
10727    );
10728    assert_eq!(
10729        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10730        8usize,
10731        concat!(
10732            "Offset of field: ",
10733            stringify!(ASN1_TEMPLATE_st),
10734            "::",
10735            stringify!(offset)
10736        )
10737    );
10738    assert_eq!(
10739        unsafe { ::std::ptr::addr_of!((*ptr).field_name) as usize - ptr as usize },
10740        16usize,
10741        concat!(
10742            "Offset of field: ",
10743            stringify!(ASN1_TEMPLATE_st),
10744            "::",
10745            stringify!(field_name)
10746        )
10747    );
10748    assert_eq!(
10749        unsafe { ::std::ptr::addr_of!((*ptr).item) as usize - ptr as usize },
10750        24usize,
10751        concat!(
10752            "Offset of field: ",
10753            stringify!(ASN1_TEMPLATE_st),
10754            "::",
10755            stringify!(item)
10756        )
10757    );
10758}
10759impl Default for ASN1_TEMPLATE_st {
10760    fn default() -> Self {
10761        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10762        unsafe {
10763            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10764            s.assume_init()
10765        }
10766    }
10767}
10768pub type ASN1_ADB_TABLE = ASN1_ADB_TABLE_st;
10769pub type ASN1_ADB = ASN1_ADB_st;
10770#[repr(C)]
10771#[derive(Debug, Copy, Clone)]
10772pub struct asn1_must_be_null_st {
10773    _unused: [u8; 0],
10774}
10775pub type ASN1_MUST_BE_NULL = asn1_must_be_null_st;
10776#[repr(C)]
10777#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10778pub struct ASN1_ADB_st {
10779    pub flags: u32,
10780    pub offset: ::std::os::raw::c_ulong,
10781    pub unused: *mut ASN1_MUST_BE_NULL,
10782    pub tbl: *const ASN1_ADB_TABLE,
10783    pub tblcount: ::std::os::raw::c_long,
10784    pub default_tt: *const ASN1_TEMPLATE,
10785    pub null_tt: *const ASN1_TEMPLATE,
10786}
10787#[test]
10788fn bindgen_test_layout_ASN1_ADB_st() {
10789    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_st> = ::std::mem::MaybeUninit::uninit();
10790    let ptr = UNINIT.as_ptr();
10791    assert_eq!(
10792        ::std::mem::size_of::<ASN1_ADB_st>(),
10793        56usize,
10794        concat!("Size of: ", stringify!(ASN1_ADB_st))
10795    );
10796    assert_eq!(
10797        ::std::mem::align_of::<ASN1_ADB_st>(),
10798        8usize,
10799        concat!("Alignment of ", stringify!(ASN1_ADB_st))
10800    );
10801    assert_eq!(
10802        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
10803        0usize,
10804        concat!(
10805            "Offset of field: ",
10806            stringify!(ASN1_ADB_st),
10807            "::",
10808            stringify!(flags)
10809        )
10810    );
10811    assert_eq!(
10812        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
10813        8usize,
10814        concat!(
10815            "Offset of field: ",
10816            stringify!(ASN1_ADB_st),
10817            "::",
10818            stringify!(offset)
10819        )
10820    );
10821    assert_eq!(
10822        unsafe { ::std::ptr::addr_of!((*ptr).unused) as usize - ptr as usize },
10823        16usize,
10824        concat!(
10825            "Offset of field: ",
10826            stringify!(ASN1_ADB_st),
10827            "::",
10828            stringify!(unused)
10829        )
10830    );
10831    assert_eq!(
10832        unsafe { ::std::ptr::addr_of!((*ptr).tbl) as usize - ptr as usize },
10833        24usize,
10834        concat!(
10835            "Offset of field: ",
10836            stringify!(ASN1_ADB_st),
10837            "::",
10838            stringify!(tbl)
10839        )
10840    );
10841    assert_eq!(
10842        unsafe { ::std::ptr::addr_of!((*ptr).tblcount) as usize - ptr as usize },
10843        32usize,
10844        concat!(
10845            "Offset of field: ",
10846            stringify!(ASN1_ADB_st),
10847            "::",
10848            stringify!(tblcount)
10849        )
10850    );
10851    assert_eq!(
10852        unsafe { ::std::ptr::addr_of!((*ptr).default_tt) as usize - ptr as usize },
10853        40usize,
10854        concat!(
10855            "Offset of field: ",
10856            stringify!(ASN1_ADB_st),
10857            "::",
10858            stringify!(default_tt)
10859        )
10860    );
10861    assert_eq!(
10862        unsafe { ::std::ptr::addr_of!((*ptr).null_tt) as usize - ptr as usize },
10863        48usize,
10864        concat!(
10865            "Offset of field: ",
10866            stringify!(ASN1_ADB_st),
10867            "::",
10868            stringify!(null_tt)
10869        )
10870    );
10871}
10872impl Default for ASN1_ADB_st {
10873    fn default() -> Self {
10874        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10875        unsafe {
10876            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10877            s.assume_init()
10878        }
10879    }
10880}
10881#[repr(C)]
10882#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10883pub struct ASN1_ADB_TABLE_st {
10884    pub value: ::std::os::raw::c_int,
10885    pub tt: ASN1_TEMPLATE,
10886}
10887#[test]
10888fn bindgen_test_layout_ASN1_ADB_TABLE_st() {
10889    const UNINIT: ::std::mem::MaybeUninit<ASN1_ADB_TABLE_st> = ::std::mem::MaybeUninit::uninit();
10890    let ptr = UNINIT.as_ptr();
10891    assert_eq!(
10892        ::std::mem::size_of::<ASN1_ADB_TABLE_st>(),
10893        40usize,
10894        concat!("Size of: ", stringify!(ASN1_ADB_TABLE_st))
10895    );
10896    assert_eq!(
10897        ::std::mem::align_of::<ASN1_ADB_TABLE_st>(),
10898        8usize,
10899        concat!("Alignment of ", stringify!(ASN1_ADB_TABLE_st))
10900    );
10901    assert_eq!(
10902        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
10903        0usize,
10904        concat!(
10905            "Offset of field: ",
10906            stringify!(ASN1_ADB_TABLE_st),
10907            "::",
10908            stringify!(value)
10909        )
10910    );
10911    assert_eq!(
10912        unsafe { ::std::ptr::addr_of!((*ptr).tt) as usize - ptr as usize },
10913        8usize,
10914        concat!(
10915            "Offset of field: ",
10916            stringify!(ASN1_ADB_TABLE_st),
10917            "::",
10918            stringify!(tt)
10919        )
10920    );
10921}
10922impl Default for ASN1_ADB_TABLE_st {
10923    fn default() -> Self {
10924        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
10925        unsafe {
10926            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
10927            s.assume_init()
10928        }
10929    }
10930}
10931#[repr(C)]
10932#[derive(Debug, Copy, Clone, PartialEq, Eq)]
10933pub struct ASN1_ITEM_st {
10934    pub itype: ::std::os::raw::c_char,
10935    pub utype: ::std::os::raw::c_int,
10936    pub templates: *const ASN1_TEMPLATE,
10937    pub tcount: ::std::os::raw::c_long,
10938    pub funcs: *const ::std::os::raw::c_void,
10939    pub size: ::std::os::raw::c_long,
10940    pub sname: *const ::std::os::raw::c_char,
10941}
10942#[test]
10943fn bindgen_test_layout_ASN1_ITEM_st() {
10944    const UNINIT: ::std::mem::MaybeUninit<ASN1_ITEM_st> = ::std::mem::MaybeUninit::uninit();
10945    let ptr = UNINIT.as_ptr();
10946    assert_eq!(
10947        ::std::mem::size_of::<ASN1_ITEM_st>(),
10948        48usize,
10949        concat!("Size of: ", stringify!(ASN1_ITEM_st))
10950    );
10951    assert_eq!(
10952        ::std::mem::align_of::<ASN1_ITEM_st>(),
10953        8usize,
10954        concat!("Alignment of ", stringify!(ASN1_ITEM_st))
10955    );
10956    assert_eq!(
10957        unsafe { ::std::ptr::addr_of!((*ptr).itype) as usize - ptr as usize },
10958        0usize,
10959        concat!(
10960            "Offset of field: ",
10961            stringify!(ASN1_ITEM_st),
10962            "::",
10963            stringify!(itype)
10964        )
10965    );
10966    assert_eq!(
10967        unsafe { ::std::ptr::addr_of!((*ptr).utype) as usize - ptr as usize },
10968        4usize,
10969        concat!(
10970            "Offset of field: ",
10971            stringify!(ASN1_ITEM_st),
10972            "::",
10973            stringify!(utype)
10974        )
10975    );
10976    assert_eq!(
10977        unsafe { ::std::ptr::addr_of!((*ptr).templates) as usize - ptr as usize },
10978        8usize,
10979        concat!(
10980            "Offset of field: ",
10981            stringify!(ASN1_ITEM_st),
10982            "::",
10983            stringify!(templates)
10984        )
10985    );
10986    assert_eq!(
10987        unsafe { ::std::ptr::addr_of!((*ptr).tcount) as usize - ptr as usize },
10988        16usize,
10989        concat!(
10990            "Offset of field: ",
10991            stringify!(ASN1_ITEM_st),
10992            "::",
10993            stringify!(tcount)
10994        )
10995    );
10996    assert_eq!(
10997        unsafe { ::std::ptr::addr_of!((*ptr).funcs) as usize - ptr as usize },
10998        24usize,
10999        concat!(
11000            "Offset of field: ",
11001            stringify!(ASN1_ITEM_st),
11002            "::",
11003            stringify!(funcs)
11004        )
11005    );
11006    assert_eq!(
11007        unsafe { ::std::ptr::addr_of!((*ptr).size) as usize - ptr as usize },
11008        32usize,
11009        concat!(
11010            "Offset of field: ",
11011            stringify!(ASN1_ITEM_st),
11012            "::",
11013            stringify!(size)
11014        )
11015    );
11016    assert_eq!(
11017        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
11018        40usize,
11019        concat!(
11020            "Offset of field: ",
11021            stringify!(ASN1_ITEM_st),
11022            "::",
11023            stringify!(sname)
11024        )
11025    );
11026}
11027impl Default for ASN1_ITEM_st {
11028    fn default() -> Self {
11029        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11030        unsafe {
11031            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11032            s.assume_init()
11033        }
11034    }
11035}
11036pub type ASN1_new_func = ::std::option::Option<unsafe extern "C" fn() -> *mut ASN1_VALUE>;
11037pub type ASN1_free_func = ::std::option::Option<unsafe extern "C" fn(a: *mut ASN1_VALUE)>;
11038pub type ASN1_d2i_func = ::std::option::Option<
11039    unsafe extern "C" fn(
11040        a: *mut *mut ASN1_VALUE,
11041        in_: *mut *const ::std::os::raw::c_uchar,
11042        length: ::std::os::raw::c_long,
11043    ) -> *mut ASN1_VALUE,
11044>;
11045pub type ASN1_i2d_func = ::std::option::Option<
11046    unsafe extern "C" fn(
11047        a: *mut ASN1_VALUE,
11048        in_: *mut *mut ::std::os::raw::c_uchar,
11049    ) -> ::std::os::raw::c_int,
11050>;
11051pub type ASN1_ex_d2i = ::std::option::Option<
11052    unsafe extern "C" fn(
11053        pval: *mut *mut ASN1_VALUE,
11054        in_: *mut *const ::std::os::raw::c_uchar,
11055        len: ::std::os::raw::c_long,
11056        it: *const ASN1_ITEM,
11057        tag: ::std::os::raw::c_int,
11058        aclass: ::std::os::raw::c_int,
11059        opt: ::std::os::raw::c_char,
11060        ctx: *mut ASN1_TLC,
11061    ) -> ::std::os::raw::c_int,
11062>;
11063pub type ASN1_ex_i2d = ::std::option::Option<
11064    unsafe extern "C" fn(
11065        pval: *mut *mut ASN1_VALUE,
11066        out: *mut *mut ::std::os::raw::c_uchar,
11067        it: *const ASN1_ITEM,
11068        tag: ::std::os::raw::c_int,
11069        aclass: ::std::os::raw::c_int,
11070    ) -> ::std::os::raw::c_int,
11071>;
11072pub type ASN1_ex_new_func = ::std::option::Option<
11073    unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM) -> ::std::os::raw::c_int,
11074>;
11075pub type ASN1_ex_free_func =
11076    ::std::option::Option<unsafe extern "C" fn(pval: *mut *mut ASN1_VALUE, it: *const ASN1_ITEM)>;
11077pub type ASN1_ex_print_func = ::std::option::Option<
11078    unsafe extern "C" fn(
11079        out: *mut BIO,
11080        pval: *mut *mut ASN1_VALUE,
11081        indent: ::std::os::raw::c_int,
11082        fname: *const ::std::os::raw::c_char,
11083        pctx: *const ASN1_PCTX,
11084    ) -> ::std::os::raw::c_int,
11085>;
11086#[repr(C)]
11087#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11088pub struct ASN1_EXTERN_FUNCS_st {
11089    pub app_data: *mut ::std::os::raw::c_void,
11090    pub asn1_ex_new: ASN1_ex_new_func,
11091    pub asn1_ex_free: ASN1_ex_free_func,
11092    pub asn1_ex_d2i: ASN1_ex_d2i,
11093    pub asn1_ex_i2d: ASN1_ex_i2d,
11094    pub asn1_ex_print: ASN1_ex_print_func,
11095}
11096#[test]
11097fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st() {
11098    const UNINIT: ::std::mem::MaybeUninit<ASN1_EXTERN_FUNCS_st> = ::std::mem::MaybeUninit::uninit();
11099    let ptr = UNINIT.as_ptr();
11100    assert_eq!(
11101        ::std::mem::size_of::<ASN1_EXTERN_FUNCS_st>(),
11102        48usize,
11103        concat!("Size of: ", stringify!(ASN1_EXTERN_FUNCS_st))
11104    );
11105    assert_eq!(
11106        ::std::mem::align_of::<ASN1_EXTERN_FUNCS_st>(),
11107        8usize,
11108        concat!("Alignment of ", stringify!(ASN1_EXTERN_FUNCS_st))
11109    );
11110    assert_eq!(
11111        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11112        0usize,
11113        concat!(
11114            "Offset of field: ",
11115            stringify!(ASN1_EXTERN_FUNCS_st),
11116            "::",
11117            stringify!(app_data)
11118        )
11119    );
11120    assert_eq!(
11121        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_new) as usize - ptr as usize },
11122        8usize,
11123        concat!(
11124            "Offset of field: ",
11125            stringify!(ASN1_EXTERN_FUNCS_st),
11126            "::",
11127            stringify!(asn1_ex_new)
11128        )
11129    );
11130    assert_eq!(
11131        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_free) as usize - ptr as usize },
11132        16usize,
11133        concat!(
11134            "Offset of field: ",
11135            stringify!(ASN1_EXTERN_FUNCS_st),
11136            "::",
11137            stringify!(asn1_ex_free)
11138        )
11139    );
11140    assert_eq!(
11141        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_d2i) as usize - ptr as usize },
11142        24usize,
11143        concat!(
11144            "Offset of field: ",
11145            stringify!(ASN1_EXTERN_FUNCS_st),
11146            "::",
11147            stringify!(asn1_ex_d2i)
11148        )
11149    );
11150    assert_eq!(
11151        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_i2d) as usize - ptr as usize },
11152        32usize,
11153        concat!(
11154            "Offset of field: ",
11155            stringify!(ASN1_EXTERN_FUNCS_st),
11156            "::",
11157            stringify!(asn1_ex_i2d)
11158        )
11159    );
11160    assert_eq!(
11161        unsafe { ::std::ptr::addr_of!((*ptr).asn1_ex_print) as usize - ptr as usize },
11162        40usize,
11163        concat!(
11164            "Offset of field: ",
11165            stringify!(ASN1_EXTERN_FUNCS_st),
11166            "::",
11167            stringify!(asn1_ex_print)
11168        )
11169    );
11170}
11171impl Default for ASN1_EXTERN_FUNCS_st {
11172    fn default() -> Self {
11173        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11174        unsafe {
11175            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11176            s.assume_init()
11177        }
11178    }
11179}
11180pub type ASN1_EXTERN_FUNCS = ASN1_EXTERN_FUNCS_st;
11181pub type ASN1_aux_cb = ::std::option::Option<
11182    unsafe extern "C" fn(
11183        operation: ::std::os::raw::c_int,
11184        in_: *mut *mut ASN1_VALUE,
11185        it: *const ASN1_ITEM,
11186        exarg: *mut ::std::os::raw::c_void,
11187    ) -> ::std::os::raw::c_int,
11188>;
11189#[repr(C)]
11190#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11191pub struct ASN1_AUX_st {
11192    pub app_data: *mut ::std::os::raw::c_void,
11193    pub flags: u32,
11194    pub ref_offset: ::std::os::raw::c_int,
11195    pub asn1_cb: ASN1_aux_cb,
11196    pub enc_offset: ::std::os::raw::c_int,
11197}
11198#[test]
11199fn bindgen_test_layout_ASN1_AUX_st() {
11200    const UNINIT: ::std::mem::MaybeUninit<ASN1_AUX_st> = ::std::mem::MaybeUninit::uninit();
11201    let ptr = UNINIT.as_ptr();
11202    assert_eq!(
11203        ::std::mem::size_of::<ASN1_AUX_st>(),
11204        32usize,
11205        concat!("Size of: ", stringify!(ASN1_AUX_st))
11206    );
11207    assert_eq!(
11208        ::std::mem::align_of::<ASN1_AUX_st>(),
11209        8usize,
11210        concat!("Alignment of ", stringify!(ASN1_AUX_st))
11211    );
11212    assert_eq!(
11213        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
11214        0usize,
11215        concat!(
11216            "Offset of field: ",
11217            stringify!(ASN1_AUX_st),
11218            "::",
11219            stringify!(app_data)
11220        )
11221    );
11222    assert_eq!(
11223        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
11224        8usize,
11225        concat!(
11226            "Offset of field: ",
11227            stringify!(ASN1_AUX_st),
11228            "::",
11229            stringify!(flags)
11230        )
11231    );
11232    assert_eq!(
11233        unsafe { ::std::ptr::addr_of!((*ptr).ref_offset) as usize - ptr as usize },
11234        12usize,
11235        concat!(
11236            "Offset of field: ",
11237            stringify!(ASN1_AUX_st),
11238            "::",
11239            stringify!(ref_offset)
11240        )
11241    );
11242    assert_eq!(
11243        unsafe { ::std::ptr::addr_of!((*ptr).asn1_cb) as usize - ptr as usize },
11244        16usize,
11245        concat!(
11246            "Offset of field: ",
11247            stringify!(ASN1_AUX_st),
11248            "::",
11249            stringify!(asn1_cb)
11250        )
11251    );
11252    assert_eq!(
11253        unsafe { ::std::ptr::addr_of!((*ptr).enc_offset) as usize - ptr as usize },
11254        24usize,
11255        concat!(
11256            "Offset of field: ",
11257            stringify!(ASN1_AUX_st),
11258            "::",
11259            stringify!(enc_offset)
11260        )
11261    );
11262}
11263impl Default for ASN1_AUX_st {
11264    fn default() -> Self {
11265        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11266        unsafe {
11267            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11268            s.assume_init()
11269        }
11270    }
11271}
11272pub type ASN1_AUX = ASN1_AUX_st;
11273extern "C" {
11274    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_SEQUENCE_it"]
11275    pub static ASN1_SEQUENCE_it: ASN1_ITEM;
11276}
11277#[repr(C)]
11278#[derive(Debug, Copy, Clone)]
11279pub struct stack_st_ASN1_VALUE {
11280    _unused: [u8; 0],
11281}
11282pub type sk_ASN1_VALUE_free_func =
11283    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ASN1_VALUE)>;
11284pub type sk_ASN1_VALUE_copy_func =
11285    ::std::option::Option<unsafe extern "C" fn(arg1: *const ASN1_VALUE) -> *mut ASN1_VALUE>;
11286pub type sk_ASN1_VALUE_cmp_func = ::std::option::Option<
11287    unsafe extern "C" fn(
11288        arg1: *const *const ASN1_VALUE,
11289        arg2: *const *const ASN1_VALUE,
11290    ) -> ::std::os::raw::c_int,
11291>;
11292pub type sk_ASN1_VALUE_delete_if_func = ::std::option::Option<
11293    unsafe extern "C" fn(
11294        arg1: *mut ASN1_VALUE,
11295        arg2: *mut ::std::os::raw::c_void,
11296    ) -> ::std::os::raw::c_int,
11297>;
11298extern "C" {
11299    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncodeBlock"]
11300    pub fn EVP_EncodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> usize;
11301}
11302extern "C" {
11303    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncodedLength"]
11304    pub fn EVP_EncodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11305}
11306extern "C" {
11307    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodedLength"]
11308    pub fn EVP_DecodedLength(out_len: *mut usize, len: usize) -> ::std::os::raw::c_int;
11309}
11310extern "C" {
11311    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodeBase64"]
11312    pub fn EVP_DecodeBase64(
11313        out: *mut u8,
11314        out_len: *mut usize,
11315        max_out: usize,
11316        in_: *const u8,
11317        in_len: usize,
11318    ) -> ::std::os::raw::c_int;
11319}
11320extern "C" {
11321    #[link_name = "\u{1}aws_lc_0_27_2_EVP_ENCODE_CTX_new"]
11322    pub fn EVP_ENCODE_CTX_new() -> *mut EVP_ENCODE_CTX;
11323}
11324extern "C" {
11325    #[link_name = "\u{1}aws_lc_0_27_2_EVP_ENCODE_CTX_free"]
11326    pub fn EVP_ENCODE_CTX_free(ctx: *mut EVP_ENCODE_CTX);
11327}
11328extern "C" {
11329    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncodeInit"]
11330    pub fn EVP_EncodeInit(ctx: *mut EVP_ENCODE_CTX);
11331}
11332extern "C" {
11333    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncodeUpdate"]
11334    pub fn EVP_EncodeUpdate(
11335        ctx: *mut EVP_ENCODE_CTX,
11336        out: *mut u8,
11337        out_len: *mut ::std::os::raw::c_int,
11338        in_: *const u8,
11339        in_len: usize,
11340    ) -> ::std::os::raw::c_int;
11341}
11342extern "C" {
11343    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncodeFinal"]
11344    pub fn EVP_EncodeFinal(
11345        ctx: *mut EVP_ENCODE_CTX,
11346        out: *mut u8,
11347        out_len: *mut ::std::os::raw::c_int,
11348    );
11349}
11350extern "C" {
11351    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodeInit"]
11352    pub fn EVP_DecodeInit(ctx: *mut EVP_ENCODE_CTX);
11353}
11354extern "C" {
11355    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodeUpdate"]
11356    pub fn EVP_DecodeUpdate(
11357        ctx: *mut EVP_ENCODE_CTX,
11358        out: *mut u8,
11359        out_len: *mut ::std::os::raw::c_int,
11360        in_: *const u8,
11361        in_len: usize,
11362    ) -> ::std::os::raw::c_int;
11363}
11364extern "C" {
11365    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodeFinal"]
11366    pub fn EVP_DecodeFinal(
11367        ctx: *mut EVP_ENCODE_CTX,
11368        out: *mut u8,
11369        out_len: *mut ::std::os::raw::c_int,
11370    ) -> ::std::os::raw::c_int;
11371}
11372extern "C" {
11373    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecodeBlock"]
11374    pub fn EVP_DecodeBlock(dst: *mut u8, src: *const u8, src_len: usize) -> ::std::os::raw::c_int;
11375}
11376#[repr(C)]
11377#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11378pub struct evp_encode_ctx_st {
11379    pub data_used: ::std::os::raw::c_uint,
11380    pub data: [u8; 48usize],
11381    pub eof_seen: ::std::os::raw::c_char,
11382    pub error_encountered: ::std::os::raw::c_char,
11383}
11384#[test]
11385fn bindgen_test_layout_evp_encode_ctx_st() {
11386    const UNINIT: ::std::mem::MaybeUninit<evp_encode_ctx_st> = ::std::mem::MaybeUninit::uninit();
11387    let ptr = UNINIT.as_ptr();
11388    assert_eq!(
11389        ::std::mem::size_of::<evp_encode_ctx_st>(),
11390        56usize,
11391        concat!("Size of: ", stringify!(evp_encode_ctx_st))
11392    );
11393    assert_eq!(
11394        ::std::mem::align_of::<evp_encode_ctx_st>(),
11395        4usize,
11396        concat!("Alignment of ", stringify!(evp_encode_ctx_st))
11397    );
11398    assert_eq!(
11399        unsafe { ::std::ptr::addr_of!((*ptr).data_used) as usize - ptr as usize },
11400        0usize,
11401        concat!(
11402            "Offset of field: ",
11403            stringify!(evp_encode_ctx_st),
11404            "::",
11405            stringify!(data_used)
11406        )
11407    );
11408    assert_eq!(
11409        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11410        4usize,
11411        concat!(
11412            "Offset of field: ",
11413            stringify!(evp_encode_ctx_st),
11414            "::",
11415            stringify!(data)
11416        )
11417    );
11418    assert_eq!(
11419        unsafe { ::std::ptr::addr_of!((*ptr).eof_seen) as usize - ptr as usize },
11420        52usize,
11421        concat!(
11422            "Offset of field: ",
11423            stringify!(evp_encode_ctx_st),
11424            "::",
11425            stringify!(eof_seen)
11426        )
11427    );
11428    assert_eq!(
11429        unsafe { ::std::ptr::addr_of!((*ptr).error_encountered) as usize - ptr as usize },
11430        53usize,
11431        concat!(
11432            "Offset of field: ",
11433            stringify!(evp_encode_ctx_st),
11434            "::",
11435            stringify!(error_encountered)
11436        )
11437    );
11438}
11439impl Default for evp_encode_ctx_st {
11440    fn default() -> Self {
11441        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11442        unsafe {
11443            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11444            s.assume_init()
11445        }
11446    }
11447}
11448#[repr(C)]
11449#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11450pub struct blake2b_state_st {
11451    pub h: [u64; 8usize],
11452    pub t_low: u64,
11453    pub t_high: u64,
11454    pub block: [u8; 128usize],
11455    pub block_used: usize,
11456}
11457#[test]
11458fn bindgen_test_layout_blake2b_state_st() {
11459    const UNINIT: ::std::mem::MaybeUninit<blake2b_state_st> = ::std::mem::MaybeUninit::uninit();
11460    let ptr = UNINIT.as_ptr();
11461    assert_eq!(
11462        ::std::mem::size_of::<blake2b_state_st>(),
11463        216usize,
11464        concat!("Size of: ", stringify!(blake2b_state_st))
11465    );
11466    assert_eq!(
11467        ::std::mem::align_of::<blake2b_state_st>(),
11468        8usize,
11469        concat!("Alignment of ", stringify!(blake2b_state_st))
11470    );
11471    assert_eq!(
11472        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
11473        0usize,
11474        concat!(
11475            "Offset of field: ",
11476            stringify!(blake2b_state_st),
11477            "::",
11478            stringify!(h)
11479        )
11480    );
11481    assert_eq!(
11482        unsafe { ::std::ptr::addr_of!((*ptr).t_low) as usize - ptr as usize },
11483        64usize,
11484        concat!(
11485            "Offset of field: ",
11486            stringify!(blake2b_state_st),
11487            "::",
11488            stringify!(t_low)
11489        )
11490    );
11491    assert_eq!(
11492        unsafe { ::std::ptr::addr_of!((*ptr).t_high) as usize - ptr as usize },
11493        72usize,
11494        concat!(
11495            "Offset of field: ",
11496            stringify!(blake2b_state_st),
11497            "::",
11498            stringify!(t_high)
11499        )
11500    );
11501    assert_eq!(
11502        unsafe { ::std::ptr::addr_of!((*ptr).block) as usize - ptr as usize },
11503        80usize,
11504        concat!(
11505            "Offset of field: ",
11506            stringify!(blake2b_state_st),
11507            "::",
11508            stringify!(block)
11509        )
11510    );
11511    assert_eq!(
11512        unsafe { ::std::ptr::addr_of!((*ptr).block_used) as usize - ptr as usize },
11513        208usize,
11514        concat!(
11515            "Offset of field: ",
11516            stringify!(blake2b_state_st),
11517            "::",
11518            stringify!(block_used)
11519        )
11520    );
11521}
11522impl Default for blake2b_state_st {
11523    fn default() -> Self {
11524        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11525        unsafe {
11526            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11527            s.assume_init()
11528        }
11529    }
11530}
11531extern "C" {
11532    #[link_name = "\u{1}aws_lc_0_27_2_BLAKE2B256_Init"]
11533    pub fn BLAKE2B256_Init(b2b: *mut BLAKE2B_CTX);
11534}
11535extern "C" {
11536    #[link_name = "\u{1}aws_lc_0_27_2_BLAKE2B256_Update"]
11537    pub fn BLAKE2B256_Update(
11538        b2b: *mut BLAKE2B_CTX,
11539        data: *const ::std::os::raw::c_void,
11540        len: usize,
11541    );
11542}
11543extern "C" {
11544    #[link_name = "\u{1}aws_lc_0_27_2_BLAKE2B256_Final"]
11545    pub fn BLAKE2B256_Final(out: *mut u8, b2b: *mut BLAKE2B_CTX);
11546}
11547extern "C" {
11548    #[link_name = "\u{1}aws_lc_0_27_2_BLAKE2B256"]
11549    pub fn BLAKE2B256(data: *const u8, len: usize, out: *mut u8);
11550}
11551#[repr(C)]
11552#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11553pub struct bf_key_st {
11554    pub P: [u32; 18usize],
11555    pub S: [u32; 1024usize],
11556}
11557#[test]
11558fn bindgen_test_layout_bf_key_st() {
11559    const UNINIT: ::std::mem::MaybeUninit<bf_key_st> = ::std::mem::MaybeUninit::uninit();
11560    let ptr = UNINIT.as_ptr();
11561    assert_eq!(
11562        ::std::mem::size_of::<bf_key_st>(),
11563        4168usize,
11564        concat!("Size of: ", stringify!(bf_key_st))
11565    );
11566    assert_eq!(
11567        ::std::mem::align_of::<bf_key_st>(),
11568        4usize,
11569        concat!("Alignment of ", stringify!(bf_key_st))
11570    );
11571    assert_eq!(
11572        unsafe { ::std::ptr::addr_of!((*ptr).P) as usize - ptr as usize },
11573        0usize,
11574        concat!(
11575            "Offset of field: ",
11576            stringify!(bf_key_st),
11577            "::",
11578            stringify!(P)
11579        )
11580    );
11581    assert_eq!(
11582        unsafe { ::std::ptr::addr_of!((*ptr).S) as usize - ptr as usize },
11583        72usize,
11584        concat!(
11585            "Offset of field: ",
11586            stringify!(bf_key_st),
11587            "::",
11588            stringify!(S)
11589        )
11590    );
11591}
11592impl Default for bf_key_st {
11593    fn default() -> Self {
11594        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11595        unsafe {
11596            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11597            s.assume_init()
11598        }
11599    }
11600}
11601pub type BF_KEY = bf_key_st;
11602extern "C" {
11603    #[link_name = "\u{1}aws_lc_0_27_2_BF_set_key"]
11604    pub fn BF_set_key(key: *mut BF_KEY, len: usize, data: *const u8);
11605}
11606extern "C" {
11607    #[link_name = "\u{1}aws_lc_0_27_2_BF_encrypt"]
11608    pub fn BF_encrypt(data: *mut u32, key: *const BF_KEY);
11609}
11610extern "C" {
11611    #[link_name = "\u{1}aws_lc_0_27_2_BF_decrypt"]
11612    pub fn BF_decrypt(data: *mut u32, key: *const BF_KEY);
11613}
11614extern "C" {
11615    #[link_name = "\u{1}aws_lc_0_27_2_BF_ecb_encrypt"]
11616    pub fn BF_ecb_encrypt(
11617        in_: *const u8,
11618        out: *mut u8,
11619        key: *const BF_KEY,
11620        enc: ::std::os::raw::c_int,
11621    );
11622}
11623extern "C" {
11624    #[link_name = "\u{1}aws_lc_0_27_2_BF_cbc_encrypt"]
11625    pub fn BF_cbc_encrypt(
11626        in_: *const u8,
11627        out: *mut u8,
11628        length: usize,
11629        schedule: *const BF_KEY,
11630        ivec: *mut u8,
11631        enc: ::std::os::raw::c_int,
11632    );
11633}
11634#[repr(C)]
11635#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11636pub struct cbs_st {
11637    pub data: *const u8,
11638    pub len: usize,
11639}
11640#[test]
11641fn bindgen_test_layout_cbs_st() {
11642    const UNINIT: ::std::mem::MaybeUninit<cbs_st> = ::std::mem::MaybeUninit::uninit();
11643    let ptr = UNINIT.as_ptr();
11644    assert_eq!(
11645        ::std::mem::size_of::<cbs_st>(),
11646        16usize,
11647        concat!("Size of: ", stringify!(cbs_st))
11648    );
11649    assert_eq!(
11650        ::std::mem::align_of::<cbs_st>(),
11651        8usize,
11652        concat!("Alignment of ", stringify!(cbs_st))
11653    );
11654    assert_eq!(
11655        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
11656        0usize,
11657        concat!(
11658            "Offset of field: ",
11659            stringify!(cbs_st),
11660            "::",
11661            stringify!(data)
11662        )
11663    );
11664    assert_eq!(
11665        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11666        8usize,
11667        concat!(
11668            "Offset of field: ",
11669            stringify!(cbs_st),
11670            "::",
11671            stringify!(len)
11672        )
11673    );
11674}
11675impl Default for cbs_st {
11676    fn default() -> Self {
11677        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11678        unsafe {
11679            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
11680            s.assume_init()
11681        }
11682    }
11683}
11684extern "C" {
11685    #[link_name = "\u{1}aws_lc_0_27_2_CBS_init"]
11686    pub fn CBS_init(cbs: *mut CBS, data: *const u8, len: usize);
11687}
11688extern "C" {
11689    #[link_name = "\u{1}aws_lc_0_27_2_CBS_skip"]
11690    pub fn CBS_skip(cbs: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11691}
11692extern "C" {
11693    #[link_name = "\u{1}aws_lc_0_27_2_CBS_data"]
11694    pub fn CBS_data(cbs: *const CBS) -> *const u8;
11695}
11696extern "C" {
11697    #[link_name = "\u{1}aws_lc_0_27_2_CBS_len"]
11698    pub fn CBS_len(cbs: *const CBS) -> usize;
11699}
11700extern "C" {
11701    #[link_name = "\u{1}aws_lc_0_27_2_CBS_stow"]
11702    pub fn CBS_stow(
11703        cbs: *const CBS,
11704        out_ptr: *mut *mut u8,
11705        out_len: *mut usize,
11706    ) -> ::std::os::raw::c_int;
11707}
11708extern "C" {
11709    #[link_name = "\u{1}aws_lc_0_27_2_CBS_strdup"]
11710    pub fn CBS_strdup(
11711        cbs: *const CBS,
11712        out_ptr: *mut *mut ::std::os::raw::c_char,
11713    ) -> ::std::os::raw::c_int;
11714}
11715extern "C" {
11716    #[link_name = "\u{1}aws_lc_0_27_2_CBS_contains_zero_byte"]
11717    pub fn CBS_contains_zero_byte(cbs: *const CBS) -> ::std::os::raw::c_int;
11718}
11719extern "C" {
11720    #[link_name = "\u{1}aws_lc_0_27_2_CBS_mem_equal"]
11721    pub fn CBS_mem_equal(cbs: *const CBS, data: *const u8, len: usize) -> ::std::os::raw::c_int;
11722}
11723extern "C" {
11724    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u8"]
11725    pub fn CBS_get_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11726}
11727extern "C" {
11728    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u16"]
11729    pub fn CBS_get_u16(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11730}
11731extern "C" {
11732    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u16le"]
11733    pub fn CBS_get_u16le(cbs: *mut CBS, out: *mut u16) -> ::std::os::raw::c_int;
11734}
11735extern "C" {
11736    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u24"]
11737    pub fn CBS_get_u24(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11738}
11739extern "C" {
11740    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u32"]
11741    pub fn CBS_get_u32(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11742}
11743extern "C" {
11744    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u32le"]
11745    pub fn CBS_get_u32le(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
11746}
11747extern "C" {
11748    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u64"]
11749    pub fn CBS_get_u64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11750}
11751extern "C" {
11752    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u64le"]
11753    pub fn CBS_get_u64le(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11754}
11755extern "C" {
11756    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_last_u8"]
11757    pub fn CBS_get_last_u8(cbs: *mut CBS, out: *mut u8) -> ::std::os::raw::c_int;
11758}
11759extern "C" {
11760    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_bytes"]
11761    pub fn CBS_get_bytes(cbs: *mut CBS, out: *mut CBS, len: usize) -> ::std::os::raw::c_int;
11762}
11763extern "C" {
11764    #[link_name = "\u{1}aws_lc_0_27_2_CBS_copy_bytes"]
11765    pub fn CBS_copy_bytes(cbs: *mut CBS, out: *mut u8, len: usize) -> ::std::os::raw::c_int;
11766}
11767extern "C" {
11768    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u8_length_prefixed"]
11769    pub fn CBS_get_u8_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11770}
11771extern "C" {
11772    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u16_length_prefixed"]
11773    pub fn CBS_get_u16_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11774}
11775extern "C" {
11776    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u24_length_prefixed"]
11777    pub fn CBS_get_u24_length_prefixed(cbs: *mut CBS, out: *mut CBS) -> ::std::os::raw::c_int;
11778}
11779extern "C" {
11780    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_until_first"]
11781    pub fn CBS_get_until_first(cbs: *mut CBS, out: *mut CBS, c: u8) -> ::std::os::raw::c_int;
11782}
11783extern "C" {
11784    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_u64_decimal"]
11785    pub fn CBS_get_u64_decimal(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11786}
11787extern "C" {
11788    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_asn1"]
11789    pub fn CBS_get_asn1(
11790        cbs: *mut CBS,
11791        out: *mut CBS,
11792        tag_value: CBS_ASN1_TAG,
11793    ) -> ::std::os::raw::c_int;
11794}
11795extern "C" {
11796    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_asn1_element"]
11797    pub fn CBS_get_asn1_element(
11798        cbs: *mut CBS,
11799        out: *mut CBS,
11800        tag_value: CBS_ASN1_TAG,
11801    ) -> ::std::os::raw::c_int;
11802}
11803extern "C" {
11804    #[link_name = "\u{1}aws_lc_0_27_2_CBS_peek_asn1_tag"]
11805    pub fn CBS_peek_asn1_tag(cbs: *const CBS, tag_value: CBS_ASN1_TAG) -> ::std::os::raw::c_int;
11806}
11807extern "C" {
11808    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_any_asn1"]
11809    pub fn CBS_get_any_asn1(
11810        cbs: *mut CBS,
11811        out: *mut CBS,
11812        out_tag: *mut CBS_ASN1_TAG,
11813    ) -> ::std::os::raw::c_int;
11814}
11815extern "C" {
11816    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_any_asn1_element"]
11817    pub fn CBS_get_any_asn1_element(
11818        cbs: *mut CBS,
11819        out: *mut CBS,
11820        out_tag: *mut CBS_ASN1_TAG,
11821        out_header_len: *mut usize,
11822    ) -> ::std::os::raw::c_int;
11823}
11824extern "C" {
11825    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_any_ber_asn1_element"]
11826    pub fn CBS_get_any_ber_asn1_element(
11827        cbs: *mut CBS,
11828        out: *mut CBS,
11829        out_tag: *mut CBS_ASN1_TAG,
11830        out_header_len: *mut usize,
11831        out_ber_found: *mut ::std::os::raw::c_int,
11832        out_indefinite: *mut ::std::os::raw::c_int,
11833    ) -> ::std::os::raw::c_int;
11834}
11835extern "C" {
11836    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_asn1_uint64"]
11837    pub fn CBS_get_asn1_uint64(cbs: *mut CBS, out: *mut u64) -> ::std::os::raw::c_int;
11838}
11839extern "C" {
11840    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_asn1_int64"]
11841    pub fn CBS_get_asn1_int64(cbs: *mut CBS, out: *mut i64) -> ::std::os::raw::c_int;
11842}
11843extern "C" {
11844    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_asn1_bool"]
11845    pub fn CBS_get_asn1_bool(
11846        cbs: *mut CBS,
11847        out: *mut ::std::os::raw::c_int,
11848    ) -> ::std::os::raw::c_int;
11849}
11850extern "C" {
11851    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_optional_asn1"]
11852    pub fn CBS_get_optional_asn1(
11853        cbs: *mut CBS,
11854        out: *mut CBS,
11855        out_present: *mut ::std::os::raw::c_int,
11856        tag: CBS_ASN1_TAG,
11857    ) -> ::std::os::raw::c_int;
11858}
11859extern "C" {
11860    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_optional_asn1_octet_string"]
11861    pub fn CBS_get_optional_asn1_octet_string(
11862        cbs: *mut CBS,
11863        out: *mut CBS,
11864        out_present: *mut ::std::os::raw::c_int,
11865        tag: CBS_ASN1_TAG,
11866    ) -> ::std::os::raw::c_int;
11867}
11868extern "C" {
11869    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_optional_asn1_uint64"]
11870    pub fn CBS_get_optional_asn1_uint64(
11871        cbs: *mut CBS,
11872        out: *mut u64,
11873        tag: CBS_ASN1_TAG,
11874        default_value: u64,
11875    ) -> ::std::os::raw::c_int;
11876}
11877extern "C" {
11878    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_optional_asn1_bool"]
11879    pub fn CBS_get_optional_asn1_bool(
11880        cbs: *mut CBS,
11881        out: *mut ::std::os::raw::c_int,
11882        tag: CBS_ASN1_TAG,
11883        default_value: ::std::os::raw::c_int,
11884    ) -> ::std::os::raw::c_int;
11885}
11886extern "C" {
11887    #[link_name = "\u{1}aws_lc_0_27_2_CBS_is_valid_asn1_bitstring"]
11888    pub fn CBS_is_valid_asn1_bitstring(cbs: *const CBS) -> ::std::os::raw::c_int;
11889}
11890extern "C" {
11891    #[link_name = "\u{1}aws_lc_0_27_2_CBS_asn1_bitstring_has_bit"]
11892    pub fn CBS_asn1_bitstring_has_bit(
11893        cbs: *const CBS,
11894        bit: ::std::os::raw::c_uint,
11895    ) -> ::std::os::raw::c_int;
11896}
11897extern "C" {
11898    #[link_name = "\u{1}aws_lc_0_27_2_CBS_is_valid_asn1_integer"]
11899    pub fn CBS_is_valid_asn1_integer(
11900        cbs: *const CBS,
11901        out_is_negative: *mut ::std::os::raw::c_int,
11902    ) -> ::std::os::raw::c_int;
11903}
11904extern "C" {
11905    #[link_name = "\u{1}aws_lc_0_27_2_CBS_is_unsigned_asn1_integer"]
11906    pub fn CBS_is_unsigned_asn1_integer(cbs: *const CBS) -> ::std::os::raw::c_int;
11907}
11908extern "C" {
11909    #[link_name = "\u{1}aws_lc_0_27_2_CBS_is_valid_asn1_oid"]
11910    pub fn CBS_is_valid_asn1_oid(cbs: *const CBS) -> ::std::os::raw::c_int;
11911}
11912extern "C" {
11913    #[link_name = "\u{1}aws_lc_0_27_2_CBS_asn1_oid_to_text"]
11914    pub fn CBS_asn1_oid_to_text(cbs: *const CBS) -> *mut ::std::os::raw::c_char;
11915}
11916extern "C" {
11917    #[link_name = "\u{1}aws_lc_0_27_2_CBS_parse_generalized_time"]
11918    pub fn CBS_parse_generalized_time(
11919        cbs: *const CBS,
11920        out_tm: *mut tm,
11921        allow_timezone_offset: ::std::os::raw::c_int,
11922    ) -> ::std::os::raw::c_int;
11923}
11924extern "C" {
11925    #[link_name = "\u{1}aws_lc_0_27_2_CBS_parse_utc_time"]
11926    pub fn CBS_parse_utc_time(
11927        cbs: *const CBS,
11928        out_tm: *mut tm,
11929        allow_timezone_offset: ::std::os::raw::c_int,
11930    ) -> ::std::os::raw::c_int;
11931}
11932extern "C" {
11933    #[link_name = "\u{1}aws_lc_0_27_2_CBS_get_optional_asn1_int64"]
11934    pub fn CBS_get_optional_asn1_int64(
11935        cbs: *mut CBS,
11936        out: *mut i64,
11937        tag: CBS_ASN1_TAG,
11938        default_value: i64,
11939    ) -> ::std::os::raw::c_int;
11940}
11941#[repr(C)]
11942#[derive(Debug, Copy, Clone, PartialEq, Eq)]
11943pub struct cbb_buffer_st {
11944    pub buf: *mut u8,
11945    pub len: usize,
11946    pub cap: usize,
11947    pub _bitfield_align_1: [u8; 0],
11948    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
11949    pub __bindgen_padding_0: [u8; 7usize],
11950}
11951#[test]
11952fn bindgen_test_layout_cbb_buffer_st() {
11953    const UNINIT: ::std::mem::MaybeUninit<cbb_buffer_st> = ::std::mem::MaybeUninit::uninit();
11954    let ptr = UNINIT.as_ptr();
11955    assert_eq!(
11956        ::std::mem::size_of::<cbb_buffer_st>(),
11957        32usize,
11958        concat!("Size of: ", stringify!(cbb_buffer_st))
11959    );
11960    assert_eq!(
11961        ::std::mem::align_of::<cbb_buffer_st>(),
11962        8usize,
11963        concat!("Alignment of ", stringify!(cbb_buffer_st))
11964    );
11965    assert_eq!(
11966        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
11967        0usize,
11968        concat!(
11969            "Offset of field: ",
11970            stringify!(cbb_buffer_st),
11971            "::",
11972            stringify!(buf)
11973        )
11974    );
11975    assert_eq!(
11976        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
11977        8usize,
11978        concat!(
11979            "Offset of field: ",
11980            stringify!(cbb_buffer_st),
11981            "::",
11982            stringify!(len)
11983        )
11984    );
11985    assert_eq!(
11986        unsafe { ::std::ptr::addr_of!((*ptr).cap) as usize - ptr as usize },
11987        16usize,
11988        concat!(
11989            "Offset of field: ",
11990            stringify!(cbb_buffer_st),
11991            "::",
11992            stringify!(cap)
11993        )
11994    );
11995}
11996impl Default for cbb_buffer_st {
11997    fn default() -> Self {
11998        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
11999        unsafe {
12000            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12001            s.assume_init()
12002        }
12003    }
12004}
12005impl cbb_buffer_st {
12006    #[inline]
12007    pub fn can_resize(&self) -> ::std::os::raw::c_uint {
12008        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12009    }
12010    #[inline]
12011    pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint) {
12012        unsafe {
12013            let val: u32 = ::std::mem::transmute(val);
12014            self._bitfield_1.set(0usize, 1u8, val as u64)
12015        }
12016    }
12017    #[inline]
12018    pub fn error(&self) -> ::std::os::raw::c_uint {
12019        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
12020    }
12021    #[inline]
12022    pub fn set_error(&mut self, val: ::std::os::raw::c_uint) {
12023        unsafe {
12024            let val: u32 = ::std::mem::transmute(val);
12025            self._bitfield_1.set(1usize, 1u8, val as u64)
12026        }
12027    }
12028    #[inline]
12029    pub fn new_bitfield_1(
12030        can_resize: ::std::os::raw::c_uint,
12031        error: ::std::os::raw::c_uint,
12032    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12033        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12034        __bindgen_bitfield_unit.set(0usize, 1u8, {
12035            let can_resize: u32 = unsafe { ::std::mem::transmute(can_resize) };
12036            can_resize as u64
12037        });
12038        __bindgen_bitfield_unit.set(1usize, 1u8, {
12039            let error: u32 = unsafe { ::std::mem::transmute(error) };
12040            error as u64
12041        });
12042        __bindgen_bitfield_unit
12043    }
12044}
12045#[repr(C)]
12046#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12047pub struct cbb_child_st {
12048    pub base: *mut cbb_buffer_st,
12049    pub offset: usize,
12050    pub pending_len_len: u8,
12051    pub _bitfield_align_1: [u8; 0],
12052    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
12053    pub __bindgen_padding_0: [u16; 3usize],
12054}
12055#[test]
12056fn bindgen_test_layout_cbb_child_st() {
12057    const UNINIT: ::std::mem::MaybeUninit<cbb_child_st> = ::std::mem::MaybeUninit::uninit();
12058    let ptr = UNINIT.as_ptr();
12059    assert_eq!(
12060        ::std::mem::size_of::<cbb_child_st>(),
12061        24usize,
12062        concat!("Size of: ", stringify!(cbb_child_st))
12063    );
12064    assert_eq!(
12065        ::std::mem::align_of::<cbb_child_st>(),
12066        8usize,
12067        concat!("Alignment of ", stringify!(cbb_child_st))
12068    );
12069    assert_eq!(
12070        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12071        0usize,
12072        concat!(
12073            "Offset of field: ",
12074            stringify!(cbb_child_st),
12075            "::",
12076            stringify!(base)
12077        )
12078    );
12079    assert_eq!(
12080        unsafe { ::std::ptr::addr_of!((*ptr).offset) as usize - ptr as usize },
12081        8usize,
12082        concat!(
12083            "Offset of field: ",
12084            stringify!(cbb_child_st),
12085            "::",
12086            stringify!(offset)
12087        )
12088    );
12089    assert_eq!(
12090        unsafe { ::std::ptr::addr_of!((*ptr).pending_len_len) as usize - ptr as usize },
12091        16usize,
12092        concat!(
12093            "Offset of field: ",
12094            stringify!(cbb_child_st),
12095            "::",
12096            stringify!(pending_len_len)
12097        )
12098    );
12099}
12100impl Default for cbb_child_st {
12101    fn default() -> Self {
12102        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12103        unsafe {
12104            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12105            s.assume_init()
12106        }
12107    }
12108}
12109impl cbb_child_st {
12110    #[inline]
12111    pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint {
12112        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
12113    }
12114    #[inline]
12115    pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint) {
12116        unsafe {
12117            let val: u32 = ::std::mem::transmute(val);
12118            self._bitfield_1.set(0usize, 1u8, val as u64)
12119        }
12120    }
12121    #[inline]
12122    pub fn new_bitfield_1(
12123        pending_is_asn1: ::std::os::raw::c_uint,
12124    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
12125        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
12126        __bindgen_bitfield_unit.set(0usize, 1u8, {
12127            let pending_is_asn1: u32 = unsafe { ::std::mem::transmute(pending_is_asn1) };
12128            pending_is_asn1 as u64
12129        });
12130        __bindgen_bitfield_unit
12131    }
12132}
12133#[repr(C)]
12134#[derive(Copy, Clone)]
12135pub struct cbb_st {
12136    pub child: *mut CBB,
12137    pub is_child: ::std::os::raw::c_char,
12138    pub u: cbb_st__bindgen_ty_1,
12139}
12140#[repr(C)]
12141#[derive(Copy, Clone)]
12142pub union cbb_st__bindgen_ty_1 {
12143    pub base: cbb_buffer_st,
12144    pub child: cbb_child_st,
12145}
12146#[test]
12147fn bindgen_test_layout_cbb_st__bindgen_ty_1() {
12148    const UNINIT: ::std::mem::MaybeUninit<cbb_st__bindgen_ty_1> = ::std::mem::MaybeUninit::uninit();
12149    let ptr = UNINIT.as_ptr();
12150    assert_eq!(
12151        ::std::mem::size_of::<cbb_st__bindgen_ty_1>(),
12152        32usize,
12153        concat!("Size of: ", stringify!(cbb_st__bindgen_ty_1))
12154    );
12155    assert_eq!(
12156        ::std::mem::align_of::<cbb_st__bindgen_ty_1>(),
12157        8usize,
12158        concat!("Alignment of ", stringify!(cbb_st__bindgen_ty_1))
12159    );
12160    assert_eq!(
12161        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
12162        0usize,
12163        concat!(
12164            "Offset of field: ",
12165            stringify!(cbb_st__bindgen_ty_1),
12166            "::",
12167            stringify!(base)
12168        )
12169    );
12170    assert_eq!(
12171        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12172        0usize,
12173        concat!(
12174            "Offset of field: ",
12175            stringify!(cbb_st__bindgen_ty_1),
12176            "::",
12177            stringify!(child)
12178        )
12179    );
12180}
12181impl Default for cbb_st__bindgen_ty_1 {
12182    fn default() -> Self {
12183        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12184        unsafe {
12185            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12186            s.assume_init()
12187        }
12188    }
12189}
12190#[test]
12191fn bindgen_test_layout_cbb_st() {
12192    const UNINIT: ::std::mem::MaybeUninit<cbb_st> = ::std::mem::MaybeUninit::uninit();
12193    let ptr = UNINIT.as_ptr();
12194    assert_eq!(
12195        ::std::mem::size_of::<cbb_st>(),
12196        48usize,
12197        concat!("Size of: ", stringify!(cbb_st))
12198    );
12199    assert_eq!(
12200        ::std::mem::align_of::<cbb_st>(),
12201        8usize,
12202        concat!("Alignment of ", stringify!(cbb_st))
12203    );
12204    assert_eq!(
12205        unsafe { ::std::ptr::addr_of!((*ptr).child) as usize - ptr as usize },
12206        0usize,
12207        concat!(
12208            "Offset of field: ",
12209            stringify!(cbb_st),
12210            "::",
12211            stringify!(child)
12212        )
12213    );
12214    assert_eq!(
12215        unsafe { ::std::ptr::addr_of!((*ptr).is_child) as usize - ptr as usize },
12216        8usize,
12217        concat!(
12218            "Offset of field: ",
12219            stringify!(cbb_st),
12220            "::",
12221            stringify!(is_child)
12222        )
12223    );
12224    assert_eq!(
12225        unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
12226        16usize,
12227        concat!("Offset of field: ", stringify!(cbb_st), "::", stringify!(u))
12228    );
12229}
12230impl Default for cbb_st {
12231    fn default() -> Self {
12232        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
12233        unsafe {
12234            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
12235            s.assume_init()
12236        }
12237    }
12238}
12239extern "C" {
12240    #[link_name = "\u{1}aws_lc_0_27_2_CBB_zero"]
12241    pub fn CBB_zero(cbb: *mut CBB);
12242}
12243extern "C" {
12244    #[link_name = "\u{1}aws_lc_0_27_2_CBB_init"]
12245    pub fn CBB_init(cbb: *mut CBB, initial_capacity: usize) -> ::std::os::raw::c_int;
12246}
12247extern "C" {
12248    #[link_name = "\u{1}aws_lc_0_27_2_CBB_init_fixed"]
12249    pub fn CBB_init_fixed(cbb: *mut CBB, buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
12250}
12251extern "C" {
12252    #[link_name = "\u{1}aws_lc_0_27_2_CBB_cleanup"]
12253    pub fn CBB_cleanup(cbb: *mut CBB);
12254}
12255extern "C" {
12256    #[link_name = "\u{1}aws_lc_0_27_2_CBB_finish"]
12257    pub fn CBB_finish(
12258        cbb: *mut CBB,
12259        out_data: *mut *mut u8,
12260        out_len: *mut usize,
12261    ) -> ::std::os::raw::c_int;
12262}
12263extern "C" {
12264    #[link_name = "\u{1}aws_lc_0_27_2_CBB_flush"]
12265    pub fn CBB_flush(cbb: *mut CBB) -> ::std::os::raw::c_int;
12266}
12267extern "C" {
12268    #[link_name = "\u{1}aws_lc_0_27_2_CBB_data"]
12269    pub fn CBB_data(cbb: *const CBB) -> *const u8;
12270}
12271extern "C" {
12272    #[link_name = "\u{1}aws_lc_0_27_2_CBB_len"]
12273    pub fn CBB_len(cbb: *const CBB) -> usize;
12274}
12275extern "C" {
12276    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u8_length_prefixed"]
12277    pub fn CBB_add_u8_length_prefixed(
12278        cbb: *mut CBB,
12279        out_contents: *mut CBB,
12280    ) -> ::std::os::raw::c_int;
12281}
12282extern "C" {
12283    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u16_length_prefixed"]
12284    pub fn CBB_add_u16_length_prefixed(
12285        cbb: *mut CBB,
12286        out_contents: *mut CBB,
12287    ) -> ::std::os::raw::c_int;
12288}
12289extern "C" {
12290    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u24_length_prefixed"]
12291    pub fn CBB_add_u24_length_prefixed(
12292        cbb: *mut CBB,
12293        out_contents: *mut CBB,
12294    ) -> ::std::os::raw::c_int;
12295}
12296extern "C" {
12297    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1"]
12298    pub fn CBB_add_asn1(
12299        cbb: *mut CBB,
12300        out_contents: *mut CBB,
12301        tag: CBS_ASN1_TAG,
12302    ) -> ::std::os::raw::c_int;
12303}
12304extern "C" {
12305    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_bytes"]
12306    pub fn CBB_add_bytes(cbb: *mut CBB, data: *const u8, len: usize) -> ::std::os::raw::c_int;
12307}
12308extern "C" {
12309    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_zeros"]
12310    pub fn CBB_add_zeros(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12311}
12312extern "C" {
12313    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_space"]
12314    pub fn CBB_add_space(
12315        cbb: *mut CBB,
12316        out_data: *mut *mut u8,
12317        len: usize,
12318    ) -> ::std::os::raw::c_int;
12319}
12320extern "C" {
12321    #[link_name = "\u{1}aws_lc_0_27_2_CBB_reserve"]
12322    pub fn CBB_reserve(cbb: *mut CBB, out_data: *mut *mut u8, len: usize) -> ::std::os::raw::c_int;
12323}
12324extern "C" {
12325    #[link_name = "\u{1}aws_lc_0_27_2_CBB_did_write"]
12326    pub fn CBB_did_write(cbb: *mut CBB, len: usize) -> ::std::os::raw::c_int;
12327}
12328extern "C" {
12329    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u8"]
12330    pub fn CBB_add_u8(cbb: *mut CBB, value: u8) -> ::std::os::raw::c_int;
12331}
12332extern "C" {
12333    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u16"]
12334    pub fn CBB_add_u16(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12335}
12336extern "C" {
12337    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u16le"]
12338    pub fn CBB_add_u16le(cbb: *mut CBB, value: u16) -> ::std::os::raw::c_int;
12339}
12340extern "C" {
12341    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u24"]
12342    pub fn CBB_add_u24(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12343}
12344extern "C" {
12345    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u32"]
12346    pub fn CBB_add_u32(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12347}
12348extern "C" {
12349    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u32le"]
12350    pub fn CBB_add_u32le(cbb: *mut CBB, value: u32) -> ::std::os::raw::c_int;
12351}
12352extern "C" {
12353    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u64"]
12354    pub fn CBB_add_u64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12355}
12356extern "C" {
12357    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_u64le"]
12358    pub fn CBB_add_u64le(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12359}
12360extern "C" {
12361    #[link_name = "\u{1}aws_lc_0_27_2_CBB_discard_child"]
12362    pub fn CBB_discard_child(cbb: *mut CBB);
12363}
12364extern "C" {
12365    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_uint64"]
12366    pub fn CBB_add_asn1_uint64(cbb: *mut CBB, value: u64) -> ::std::os::raw::c_int;
12367}
12368extern "C" {
12369    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_uint64_with_tag"]
12370    pub fn CBB_add_asn1_uint64_with_tag(
12371        cbb: *mut CBB,
12372        value: u64,
12373        tag: CBS_ASN1_TAG,
12374    ) -> ::std::os::raw::c_int;
12375}
12376extern "C" {
12377    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_int64"]
12378    pub fn CBB_add_asn1_int64(cbb: *mut CBB, value: i64) -> ::std::os::raw::c_int;
12379}
12380extern "C" {
12381    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_int64_with_tag"]
12382    pub fn CBB_add_asn1_int64_with_tag(
12383        cbb: *mut CBB,
12384        value: i64,
12385        tag: CBS_ASN1_TAG,
12386    ) -> ::std::os::raw::c_int;
12387}
12388extern "C" {
12389    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_octet_string"]
12390    pub fn CBB_add_asn1_octet_string(
12391        cbb: *mut CBB,
12392        data: *const u8,
12393        data_len: usize,
12394    ) -> ::std::os::raw::c_int;
12395}
12396extern "C" {
12397    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_bool"]
12398    pub fn CBB_add_asn1_bool(cbb: *mut CBB, value: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
12399}
12400extern "C" {
12401    #[link_name = "\u{1}aws_lc_0_27_2_CBB_add_asn1_oid_from_text"]
12402    pub fn CBB_add_asn1_oid_from_text(
12403        cbb: *mut CBB,
12404        text: *const ::std::os::raw::c_char,
12405        len: usize,
12406    ) -> ::std::os::raw::c_int;
12407}
12408extern "C" {
12409    #[link_name = "\u{1}aws_lc_0_27_2_CBB_flush_asn1_set_of"]
12410    pub fn CBB_flush_asn1_set_of(cbb: *mut CBB) -> ::std::os::raw::c_int;
12411}
12412extern "C" {
12413    pub fn CBS_get_utf8(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12414}
12415extern "C" {
12416    pub fn CBS_get_latin1(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12417}
12418extern "C" {
12419    pub fn CBS_get_ucs2_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12420}
12421extern "C" {
12422    pub fn CBS_get_utf32_be(cbs: *mut CBS, out: *mut u32) -> ::std::os::raw::c_int;
12423}
12424extern "C" {
12425    pub fn CBB_get_utf8_len(u: u32) -> usize;
12426}
12427extern "C" {
12428    pub fn CBB_add_utf8(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12429}
12430extern "C" {
12431    pub fn CBB_add_latin1(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12432}
12433extern "C" {
12434    pub fn CBB_add_ucs2_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12435}
12436extern "C" {
12437    pub fn CBB_add_utf32_be(cbb: *mut CBB, u: u32) -> ::std::os::raw::c_int;
12438}
12439extern "C" {
12440    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_chacha_20"]
12441    pub fn CRYPTO_chacha_20(
12442        out: *mut u8,
12443        in_: *const u8,
12444        in_len: usize,
12445        key: *const u8,
12446        nonce: *const u8,
12447        counter: u32,
12448    );
12449}
12450extern "C" {
12451    #[link_name = "\u{1}aws_lc_0_27_2_EVP_rc4"]
12452    pub fn EVP_rc4() -> *const EVP_CIPHER;
12453}
12454extern "C" {
12455    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_cbc"]
12456    pub fn EVP_des_cbc() -> *const EVP_CIPHER;
12457}
12458extern "C" {
12459    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ecb"]
12460    pub fn EVP_des_ecb() -> *const EVP_CIPHER;
12461}
12462extern "C" {
12463    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ede"]
12464    pub fn EVP_des_ede() -> *const EVP_CIPHER;
12465}
12466extern "C" {
12467    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ede3"]
12468    pub fn EVP_des_ede3() -> *const EVP_CIPHER;
12469}
12470extern "C" {
12471    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ede_cbc"]
12472    pub fn EVP_des_ede_cbc() -> *const EVP_CIPHER;
12473}
12474extern "C" {
12475    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ede3_cbc"]
12476    pub fn EVP_des_ede3_cbc() -> *const EVP_CIPHER;
12477}
12478extern "C" {
12479    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_ecb"]
12480    pub fn EVP_aes_128_ecb() -> *const EVP_CIPHER;
12481}
12482extern "C" {
12483    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cbc"]
12484    pub fn EVP_aes_128_cbc() -> *const EVP_CIPHER;
12485}
12486extern "C" {
12487    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_ctr"]
12488    pub fn EVP_aes_128_ctr() -> *const EVP_CIPHER;
12489}
12490extern "C" {
12491    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_ofb"]
12492    pub fn EVP_aes_128_ofb() -> *const EVP_CIPHER;
12493}
12494extern "C" {
12495    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_ecb"]
12496    pub fn EVP_aes_256_ecb() -> *const EVP_CIPHER;
12497}
12498extern "C" {
12499    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cbc"]
12500    pub fn EVP_aes_256_cbc() -> *const EVP_CIPHER;
12501}
12502extern "C" {
12503    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_ctr"]
12504    pub fn EVP_aes_256_ctr() -> *const EVP_CIPHER;
12505}
12506extern "C" {
12507    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_ofb"]
12508    pub fn EVP_aes_256_ofb() -> *const EVP_CIPHER;
12509}
12510extern "C" {
12511    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_xts"]
12512    pub fn EVP_aes_256_xts() -> *const EVP_CIPHER;
12513}
12514extern "C" {
12515    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_wrap"]
12516    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
12517}
12518extern "C" {
12519    #[link_name = "\u{1}aws_lc_0_27_2_EVP_enc_null"]
12520    pub fn EVP_enc_null() -> *const EVP_CIPHER;
12521}
12522extern "C" {
12523    #[link_name = "\u{1}aws_lc_0_27_2_EVP_rc2_cbc"]
12524    pub fn EVP_rc2_cbc() -> *const EVP_CIPHER;
12525}
12526extern "C" {
12527    #[link_name = "\u{1}aws_lc_0_27_2_EVP_rc2_40_cbc"]
12528    pub fn EVP_rc2_40_cbc() -> *const EVP_CIPHER;
12529}
12530extern "C" {
12531    #[link_name = "\u{1}aws_lc_0_27_2_EVP_chacha20_poly1305"]
12532    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
12533}
12534extern "C" {
12535    #[link_name = "\u{1}aws_lc_0_27_2_EVP_get_cipherbynid"]
12536    pub fn EVP_get_cipherbynid(nid: ::std::os::raw::c_int) -> *const EVP_CIPHER;
12537}
12538extern "C" {
12539    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_init"]
12540    pub fn EVP_CIPHER_CTX_init(ctx: *mut EVP_CIPHER_CTX);
12541}
12542extern "C" {
12543    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_new"]
12544    pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
12545}
12546extern "C" {
12547    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_cleanup"]
12548    pub fn EVP_CIPHER_CTX_cleanup(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12549}
12550extern "C" {
12551    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_free"]
12552    pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
12553}
12554extern "C" {
12555    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_copy"]
12556    pub fn EVP_CIPHER_CTX_copy(
12557        out: *mut EVP_CIPHER_CTX,
12558        in_: *const EVP_CIPHER_CTX,
12559    ) -> ::std::os::raw::c_int;
12560}
12561extern "C" {
12562    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_reset"]
12563    pub fn EVP_CIPHER_CTX_reset(ctx: *mut EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12564}
12565extern "C" {
12566    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CipherInit_ex"]
12567    pub fn EVP_CipherInit_ex(
12568        ctx: *mut EVP_CIPHER_CTX,
12569        cipher: *const EVP_CIPHER,
12570        engine: *mut ENGINE,
12571        key: *const u8,
12572        iv: *const u8,
12573        enc: ::std::os::raw::c_int,
12574    ) -> ::std::os::raw::c_int;
12575}
12576extern "C" {
12577    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncryptInit_ex"]
12578    pub fn EVP_EncryptInit_ex(
12579        ctx: *mut EVP_CIPHER_CTX,
12580        cipher: *const EVP_CIPHER,
12581        impl_: *mut ENGINE,
12582        key: *const u8,
12583        iv: *const u8,
12584    ) -> ::std::os::raw::c_int;
12585}
12586extern "C" {
12587    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecryptInit_ex"]
12588    pub fn EVP_DecryptInit_ex(
12589        ctx: *mut EVP_CIPHER_CTX,
12590        cipher: *const EVP_CIPHER,
12591        impl_: *mut ENGINE,
12592        key: *const u8,
12593        iv: *const u8,
12594    ) -> ::std::os::raw::c_int;
12595}
12596extern "C" {
12597    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncryptUpdate"]
12598    pub fn EVP_EncryptUpdate(
12599        ctx: *mut EVP_CIPHER_CTX,
12600        out: *mut u8,
12601        out_len: *mut ::std::os::raw::c_int,
12602        in_: *const u8,
12603        in_len: ::std::os::raw::c_int,
12604    ) -> ::std::os::raw::c_int;
12605}
12606extern "C" {
12607    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncryptFinal_ex"]
12608    pub fn EVP_EncryptFinal_ex(
12609        ctx: *mut EVP_CIPHER_CTX,
12610        out: *mut u8,
12611        out_len: *mut ::std::os::raw::c_int,
12612    ) -> ::std::os::raw::c_int;
12613}
12614extern "C" {
12615    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecryptUpdate"]
12616    pub fn EVP_DecryptUpdate(
12617        ctx: *mut EVP_CIPHER_CTX,
12618        out: *mut u8,
12619        out_len: *mut ::std::os::raw::c_int,
12620        in_: *const u8,
12621        in_len: ::std::os::raw::c_int,
12622    ) -> ::std::os::raw::c_int;
12623}
12624extern "C" {
12625    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecryptFinal_ex"]
12626    pub fn EVP_DecryptFinal_ex(
12627        ctx: *mut EVP_CIPHER_CTX,
12628        out: *mut u8,
12629        out_len: *mut ::std::os::raw::c_int,
12630    ) -> ::std::os::raw::c_int;
12631}
12632extern "C" {
12633    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CipherUpdate"]
12634    pub fn EVP_CipherUpdate(
12635        ctx: *mut EVP_CIPHER_CTX,
12636        out: *mut u8,
12637        out_len: *mut ::std::os::raw::c_int,
12638        in_: *const u8,
12639        in_len: ::std::os::raw::c_int,
12640    ) -> ::std::os::raw::c_int;
12641}
12642extern "C" {
12643    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CipherFinal_ex"]
12644    pub fn EVP_CipherFinal_ex(
12645        ctx: *mut EVP_CIPHER_CTX,
12646        out: *mut u8,
12647        out_len: *mut ::std::os::raw::c_int,
12648    ) -> ::std::os::raw::c_int;
12649}
12650extern "C" {
12651    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_cipher"]
12652    pub fn EVP_CIPHER_CTX_cipher(ctx: *const EVP_CIPHER_CTX) -> *const EVP_CIPHER;
12653}
12654extern "C" {
12655    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_nid"]
12656    pub fn EVP_CIPHER_CTX_nid(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12657}
12658extern "C" {
12659    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_encrypting"]
12660    pub fn EVP_CIPHER_CTX_encrypting(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_int;
12661}
12662extern "C" {
12663    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_block_size"]
12664    pub fn EVP_CIPHER_CTX_block_size(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12665}
12666extern "C" {
12667    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_key_length"]
12668    pub fn EVP_CIPHER_CTX_key_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12669}
12670extern "C" {
12671    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_iv_length"]
12672    pub fn EVP_CIPHER_CTX_iv_length(ctx: *const EVP_CIPHER_CTX) -> ::std::os::raw::c_uint;
12673}
12674extern "C" {
12675    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_get_app_data"]
12676    pub fn EVP_CIPHER_CTX_get_app_data(ctx: *const EVP_CIPHER_CTX) -> *mut ::std::os::raw::c_void;
12677}
12678extern "C" {
12679    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_set_app_data"]
12680    pub fn EVP_CIPHER_CTX_set_app_data(ctx: *mut EVP_CIPHER_CTX, data: *mut ::std::os::raw::c_void);
12681}
12682extern "C" {
12683    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_flags"]
12684    pub fn EVP_CIPHER_CTX_flags(ctx: *const EVP_CIPHER_CTX) -> u32;
12685}
12686extern "C" {
12687    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_mode"]
12688    pub fn EVP_CIPHER_CTX_mode(ctx: *const EVP_CIPHER_CTX) -> u32;
12689}
12690extern "C" {
12691    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_ctrl"]
12692    pub fn EVP_CIPHER_CTX_ctrl(
12693        ctx: *mut EVP_CIPHER_CTX,
12694        command: ::std::os::raw::c_int,
12695        arg: ::std::os::raw::c_int,
12696        ptr: *mut ::std::os::raw::c_void,
12697    ) -> ::std::os::raw::c_int;
12698}
12699extern "C" {
12700    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_set_padding"]
12701    pub fn EVP_CIPHER_CTX_set_padding(
12702        ctx: *mut EVP_CIPHER_CTX,
12703        pad: ::std::os::raw::c_int,
12704    ) -> ::std::os::raw::c_int;
12705}
12706extern "C" {
12707    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_set_key_length"]
12708    pub fn EVP_CIPHER_CTX_set_key_length(
12709        ctx: *mut EVP_CIPHER_CTX,
12710        key_len: ::std::os::raw::c_uint,
12711    ) -> ::std::os::raw::c_int;
12712}
12713extern "C" {
12714    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_nid"]
12715    pub fn EVP_CIPHER_nid(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
12716}
12717extern "C" {
12718    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_name"]
12719    pub fn EVP_CIPHER_name(cipher: *const EVP_CIPHER) -> *const ::std::os::raw::c_char;
12720}
12721extern "C" {
12722    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_block_size"]
12723    pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12724}
12725extern "C" {
12726    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_key_length"]
12727    pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12728}
12729extern "C" {
12730    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_iv_length"]
12731    pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> ::std::os::raw::c_uint;
12732}
12733extern "C" {
12734    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_flags"]
12735    pub fn EVP_CIPHER_flags(cipher: *const EVP_CIPHER) -> u32;
12736}
12737extern "C" {
12738    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_mode"]
12739    pub fn EVP_CIPHER_mode(cipher: *const EVP_CIPHER) -> u32;
12740}
12741extern "C" {
12742    #[link_name = "\u{1}aws_lc_0_27_2_EVP_BytesToKey"]
12743    pub fn EVP_BytesToKey(
12744        type_: *const EVP_CIPHER,
12745        md: *const EVP_MD,
12746        salt: *const u8,
12747        data: *const u8,
12748        data_len: usize,
12749        count: ::std::os::raw::c_uint,
12750        key: *mut u8,
12751        iv: *mut u8,
12752    ) -> ::std::os::raw::c_int;
12753}
12754extern "C" {
12755    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cbc_hmac_sha1"]
12756    pub fn EVP_aes_128_cbc_hmac_sha1() -> *const EVP_CIPHER;
12757}
12758extern "C" {
12759    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cbc_hmac_sha1"]
12760    pub fn EVP_aes_256_cbc_hmac_sha1() -> *const EVP_CIPHER;
12761}
12762extern "C" {
12763    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cbc_hmac_sha256"]
12764    pub fn EVP_aes_128_cbc_hmac_sha256() -> *const EVP_CIPHER;
12765}
12766extern "C" {
12767    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cbc_hmac_sha256"]
12768    pub fn EVP_aes_256_cbc_hmac_sha256() -> *const EVP_CIPHER;
12769}
12770extern "C" {
12771    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CipherInit"]
12772    pub fn EVP_CipherInit(
12773        ctx: *mut EVP_CIPHER_CTX,
12774        cipher: *const EVP_CIPHER,
12775        key: *const u8,
12776        iv: *const u8,
12777        enc: ::std::os::raw::c_int,
12778    ) -> ::std::os::raw::c_int;
12779}
12780extern "C" {
12781    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncryptInit"]
12782    pub fn EVP_EncryptInit(
12783        ctx: *mut EVP_CIPHER_CTX,
12784        cipher: *const EVP_CIPHER,
12785        key: *const u8,
12786        iv: *const u8,
12787    ) -> ::std::os::raw::c_int;
12788}
12789extern "C" {
12790    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecryptInit"]
12791    pub fn EVP_DecryptInit(
12792        ctx: *mut EVP_CIPHER_CTX,
12793        cipher: *const EVP_CIPHER,
12794        key: *const u8,
12795        iv: *const u8,
12796    ) -> ::std::os::raw::c_int;
12797}
12798extern "C" {
12799    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CipherFinal"]
12800    pub fn EVP_CipherFinal(
12801        ctx: *mut EVP_CIPHER_CTX,
12802        out: *mut u8,
12803        out_len: *mut ::std::os::raw::c_int,
12804    ) -> ::std::os::raw::c_int;
12805}
12806extern "C" {
12807    #[link_name = "\u{1}aws_lc_0_27_2_EVP_EncryptFinal"]
12808    pub fn EVP_EncryptFinal(
12809        ctx: *mut EVP_CIPHER_CTX,
12810        out: *mut u8,
12811        out_len: *mut ::std::os::raw::c_int,
12812    ) -> ::std::os::raw::c_int;
12813}
12814extern "C" {
12815    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DecryptFinal"]
12816    pub fn EVP_DecryptFinal(
12817        ctx: *mut EVP_CIPHER_CTX,
12818        out: *mut u8,
12819        out_len: *mut ::std::os::raw::c_int,
12820    ) -> ::std::os::raw::c_int;
12821}
12822extern "C" {
12823    #[link_name = "\u{1}aws_lc_0_27_2_EVP_Cipher"]
12824    pub fn EVP_Cipher(
12825        ctx: *mut EVP_CIPHER_CTX,
12826        out: *mut u8,
12827        in_: *const u8,
12828        in_len: usize,
12829    ) -> ::std::os::raw::c_int;
12830}
12831extern "C" {
12832    #[link_name = "\u{1}aws_lc_0_27_2_EVP_get_cipherbyname"]
12833    pub fn EVP_get_cipherbyname(name: *const ::std::os::raw::c_char) -> *const EVP_CIPHER;
12834}
12835extern "C" {
12836    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_gcm"]
12837    pub fn EVP_aes_128_gcm() -> *const EVP_CIPHER;
12838}
12839extern "C" {
12840    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_gcm"]
12841    pub fn EVP_aes_256_gcm() -> *const EVP_CIPHER;
12842}
12843extern "C" {
12844    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_ccm"]
12845    pub fn EVP_aes_128_ccm() -> *const EVP_CIPHER;
12846}
12847extern "C" {
12848    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_ccm"]
12849    pub fn EVP_aes_192_ccm() -> *const EVP_CIPHER;
12850}
12851extern "C" {
12852    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_ccm"]
12853    pub fn EVP_aes_256_ccm() -> *const EVP_CIPHER;
12854}
12855extern "C" {
12856    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_ecb"]
12857    pub fn EVP_aes_192_ecb() -> *const EVP_CIPHER;
12858}
12859extern "C" {
12860    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_cbc"]
12861    pub fn EVP_aes_192_cbc() -> *const EVP_CIPHER;
12862}
12863extern "C" {
12864    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_ctr"]
12865    pub fn EVP_aes_192_ctr() -> *const EVP_CIPHER;
12866}
12867extern "C" {
12868    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_gcm"]
12869    pub fn EVP_aes_192_gcm() -> *const EVP_CIPHER;
12870}
12871extern "C" {
12872    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_ofb"]
12873    pub fn EVP_aes_192_ofb() -> *const EVP_CIPHER;
12874}
12875extern "C" {
12876    #[link_name = "\u{1}aws_lc_0_27_2_EVP_des_ede3_ecb"]
12877    pub fn EVP_des_ede3_ecb() -> *const EVP_CIPHER;
12878}
12879extern "C" {
12880    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cfb128"]
12881    pub fn EVP_aes_128_cfb128() -> *const EVP_CIPHER;
12882}
12883extern "C" {
12884    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cfb"]
12885    pub fn EVP_aes_128_cfb() -> *const EVP_CIPHER;
12886}
12887extern "C" {
12888    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cfb1"]
12889    pub fn EVP_aes_128_cfb1() -> *const EVP_CIPHER;
12890}
12891extern "C" {
12892    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_128_cfb8"]
12893    pub fn EVP_aes_128_cfb8() -> *const EVP_CIPHER;
12894}
12895extern "C" {
12896    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_cfb128"]
12897    pub fn EVP_aes_192_cfb128() -> *const EVP_CIPHER;
12898}
12899extern "C" {
12900    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_cfb"]
12901    pub fn EVP_aes_192_cfb() -> *const EVP_CIPHER;
12902}
12903extern "C" {
12904    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_cfb1"]
12905    pub fn EVP_aes_192_cfb1() -> *const EVP_CIPHER;
12906}
12907extern "C" {
12908    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_192_cfb8"]
12909    pub fn EVP_aes_192_cfb8() -> *const EVP_CIPHER;
12910}
12911extern "C" {
12912    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cfb128"]
12913    pub fn EVP_aes_256_cfb128() -> *const EVP_CIPHER;
12914}
12915extern "C" {
12916    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cfb"]
12917    pub fn EVP_aes_256_cfb() -> *const EVP_CIPHER;
12918}
12919extern "C" {
12920    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cfb1"]
12921    pub fn EVP_aes_256_cfb1() -> *const EVP_CIPHER;
12922}
12923extern "C" {
12924    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aes_256_cfb8"]
12925    pub fn EVP_aes_256_cfb8() -> *const EVP_CIPHER;
12926}
12927extern "C" {
12928    #[link_name = "\u{1}aws_lc_0_27_2_EVP_bf_ecb"]
12929    pub fn EVP_bf_ecb() -> *const EVP_CIPHER;
12930}
12931extern "C" {
12932    #[link_name = "\u{1}aws_lc_0_27_2_EVP_bf_cbc"]
12933    pub fn EVP_bf_cbc() -> *const EVP_CIPHER;
12934}
12935extern "C" {
12936    #[link_name = "\u{1}aws_lc_0_27_2_EVP_bf_cfb"]
12937    pub fn EVP_bf_cfb() -> *const EVP_CIPHER;
12938}
12939extern "C" {
12940    #[link_name = "\u{1}aws_lc_0_27_2_EVP_cast5_ecb"]
12941    pub fn EVP_cast5_ecb() -> *const EVP_CIPHER;
12942}
12943extern "C" {
12944    #[link_name = "\u{1}aws_lc_0_27_2_EVP_cast5_cbc"]
12945    pub fn EVP_cast5_cbc() -> *const EVP_CIPHER;
12946}
12947extern "C" {
12948    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_CTX_set_flags"]
12949    pub fn EVP_CIPHER_CTX_set_flags(ctx: *const EVP_CIPHER_CTX, flags: u32);
12950}
12951extern "C" {
12952    #[link_name = "\u{1}aws_lc_0_27_2_EVP_add_cipher_alias"]
12953    pub fn EVP_add_cipher_alias(
12954        a: *const ::std::os::raw::c_char,
12955        b: *const ::std::os::raw::c_char,
12956    ) -> ::std::os::raw::c_int;
12957}
12958#[repr(C)]
12959#[derive(Debug, Copy, Clone, PartialEq, Eq)]
12960pub struct evp_cipher_ctx_st {
12961    pub cipher: *const EVP_CIPHER,
12962    pub app_data: *mut ::std::os::raw::c_void,
12963    pub cipher_data: *mut ::std::os::raw::c_void,
12964    pub key_len: ::std::os::raw::c_uint,
12965    pub encrypt: ::std::os::raw::c_int,
12966    pub flags: u32,
12967    pub oiv: [u8; 16usize],
12968    pub iv: [u8; 16usize],
12969    pub buf: [u8; 32usize],
12970    pub buf_len: ::std::os::raw::c_int,
12971    pub num: ::std::os::raw::c_uint,
12972    pub final_used: ::std::os::raw::c_int,
12973    pub final_: [u8; 32usize],
12974    pub poisoned: ::std::os::raw::c_int,
12975}
12976#[test]
12977fn bindgen_test_layout_evp_cipher_ctx_st() {
12978    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_ctx_st> = ::std::mem::MaybeUninit::uninit();
12979    let ptr = UNINIT.as_ptr();
12980    assert_eq!(
12981        ::std::mem::size_of::<evp_cipher_ctx_st>(),
12982        152usize,
12983        concat!("Size of: ", stringify!(evp_cipher_ctx_st))
12984    );
12985    assert_eq!(
12986        ::std::mem::align_of::<evp_cipher_ctx_st>(),
12987        8usize,
12988        concat!("Alignment of ", stringify!(evp_cipher_ctx_st))
12989    );
12990    assert_eq!(
12991        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
12992        0usize,
12993        concat!(
12994            "Offset of field: ",
12995            stringify!(evp_cipher_ctx_st),
12996            "::",
12997            stringify!(cipher)
12998        )
12999    );
13000    assert_eq!(
13001        unsafe { ::std::ptr::addr_of!((*ptr).app_data) as usize - ptr as usize },
13002        8usize,
13003        concat!(
13004            "Offset of field: ",
13005            stringify!(evp_cipher_ctx_st),
13006            "::",
13007            stringify!(app_data)
13008        )
13009    );
13010    assert_eq!(
13011        unsafe { ::std::ptr::addr_of!((*ptr).cipher_data) as usize - ptr as usize },
13012        16usize,
13013        concat!(
13014            "Offset of field: ",
13015            stringify!(evp_cipher_ctx_st),
13016            "::",
13017            stringify!(cipher_data)
13018        )
13019    );
13020    assert_eq!(
13021        unsafe { ::std::ptr::addr_of!((*ptr).key_len) as usize - ptr as usize },
13022        24usize,
13023        concat!(
13024            "Offset of field: ",
13025            stringify!(evp_cipher_ctx_st),
13026            "::",
13027            stringify!(key_len)
13028        )
13029    );
13030    assert_eq!(
13031        unsafe { ::std::ptr::addr_of!((*ptr).encrypt) as usize - ptr as usize },
13032        28usize,
13033        concat!(
13034            "Offset of field: ",
13035            stringify!(evp_cipher_ctx_st),
13036            "::",
13037            stringify!(encrypt)
13038        )
13039    );
13040    assert_eq!(
13041        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
13042        32usize,
13043        concat!(
13044            "Offset of field: ",
13045            stringify!(evp_cipher_ctx_st),
13046            "::",
13047            stringify!(flags)
13048        )
13049    );
13050    assert_eq!(
13051        unsafe { ::std::ptr::addr_of!((*ptr).oiv) as usize - ptr as usize },
13052        36usize,
13053        concat!(
13054            "Offset of field: ",
13055            stringify!(evp_cipher_ctx_st),
13056            "::",
13057            stringify!(oiv)
13058        )
13059    );
13060    assert_eq!(
13061        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13062        52usize,
13063        concat!(
13064            "Offset of field: ",
13065            stringify!(evp_cipher_ctx_st),
13066            "::",
13067            stringify!(iv)
13068        )
13069    );
13070    assert_eq!(
13071        unsafe { ::std::ptr::addr_of!((*ptr).buf) as usize - ptr as usize },
13072        68usize,
13073        concat!(
13074            "Offset of field: ",
13075            stringify!(evp_cipher_ctx_st),
13076            "::",
13077            stringify!(buf)
13078        )
13079    );
13080    assert_eq!(
13081        unsafe { ::std::ptr::addr_of!((*ptr).buf_len) as usize - ptr as usize },
13082        100usize,
13083        concat!(
13084            "Offset of field: ",
13085            stringify!(evp_cipher_ctx_st),
13086            "::",
13087            stringify!(buf_len)
13088        )
13089    );
13090    assert_eq!(
13091        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
13092        104usize,
13093        concat!(
13094            "Offset of field: ",
13095            stringify!(evp_cipher_ctx_st),
13096            "::",
13097            stringify!(num)
13098        )
13099    );
13100    assert_eq!(
13101        unsafe { ::std::ptr::addr_of!((*ptr).final_used) as usize - ptr as usize },
13102        108usize,
13103        concat!(
13104            "Offset of field: ",
13105            stringify!(evp_cipher_ctx_st),
13106            "::",
13107            stringify!(final_used)
13108        )
13109    );
13110    assert_eq!(
13111        unsafe { ::std::ptr::addr_of!((*ptr).final_) as usize - ptr as usize },
13112        112usize,
13113        concat!(
13114            "Offset of field: ",
13115            stringify!(evp_cipher_ctx_st),
13116            "::",
13117            stringify!(final_)
13118        )
13119    );
13120    assert_eq!(
13121        unsafe { ::std::ptr::addr_of!((*ptr).poisoned) as usize - ptr as usize },
13122        144usize,
13123        concat!(
13124            "Offset of field: ",
13125            stringify!(evp_cipher_ctx_st),
13126            "::",
13127            stringify!(poisoned)
13128        )
13129    );
13130}
13131impl Default for evp_cipher_ctx_st {
13132    fn default() -> Self {
13133        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13134        unsafe {
13135            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13136            s.assume_init()
13137        }
13138    }
13139}
13140#[repr(C)]
13141#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13142pub struct evp_cipher_info_st {
13143    pub cipher: *const EVP_CIPHER,
13144    pub iv: [::std::os::raw::c_uchar; 16usize],
13145}
13146#[test]
13147fn bindgen_test_layout_evp_cipher_info_st() {
13148    const UNINIT: ::std::mem::MaybeUninit<evp_cipher_info_st> = ::std::mem::MaybeUninit::uninit();
13149    let ptr = UNINIT.as_ptr();
13150    assert_eq!(
13151        ::std::mem::size_of::<evp_cipher_info_st>(),
13152        24usize,
13153        concat!("Size of: ", stringify!(evp_cipher_info_st))
13154    );
13155    assert_eq!(
13156        ::std::mem::align_of::<evp_cipher_info_st>(),
13157        8usize,
13158        concat!("Alignment of ", stringify!(evp_cipher_info_st))
13159    );
13160    assert_eq!(
13161        unsafe { ::std::ptr::addr_of!((*ptr).cipher) as usize - ptr as usize },
13162        0usize,
13163        concat!(
13164            "Offset of field: ",
13165            stringify!(evp_cipher_info_st),
13166            "::",
13167            stringify!(cipher)
13168        )
13169    );
13170    assert_eq!(
13171        unsafe { ::std::ptr::addr_of!((*ptr).iv) as usize - ptr as usize },
13172        8usize,
13173        concat!(
13174            "Offset of field: ",
13175            stringify!(evp_cipher_info_st),
13176            "::",
13177            stringify!(iv)
13178        )
13179    );
13180}
13181impl Default for evp_cipher_info_st {
13182    fn default() -> Self {
13183        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13184        unsafe {
13185            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13186            s.assume_init()
13187        }
13188    }
13189}
13190pub type EVP_CIPHER_INFO = evp_cipher_info_st;
13191extern "C" {
13192    #[link_name = "\u{1}aws_lc_0_27_2_AES_CMAC"]
13193    pub fn AES_CMAC(
13194        out: *mut u8,
13195        key: *const u8,
13196        key_len: usize,
13197        in_: *const u8,
13198        in_len: usize,
13199    ) -> ::std::os::raw::c_int;
13200}
13201extern "C" {
13202    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_CTX_new"]
13203    pub fn CMAC_CTX_new() -> *mut CMAC_CTX;
13204}
13205extern "C" {
13206    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_CTX_free"]
13207    pub fn CMAC_CTX_free(ctx: *mut CMAC_CTX);
13208}
13209extern "C" {
13210    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_CTX_copy"]
13211    pub fn CMAC_CTX_copy(out: *mut CMAC_CTX, in_: *const CMAC_CTX) -> ::std::os::raw::c_int;
13212}
13213extern "C" {
13214    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_Init"]
13215    pub fn CMAC_Init(
13216        ctx: *mut CMAC_CTX,
13217        key: *const ::std::os::raw::c_void,
13218        key_len: usize,
13219        cipher: *const EVP_CIPHER,
13220        engine: *mut ENGINE,
13221    ) -> ::std::os::raw::c_int;
13222}
13223extern "C" {
13224    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_Reset"]
13225    pub fn CMAC_Reset(ctx: *mut CMAC_CTX) -> ::std::os::raw::c_int;
13226}
13227extern "C" {
13228    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_Update"]
13229    pub fn CMAC_Update(ctx: *mut CMAC_CTX, in_: *const u8, in_len: usize) -> ::std::os::raw::c_int;
13230}
13231extern "C" {
13232    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_Final"]
13233    pub fn CMAC_Final(
13234        ctx: *mut CMAC_CTX,
13235        out: *mut u8,
13236        out_len: *mut usize,
13237    ) -> ::std::os::raw::c_int;
13238}
13239extern "C" {
13240    #[link_name = "\u{1}aws_lc_0_27_2_CMAC_CTX_get0_cipher_ctx"]
13241    pub fn CMAC_CTX_get0_cipher_ctx(ctx: *mut CMAC_CTX) -> *mut EVP_CIPHER_CTX;
13242}
13243#[repr(C)]
13244#[derive(Debug, Copy, Clone)]
13245pub struct lhash_st {
13246    _unused: [u8; 0],
13247}
13248pub type _LHASH = lhash_st;
13249extern "C" {
13250    #[link_name = "\u{1}aws_lc_0_27_2_lh_doall_arg"]
13251    pub fn lh_doall_arg(
13252        lh: *mut _LHASH,
13253        func: ::std::option::Option<
13254            unsafe extern "C" fn(
13255                arg1: *mut ::std::os::raw::c_void,
13256                arg2: *mut ::std::os::raw::c_void,
13257            ),
13258        >,
13259        arg: *mut ::std::os::raw::c_void,
13260    );
13261}
13262#[repr(C)]
13263#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13264pub struct conf_value_st {
13265    pub section: *mut ::std::os::raw::c_char,
13266    pub name: *mut ::std::os::raw::c_char,
13267    pub value: *mut ::std::os::raw::c_char,
13268}
13269#[test]
13270fn bindgen_test_layout_conf_value_st() {
13271    const UNINIT: ::std::mem::MaybeUninit<conf_value_st> = ::std::mem::MaybeUninit::uninit();
13272    let ptr = UNINIT.as_ptr();
13273    assert_eq!(
13274        ::std::mem::size_of::<conf_value_st>(),
13275        24usize,
13276        concat!("Size of: ", stringify!(conf_value_st))
13277    );
13278    assert_eq!(
13279        ::std::mem::align_of::<conf_value_st>(),
13280        8usize,
13281        concat!("Alignment of ", stringify!(conf_value_st))
13282    );
13283    assert_eq!(
13284        unsafe { ::std::ptr::addr_of!((*ptr).section) as usize - ptr as usize },
13285        0usize,
13286        concat!(
13287            "Offset of field: ",
13288            stringify!(conf_value_st),
13289            "::",
13290            stringify!(section)
13291        )
13292    );
13293    assert_eq!(
13294        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
13295        8usize,
13296        concat!(
13297            "Offset of field: ",
13298            stringify!(conf_value_st),
13299            "::",
13300            stringify!(name)
13301        )
13302    );
13303    assert_eq!(
13304        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
13305        16usize,
13306        concat!(
13307            "Offset of field: ",
13308            stringify!(conf_value_st),
13309            "::",
13310            stringify!(value)
13311        )
13312    );
13313}
13314impl Default for conf_value_st {
13315    fn default() -> Self {
13316        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13317        unsafe {
13318            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13319            s.assume_init()
13320        }
13321    }
13322}
13323#[repr(C)]
13324#[derive(Debug, Copy, Clone)]
13325pub struct stack_st_CONF_VALUE {
13326    _unused: [u8; 0],
13327}
13328pub type sk_CONF_VALUE_free_func =
13329    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CONF_VALUE)>;
13330pub type sk_CONF_VALUE_copy_func =
13331    ::std::option::Option<unsafe extern "C" fn(arg1: *const CONF_VALUE) -> *mut CONF_VALUE>;
13332pub type sk_CONF_VALUE_cmp_func = ::std::option::Option<
13333    unsafe extern "C" fn(
13334        arg1: *const *const CONF_VALUE,
13335        arg2: *const *const CONF_VALUE,
13336    ) -> ::std::os::raw::c_int,
13337>;
13338pub type sk_CONF_VALUE_delete_if_func = ::std::option::Option<
13339    unsafe extern "C" fn(
13340        arg1: *mut CONF_VALUE,
13341        arg2: *mut ::std::os::raw::c_void,
13342    ) -> ::std::os::raw::c_int,
13343>;
13344#[repr(C)]
13345#[derive(Debug, Copy, Clone)]
13346pub struct lhash_st_CONF_VALUE {
13347    _unused: [u8; 0],
13348}
13349#[repr(C)]
13350#[derive(Debug, Copy, Clone, PartialEq, Eq)]
13351pub struct conf_st {
13352    pub data: *mut lhash_st_CONF_VALUE,
13353}
13354#[test]
13355fn bindgen_test_layout_conf_st() {
13356    const UNINIT: ::std::mem::MaybeUninit<conf_st> = ::std::mem::MaybeUninit::uninit();
13357    let ptr = UNINIT.as_ptr();
13358    assert_eq!(
13359        ::std::mem::size_of::<conf_st>(),
13360        8usize,
13361        concat!("Size of: ", stringify!(conf_st))
13362    );
13363    assert_eq!(
13364        ::std::mem::align_of::<conf_st>(),
13365        8usize,
13366        concat!("Alignment of ", stringify!(conf_st))
13367    );
13368    assert_eq!(
13369        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
13370        0usize,
13371        concat!(
13372            "Offset of field: ",
13373            stringify!(conf_st),
13374            "::",
13375            stringify!(data)
13376        )
13377    );
13378}
13379impl Default for conf_st {
13380    fn default() -> Self {
13381        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
13382        unsafe {
13383            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
13384            s.assume_init()
13385        }
13386    }
13387}
13388extern "C" {
13389    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_new"]
13390    pub fn NCONF_new(method: *mut ::std::os::raw::c_void) -> *mut CONF;
13391}
13392extern "C" {
13393    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_free"]
13394    pub fn NCONF_free(conf: *mut CONF);
13395}
13396extern "C" {
13397    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_load"]
13398    pub fn NCONF_load(
13399        conf: *mut CONF,
13400        filename: *const ::std::os::raw::c_char,
13401        out_error_line: *mut ::std::os::raw::c_long,
13402    ) -> ::std::os::raw::c_int;
13403}
13404extern "C" {
13405    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_load_bio"]
13406    pub fn NCONF_load_bio(
13407        conf: *mut CONF,
13408        bio: *mut BIO,
13409        out_error_line: *mut ::std::os::raw::c_long,
13410    ) -> ::std::os::raw::c_int;
13411}
13412extern "C" {
13413    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_get_section"]
13414    pub fn NCONF_get_section(
13415        conf: *const CONF,
13416        section: *const ::std::os::raw::c_char,
13417    ) -> *const stack_st_CONF_VALUE;
13418}
13419extern "C" {
13420    #[link_name = "\u{1}aws_lc_0_27_2_NCONF_get_string"]
13421    pub fn NCONF_get_string(
13422        conf: *const CONF,
13423        section: *const ::std::os::raw::c_char,
13424        name: *const ::std::os::raw::c_char,
13425    ) -> *const ::std::os::raw::c_char;
13426}
13427extern "C" {
13428    #[link_name = "\u{1}aws_lc_0_27_2_CONF_modules_load_file"]
13429    pub fn CONF_modules_load_file(
13430        filename: *const ::std::os::raw::c_char,
13431        appname: *const ::std::os::raw::c_char,
13432        flags: ::std::os::raw::c_ulong,
13433    ) -> ::std::os::raw::c_int;
13434}
13435extern "C" {
13436    #[link_name = "\u{1}aws_lc_0_27_2_CONF_get1_default_config_file"]
13437    pub fn CONF_get1_default_config_file() -> *mut ::std::os::raw::c_char;
13438}
13439extern "C" {
13440    #[link_name = "\u{1}aws_lc_0_27_2_CONF_modules_free"]
13441    pub fn CONF_modules_free();
13442}
13443extern "C" {
13444    #[link_name = "\u{1}aws_lc_0_27_2_CONF_modules_unload"]
13445    pub fn CONF_modules_unload(all: ::std::os::raw::c_int);
13446}
13447extern "C" {
13448    #[link_name = "\u{1}aws_lc_0_27_2_CONF_modules_finish"]
13449    pub fn CONF_modules_finish();
13450}
13451extern "C" {
13452    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_config"]
13453    pub fn OPENSSL_config(config_name: *const ::std::os::raw::c_char);
13454}
13455extern "C" {
13456    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_no_config"]
13457    pub fn OPENSSL_no_config();
13458}
13459extern "C" {
13460    #[link_name = "\u{1}aws_lc_0_27_2_CTR_DRBG_new"]
13461    pub fn CTR_DRBG_new(
13462        entropy: *const u8,
13463        personalization: *const u8,
13464        personalization_len: usize,
13465    ) -> *mut CTR_DRBG_STATE;
13466}
13467extern "C" {
13468    #[link_name = "\u{1}aws_lc_0_27_2_CTR_DRBG_free"]
13469    pub fn CTR_DRBG_free(state: *mut CTR_DRBG_STATE);
13470}
13471extern "C" {
13472    #[link_name = "\u{1}aws_lc_0_27_2_CTR_DRBG_reseed"]
13473    pub fn CTR_DRBG_reseed(
13474        drbg: *mut CTR_DRBG_STATE,
13475        entropy: *const u8,
13476        additional_data: *const u8,
13477        additional_data_len: usize,
13478    ) -> ::std::os::raw::c_int;
13479}
13480extern "C" {
13481    #[link_name = "\u{1}aws_lc_0_27_2_CTR_DRBG_generate"]
13482    pub fn CTR_DRBG_generate(
13483        drbg: *mut CTR_DRBG_STATE,
13484        out: *mut u8,
13485        out_len: usize,
13486        additional_data: *const u8,
13487        additional_data_len: usize,
13488    ) -> ::std::os::raw::c_int;
13489}
13490extern "C" {
13491    #[link_name = "\u{1}aws_lc_0_27_2_CTR_DRBG_clear"]
13492    pub fn CTR_DRBG_clear(drbg: *mut CTR_DRBG_STATE);
13493}
13494extern "C" {
13495    #[link_name = "\u{1}aws_lc_0_27_2_X25519_keypair"]
13496    pub fn X25519_keypair(out_public_value: *mut u8, out_private_key: *mut u8);
13497}
13498extern "C" {
13499    #[link_name = "\u{1}aws_lc_0_27_2_X25519"]
13500    pub fn X25519(
13501        out_shared_key: *mut u8,
13502        private_key: *const u8,
13503        peer_public_value: *const u8,
13504    ) -> ::std::os::raw::c_int;
13505}
13506extern "C" {
13507    #[link_name = "\u{1}aws_lc_0_27_2_X25519_public_from_private"]
13508    pub fn X25519_public_from_private(out_public_value: *mut u8, private_key: *const u8);
13509}
13510extern "C" {
13511    #[link_name = "\u{1}aws_lc_0_27_2_ED25519_keypair"]
13512    pub fn ED25519_keypair(out_public_key: *mut u8, out_private_key: *mut u8);
13513}
13514extern "C" {
13515    #[link_name = "\u{1}aws_lc_0_27_2_ED25519_sign"]
13516    pub fn ED25519_sign(
13517        out_sig: *mut u8,
13518        message: *const u8,
13519        message_len: usize,
13520        private_key: *const u8,
13521    ) -> ::std::os::raw::c_int;
13522}
13523extern "C" {
13524    #[link_name = "\u{1}aws_lc_0_27_2_ED25519_verify"]
13525    pub fn ED25519_verify(
13526        message: *const u8,
13527        message_len: usize,
13528        signature: *const u8,
13529        public_key: *const u8,
13530    ) -> ::std::os::raw::c_int;
13531}
13532extern "C" {
13533    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ctx_sign"]
13534    pub fn ED25519ctx_sign(
13535        out_sig: *mut u8,
13536        message: *const u8,
13537        message_len: usize,
13538        private_key: *const u8,
13539        context: *const u8,
13540        context_len: usize,
13541    ) -> ::std::os::raw::c_int;
13542}
13543extern "C" {
13544    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ctx_verify"]
13545    pub fn ED25519ctx_verify(
13546        message: *const u8,
13547        message_len: usize,
13548        signature: *const u8,
13549        public_key: *const u8,
13550        context: *const u8,
13551        context_len: usize,
13552    ) -> ::std::os::raw::c_int;
13553}
13554extern "C" {
13555    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ph_sign"]
13556    pub fn ED25519ph_sign(
13557        out_sig: *mut u8,
13558        message: *const u8,
13559        message_len: usize,
13560        private_key: *const u8,
13561        context: *const u8,
13562        context_len: usize,
13563    ) -> ::std::os::raw::c_int;
13564}
13565extern "C" {
13566    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ph_verify"]
13567    pub fn ED25519ph_verify(
13568        message: *const u8,
13569        message_len: usize,
13570        signature: *const u8,
13571        public_key: *const u8,
13572        context: *const u8,
13573        context_len: usize,
13574    ) -> ::std::os::raw::c_int;
13575}
13576extern "C" {
13577    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ph_sign_digest"]
13578    pub fn ED25519ph_sign_digest(
13579        out_sig: *mut u8,
13580        digest: *const u8,
13581        private_key: *const u8,
13582        context: *const u8,
13583        context_len: usize,
13584    ) -> ::std::os::raw::c_int;
13585}
13586extern "C" {
13587    #[link_name = "\u{1}aws_lc_0_27_2_ED25519ph_verify_digest"]
13588    pub fn ED25519ph_verify_digest(
13589        digest: *const u8,
13590        signature: *const u8,
13591        public_key: *const u8,
13592        context: *const u8,
13593        context_len: usize,
13594    ) -> ::std::os::raw::c_int;
13595}
13596extern "C" {
13597    #[link_name = "\u{1}aws_lc_0_27_2_ED25519_keypair_from_seed"]
13598    pub fn ED25519_keypair_from_seed(
13599        out_public_key: *mut u8,
13600        out_private_key: *mut u8,
13601        seed: *const u8,
13602    );
13603}
13604pub const spake2_role_t_spake2_role_alice: spake2_role_t = 0;
13605pub const spake2_role_t_spake2_role_bob: spake2_role_t = 1;
13606pub type spake2_role_t = ::std::os::raw::c_uint;
13607extern "C" {
13608    #[link_name = "\u{1}aws_lc_0_27_2_SPAKE2_CTX_new"]
13609    pub fn SPAKE2_CTX_new(
13610        my_role: spake2_role_t,
13611        my_name: *const u8,
13612        my_name_len: usize,
13613        their_name: *const u8,
13614        their_name_len: usize,
13615    ) -> *mut SPAKE2_CTX;
13616}
13617extern "C" {
13618    #[link_name = "\u{1}aws_lc_0_27_2_SPAKE2_CTX_free"]
13619    pub fn SPAKE2_CTX_free(ctx: *mut SPAKE2_CTX);
13620}
13621extern "C" {
13622    #[link_name = "\u{1}aws_lc_0_27_2_SPAKE2_generate_msg"]
13623    pub fn SPAKE2_generate_msg(
13624        ctx: *mut SPAKE2_CTX,
13625        out: *mut u8,
13626        out_len: *mut usize,
13627        max_out_len: usize,
13628        password: *const u8,
13629        password_len: usize,
13630    ) -> ::std::os::raw::c_int;
13631}
13632extern "C" {
13633    #[link_name = "\u{1}aws_lc_0_27_2_SPAKE2_process_msg"]
13634    pub fn SPAKE2_process_msg(
13635        ctx: *mut SPAKE2_CTX,
13636        out_key: *mut u8,
13637        out_key_len: *mut usize,
13638        max_out_key_len: usize,
13639        their_msg: *const u8,
13640        their_msg_len: usize,
13641    ) -> ::std::os::raw::c_int;
13642}
13643#[repr(C)]
13644#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13645pub struct DES_cblock_st {
13646    pub bytes: [u8; 8usize],
13647}
13648#[test]
13649fn bindgen_test_layout_DES_cblock_st() {
13650    const UNINIT: ::std::mem::MaybeUninit<DES_cblock_st> = ::std::mem::MaybeUninit::uninit();
13651    let ptr = UNINIT.as_ptr();
13652    assert_eq!(
13653        ::std::mem::size_of::<DES_cblock_st>(),
13654        8usize,
13655        concat!("Size of: ", stringify!(DES_cblock_st))
13656    );
13657    assert_eq!(
13658        ::std::mem::align_of::<DES_cblock_st>(),
13659        1usize,
13660        concat!("Alignment of ", stringify!(DES_cblock_st))
13661    );
13662    assert_eq!(
13663        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
13664        0usize,
13665        concat!(
13666            "Offset of field: ",
13667            stringify!(DES_cblock_st),
13668            "::",
13669            stringify!(bytes)
13670        )
13671    );
13672}
13673pub type DES_cblock = DES_cblock_st;
13674pub type const_DES_cblock = DES_cblock_st;
13675#[repr(C)]
13676#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
13677pub struct DES_ks {
13678    pub subkeys: [[u32; 2usize]; 16usize],
13679}
13680#[test]
13681fn bindgen_test_layout_DES_ks() {
13682    const UNINIT: ::std::mem::MaybeUninit<DES_ks> = ::std::mem::MaybeUninit::uninit();
13683    let ptr = UNINIT.as_ptr();
13684    assert_eq!(
13685        ::std::mem::size_of::<DES_ks>(),
13686        128usize,
13687        concat!("Size of: ", stringify!(DES_ks))
13688    );
13689    assert_eq!(
13690        ::std::mem::align_of::<DES_ks>(),
13691        4usize,
13692        concat!("Alignment of ", stringify!(DES_ks))
13693    );
13694    assert_eq!(
13695        unsafe { ::std::ptr::addr_of!((*ptr).subkeys) as usize - ptr as usize },
13696        0usize,
13697        concat!(
13698            "Offset of field: ",
13699            stringify!(DES_ks),
13700            "::",
13701            stringify!(subkeys)
13702        )
13703    );
13704}
13705pub type DES_key_schedule = DES_ks;
13706extern "C" {
13707    #[link_name = "\u{1}aws_lc_0_27_2_DES_is_weak_key"]
13708    pub fn DES_is_weak_key(key: *const DES_cblock) -> ::std::os::raw::c_int;
13709}
13710extern "C" {
13711    #[link_name = "\u{1}aws_lc_0_27_2_DES_set_key"]
13712    pub fn DES_set_key(
13713        key: *const DES_cblock,
13714        schedule: *mut DES_key_schedule,
13715    ) -> ::std::os::raw::c_int;
13716}
13717extern "C" {
13718    #[link_name = "\u{1}aws_lc_0_27_2_DES_set_key_unchecked"]
13719    pub fn DES_set_key_unchecked(key: *const DES_cblock, schedule: *mut DES_key_schedule);
13720}
13721extern "C" {
13722    #[link_name = "\u{1}aws_lc_0_27_2_DES_key_sched"]
13723    pub fn DES_key_sched(
13724        key: *const DES_cblock,
13725        schedule: *mut DES_key_schedule,
13726    ) -> ::std::os::raw::c_int;
13727}
13728extern "C" {
13729    #[link_name = "\u{1}aws_lc_0_27_2_DES_set_odd_parity"]
13730    pub fn DES_set_odd_parity(key: *mut DES_cblock);
13731}
13732extern "C" {
13733    #[link_name = "\u{1}aws_lc_0_27_2_DES_ecb_encrypt"]
13734    pub fn DES_ecb_encrypt(
13735        in_: *const DES_cblock,
13736        out: *mut DES_cblock,
13737        schedule: *const DES_key_schedule,
13738        is_encrypt: ::std::os::raw::c_int,
13739    );
13740}
13741extern "C" {
13742    #[link_name = "\u{1}aws_lc_0_27_2_DES_ncbc_encrypt"]
13743    pub fn DES_ncbc_encrypt(
13744        in_: *const u8,
13745        out: *mut u8,
13746        len: usize,
13747        schedule: *const DES_key_schedule,
13748        ivec: *mut DES_cblock,
13749        enc: ::std::os::raw::c_int,
13750    );
13751}
13752extern "C" {
13753    #[link_name = "\u{1}aws_lc_0_27_2_DES_ecb3_encrypt"]
13754    pub fn DES_ecb3_encrypt(
13755        input: *const DES_cblock,
13756        output: *mut DES_cblock,
13757        ks1: *const DES_key_schedule,
13758        ks2: *const DES_key_schedule,
13759        ks3: *const DES_key_schedule,
13760        enc: ::std::os::raw::c_int,
13761    );
13762}
13763extern "C" {
13764    #[link_name = "\u{1}aws_lc_0_27_2_DES_ede3_cbc_encrypt"]
13765    pub fn DES_ede3_cbc_encrypt(
13766        in_: *const u8,
13767        out: *mut u8,
13768        len: usize,
13769        ks1: *const DES_key_schedule,
13770        ks2: *const DES_key_schedule,
13771        ks3: *const DES_key_schedule,
13772        ivec: *mut DES_cblock,
13773        enc: ::std::os::raw::c_int,
13774    );
13775}
13776extern "C" {
13777    #[link_name = "\u{1}aws_lc_0_27_2_DES_ede2_cbc_encrypt"]
13778    pub fn DES_ede2_cbc_encrypt(
13779        in_: *const u8,
13780        out: *mut u8,
13781        len: usize,
13782        ks1: *const DES_key_schedule,
13783        ks2: *const DES_key_schedule,
13784        ivec: *mut DES_cblock,
13785        enc: ::std::os::raw::c_int,
13786    );
13787}
13788extern "C" {
13789    #[link_name = "\u{1}aws_lc_0_27_2_DH_new"]
13790    pub fn DH_new() -> *mut DH;
13791}
13792extern "C" {
13793    #[link_name = "\u{1}aws_lc_0_27_2_DH_new_by_nid"]
13794    pub fn DH_new_by_nid(nid: ::std::os::raw::c_int) -> *mut DH;
13795}
13796extern "C" {
13797    #[link_name = "\u{1}aws_lc_0_27_2_DH_free"]
13798    pub fn DH_free(dh: *mut DH);
13799}
13800extern "C" {
13801    #[link_name = "\u{1}aws_lc_0_27_2_DH_up_ref"]
13802    pub fn DH_up_ref(dh: *mut DH) -> ::std::os::raw::c_int;
13803}
13804extern "C" {
13805    #[link_name = "\u{1}aws_lc_0_27_2_DH_bits"]
13806    pub fn DH_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13807}
13808extern "C" {
13809    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_pub_key"]
13810    pub fn DH_get0_pub_key(dh: *const DH) -> *const BIGNUM;
13811}
13812extern "C" {
13813    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_priv_key"]
13814    pub fn DH_get0_priv_key(dh: *const DH) -> *const BIGNUM;
13815}
13816extern "C" {
13817    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_p"]
13818    pub fn DH_get0_p(dh: *const DH) -> *const BIGNUM;
13819}
13820extern "C" {
13821    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_q"]
13822    pub fn DH_get0_q(dh: *const DH) -> *const BIGNUM;
13823}
13824extern "C" {
13825    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_g"]
13826    pub fn DH_get0_g(dh: *const DH) -> *const BIGNUM;
13827}
13828extern "C" {
13829    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_key"]
13830    pub fn DH_get0_key(
13831        dh: *const DH,
13832        out_pub_key: *mut *const BIGNUM,
13833        out_priv_key: *mut *const BIGNUM,
13834    );
13835}
13836extern "C" {
13837    #[link_name = "\u{1}aws_lc_0_27_2_DH_set0_key"]
13838    pub fn DH_set0_key(
13839        dh: *mut DH,
13840        pub_key: *mut BIGNUM,
13841        priv_key: *mut BIGNUM,
13842    ) -> ::std::os::raw::c_int;
13843}
13844extern "C" {
13845    #[link_name = "\u{1}aws_lc_0_27_2_DH_get0_pqg"]
13846    pub fn DH_get0_pqg(
13847        dh: *const DH,
13848        out_p: *mut *const BIGNUM,
13849        out_q: *mut *const BIGNUM,
13850        out_g: *mut *const BIGNUM,
13851    );
13852}
13853extern "C" {
13854    #[link_name = "\u{1}aws_lc_0_27_2_DH_set0_pqg"]
13855    pub fn DH_set0_pqg(
13856        dh: *mut DH,
13857        p: *mut BIGNUM,
13858        q: *mut BIGNUM,
13859        g: *mut BIGNUM,
13860    ) -> ::std::os::raw::c_int;
13861}
13862extern "C" {
13863    #[link_name = "\u{1}aws_lc_0_27_2_DH_set_length"]
13864    pub fn DH_set_length(dh: *mut DH, priv_length: ::std::os::raw::c_uint)
13865        -> ::std::os::raw::c_int;
13866}
13867extern "C" {
13868    #[link_name = "\u{1}aws_lc_0_27_2_DH_get_rfc7919_2048"]
13869    pub fn DH_get_rfc7919_2048() -> *mut DH;
13870}
13871extern "C" {
13872    #[link_name = "\u{1}aws_lc_0_27_2_DH_get_rfc7919_4096"]
13873    pub fn DH_get_rfc7919_4096() -> *mut DH;
13874}
13875extern "C" {
13876    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_1536"]
13877    pub fn BN_get_rfc3526_prime_1536(ret: *mut BIGNUM) -> *mut BIGNUM;
13878}
13879extern "C" {
13880    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_2048"]
13881    pub fn BN_get_rfc3526_prime_2048(ret: *mut BIGNUM) -> *mut BIGNUM;
13882}
13883extern "C" {
13884    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_3072"]
13885    pub fn BN_get_rfc3526_prime_3072(ret: *mut BIGNUM) -> *mut BIGNUM;
13886}
13887extern "C" {
13888    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_4096"]
13889    pub fn BN_get_rfc3526_prime_4096(ret: *mut BIGNUM) -> *mut BIGNUM;
13890}
13891extern "C" {
13892    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_6144"]
13893    pub fn BN_get_rfc3526_prime_6144(ret: *mut BIGNUM) -> *mut BIGNUM;
13894}
13895extern "C" {
13896    #[link_name = "\u{1}aws_lc_0_27_2_BN_get_rfc3526_prime_8192"]
13897    pub fn BN_get_rfc3526_prime_8192(ret: *mut BIGNUM) -> *mut BIGNUM;
13898}
13899extern "C" {
13900    #[link_name = "\u{1}aws_lc_0_27_2_DH_generate_parameters_ex"]
13901    pub fn DH_generate_parameters_ex(
13902        dh: *mut DH,
13903        prime_bits: ::std::os::raw::c_int,
13904        generator: ::std::os::raw::c_int,
13905        cb: *mut BN_GENCB,
13906    ) -> ::std::os::raw::c_int;
13907}
13908extern "C" {
13909    #[link_name = "\u{1}aws_lc_0_27_2_DH_generate_key"]
13910    pub fn DH_generate_key(dh: *mut DH) -> ::std::os::raw::c_int;
13911}
13912extern "C" {
13913    #[link_name = "\u{1}aws_lc_0_27_2_DH_compute_key_padded"]
13914    pub fn DH_compute_key_padded(
13915        out: *mut u8,
13916        peers_key: *const BIGNUM,
13917        dh: *mut DH,
13918    ) -> ::std::os::raw::c_int;
13919}
13920extern "C" {
13921    #[link_name = "\u{1}aws_lc_0_27_2_DH_compute_key_hashed"]
13922    pub fn DH_compute_key_hashed(
13923        dh: *mut DH,
13924        out: *mut u8,
13925        out_len: *mut usize,
13926        max_out_len: usize,
13927        peers_key: *const BIGNUM,
13928        digest: *const EVP_MD,
13929    ) -> ::std::os::raw::c_int;
13930}
13931extern "C" {
13932    #[link_name = "\u{1}aws_lc_0_27_2_DH_size"]
13933    pub fn DH_size(dh: *const DH) -> ::std::os::raw::c_int;
13934}
13935extern "C" {
13936    #[link_name = "\u{1}aws_lc_0_27_2_DH_num_bits"]
13937    pub fn DH_num_bits(dh: *const DH) -> ::std::os::raw::c_uint;
13938}
13939extern "C" {
13940    #[link_name = "\u{1}aws_lc_0_27_2_DH_check"]
13941    pub fn DH_check(dh: *const DH, out_flags: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int;
13942}
13943extern "C" {
13944    #[link_name = "\u{1}aws_lc_0_27_2_DH_check_pub_key"]
13945    pub fn DH_check_pub_key(
13946        dh: *const DH,
13947        pub_key: *const BIGNUM,
13948        out_flags: *mut ::std::os::raw::c_int,
13949    ) -> ::std::os::raw::c_int;
13950}
13951extern "C" {
13952    #[link_name = "\u{1}aws_lc_0_27_2_DHparams_dup"]
13953    pub fn DHparams_dup(dh: *const DH) -> *mut DH;
13954}
13955extern "C" {
13956    #[link_name = "\u{1}aws_lc_0_27_2_DH_parse_parameters"]
13957    pub fn DH_parse_parameters(cbs: *mut CBS) -> *mut DH;
13958}
13959extern "C" {
13960    #[link_name = "\u{1}aws_lc_0_27_2_DH_marshal_parameters"]
13961    pub fn DH_marshal_parameters(cbb: *mut CBB, dh: *const DH) -> ::std::os::raw::c_int;
13962}
13963extern "C" {
13964    #[link_name = "\u{1}aws_lc_0_27_2_DH_generate_parameters"]
13965    pub fn DH_generate_parameters(
13966        prime_len: ::std::os::raw::c_int,
13967        generator: ::std::os::raw::c_int,
13968        callback: ::std::option::Option<
13969            unsafe extern "C" fn(
13970                arg1: ::std::os::raw::c_int,
13971                arg2: ::std::os::raw::c_int,
13972                arg3: *mut ::std::os::raw::c_void,
13973            ),
13974        >,
13975        cb_arg: *mut ::std::os::raw::c_void,
13976    ) -> *mut DH;
13977}
13978extern "C" {
13979    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DHparams"]
13980    pub fn d2i_DHparams(
13981        ret: *mut *mut DH,
13982        inp: *mut *const ::std::os::raw::c_uchar,
13983        len: ::std::os::raw::c_long,
13984    ) -> *mut DH;
13985}
13986extern "C" {
13987    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DHparams"]
13988    pub fn i2d_DHparams(
13989        in_: *const DH,
13990        outp: *mut *mut ::std::os::raw::c_uchar,
13991    ) -> ::std::os::raw::c_int;
13992}
13993extern "C" {
13994    #[link_name = "\u{1}aws_lc_0_27_2_DH_compute_key"]
13995    pub fn DH_compute_key(
13996        out: *mut u8,
13997        peers_key: *const BIGNUM,
13998        dh: *mut DH,
13999    ) -> ::std::os::raw::c_int;
14000}
14001extern "C" {
14002    #[link_name = "\u{1}aws_lc_0_27_2_DH_get_2048_256"]
14003    pub fn DH_get_2048_256() -> *mut DH;
14004}
14005extern "C" {
14006    #[link_name = "\u{1}aws_lc_0_27_2_DH_clear_flags"]
14007    pub fn DH_clear_flags(dh: *mut DH, flags: ::std::os::raw::c_int);
14008}
14009extern "C" {
14010    #[link_name = "\u{1}aws_lc_0_27_2_EVP_md4"]
14011    pub fn EVP_md4() -> *const EVP_MD;
14012}
14013extern "C" {
14014    #[link_name = "\u{1}aws_lc_0_27_2_EVP_md5"]
14015    pub fn EVP_md5() -> *const EVP_MD;
14016}
14017extern "C" {
14018    #[link_name = "\u{1}aws_lc_0_27_2_EVP_ripemd160"]
14019    pub fn EVP_ripemd160() -> *const EVP_MD;
14020}
14021extern "C" {
14022    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha1"]
14023    pub fn EVP_sha1() -> *const EVP_MD;
14024}
14025extern "C" {
14026    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha224"]
14027    pub fn EVP_sha224() -> *const EVP_MD;
14028}
14029extern "C" {
14030    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha256"]
14031    pub fn EVP_sha256() -> *const EVP_MD;
14032}
14033extern "C" {
14034    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha384"]
14035    pub fn EVP_sha384() -> *const EVP_MD;
14036}
14037extern "C" {
14038    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha512"]
14039    pub fn EVP_sha512() -> *const EVP_MD;
14040}
14041extern "C" {
14042    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha512_224"]
14043    pub fn EVP_sha512_224() -> *const EVP_MD;
14044}
14045extern "C" {
14046    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha512_256"]
14047    pub fn EVP_sha512_256() -> *const EVP_MD;
14048}
14049extern "C" {
14050    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha3_224"]
14051    pub fn EVP_sha3_224() -> *const EVP_MD;
14052}
14053extern "C" {
14054    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha3_256"]
14055    pub fn EVP_sha3_256() -> *const EVP_MD;
14056}
14057extern "C" {
14058    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha3_384"]
14059    pub fn EVP_sha3_384() -> *const EVP_MD;
14060}
14061extern "C" {
14062    #[link_name = "\u{1}aws_lc_0_27_2_EVP_sha3_512"]
14063    pub fn EVP_sha3_512() -> *const EVP_MD;
14064}
14065extern "C" {
14066    #[link_name = "\u{1}aws_lc_0_27_2_EVP_shake128"]
14067    pub fn EVP_shake128() -> *const EVP_MD;
14068}
14069extern "C" {
14070    #[link_name = "\u{1}aws_lc_0_27_2_EVP_shake256"]
14071    pub fn EVP_shake256() -> *const EVP_MD;
14072}
14073extern "C" {
14074    #[link_name = "\u{1}aws_lc_0_27_2_EVP_blake2b256"]
14075    pub fn EVP_blake2b256() -> *const EVP_MD;
14076}
14077extern "C" {
14078    #[link_name = "\u{1}aws_lc_0_27_2_EVP_md5_sha1"]
14079    pub fn EVP_md5_sha1() -> *const EVP_MD;
14080}
14081extern "C" {
14082    #[link_name = "\u{1}aws_lc_0_27_2_EVP_get_digestbynid"]
14083    pub fn EVP_get_digestbynid(nid: ::std::os::raw::c_int) -> *const EVP_MD;
14084}
14085extern "C" {
14086    #[link_name = "\u{1}aws_lc_0_27_2_EVP_get_digestbyobj"]
14087    pub fn EVP_get_digestbyobj(obj: *const ASN1_OBJECT) -> *const EVP_MD;
14088}
14089extern "C" {
14090    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_init"]
14091    pub fn EVP_MD_CTX_init(ctx: *mut EVP_MD_CTX);
14092}
14093extern "C" {
14094    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_new"]
14095    pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;
14096}
14097extern "C" {
14098    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_cleanup"]
14099    pub fn EVP_MD_CTX_cleanup(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14100}
14101extern "C" {
14102    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_cleanse"]
14103    pub fn EVP_MD_CTX_cleanse(ctx: *mut EVP_MD_CTX);
14104}
14105extern "C" {
14106    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_free"]
14107    pub fn EVP_MD_CTX_free(ctx: *mut EVP_MD_CTX);
14108}
14109extern "C" {
14110    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_copy_ex"]
14111    pub fn EVP_MD_CTX_copy_ex(
14112        out: *mut EVP_MD_CTX,
14113        in_: *const EVP_MD_CTX,
14114    ) -> ::std::os::raw::c_int;
14115}
14116extern "C" {
14117    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_move"]
14118    pub fn EVP_MD_CTX_move(out: *mut EVP_MD_CTX, in_: *mut EVP_MD_CTX);
14119}
14120extern "C" {
14121    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_reset"]
14122    pub fn EVP_MD_CTX_reset(ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
14123}
14124extern "C" {
14125    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestInit_ex"]
14126    pub fn EVP_DigestInit_ex(
14127        ctx: *mut EVP_MD_CTX,
14128        type_: *const EVP_MD,
14129        engine: *mut ENGINE,
14130    ) -> ::std::os::raw::c_int;
14131}
14132extern "C" {
14133    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestInit"]
14134    pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
14135}
14136extern "C" {
14137    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestUpdate"]
14138    pub fn EVP_DigestUpdate(
14139        ctx: *mut EVP_MD_CTX,
14140        data: *const ::std::os::raw::c_void,
14141        len: usize,
14142    ) -> ::std::os::raw::c_int;
14143}
14144extern "C" {
14145    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestFinal_ex"]
14146    pub fn EVP_DigestFinal_ex(
14147        ctx: *mut EVP_MD_CTX,
14148        md_out: *mut u8,
14149        out_size: *mut ::std::os::raw::c_uint,
14150    ) -> ::std::os::raw::c_int;
14151}
14152extern "C" {
14153    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestFinal"]
14154    pub fn EVP_DigestFinal(
14155        ctx: *mut EVP_MD_CTX,
14156        md_out: *mut u8,
14157        out_size: *mut ::std::os::raw::c_uint,
14158    ) -> ::std::os::raw::c_int;
14159}
14160extern "C" {
14161    #[link_name = "\u{1}aws_lc_0_27_2_EVP_Digest"]
14162    pub fn EVP_Digest(
14163        data: *const ::std::os::raw::c_void,
14164        len: usize,
14165        md_out: *mut u8,
14166        out_size: *mut ::std::os::raw::c_uint,
14167        type_: *const EVP_MD,
14168        impl_: *mut ENGINE,
14169    ) -> ::std::os::raw::c_int;
14170}
14171extern "C" {
14172    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_type"]
14173    pub fn EVP_MD_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
14174}
14175extern "C" {
14176    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_flags"]
14177    pub fn EVP_MD_flags(md: *const EVP_MD) -> u32;
14178}
14179extern "C" {
14180    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_size"]
14181    pub fn EVP_MD_size(md: *const EVP_MD) -> usize;
14182}
14183extern "C" {
14184    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_block_size"]
14185    pub fn EVP_MD_block_size(md: *const EVP_MD) -> usize;
14186}
14187extern "C" {
14188    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_md"]
14189    pub fn EVP_MD_CTX_md(ctx: *const EVP_MD_CTX) -> *const EVP_MD;
14190}
14191extern "C" {
14192    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_size"]
14193    pub fn EVP_MD_CTX_size(ctx: *const EVP_MD_CTX) -> usize;
14194}
14195extern "C" {
14196    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_block_size"]
14197    pub fn EVP_MD_CTX_block_size(ctx: *const EVP_MD_CTX) -> usize;
14198}
14199extern "C" {
14200    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_type"]
14201    pub fn EVP_MD_CTX_type(ctx: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14202}
14203extern "C" {
14204    #[link_name = "\u{1}aws_lc_0_27_2_EVP_parse_digest_algorithm"]
14205    pub fn EVP_parse_digest_algorithm(cbs: *mut CBS) -> *const EVP_MD;
14206}
14207extern "C" {
14208    #[link_name = "\u{1}aws_lc_0_27_2_EVP_marshal_digest_algorithm"]
14209    pub fn EVP_marshal_digest_algorithm(cbb: *mut CBB, md: *const EVP_MD) -> ::std::os::raw::c_int;
14210}
14211extern "C" {
14212    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_copy"]
14213    pub fn EVP_MD_CTX_copy(out: *mut EVP_MD_CTX, in_: *const EVP_MD_CTX) -> ::std::os::raw::c_int;
14214}
14215extern "C" {
14216    #[link_name = "\u{1}aws_lc_0_27_2_EVP_get_digestbyname"]
14217    pub fn EVP_get_digestbyname(arg1: *const ::std::os::raw::c_char) -> *const EVP_MD;
14218}
14219extern "C" {
14220    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_create"]
14221    pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
14222}
14223extern "C" {
14224    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_destroy"]
14225    pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
14226}
14227extern "C" {
14228    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestFinalXOF"]
14229    pub fn EVP_DigestFinalXOF(
14230        ctx: *mut EVP_MD_CTX,
14231        out: *mut u8,
14232        len: usize,
14233    ) -> ::std::os::raw::c_int;
14234}
14235extern "C" {
14236    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestSqueeze"]
14237    pub fn EVP_DigestSqueeze(
14238        ctx: *mut EVP_MD_CTX,
14239        out: *mut u8,
14240        len: usize,
14241    ) -> ::std::os::raw::c_int;
14242}
14243extern "C" {
14244    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_meth_get_flags"]
14245    pub fn EVP_MD_meth_get_flags(md: *const EVP_MD) -> u32;
14246}
14247extern "C" {
14248    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_nid"]
14249    pub fn EVP_MD_nid(md: *const EVP_MD) -> ::std::os::raw::c_int;
14250}
14251extern "C" {
14252    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_set_pkey_ctx"]
14253    pub fn EVP_MD_CTX_set_pkey_ctx(ctx: *mut EVP_MD_CTX, pctx: *mut EVP_PKEY_CTX);
14254}
14255extern "C" {
14256    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_get_pkey_ctx"]
14257    pub fn EVP_MD_CTX_get_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14258}
14259extern "C" {
14260    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_pkey_ctx"]
14261    pub fn EVP_MD_CTX_pkey_ctx(ctx: *const EVP_MD_CTX) -> *mut EVP_PKEY_CTX;
14262}
14263#[repr(C)]
14264#[derive(Debug, Copy, Clone)]
14265pub struct evp_md_pctx_ops {
14266    _unused: [u8; 0],
14267}
14268#[repr(C)]
14269#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14270pub struct env_md_ctx_st {
14271    pub digest: *const EVP_MD,
14272    pub md_data: *mut ::std::os::raw::c_void,
14273    pub update: ::std::option::Option<
14274        unsafe extern "C" fn(
14275            ctx: *mut EVP_MD_CTX,
14276            data: *const ::std::os::raw::c_void,
14277            count: usize,
14278        ) -> ::std::os::raw::c_int,
14279    >,
14280    pub pctx: *mut EVP_PKEY_CTX,
14281    pub pctx_ops: *const evp_md_pctx_ops,
14282    pub flags: ::std::os::raw::c_ulong,
14283}
14284#[test]
14285fn bindgen_test_layout_env_md_ctx_st() {
14286    const UNINIT: ::std::mem::MaybeUninit<env_md_ctx_st> = ::std::mem::MaybeUninit::uninit();
14287    let ptr = UNINIT.as_ptr();
14288    assert_eq!(
14289        ::std::mem::size_of::<env_md_ctx_st>(),
14290        48usize,
14291        concat!("Size of: ", stringify!(env_md_ctx_st))
14292    );
14293    assert_eq!(
14294        ::std::mem::align_of::<env_md_ctx_st>(),
14295        8usize,
14296        concat!("Alignment of ", stringify!(env_md_ctx_st))
14297    );
14298    assert_eq!(
14299        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
14300        0usize,
14301        concat!(
14302            "Offset of field: ",
14303            stringify!(env_md_ctx_st),
14304            "::",
14305            stringify!(digest)
14306        )
14307    );
14308    assert_eq!(
14309        unsafe { ::std::ptr::addr_of!((*ptr).md_data) as usize - ptr as usize },
14310        8usize,
14311        concat!(
14312            "Offset of field: ",
14313            stringify!(env_md_ctx_st),
14314            "::",
14315            stringify!(md_data)
14316        )
14317    );
14318    assert_eq!(
14319        unsafe { ::std::ptr::addr_of!((*ptr).update) as usize - ptr as usize },
14320        16usize,
14321        concat!(
14322            "Offset of field: ",
14323            stringify!(env_md_ctx_st),
14324            "::",
14325            stringify!(update)
14326        )
14327    );
14328    assert_eq!(
14329        unsafe { ::std::ptr::addr_of!((*ptr).pctx) as usize - ptr as usize },
14330        24usize,
14331        concat!(
14332            "Offset of field: ",
14333            stringify!(env_md_ctx_st),
14334            "::",
14335            stringify!(pctx)
14336        )
14337    );
14338    assert_eq!(
14339        unsafe { ::std::ptr::addr_of!((*ptr).pctx_ops) as usize - ptr as usize },
14340        32usize,
14341        concat!(
14342            "Offset of field: ",
14343            stringify!(env_md_ctx_st),
14344            "::",
14345            stringify!(pctx_ops)
14346        )
14347    );
14348    assert_eq!(
14349        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
14350        40usize,
14351        concat!(
14352            "Offset of field: ",
14353            stringify!(env_md_ctx_st),
14354            "::",
14355            stringify!(flags)
14356        )
14357    );
14358}
14359impl Default for env_md_ctx_st {
14360    fn default() -> Self {
14361        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14362        unsafe {
14363            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14364            s.assume_init()
14365        }
14366    }
14367}
14368extern "C" {
14369    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_unstable_sha3_enable"]
14370    pub fn EVP_MD_unstable_sha3_enable(enable: bool);
14371}
14372extern "C" {
14373    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_unstable_sha3_is_enabled"]
14374    pub fn EVP_MD_unstable_sha3_is_enabled() -> bool;
14375}
14376extern "C" {
14377    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_CTX_set_flags"]
14378    pub fn EVP_MD_CTX_set_flags(ctx: *mut EVP_MD_CTX, flags: ::std::os::raw::c_int);
14379}
14380extern "C" {
14381    #[link_name = "\u{1}aws_lc_0_27_2_EVP_add_digest"]
14382    pub fn EVP_add_digest(digest: *const EVP_MD) -> ::std::os::raw::c_int;
14383}
14384extern "C" {
14385    #[link_name = "\u{1}aws_lc_0_27_2_EVP_md_null"]
14386    pub fn EVP_md_null() -> *const EVP_MD;
14387}
14388extern "C" {
14389    #[link_name = "\u{1}aws_lc_0_27_2_DSA_new"]
14390    pub fn DSA_new() -> *mut DSA;
14391}
14392extern "C" {
14393    #[link_name = "\u{1}aws_lc_0_27_2_DSA_free"]
14394    pub fn DSA_free(dsa: *mut DSA);
14395}
14396extern "C" {
14397    #[link_name = "\u{1}aws_lc_0_27_2_DSA_up_ref"]
14398    pub fn DSA_up_ref(dsa: *mut DSA) -> ::std::os::raw::c_int;
14399}
14400extern "C" {
14401    #[link_name = "\u{1}aws_lc_0_27_2_DSA_print"]
14402    pub fn DSA_print(
14403        bio: *mut BIO,
14404        dsa: *const DSA,
14405        indent: ::std::os::raw::c_int,
14406    ) -> ::std::os::raw::c_int;
14407}
14408extern "C" {
14409    #[link_name = "\u{1}aws_lc_0_27_2_DSA_print_fp"]
14410    pub fn DSA_print_fp(
14411        fp: *mut FILE,
14412        dsa: *const DSA,
14413        indent: ::std::os::raw::c_int,
14414    ) -> ::std::os::raw::c_int;
14415}
14416extern "C" {
14417    #[link_name = "\u{1}aws_lc_0_27_2_DSA_bits"]
14418    pub fn DSA_bits(dsa: *const DSA) -> ::std::os::raw::c_uint;
14419}
14420extern "C" {
14421    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_pub_key"]
14422    pub fn DSA_get0_pub_key(dsa: *const DSA) -> *const BIGNUM;
14423}
14424extern "C" {
14425    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_priv_key"]
14426    pub fn DSA_get0_priv_key(dsa: *const DSA) -> *const BIGNUM;
14427}
14428extern "C" {
14429    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_p"]
14430    pub fn DSA_get0_p(dsa: *const DSA) -> *const BIGNUM;
14431}
14432extern "C" {
14433    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_q"]
14434    pub fn DSA_get0_q(dsa: *const DSA) -> *const BIGNUM;
14435}
14436extern "C" {
14437    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_g"]
14438    pub fn DSA_get0_g(dsa: *const DSA) -> *const BIGNUM;
14439}
14440extern "C" {
14441    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_key"]
14442    pub fn DSA_get0_key(
14443        dsa: *const DSA,
14444        out_pub_key: *mut *const BIGNUM,
14445        out_priv_key: *mut *const BIGNUM,
14446    );
14447}
14448extern "C" {
14449    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get0_pqg"]
14450    pub fn DSA_get0_pqg(
14451        dsa: *const DSA,
14452        out_p: *mut *const BIGNUM,
14453        out_q: *mut *const BIGNUM,
14454        out_g: *mut *const BIGNUM,
14455    );
14456}
14457extern "C" {
14458    #[link_name = "\u{1}aws_lc_0_27_2_DSA_set0_key"]
14459    pub fn DSA_set0_key(
14460        dsa: *mut DSA,
14461        pub_key: *mut BIGNUM,
14462        priv_key: *mut BIGNUM,
14463    ) -> ::std::os::raw::c_int;
14464}
14465extern "C" {
14466    #[link_name = "\u{1}aws_lc_0_27_2_DSA_set0_pqg"]
14467    pub fn DSA_set0_pqg(
14468        dsa: *mut DSA,
14469        p: *mut BIGNUM,
14470        q: *mut BIGNUM,
14471        g: *mut BIGNUM,
14472    ) -> ::std::os::raw::c_int;
14473}
14474extern "C" {
14475    #[link_name = "\u{1}aws_lc_0_27_2_DSA_generate_parameters_ex"]
14476    pub fn DSA_generate_parameters_ex(
14477        dsa: *mut DSA,
14478        bits: ::std::os::raw::c_uint,
14479        seed: *const u8,
14480        seed_len: usize,
14481        out_counter: *mut ::std::os::raw::c_int,
14482        out_h: *mut ::std::os::raw::c_ulong,
14483        cb: *mut BN_GENCB,
14484    ) -> ::std::os::raw::c_int;
14485}
14486extern "C" {
14487    #[link_name = "\u{1}aws_lc_0_27_2_DSAparams_dup"]
14488    pub fn DSAparams_dup(dsa: *const DSA) -> *mut DSA;
14489}
14490extern "C" {
14491    #[link_name = "\u{1}aws_lc_0_27_2_DSA_generate_key"]
14492    pub fn DSA_generate_key(dsa: *mut DSA) -> ::std::os::raw::c_int;
14493}
14494#[repr(C)]
14495#[derive(Debug, Copy, Clone, PartialEq, Eq)]
14496pub struct DSA_SIG_st {
14497    pub r: *mut BIGNUM,
14498    pub s: *mut BIGNUM,
14499}
14500#[test]
14501fn bindgen_test_layout_DSA_SIG_st() {
14502    const UNINIT: ::std::mem::MaybeUninit<DSA_SIG_st> = ::std::mem::MaybeUninit::uninit();
14503    let ptr = UNINIT.as_ptr();
14504    assert_eq!(
14505        ::std::mem::size_of::<DSA_SIG_st>(),
14506        16usize,
14507        concat!("Size of: ", stringify!(DSA_SIG_st))
14508    );
14509    assert_eq!(
14510        ::std::mem::align_of::<DSA_SIG_st>(),
14511        8usize,
14512        concat!("Alignment of ", stringify!(DSA_SIG_st))
14513    );
14514    assert_eq!(
14515        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
14516        0usize,
14517        concat!(
14518            "Offset of field: ",
14519            stringify!(DSA_SIG_st),
14520            "::",
14521            stringify!(r)
14522        )
14523    );
14524    assert_eq!(
14525        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
14526        8usize,
14527        concat!(
14528            "Offset of field: ",
14529            stringify!(DSA_SIG_st),
14530            "::",
14531            stringify!(s)
14532        )
14533    );
14534}
14535impl Default for DSA_SIG_st {
14536    fn default() -> Self {
14537        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
14538        unsafe {
14539            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
14540            s.assume_init()
14541        }
14542    }
14543}
14544extern "C" {
14545    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_new"]
14546    pub fn DSA_SIG_new() -> *mut DSA_SIG;
14547}
14548extern "C" {
14549    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_free"]
14550    pub fn DSA_SIG_free(sig: *mut DSA_SIG);
14551}
14552extern "C" {
14553    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_get0"]
14554    pub fn DSA_SIG_get0(sig: *const DSA_SIG, out_r: *mut *const BIGNUM, out_s: *mut *const BIGNUM);
14555}
14556extern "C" {
14557    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_set0"]
14558    pub fn DSA_SIG_set0(sig: *mut DSA_SIG, r: *mut BIGNUM, s: *mut BIGNUM)
14559        -> ::std::os::raw::c_int;
14560}
14561extern "C" {
14562    #[link_name = "\u{1}aws_lc_0_27_2_DSA_do_sign"]
14563    pub fn DSA_do_sign(digest: *const u8, digest_len: usize, dsa: *const DSA) -> *mut DSA_SIG;
14564}
14565extern "C" {
14566    #[link_name = "\u{1}aws_lc_0_27_2_DSA_do_verify"]
14567    pub fn DSA_do_verify(
14568        digest: *const u8,
14569        digest_len: usize,
14570        sig: *const DSA_SIG,
14571        dsa: *const DSA,
14572    ) -> ::std::os::raw::c_int;
14573}
14574extern "C" {
14575    #[link_name = "\u{1}aws_lc_0_27_2_DSA_do_check_signature"]
14576    pub fn DSA_do_check_signature(
14577        out_valid: *mut ::std::os::raw::c_int,
14578        digest: *const u8,
14579        digest_len: usize,
14580        sig: *const DSA_SIG,
14581        dsa: *const DSA,
14582    ) -> ::std::os::raw::c_int;
14583}
14584extern "C" {
14585    #[link_name = "\u{1}aws_lc_0_27_2_DSA_sign"]
14586    pub fn DSA_sign(
14587        type_: ::std::os::raw::c_int,
14588        digest: *const u8,
14589        digest_len: usize,
14590        out_sig: *mut u8,
14591        out_siglen: *mut ::std::os::raw::c_uint,
14592        dsa: *const DSA,
14593    ) -> ::std::os::raw::c_int;
14594}
14595extern "C" {
14596    #[link_name = "\u{1}aws_lc_0_27_2_DSA_verify"]
14597    pub fn DSA_verify(
14598        type_: ::std::os::raw::c_int,
14599        digest: *const u8,
14600        digest_len: usize,
14601        sig: *const u8,
14602        sig_len: usize,
14603        dsa: *const DSA,
14604    ) -> ::std::os::raw::c_int;
14605}
14606extern "C" {
14607    #[link_name = "\u{1}aws_lc_0_27_2_DSA_check_signature"]
14608    pub fn DSA_check_signature(
14609        out_valid: *mut ::std::os::raw::c_int,
14610        digest: *const u8,
14611        digest_len: usize,
14612        sig: *const u8,
14613        sig_len: usize,
14614        dsa: *const DSA,
14615    ) -> ::std::os::raw::c_int;
14616}
14617extern "C" {
14618    #[link_name = "\u{1}aws_lc_0_27_2_DSA_size"]
14619    pub fn DSA_size(dsa: *const DSA) -> ::std::os::raw::c_int;
14620}
14621extern "C" {
14622    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_parse"]
14623    pub fn DSA_SIG_parse(cbs: *mut CBS) -> *mut DSA_SIG;
14624}
14625extern "C" {
14626    #[link_name = "\u{1}aws_lc_0_27_2_DSA_SIG_marshal"]
14627    pub fn DSA_SIG_marshal(cbb: *mut CBB, sig: *const DSA_SIG) -> ::std::os::raw::c_int;
14628}
14629extern "C" {
14630    #[link_name = "\u{1}aws_lc_0_27_2_DSA_parse_public_key"]
14631    pub fn DSA_parse_public_key(cbs: *mut CBS) -> *mut DSA;
14632}
14633extern "C" {
14634    #[link_name = "\u{1}aws_lc_0_27_2_DSA_marshal_public_key"]
14635    pub fn DSA_marshal_public_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14636}
14637extern "C" {
14638    #[link_name = "\u{1}aws_lc_0_27_2_DSA_parse_private_key"]
14639    pub fn DSA_parse_private_key(cbs: *mut CBS) -> *mut DSA;
14640}
14641extern "C" {
14642    #[link_name = "\u{1}aws_lc_0_27_2_DSA_marshal_private_key"]
14643    pub fn DSA_marshal_private_key(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14644}
14645extern "C" {
14646    #[link_name = "\u{1}aws_lc_0_27_2_DSA_parse_parameters"]
14647    pub fn DSA_parse_parameters(cbs: *mut CBS) -> *mut DSA;
14648}
14649extern "C" {
14650    #[link_name = "\u{1}aws_lc_0_27_2_DSA_marshal_parameters"]
14651    pub fn DSA_marshal_parameters(cbb: *mut CBB, dsa: *const DSA) -> ::std::os::raw::c_int;
14652}
14653extern "C" {
14654    #[link_name = "\u{1}aws_lc_0_27_2_DSA_dup_DH"]
14655    pub fn DSA_dup_DH(dsa: *const DSA) -> *mut DH;
14656}
14657extern "C" {
14658    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get_ex_new_index"]
14659    pub fn DSA_get_ex_new_index(
14660        argl: ::std::os::raw::c_long,
14661        argp: *mut ::std::os::raw::c_void,
14662        unused: *mut CRYPTO_EX_unused,
14663        dup_unused: CRYPTO_EX_dup,
14664        free_func: CRYPTO_EX_free,
14665    ) -> ::std::os::raw::c_int;
14666}
14667extern "C" {
14668    #[link_name = "\u{1}aws_lc_0_27_2_DSA_set_ex_data"]
14669    pub fn DSA_set_ex_data(
14670        dsa: *mut DSA,
14671        idx: ::std::os::raw::c_int,
14672        arg: *mut ::std::os::raw::c_void,
14673    ) -> ::std::os::raw::c_int;
14674}
14675extern "C" {
14676    #[link_name = "\u{1}aws_lc_0_27_2_DSA_get_ex_data"]
14677    pub fn DSA_get_ex_data(
14678        dsa: *const DSA,
14679        idx: ::std::os::raw::c_int,
14680    ) -> *mut ::std::os::raw::c_void;
14681}
14682extern "C" {
14683    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSA_SIG"]
14684    pub fn d2i_DSA_SIG(
14685        out_sig: *mut *mut DSA_SIG,
14686        inp: *mut *const u8,
14687        len: ::std::os::raw::c_long,
14688    ) -> *mut DSA_SIG;
14689}
14690extern "C" {
14691    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSA_SIG"]
14692    pub fn i2d_DSA_SIG(in_: *const DSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14693}
14694extern "C" {
14695    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSAPublicKey"]
14696    pub fn d2i_DSAPublicKey(
14697        out: *mut *mut DSA,
14698        inp: *mut *const u8,
14699        len: ::std::os::raw::c_long,
14700    ) -> *mut DSA;
14701}
14702extern "C" {
14703    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSAPublicKey"]
14704    pub fn i2d_DSAPublicKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14705}
14706extern "C" {
14707    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSAPrivateKey"]
14708    pub fn d2i_DSAPrivateKey(
14709        out: *mut *mut DSA,
14710        inp: *mut *const u8,
14711        len: ::std::os::raw::c_long,
14712    ) -> *mut DSA;
14713}
14714extern "C" {
14715    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSAPrivateKey"]
14716    pub fn i2d_DSAPrivateKey(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14717}
14718extern "C" {
14719    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSAparams"]
14720    pub fn d2i_DSAparams(
14721        out: *mut *mut DSA,
14722        inp: *mut *const u8,
14723        len: ::std::os::raw::c_long,
14724    ) -> *mut DSA;
14725}
14726extern "C" {
14727    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSAparams"]
14728    pub fn i2d_DSAparams(in_: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
14729}
14730#[repr(u32)]
14731#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
14732pub enum point_conversion_form_t {
14733    POINT_CONVERSION_COMPRESSED = 2,
14734    POINT_CONVERSION_UNCOMPRESSED = 4,
14735    POINT_CONVERSION_HYBRID = 6,
14736}
14737extern "C" {
14738    #[link_name = "\u{1}aws_lc_0_27_2_EC_group_p224"]
14739    pub fn EC_group_p224() -> *const EC_GROUP;
14740}
14741extern "C" {
14742    #[link_name = "\u{1}aws_lc_0_27_2_EC_group_p256"]
14743    pub fn EC_group_p256() -> *const EC_GROUP;
14744}
14745extern "C" {
14746    #[link_name = "\u{1}aws_lc_0_27_2_EC_group_p384"]
14747    pub fn EC_group_p384() -> *const EC_GROUP;
14748}
14749extern "C" {
14750    #[link_name = "\u{1}aws_lc_0_27_2_EC_group_p521"]
14751    pub fn EC_group_p521() -> *const EC_GROUP;
14752}
14753extern "C" {
14754    #[link_name = "\u{1}aws_lc_0_27_2_EC_group_secp256k1"]
14755    pub fn EC_group_secp256k1() -> *const EC_GROUP;
14756}
14757extern "C" {
14758    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_new_by_curve_name"]
14759    pub fn EC_GROUP_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14760}
14761extern "C" {
14762    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_new_by_curve_name_mutable"]
14763    pub fn EC_GROUP_new_by_curve_name_mutable(nid: ::std::os::raw::c_int) -> *mut EC_GROUP;
14764}
14765extern "C" {
14766    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_cmp"]
14767    pub fn EC_GROUP_cmp(
14768        a: *const EC_GROUP,
14769        b: *const EC_GROUP,
14770        ignored: *mut BN_CTX,
14771    ) -> ::std::os::raw::c_int;
14772}
14773extern "C" {
14774    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get0_generator"]
14775    pub fn EC_GROUP_get0_generator(group: *const EC_GROUP) -> *const EC_POINT;
14776}
14777extern "C" {
14778    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get0_order"]
14779    pub fn EC_GROUP_get0_order(group: *const EC_GROUP) -> *const BIGNUM;
14780}
14781extern "C" {
14782    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_order_bits"]
14783    pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14784}
14785extern "C" {
14786    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_cofactor"]
14787    pub fn EC_GROUP_get_cofactor(
14788        group: *const EC_GROUP,
14789        cofactor: *mut BIGNUM,
14790        ctx: *mut BN_CTX,
14791    ) -> ::std::os::raw::c_int;
14792}
14793extern "C" {
14794    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_curve_GFp"]
14795    pub fn EC_GROUP_get_curve_GFp(
14796        group: *const EC_GROUP,
14797        out_p: *mut BIGNUM,
14798        out_a: *mut BIGNUM,
14799        out_b: *mut BIGNUM,
14800        ctx: *mut BN_CTX,
14801    ) -> ::std::os::raw::c_int;
14802}
14803extern "C" {
14804    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_curve_name"]
14805    pub fn EC_GROUP_get_curve_name(group: *const EC_GROUP) -> ::std::os::raw::c_int;
14806}
14807extern "C" {
14808    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_degree"]
14809    pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> ::std::os::raw::c_uint;
14810}
14811extern "C" {
14812    #[link_name = "\u{1}aws_lc_0_27_2_EC_curve_nid2nist"]
14813    pub fn EC_curve_nid2nist(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
14814}
14815extern "C" {
14816    #[link_name = "\u{1}aws_lc_0_27_2_EC_curve_nist2nid"]
14817    pub fn EC_curve_nist2nid(name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
14818}
14819extern "C" {
14820    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_new"]
14821    pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
14822}
14823extern "C" {
14824    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_free"]
14825    pub fn EC_POINT_free(point: *mut EC_POINT);
14826}
14827extern "C" {
14828    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_copy"]
14829    pub fn EC_POINT_copy(dest: *mut EC_POINT, src: *const EC_POINT) -> ::std::os::raw::c_int;
14830}
14831extern "C" {
14832    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_dup"]
14833    pub fn EC_POINT_dup(src: *const EC_POINT, group: *const EC_GROUP) -> *mut EC_POINT;
14834}
14835extern "C" {
14836    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_set_to_infinity"]
14837    pub fn EC_POINT_set_to_infinity(
14838        group: *const EC_GROUP,
14839        point: *mut EC_POINT,
14840    ) -> ::std::os::raw::c_int;
14841}
14842extern "C" {
14843    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_is_at_infinity"]
14844    pub fn EC_POINT_is_at_infinity(
14845        group: *const EC_GROUP,
14846        point: *const EC_POINT,
14847    ) -> ::std::os::raw::c_int;
14848}
14849extern "C" {
14850    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_is_on_curve"]
14851    pub fn EC_POINT_is_on_curve(
14852        group: *const EC_GROUP,
14853        point: *const EC_POINT,
14854        ctx: *mut BN_CTX,
14855    ) -> ::std::os::raw::c_int;
14856}
14857extern "C" {
14858    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_cmp"]
14859    pub fn EC_POINT_cmp(
14860        group: *const EC_GROUP,
14861        a: *const EC_POINT,
14862        b: *const EC_POINT,
14863        ctx: *mut BN_CTX,
14864    ) -> ::std::os::raw::c_int;
14865}
14866extern "C" {
14867    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_get_affine_coordinates_GFp"]
14868    pub fn EC_POINT_get_affine_coordinates_GFp(
14869        group: *const EC_GROUP,
14870        point: *const EC_POINT,
14871        x: *mut BIGNUM,
14872        y: *mut BIGNUM,
14873        ctx: *mut BN_CTX,
14874    ) -> ::std::os::raw::c_int;
14875}
14876extern "C" {
14877    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_get_affine_coordinates"]
14878    pub fn EC_POINT_get_affine_coordinates(
14879        group: *const EC_GROUP,
14880        point: *const EC_POINT,
14881        x: *mut BIGNUM,
14882        y: *mut BIGNUM,
14883        ctx: *mut BN_CTX,
14884    ) -> ::std::os::raw::c_int;
14885}
14886extern "C" {
14887    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_set_affine_coordinates_GFp"]
14888    pub fn EC_POINT_set_affine_coordinates_GFp(
14889        group: *const EC_GROUP,
14890        point: *mut EC_POINT,
14891        x: *const BIGNUM,
14892        y: *const BIGNUM,
14893        ctx: *mut BN_CTX,
14894    ) -> ::std::os::raw::c_int;
14895}
14896extern "C" {
14897    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_set_affine_coordinates"]
14898    pub fn EC_POINT_set_affine_coordinates(
14899        group: *const EC_GROUP,
14900        point: *mut EC_POINT,
14901        x: *const BIGNUM,
14902        y: *const BIGNUM,
14903        ctx: *mut BN_CTX,
14904    ) -> ::std::os::raw::c_int;
14905}
14906extern "C" {
14907    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_point2oct"]
14908    pub fn EC_POINT_point2oct(
14909        group: *const EC_GROUP,
14910        point: *const EC_POINT,
14911        form: point_conversion_form_t,
14912        buf: *mut u8,
14913        len: usize,
14914        ctx: *mut BN_CTX,
14915    ) -> usize;
14916}
14917extern "C" {
14918    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_point2cbb"]
14919    pub fn EC_POINT_point2cbb(
14920        out: *mut CBB,
14921        group: *const EC_GROUP,
14922        point: *const EC_POINT,
14923        form: point_conversion_form_t,
14924        ctx: *mut BN_CTX,
14925    ) -> ::std::os::raw::c_int;
14926}
14927extern "C" {
14928    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_oct2point"]
14929    pub fn EC_POINT_oct2point(
14930        group: *const EC_GROUP,
14931        point: *mut EC_POINT,
14932        buf: *const u8,
14933        len: usize,
14934        ctx: *mut BN_CTX,
14935    ) -> ::std::os::raw::c_int;
14936}
14937extern "C" {
14938    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_set_compressed_coordinates_GFp"]
14939    pub fn EC_POINT_set_compressed_coordinates_GFp(
14940        group: *const EC_GROUP,
14941        point: *mut EC_POINT,
14942        x: *const BIGNUM,
14943        y_bit: ::std::os::raw::c_int,
14944        ctx: *mut BN_CTX,
14945    ) -> ::std::os::raw::c_int;
14946}
14947extern "C" {
14948    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_add"]
14949    pub fn EC_POINT_add(
14950        group: *const EC_GROUP,
14951        r: *mut EC_POINT,
14952        a: *const EC_POINT,
14953        b: *const EC_POINT,
14954        ctx: *mut BN_CTX,
14955    ) -> ::std::os::raw::c_int;
14956}
14957extern "C" {
14958    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_dbl"]
14959    pub fn EC_POINT_dbl(
14960        group: *const EC_GROUP,
14961        r: *mut EC_POINT,
14962        a: *const EC_POINT,
14963        ctx: *mut BN_CTX,
14964    ) -> ::std::os::raw::c_int;
14965}
14966extern "C" {
14967    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_invert"]
14968    pub fn EC_POINT_invert(
14969        group: *const EC_GROUP,
14970        a: *mut EC_POINT,
14971        ctx: *mut BN_CTX,
14972    ) -> ::std::os::raw::c_int;
14973}
14974extern "C" {
14975    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_mul"]
14976    pub fn EC_POINT_mul(
14977        group: *const EC_GROUP,
14978        r: *mut EC_POINT,
14979        n: *const BIGNUM,
14980        q: *const EC_POINT,
14981        m: *const BIGNUM,
14982        ctx: *mut BN_CTX,
14983    ) -> ::std::os::raw::c_int;
14984}
14985extern "C" {
14986    #[link_name = "\u{1}aws_lc_0_27_2_EC_hash_to_curve_p256_xmd_sha256_sswu"]
14987    pub fn EC_hash_to_curve_p256_xmd_sha256_sswu(
14988        group: *const EC_GROUP,
14989        out: *mut EC_POINT,
14990        dst: *const u8,
14991        dst_len: usize,
14992        msg: *const u8,
14993        msg_len: usize,
14994    ) -> ::std::os::raw::c_int;
14995}
14996extern "C" {
14997    #[link_name = "\u{1}aws_lc_0_27_2_EC_hash_to_curve_p384_xmd_sha384_sswu"]
14998    pub fn EC_hash_to_curve_p384_xmd_sha384_sswu(
14999        group: *const EC_GROUP,
15000        out: *mut EC_POINT,
15001        dst: *const u8,
15002        dst_len: usize,
15003        msg: *const u8,
15004        msg_len: usize,
15005    ) -> ::std::os::raw::c_int;
15006}
15007extern "C" {
15008    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_free"]
15009    pub fn EC_GROUP_free(group: *mut EC_GROUP);
15010}
15011extern "C" {
15012    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_dup"]
15013    pub fn EC_GROUP_dup(group: *const EC_GROUP) -> *mut EC_GROUP;
15014}
15015extern "C" {
15016    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_new_curve_GFp"]
15017    pub fn EC_GROUP_new_curve_GFp(
15018        p: *const BIGNUM,
15019        a: *const BIGNUM,
15020        b: *const BIGNUM,
15021        ctx: *mut BN_CTX,
15022    ) -> *mut EC_GROUP;
15023}
15024extern "C" {
15025    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_set_generator"]
15026    pub fn EC_GROUP_set_generator(
15027        group: *mut EC_GROUP,
15028        generator: *const EC_POINT,
15029        order: *const BIGNUM,
15030        cofactor: *const BIGNUM,
15031    ) -> ::std::os::raw::c_int;
15032}
15033extern "C" {
15034    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_point2bn"]
15035    pub fn EC_POINT_point2bn(
15036        group: *const EC_GROUP,
15037        point: *const EC_POINT,
15038        form: point_conversion_form_t,
15039        ret: *mut BIGNUM,
15040        ctx: *mut BN_CTX,
15041    ) -> *mut BIGNUM;
15042}
15043extern "C" {
15044    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_bn2point"]
15045    pub fn EC_POINT_bn2point(
15046        group: *const EC_GROUP,
15047        bn: *const BIGNUM,
15048        point: *mut EC_POINT,
15049        ctx: *mut BN_CTX,
15050    ) -> *mut EC_POINT;
15051}
15052extern "C" {
15053    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_order"]
15054    pub fn EC_GROUP_get_order(
15055        group: *const EC_GROUP,
15056        order: *mut BIGNUM,
15057        ctx: *mut BN_CTX,
15058    ) -> ::std::os::raw::c_int;
15059}
15060#[repr(C)]
15061#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15062pub struct EC_builtin_curve {
15063    pub nid: ::std::os::raw::c_int,
15064    pub comment: *const ::std::os::raw::c_char,
15065}
15066#[test]
15067fn bindgen_test_layout_EC_builtin_curve() {
15068    const UNINIT: ::std::mem::MaybeUninit<EC_builtin_curve> = ::std::mem::MaybeUninit::uninit();
15069    let ptr = UNINIT.as_ptr();
15070    assert_eq!(
15071        ::std::mem::size_of::<EC_builtin_curve>(),
15072        16usize,
15073        concat!("Size of: ", stringify!(EC_builtin_curve))
15074    );
15075    assert_eq!(
15076        ::std::mem::align_of::<EC_builtin_curve>(),
15077        8usize,
15078        concat!("Alignment of ", stringify!(EC_builtin_curve))
15079    );
15080    assert_eq!(
15081        unsafe { ::std::ptr::addr_of!((*ptr).nid) as usize - ptr as usize },
15082        0usize,
15083        concat!(
15084            "Offset of field: ",
15085            stringify!(EC_builtin_curve),
15086            "::",
15087            stringify!(nid)
15088        )
15089    );
15090    assert_eq!(
15091        unsafe { ::std::ptr::addr_of!((*ptr).comment) as usize - ptr as usize },
15092        8usize,
15093        concat!(
15094            "Offset of field: ",
15095            stringify!(EC_builtin_curve),
15096            "::",
15097            stringify!(comment)
15098        )
15099    );
15100}
15101impl Default for EC_builtin_curve {
15102    fn default() -> Self {
15103        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15104        unsafe {
15105            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15106            s.assume_init()
15107        }
15108    }
15109}
15110extern "C" {
15111    #[link_name = "\u{1}aws_lc_0_27_2_EC_get_builtin_curves"]
15112    pub fn EC_get_builtin_curves(out_curves: *mut EC_builtin_curve, max_num_curves: usize)
15113        -> usize;
15114}
15115extern "C" {
15116    #[link_name = "\u{1}aws_lc_0_27_2_EC_POINT_clear_free"]
15117    pub fn EC_POINT_clear_free(point: *mut EC_POINT);
15118}
15119extern "C" {
15120    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_set_seed"]
15121    pub fn EC_GROUP_set_seed(
15122        group: *mut EC_GROUP,
15123        p: *const ::std::os::raw::c_uchar,
15124        len: usize,
15125    ) -> usize;
15126}
15127extern "C" {
15128    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get0_seed"]
15129    pub fn EC_GROUP_get0_seed(group: *const EC_GROUP) -> *mut ::std::os::raw::c_uchar;
15130}
15131extern "C" {
15132    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_seed_len"]
15133    pub fn EC_GROUP_get_seed_len(group: *const EC_GROUP) -> usize;
15134}
15135extern "C" {
15136    #[link_name = "\u{1}aws_lc_0_27_2_ECPKParameters_print"]
15137    pub fn ECPKParameters_print(
15138        bio: *mut BIO,
15139        group: *const EC_GROUP,
15140        offset: ::std::os::raw::c_int,
15141    ) -> ::std::os::raw::c_int;
15142}
15143extern "C" {
15144    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_set_asn1_flag"]
15145    pub fn EC_GROUP_set_asn1_flag(group: *mut EC_GROUP, flag: ::std::os::raw::c_int);
15146}
15147extern "C" {
15148    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_asn1_flag"]
15149    pub fn EC_GROUP_get_asn1_flag(group: *const EC_GROUP) -> ::std::os::raw::c_int;
15150}
15151extern "C" {
15152    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_set_point_conversion_form"]
15153    pub fn EC_GROUP_set_point_conversion_form(group: *mut EC_GROUP, form: point_conversion_form_t);
15154}
15155extern "C" {
15156    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_get_point_conversion_form"]
15157    pub fn EC_GROUP_get_point_conversion_form(group: *const EC_GROUP) -> point_conversion_form_t;
15158}
15159#[repr(C)]
15160#[derive(Debug, Copy, Clone)]
15161pub struct ec_method_st {
15162    _unused: [u8; 0],
15163}
15164pub type EC_METHOD = ec_method_st;
15165extern "C" {
15166    #[link_name = "\u{1}aws_lc_0_27_2_EC_GROUP_method_of"]
15167    pub fn EC_GROUP_method_of(group: *const EC_GROUP) -> *const EC_METHOD;
15168}
15169extern "C" {
15170    #[link_name = "\u{1}aws_lc_0_27_2_EC_METHOD_get_field_type"]
15171    pub fn EC_METHOD_get_field_type(meth: *const EC_METHOD) -> ::std::os::raw::c_int;
15172}
15173extern "C" {
15174    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_new"]
15175    pub fn ENGINE_new() -> *mut ENGINE;
15176}
15177extern "C" {
15178    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_free"]
15179    pub fn ENGINE_free(engine: *mut ENGINE) -> ::std::os::raw::c_int;
15180}
15181extern "C" {
15182    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_set_RSA"]
15183    pub fn ENGINE_set_RSA(engine: *mut ENGINE, method: *const RSA_METHOD) -> ::std::os::raw::c_int;
15184}
15185extern "C" {
15186    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_get_RSA"]
15187    pub fn ENGINE_get_RSA(engine: *const ENGINE) -> *const RSA_METHOD;
15188}
15189extern "C" {
15190    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_set_EC"]
15191    pub fn ENGINE_set_EC(
15192        engine: *mut ENGINE,
15193        method: *const EC_KEY_METHOD,
15194    ) -> ::std::os::raw::c_int;
15195}
15196extern "C" {
15197    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_get_EC"]
15198    pub fn ENGINE_get_EC(engine: *const ENGINE) -> *const EC_KEY_METHOD;
15199}
15200extern "C" {
15201    #[link_name = "\u{1}aws_lc_0_27_2_ENGINE_cleanup"]
15202    pub fn ENGINE_cleanup();
15203}
15204extern "C" {
15205    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_new"]
15206    pub fn EC_KEY_new() -> *mut EC_KEY;
15207}
15208extern "C" {
15209    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_new_method"]
15210    pub fn EC_KEY_new_method(engine: *const ENGINE) -> *mut EC_KEY;
15211}
15212extern "C" {
15213    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_new_by_curve_name"]
15214    pub fn EC_KEY_new_by_curve_name(nid: ::std::os::raw::c_int) -> *mut EC_KEY;
15215}
15216extern "C" {
15217    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_free"]
15218    pub fn EC_KEY_free(key: *mut EC_KEY);
15219}
15220extern "C" {
15221    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_dup"]
15222    pub fn EC_KEY_dup(src: *const EC_KEY) -> *mut EC_KEY;
15223}
15224extern "C" {
15225    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_up_ref"]
15226    pub fn EC_KEY_up_ref(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15227}
15228extern "C" {
15229    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_is_opaque"]
15230    pub fn EC_KEY_is_opaque(key: *const EC_KEY) -> ::std::os::raw::c_int;
15231}
15232extern "C" {
15233    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get0_group"]
15234    pub fn EC_KEY_get0_group(key: *const EC_KEY) -> *const EC_GROUP;
15235}
15236extern "C" {
15237    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_group"]
15238    pub fn EC_KEY_set_group(key: *mut EC_KEY, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15239}
15240extern "C" {
15241    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get0_private_key"]
15242    pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM;
15243}
15244extern "C" {
15245    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_private_key"]
15246    pub fn EC_KEY_set_private_key(key: *mut EC_KEY, priv_: *const BIGNUM) -> ::std::os::raw::c_int;
15247}
15248extern "C" {
15249    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get0_public_key"]
15250    pub fn EC_KEY_get0_public_key(key: *const EC_KEY) -> *const EC_POINT;
15251}
15252extern "C" {
15253    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_public_key"]
15254    pub fn EC_KEY_set_public_key(key: *mut EC_KEY, pub_: *const EC_POINT) -> ::std::os::raw::c_int;
15255}
15256extern "C" {
15257    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_enc_flags"]
15258    pub fn EC_KEY_get_enc_flags(key: *const EC_KEY) -> ::std::os::raw::c_uint;
15259}
15260extern "C" {
15261    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_enc_flags"]
15262    pub fn EC_KEY_set_enc_flags(key: *mut EC_KEY, flags: ::std::os::raw::c_uint);
15263}
15264extern "C" {
15265    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_conv_form"]
15266    pub fn EC_KEY_get_conv_form(key: *const EC_KEY) -> point_conversion_form_t;
15267}
15268extern "C" {
15269    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_conv_form"]
15270    pub fn EC_KEY_set_conv_form(key: *mut EC_KEY, cform: point_conversion_form_t);
15271}
15272extern "C" {
15273    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_check_key"]
15274    pub fn EC_KEY_check_key(key: *const EC_KEY) -> ::std::os::raw::c_int;
15275}
15276extern "C" {
15277    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_check_fips"]
15278    pub fn EC_KEY_check_fips(key: *const EC_KEY) -> ::std::os::raw::c_int;
15279}
15280extern "C" {
15281    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_public_key_affine_coordinates"]
15282    pub fn EC_KEY_set_public_key_affine_coordinates(
15283        key: *mut EC_KEY,
15284        x: *const BIGNUM,
15285        y: *const BIGNUM,
15286    ) -> ::std::os::raw::c_int;
15287}
15288extern "C" {
15289    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_key2buf"]
15290    pub fn EC_KEY_key2buf(
15291        key: *const EC_KEY,
15292        form: point_conversion_form_t,
15293        out_buf: *mut *mut ::std::os::raw::c_uchar,
15294        ctx: *mut BN_CTX,
15295    ) -> usize;
15296}
15297extern "C" {
15298    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_generate_key"]
15299    pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15300}
15301extern "C" {
15302    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_generate_key_fips"]
15303    pub fn EC_KEY_generate_key_fips(key: *mut EC_KEY) -> ::std::os::raw::c_int;
15304}
15305extern "C" {
15306    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_derive_from_secret"]
15307    pub fn EC_KEY_derive_from_secret(
15308        group: *const EC_GROUP,
15309        secret: *const u8,
15310        secret_len: usize,
15311    ) -> *mut EC_KEY;
15312}
15313extern "C" {
15314    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_parse_private_key"]
15315    pub fn EC_KEY_parse_private_key(cbs: *mut CBS, group: *const EC_GROUP) -> *mut EC_KEY;
15316}
15317extern "C" {
15318    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_marshal_private_key"]
15319    pub fn EC_KEY_marshal_private_key(
15320        cbb: *mut CBB,
15321        key: *const EC_KEY,
15322        enc_flags: ::std::os::raw::c_uint,
15323    ) -> ::std::os::raw::c_int;
15324}
15325extern "C" {
15326    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_parse_curve_name"]
15327    pub fn EC_KEY_parse_curve_name(cbs: *mut CBS) -> *mut EC_GROUP;
15328}
15329extern "C" {
15330    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_marshal_curve_name"]
15331    pub fn EC_KEY_marshal_curve_name(
15332        cbb: *mut CBB,
15333        group: *const EC_GROUP,
15334    ) -> ::std::os::raw::c_int;
15335}
15336extern "C" {
15337    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_parse_parameters"]
15338    pub fn EC_KEY_parse_parameters(cbs: *mut CBS) -> *mut EC_GROUP;
15339}
15340extern "C" {
15341    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_ex_new_index"]
15342    pub fn EC_KEY_get_ex_new_index(
15343        argl: ::std::os::raw::c_long,
15344        argp: *mut ::std::os::raw::c_void,
15345        unused: *mut CRYPTO_EX_unused,
15346        dup_unused: CRYPTO_EX_dup,
15347        free_func: CRYPTO_EX_free,
15348    ) -> ::std::os::raw::c_int;
15349}
15350extern "C" {
15351    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_ex_data"]
15352    pub fn EC_KEY_set_ex_data(
15353        r: *mut EC_KEY,
15354        idx: ::std::os::raw::c_int,
15355        arg: *mut ::std::os::raw::c_void,
15356    ) -> ::std::os::raw::c_int;
15357}
15358extern "C" {
15359    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_ex_data"]
15360    pub fn EC_KEY_get_ex_data(
15361        r: *const EC_KEY,
15362        idx: ::std::os::raw::c_int,
15363    ) -> *mut ::std::os::raw::c_void;
15364}
15365extern "C" {
15366    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECPrivateKey"]
15367    pub fn d2i_ECPrivateKey(
15368        out_key: *mut *mut EC_KEY,
15369        inp: *mut *const u8,
15370        len: ::std::os::raw::c_long,
15371    ) -> *mut EC_KEY;
15372}
15373extern "C" {
15374    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECPrivateKey"]
15375    pub fn i2d_ECPrivateKey(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15376}
15377extern "C" {
15378    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECParameters"]
15379    pub fn d2i_ECParameters(
15380        out_key: *mut *mut EC_KEY,
15381        inp: *mut *const u8,
15382        len: ::std::os::raw::c_long,
15383    ) -> *mut EC_KEY;
15384}
15385extern "C" {
15386    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECParameters"]
15387    pub fn i2d_ECParameters(key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15388}
15389extern "C" {
15390    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECPKParameters_bio"]
15391    pub fn d2i_ECPKParameters_bio(bio: *mut BIO, out_group: *mut *mut EC_GROUP) -> *mut EC_GROUP;
15392}
15393extern "C" {
15394    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECPKParameters_bio"]
15395    pub fn i2d_ECPKParameters_bio(bio: *mut BIO, group: *const EC_GROUP) -> ::std::os::raw::c_int;
15396}
15397extern "C" {
15398    #[link_name = "\u{1}aws_lc_0_27_2_o2i_ECPublicKey"]
15399    pub fn o2i_ECPublicKey(
15400        out_key: *mut *mut EC_KEY,
15401        inp: *mut *const u8,
15402        len: ::std::os::raw::c_long,
15403    ) -> *mut EC_KEY;
15404}
15405extern "C" {
15406    #[link_name = "\u{1}aws_lc_0_27_2_i2o_ECPublicKey"]
15407    pub fn i2o_ECPublicKey(
15408        key: *const EC_KEY,
15409        outp: *mut *mut ::std::os::raw::c_uchar,
15410    ) -> ::std::os::raw::c_int;
15411}
15412extern "C" {
15413    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_default_method"]
15414    pub fn EC_KEY_get_default_method() -> *const EC_KEY_METHOD;
15415}
15416extern "C" {
15417    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_OpenSSL"]
15418    pub fn EC_KEY_OpenSSL() -> *const EC_KEY_METHOD;
15419}
15420extern "C" {
15421    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_METHOD_new"]
15422    pub fn EC_KEY_METHOD_new(eckey_meth: *const EC_KEY_METHOD) -> *mut EC_KEY_METHOD;
15423}
15424extern "C" {
15425    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_METHOD_free"]
15426    pub fn EC_KEY_METHOD_free(eckey_meth: *mut EC_KEY_METHOD);
15427}
15428extern "C" {
15429    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_method"]
15430    pub fn EC_KEY_set_method(ec: *mut EC_KEY, meth: *const EC_KEY_METHOD) -> ::std::os::raw::c_int;
15431}
15432extern "C" {
15433    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_get_method"]
15434    pub fn EC_KEY_get_method(ec: *const EC_KEY) -> *const EC_KEY_METHOD;
15435}
15436extern "C" {
15437    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_METHOD_set_sign_awslc"]
15438    pub fn EC_KEY_METHOD_set_sign_awslc(
15439        meth: *mut EC_KEY_METHOD,
15440        sign: ::std::option::Option<
15441            unsafe extern "C" fn(
15442                type_: ::std::os::raw::c_int,
15443                digest: *const u8,
15444                digest_len: ::std::os::raw::c_int,
15445                sig: *mut u8,
15446                siglen: *mut ::std::os::raw::c_uint,
15447                k_inv: *const BIGNUM,
15448                r: *const BIGNUM,
15449                eckey: *mut EC_KEY,
15450            ) -> ::std::os::raw::c_int,
15451        >,
15452        sign_sig: ::std::option::Option<
15453            unsafe extern "C" fn(
15454                digest: *const u8,
15455                digest_len: ::std::os::raw::c_int,
15456                in_kinv: *const BIGNUM,
15457                in_r: *const BIGNUM,
15458                eckey: *mut EC_KEY,
15459            ) -> *mut ECDSA_SIG,
15460        >,
15461    );
15462}
15463extern "C" {
15464    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_METHOD_set_init_awslc"]
15465    pub fn EC_KEY_METHOD_set_init_awslc(
15466        meth: *mut EC_KEY_METHOD,
15467        init: ::std::option::Option<
15468            unsafe extern "C" fn(key: *mut EC_KEY) -> ::std::os::raw::c_int,
15469        >,
15470        finish: ::std::option::Option<unsafe extern "C" fn(key: *mut EC_KEY)>,
15471    );
15472}
15473extern "C" {
15474    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_METHOD_set_flags"]
15475    pub fn EC_KEY_METHOD_set_flags(
15476        meth: *mut EC_KEY_METHOD,
15477        flags: ::std::os::raw::c_int,
15478    ) -> ::std::os::raw::c_int;
15479}
15480extern "C" {
15481    #[link_name = "\u{1}aws_lc_0_27_2_EC_KEY_set_asn1_flag"]
15482    pub fn EC_KEY_set_asn1_flag(key: *mut EC_KEY, flag: ::std::os::raw::c_int);
15483}
15484extern "C" {
15485    #[link_name = "\u{1}aws_lc_0_27_2_ECDH_compute_key"]
15486    pub fn ECDH_compute_key(
15487        out: *mut ::std::os::raw::c_void,
15488        outlen: usize,
15489        pub_key: *const EC_POINT,
15490        priv_key: *const EC_KEY,
15491        kdf: ::std::option::Option<
15492            unsafe extern "C" fn(
15493                in_: *const ::std::os::raw::c_void,
15494                inlen: usize,
15495                out: *mut ::std::os::raw::c_void,
15496                outlen: *mut usize,
15497            ) -> *mut ::std::os::raw::c_void,
15498        >,
15499    ) -> ::std::os::raw::c_int;
15500}
15501extern "C" {
15502    #[link_name = "\u{1}aws_lc_0_27_2_ECDH_compute_key_fips"]
15503    pub fn ECDH_compute_key_fips(
15504        out: *mut u8,
15505        out_len: usize,
15506        pub_key: *const EC_POINT,
15507        priv_key: *const EC_KEY,
15508    ) -> ::std::os::raw::c_int;
15509}
15510extern "C" {
15511    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_sign"]
15512    pub fn ECDSA_sign(
15513        type_: ::std::os::raw::c_int,
15514        digest: *const u8,
15515        digest_len: usize,
15516        sig: *mut u8,
15517        sig_len: *mut ::std::os::raw::c_uint,
15518        key: *const EC_KEY,
15519    ) -> ::std::os::raw::c_int;
15520}
15521extern "C" {
15522    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_verify"]
15523    pub fn ECDSA_verify(
15524        type_: ::std::os::raw::c_int,
15525        digest: *const u8,
15526        digest_len: usize,
15527        sig: *const u8,
15528        sig_len: usize,
15529        key: *const EC_KEY,
15530    ) -> ::std::os::raw::c_int;
15531}
15532extern "C" {
15533    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_size"]
15534    pub fn ECDSA_size(key: *const EC_KEY) -> usize;
15535}
15536#[repr(C)]
15537#[derive(Debug, Copy, Clone, PartialEq, Eq)]
15538pub struct ecdsa_sig_st {
15539    pub r: *mut BIGNUM,
15540    pub s: *mut BIGNUM,
15541}
15542#[test]
15543fn bindgen_test_layout_ecdsa_sig_st() {
15544    const UNINIT: ::std::mem::MaybeUninit<ecdsa_sig_st> = ::std::mem::MaybeUninit::uninit();
15545    let ptr = UNINIT.as_ptr();
15546    assert_eq!(
15547        ::std::mem::size_of::<ecdsa_sig_st>(),
15548        16usize,
15549        concat!("Size of: ", stringify!(ecdsa_sig_st))
15550    );
15551    assert_eq!(
15552        ::std::mem::align_of::<ecdsa_sig_st>(),
15553        8usize,
15554        concat!("Alignment of ", stringify!(ecdsa_sig_st))
15555    );
15556    assert_eq!(
15557        unsafe { ::std::ptr::addr_of!((*ptr).r) as usize - ptr as usize },
15558        0usize,
15559        concat!(
15560            "Offset of field: ",
15561            stringify!(ecdsa_sig_st),
15562            "::",
15563            stringify!(r)
15564        )
15565    );
15566    assert_eq!(
15567        unsafe { ::std::ptr::addr_of!((*ptr).s) as usize - ptr as usize },
15568        8usize,
15569        concat!(
15570            "Offset of field: ",
15571            stringify!(ecdsa_sig_st),
15572            "::",
15573            stringify!(s)
15574        )
15575    );
15576}
15577impl Default for ecdsa_sig_st {
15578    fn default() -> Self {
15579        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15580        unsafe {
15581            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15582            s.assume_init()
15583        }
15584    }
15585}
15586extern "C" {
15587    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_new"]
15588    pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
15589}
15590extern "C" {
15591    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_free"]
15592    pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
15593}
15594extern "C" {
15595    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_get0_r"]
15596    pub fn ECDSA_SIG_get0_r(sig: *const ECDSA_SIG) -> *const BIGNUM;
15597}
15598extern "C" {
15599    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_get0_s"]
15600    pub fn ECDSA_SIG_get0_s(sig: *const ECDSA_SIG) -> *const BIGNUM;
15601}
15602extern "C" {
15603    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_get0"]
15604    pub fn ECDSA_SIG_get0(
15605        sig: *const ECDSA_SIG,
15606        out_r: *mut *const BIGNUM,
15607        out_s: *mut *const BIGNUM,
15608    );
15609}
15610extern "C" {
15611    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_set0"]
15612    pub fn ECDSA_SIG_set0(
15613        sig: *mut ECDSA_SIG,
15614        r: *mut BIGNUM,
15615        s: *mut BIGNUM,
15616    ) -> ::std::os::raw::c_int;
15617}
15618extern "C" {
15619    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_do_sign"]
15620    pub fn ECDSA_do_sign(
15621        digest: *const u8,
15622        digest_len: usize,
15623        key: *const EC_KEY,
15624    ) -> *mut ECDSA_SIG;
15625}
15626extern "C" {
15627    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_do_verify"]
15628    pub fn ECDSA_do_verify(
15629        digest: *const u8,
15630        digest_len: usize,
15631        sig: *const ECDSA_SIG,
15632        key: *const EC_KEY,
15633    ) -> ::std::os::raw::c_int;
15634}
15635extern "C" {
15636    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_parse"]
15637    pub fn ECDSA_SIG_parse(cbs: *mut CBS) -> *mut ECDSA_SIG;
15638}
15639extern "C" {
15640    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_from_bytes"]
15641    pub fn ECDSA_SIG_from_bytes(in_: *const u8, in_len: usize) -> *mut ECDSA_SIG;
15642}
15643extern "C" {
15644    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_marshal"]
15645    pub fn ECDSA_SIG_marshal(cbb: *mut CBB, sig: *const ECDSA_SIG) -> ::std::os::raw::c_int;
15646}
15647extern "C" {
15648    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_to_bytes"]
15649    pub fn ECDSA_SIG_to_bytes(
15650        out_bytes: *mut *mut u8,
15651        out_len: *mut usize,
15652        sig: *const ECDSA_SIG,
15653    ) -> ::std::os::raw::c_int;
15654}
15655extern "C" {
15656    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_SIG_max_len"]
15657    pub fn ECDSA_SIG_max_len(order_len: usize) -> usize;
15658}
15659extern "C" {
15660    #[link_name = "\u{1}aws_lc_0_27_2_ECDSA_sign_with_nonce_and_leak_private_key_for_testing"]
15661    pub fn ECDSA_sign_with_nonce_and_leak_private_key_for_testing(
15662        digest: *const u8,
15663        digest_len: usize,
15664        eckey: *const EC_KEY,
15665        nonce: *const u8,
15666        nonce_len: usize,
15667    ) -> *mut ECDSA_SIG;
15668}
15669extern "C" {
15670    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECDSA_SIG"]
15671    pub fn d2i_ECDSA_SIG(
15672        out: *mut *mut ECDSA_SIG,
15673        inp: *mut *const u8,
15674        len: ::std::os::raw::c_long,
15675    ) -> *mut ECDSA_SIG;
15676}
15677extern "C" {
15678    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECDSA_SIG"]
15679    pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
15680}
15681extern "C" {
15682    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_gcm"]
15683    pub fn EVP_aead_aes_128_gcm() -> *const EVP_AEAD;
15684}
15685extern "C" {
15686    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_192_gcm"]
15687    pub fn EVP_aead_aes_192_gcm() -> *const EVP_AEAD;
15688}
15689extern "C" {
15690    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_gcm"]
15691    pub fn EVP_aead_aes_256_gcm() -> *const EVP_AEAD;
15692}
15693extern "C" {
15694    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_chacha20_poly1305"]
15695    pub fn EVP_aead_chacha20_poly1305() -> *const EVP_AEAD;
15696}
15697extern "C" {
15698    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_xchacha20_poly1305"]
15699    pub fn EVP_aead_xchacha20_poly1305() -> *const EVP_AEAD;
15700}
15701extern "C" {
15702    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_ctr_hmac_sha256"]
15703    pub fn EVP_aead_aes_128_ctr_hmac_sha256() -> *const EVP_AEAD;
15704}
15705extern "C" {
15706    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_ctr_hmac_sha256"]
15707    pub fn EVP_aead_aes_256_ctr_hmac_sha256() -> *const EVP_AEAD;
15708}
15709extern "C" {
15710    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_gcm_siv"]
15711    pub fn EVP_aead_aes_128_gcm_siv() -> *const EVP_AEAD;
15712}
15713extern "C" {
15714    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_gcm_siv"]
15715    pub fn EVP_aead_aes_256_gcm_siv() -> *const EVP_AEAD;
15716}
15717extern "C" {
15718    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_gcm_randnonce"]
15719    pub fn EVP_aead_aes_128_gcm_randnonce() -> *const EVP_AEAD;
15720}
15721extern "C" {
15722    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_gcm_randnonce"]
15723    pub fn EVP_aead_aes_256_gcm_randnonce() -> *const EVP_AEAD;
15724}
15725extern "C" {
15726    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_ccm_bluetooth"]
15727    pub fn EVP_aead_aes_128_ccm_bluetooth() -> *const EVP_AEAD;
15728}
15729extern "C" {
15730    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_ccm_bluetooth_8"]
15731    pub fn EVP_aead_aes_128_ccm_bluetooth_8() -> *const EVP_AEAD;
15732}
15733extern "C" {
15734    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_ccm_matter"]
15735    pub fn EVP_aead_aes_128_ccm_matter() -> *const EVP_AEAD;
15736}
15737extern "C" {
15738    #[link_name = "\u{1}aws_lc_0_27_2_EVP_has_aes_hardware"]
15739    pub fn EVP_has_aes_hardware() -> ::std::os::raw::c_int;
15740}
15741extern "C" {
15742    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_key_length"]
15743    pub fn EVP_AEAD_key_length(aead: *const EVP_AEAD) -> usize;
15744}
15745extern "C" {
15746    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_nonce_length"]
15747    pub fn EVP_AEAD_nonce_length(aead: *const EVP_AEAD) -> usize;
15748}
15749extern "C" {
15750    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_max_overhead"]
15751    pub fn EVP_AEAD_max_overhead(aead: *const EVP_AEAD) -> usize;
15752}
15753extern "C" {
15754    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_max_tag_len"]
15755    pub fn EVP_AEAD_max_tag_len(aead: *const EVP_AEAD) -> usize;
15756}
15757#[repr(C)]
15758#[derive(Copy, Clone)]
15759pub union evp_aead_ctx_st_state {
15760    pub opaque: [u8; 564usize],
15761    pub alignment: u64,
15762    pub ptr: *mut ::std::os::raw::c_void,
15763}
15764#[test]
15765fn bindgen_test_layout_evp_aead_ctx_st_state() {
15766    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st_state> =
15767        ::std::mem::MaybeUninit::uninit();
15768    let ptr = UNINIT.as_ptr();
15769    assert_eq!(
15770        ::std::mem::size_of::<evp_aead_ctx_st_state>(),
15771        568usize,
15772        concat!("Size of: ", stringify!(evp_aead_ctx_st_state))
15773    );
15774    assert_eq!(
15775        ::std::mem::align_of::<evp_aead_ctx_st_state>(),
15776        8usize,
15777        concat!("Alignment of ", stringify!(evp_aead_ctx_st_state))
15778    );
15779    assert_eq!(
15780        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
15781        0usize,
15782        concat!(
15783            "Offset of field: ",
15784            stringify!(evp_aead_ctx_st_state),
15785            "::",
15786            stringify!(opaque)
15787        )
15788    );
15789    assert_eq!(
15790        unsafe { ::std::ptr::addr_of!((*ptr).alignment) as usize - ptr as usize },
15791        0usize,
15792        concat!(
15793            "Offset of field: ",
15794            stringify!(evp_aead_ctx_st_state),
15795            "::",
15796            stringify!(alignment)
15797        )
15798    );
15799    assert_eq!(
15800        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
15801        0usize,
15802        concat!(
15803            "Offset of field: ",
15804            stringify!(evp_aead_ctx_st_state),
15805            "::",
15806            stringify!(ptr)
15807        )
15808    );
15809}
15810impl Default for evp_aead_ctx_st_state {
15811    fn default() -> Self {
15812        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15813        unsafe {
15814            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15815            s.assume_init()
15816        }
15817    }
15818}
15819#[repr(C)]
15820#[derive(Copy, Clone)]
15821pub struct evp_aead_ctx_st {
15822    pub aead: *const EVP_AEAD,
15823    pub state: evp_aead_ctx_st_state,
15824    pub state_offset: u8,
15825    pub tag_len: u8,
15826}
15827#[test]
15828fn bindgen_test_layout_evp_aead_ctx_st() {
15829    const UNINIT: ::std::mem::MaybeUninit<evp_aead_ctx_st> = ::std::mem::MaybeUninit::uninit();
15830    let ptr = UNINIT.as_ptr();
15831    assert_eq!(
15832        ::std::mem::size_of::<evp_aead_ctx_st>(),
15833        584usize,
15834        concat!("Size of: ", stringify!(evp_aead_ctx_st))
15835    );
15836    assert_eq!(
15837        ::std::mem::align_of::<evp_aead_ctx_st>(),
15838        8usize,
15839        concat!("Alignment of ", stringify!(evp_aead_ctx_st))
15840    );
15841    assert_eq!(
15842        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
15843        0usize,
15844        concat!(
15845            "Offset of field: ",
15846            stringify!(evp_aead_ctx_st),
15847            "::",
15848            stringify!(aead)
15849        )
15850    );
15851    assert_eq!(
15852        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
15853        8usize,
15854        concat!(
15855            "Offset of field: ",
15856            stringify!(evp_aead_ctx_st),
15857            "::",
15858            stringify!(state)
15859        )
15860    );
15861    assert_eq!(
15862        unsafe { ::std::ptr::addr_of!((*ptr).state_offset) as usize - ptr as usize },
15863        576usize,
15864        concat!(
15865            "Offset of field: ",
15866            stringify!(evp_aead_ctx_st),
15867            "::",
15868            stringify!(state_offset)
15869        )
15870    );
15871    assert_eq!(
15872        unsafe { ::std::ptr::addr_of!((*ptr).tag_len) as usize - ptr as usize },
15873        577usize,
15874        concat!(
15875            "Offset of field: ",
15876            stringify!(evp_aead_ctx_st),
15877            "::",
15878            stringify!(tag_len)
15879        )
15880    );
15881}
15882impl Default for evp_aead_ctx_st {
15883    fn default() -> Self {
15884        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
15885        unsafe {
15886            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
15887            s.assume_init()
15888        }
15889    }
15890}
15891extern "C" {
15892    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_zero"]
15893    pub fn EVP_AEAD_CTX_zero(ctx: *mut EVP_AEAD_CTX);
15894}
15895extern "C" {
15896    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_new"]
15897    pub fn EVP_AEAD_CTX_new(
15898        aead: *const EVP_AEAD,
15899        key: *const u8,
15900        key_len: usize,
15901        tag_len: usize,
15902    ) -> *mut EVP_AEAD_CTX;
15903}
15904extern "C" {
15905    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_free"]
15906    pub fn EVP_AEAD_CTX_free(ctx: *mut EVP_AEAD_CTX);
15907}
15908extern "C" {
15909    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_init"]
15910    pub fn EVP_AEAD_CTX_init(
15911        ctx: *mut EVP_AEAD_CTX,
15912        aead: *const EVP_AEAD,
15913        key: *const u8,
15914        key_len: usize,
15915        tag_len: usize,
15916        impl_: *mut ENGINE,
15917    ) -> ::std::os::raw::c_int;
15918}
15919extern "C" {
15920    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_cleanup"]
15921    pub fn EVP_AEAD_CTX_cleanup(ctx: *mut EVP_AEAD_CTX);
15922}
15923extern "C" {
15924    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_seal"]
15925    pub fn EVP_AEAD_CTX_seal(
15926        ctx: *const EVP_AEAD_CTX,
15927        out: *mut u8,
15928        out_len: *mut usize,
15929        max_out_len: usize,
15930        nonce: *const u8,
15931        nonce_len: usize,
15932        in_: *const u8,
15933        in_len: usize,
15934        ad: *const u8,
15935        ad_len: usize,
15936    ) -> ::std::os::raw::c_int;
15937}
15938extern "C" {
15939    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_open"]
15940    pub fn EVP_AEAD_CTX_open(
15941        ctx: *const EVP_AEAD_CTX,
15942        out: *mut u8,
15943        out_len: *mut usize,
15944        max_out_len: usize,
15945        nonce: *const u8,
15946        nonce_len: usize,
15947        in_: *const u8,
15948        in_len: usize,
15949        ad: *const u8,
15950        ad_len: usize,
15951    ) -> ::std::os::raw::c_int;
15952}
15953extern "C" {
15954    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_seal_scatter"]
15955    pub fn EVP_AEAD_CTX_seal_scatter(
15956        ctx: *const EVP_AEAD_CTX,
15957        out: *mut u8,
15958        out_tag: *mut u8,
15959        out_tag_len: *mut usize,
15960        max_out_tag_len: usize,
15961        nonce: *const u8,
15962        nonce_len: usize,
15963        in_: *const u8,
15964        in_len: usize,
15965        extra_in: *const u8,
15966        extra_in_len: usize,
15967        ad: *const u8,
15968        ad_len: usize,
15969    ) -> ::std::os::raw::c_int;
15970}
15971extern "C" {
15972    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_open_gather"]
15973    pub fn EVP_AEAD_CTX_open_gather(
15974        ctx: *const EVP_AEAD_CTX,
15975        out: *mut u8,
15976        nonce: *const u8,
15977        nonce_len: usize,
15978        in_: *const u8,
15979        in_len: usize,
15980        in_tag: *const u8,
15981        in_tag_len: usize,
15982        ad: *const u8,
15983        ad_len: usize,
15984    ) -> ::std::os::raw::c_int;
15985}
15986extern "C" {
15987    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_aead"]
15988    pub fn EVP_AEAD_CTX_aead(ctx: *const EVP_AEAD_CTX) -> *const EVP_AEAD;
15989}
15990extern "C" {
15991    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_cbc_sha1_tls"]
15992    pub fn EVP_aead_aes_128_cbc_sha1_tls() -> *const EVP_AEAD;
15993}
15994extern "C" {
15995    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_cbc_sha1_tls_implicit_iv"]
15996    pub fn EVP_aead_aes_128_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
15997}
15998extern "C" {
15999    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_cbc_sha1_tls"]
16000    pub fn EVP_aead_aes_256_cbc_sha1_tls() -> *const EVP_AEAD;
16001}
16002extern "C" {
16003    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_cbc_sha1_tls_implicit_iv"]
16004    pub fn EVP_aead_aes_256_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16005}
16006extern "C" {
16007    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_cbc_sha256_tls"]
16008    pub fn EVP_aead_aes_128_cbc_sha256_tls() -> *const EVP_AEAD;
16009}
16010extern "C" {
16011    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_cbc_sha256_tls_implicit_iv"]
16012    pub fn EVP_aead_aes_128_cbc_sha256_tls_implicit_iv() -> *const EVP_AEAD;
16013}
16014extern "C" {
16015    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_cbc_sha384_tls"]
16016    pub fn EVP_aead_aes_256_cbc_sha384_tls() -> *const EVP_AEAD;
16017}
16018extern "C" {
16019    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_des_ede3_cbc_sha1_tls"]
16020    pub fn EVP_aead_des_ede3_cbc_sha1_tls() -> *const EVP_AEAD;
16021}
16022extern "C" {
16023    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv"]
16024    pub fn EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv() -> *const EVP_AEAD;
16025}
16026extern "C" {
16027    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_null_sha1_tls"]
16028    pub fn EVP_aead_null_sha1_tls() -> *const EVP_AEAD;
16029}
16030extern "C" {
16031    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_gcm_tls12"]
16032    pub fn EVP_aead_aes_128_gcm_tls12() -> *const EVP_AEAD;
16033}
16034extern "C" {
16035    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_gcm_tls12"]
16036    pub fn EVP_aead_aes_256_gcm_tls12() -> *const EVP_AEAD;
16037}
16038extern "C" {
16039    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_128_gcm_tls13"]
16040    pub fn EVP_aead_aes_128_gcm_tls13() -> *const EVP_AEAD;
16041}
16042extern "C" {
16043    #[link_name = "\u{1}aws_lc_0_27_2_EVP_aead_aes_256_gcm_tls13"]
16044    pub fn EVP_aead_aes_256_gcm_tls13() -> *const EVP_AEAD;
16045}
16046pub const evp_aead_direction_t_evp_aead_open: evp_aead_direction_t = 0;
16047pub const evp_aead_direction_t_evp_aead_seal: evp_aead_direction_t = 1;
16048pub type evp_aead_direction_t = ::std::os::raw::c_uint;
16049extern "C" {
16050    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_init_with_direction"]
16051    pub fn EVP_AEAD_CTX_init_with_direction(
16052        ctx: *mut EVP_AEAD_CTX,
16053        aead: *const EVP_AEAD,
16054        key: *const u8,
16055        key_len: usize,
16056        tag_len: usize,
16057        dir: evp_aead_direction_t,
16058    ) -> ::std::os::raw::c_int;
16059}
16060extern "C" {
16061    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_get_iv"]
16062    pub fn EVP_AEAD_CTX_get_iv(
16063        ctx: *const EVP_AEAD_CTX,
16064        out_iv: *mut *const u8,
16065        out_len: *mut usize,
16066    ) -> ::std::os::raw::c_int;
16067}
16068extern "C" {
16069    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_CTX_tag_len"]
16070    pub fn EVP_AEAD_CTX_tag_len(
16071        ctx: *const EVP_AEAD_CTX,
16072        out_tag_len: *mut usize,
16073        in_len: usize,
16074        extra_in_len: usize,
16075    ) -> ::std::os::raw::c_int;
16076}
16077extern "C" {
16078    #[link_name = "\u{1}aws_lc_0_27_2_EVP_AEAD_get_iv_from_ipv4_nanosecs"]
16079    pub fn EVP_AEAD_get_iv_from_ipv4_nanosecs(
16080        ipv4_address: u32,
16081        nanosecs: u64,
16082        out_iv: *mut u8,
16083    ) -> ::std::os::raw::c_int;
16084}
16085extern "C" {
16086    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_dup"]
16087    pub fn OBJ_dup(obj: *const ASN1_OBJECT) -> *mut ASN1_OBJECT;
16088}
16089extern "C" {
16090    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_cmp"]
16091    pub fn OBJ_cmp(a: *const ASN1_OBJECT, b: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16092}
16093extern "C" {
16094    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_get0_data"]
16095    pub fn OBJ_get0_data(obj: *const ASN1_OBJECT) -> *const u8;
16096}
16097extern "C" {
16098    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_length"]
16099    pub fn OBJ_length(obj: *const ASN1_OBJECT) -> usize;
16100}
16101extern "C" {
16102    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_obj2nid"]
16103    pub fn OBJ_obj2nid(obj: *const ASN1_OBJECT) -> ::std::os::raw::c_int;
16104}
16105extern "C" {
16106    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_cbs2nid"]
16107    pub fn OBJ_cbs2nid(cbs: *const CBS) -> ::std::os::raw::c_int;
16108}
16109extern "C" {
16110    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_sn2nid"]
16111    pub fn OBJ_sn2nid(short_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16112}
16113extern "C" {
16114    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_ln2nid"]
16115    pub fn OBJ_ln2nid(long_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16116}
16117extern "C" {
16118    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_txt2nid"]
16119    pub fn OBJ_txt2nid(s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
16120}
16121extern "C" {
16122    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_nid2obj"]
16123    pub fn OBJ_nid2obj(nid: ::std::os::raw::c_int) -> *mut ASN1_OBJECT;
16124}
16125extern "C" {
16126    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_get_undef"]
16127    pub fn OBJ_get_undef() -> *const ASN1_OBJECT;
16128}
16129extern "C" {
16130    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_nid2sn"]
16131    pub fn OBJ_nid2sn(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16132}
16133extern "C" {
16134    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_nid2ln"]
16135    pub fn OBJ_nid2ln(nid: ::std::os::raw::c_int) -> *const ::std::os::raw::c_char;
16136}
16137extern "C" {
16138    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_nid2cbb"]
16139    pub fn OBJ_nid2cbb(out: *mut CBB, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
16140}
16141extern "C" {
16142    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_txt2obj"]
16143    pub fn OBJ_txt2obj(
16144        s: *const ::std::os::raw::c_char,
16145        dont_search_names: ::std::os::raw::c_int,
16146    ) -> *mut ASN1_OBJECT;
16147}
16148extern "C" {
16149    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_obj2txt"]
16150    pub fn OBJ_obj2txt(
16151        out: *mut ::std::os::raw::c_char,
16152        out_len: ::std::os::raw::c_int,
16153        obj: *const ASN1_OBJECT,
16154        always_return_oid: ::std::os::raw::c_int,
16155    ) -> ::std::os::raw::c_int;
16156}
16157extern "C" {
16158    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_create"]
16159    pub fn OBJ_create(
16160        oid: *const ::std::os::raw::c_char,
16161        short_name: *const ::std::os::raw::c_char,
16162        long_name: *const ::std::os::raw::c_char,
16163    ) -> ::std::os::raw::c_int;
16164}
16165extern "C" {
16166    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_find_sigid_algs"]
16167    pub fn OBJ_find_sigid_algs(
16168        sign_nid: ::std::os::raw::c_int,
16169        out_digest_nid: *mut ::std::os::raw::c_int,
16170        out_pkey_nid: *mut ::std::os::raw::c_int,
16171    ) -> ::std::os::raw::c_int;
16172}
16173extern "C" {
16174    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_find_sigid_by_algs"]
16175    pub fn OBJ_find_sigid_by_algs(
16176        out_sign_nid: *mut ::std::os::raw::c_int,
16177        digest_nid: ::std::os::raw::c_int,
16178        pkey_nid: ::std::os::raw::c_int,
16179    ) -> ::std::os::raw::c_int;
16180}
16181#[repr(C)]
16182#[derive(Debug, Copy, Clone, PartialEq, Eq)]
16183pub struct obj_name_st {
16184    pub type_: ::std::os::raw::c_int,
16185    pub alias: ::std::os::raw::c_int,
16186    pub name: *const ::std::os::raw::c_char,
16187    pub data: *const ::std::os::raw::c_char,
16188}
16189#[test]
16190fn bindgen_test_layout_obj_name_st() {
16191    const UNINIT: ::std::mem::MaybeUninit<obj_name_st> = ::std::mem::MaybeUninit::uninit();
16192    let ptr = UNINIT.as_ptr();
16193    assert_eq!(
16194        ::std::mem::size_of::<obj_name_st>(),
16195        24usize,
16196        concat!("Size of: ", stringify!(obj_name_st))
16197    );
16198    assert_eq!(
16199        ::std::mem::align_of::<obj_name_st>(),
16200        8usize,
16201        concat!("Alignment of ", stringify!(obj_name_st))
16202    );
16203    assert_eq!(
16204        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
16205        0usize,
16206        concat!(
16207            "Offset of field: ",
16208            stringify!(obj_name_st),
16209            "::",
16210            stringify!(type_)
16211        )
16212    );
16213    assert_eq!(
16214        unsafe { ::std::ptr::addr_of!((*ptr).alias) as usize - ptr as usize },
16215        4usize,
16216        concat!(
16217            "Offset of field: ",
16218            stringify!(obj_name_st),
16219            "::",
16220            stringify!(alias)
16221        )
16222    );
16223    assert_eq!(
16224        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
16225        8usize,
16226        concat!(
16227            "Offset of field: ",
16228            stringify!(obj_name_st),
16229            "::",
16230            stringify!(name)
16231        )
16232    );
16233    assert_eq!(
16234        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
16235        16usize,
16236        concat!(
16237            "Offset of field: ",
16238            stringify!(obj_name_st),
16239            "::",
16240            stringify!(data)
16241        )
16242    );
16243}
16244impl Default for obj_name_st {
16245    fn default() -> Self {
16246        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
16247        unsafe {
16248            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
16249            s.assume_init()
16250        }
16251    }
16252}
16253pub type OBJ_NAME = obj_name_st;
16254extern "C" {
16255    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_NAME_do_all_sorted"]
16256    pub fn OBJ_NAME_do_all_sorted(
16257        type_: ::std::os::raw::c_int,
16258        callback: ::std::option::Option<
16259            unsafe extern "C" fn(arg1: *const OBJ_NAME, arg: *mut ::std::os::raw::c_void),
16260        >,
16261        arg: *mut ::std::os::raw::c_void,
16262    );
16263}
16264extern "C" {
16265    #[link_name = "\u{1}aws_lc_0_27_2_OBJ_cleanup"]
16266    pub fn OBJ_cleanup();
16267}
16268extern "C" {
16269    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_new"]
16270    pub fn EVP_PKEY_new() -> *mut EVP_PKEY;
16271}
16272extern "C" {
16273    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_free"]
16274    pub fn EVP_PKEY_free(pkey: *mut EVP_PKEY);
16275}
16276extern "C" {
16277    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_up_ref"]
16278    pub fn EVP_PKEY_up_ref(pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16279}
16280extern "C" {
16281    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_is_opaque"]
16282    pub fn EVP_PKEY_is_opaque(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16283}
16284extern "C" {
16285    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_cmp"]
16286    pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> ::std::os::raw::c_int;
16287}
16288extern "C" {
16289    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_copy_parameters"]
16290    pub fn EVP_PKEY_copy_parameters(
16291        to: *mut EVP_PKEY,
16292        from: *const EVP_PKEY,
16293    ) -> ::std::os::raw::c_int;
16294}
16295extern "C" {
16296    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_missing_parameters"]
16297    pub fn EVP_PKEY_missing_parameters(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16298}
16299extern "C" {
16300    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_size"]
16301    pub fn EVP_PKEY_size(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16302}
16303extern "C" {
16304    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_bits"]
16305    pub fn EVP_PKEY_bits(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16306}
16307extern "C" {
16308    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_id"]
16309    pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
16310}
16311extern "C" {
16312    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_get0_name"]
16313    pub fn EVP_MD_get0_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16314}
16315extern "C" {
16316    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_name"]
16317    pub fn EVP_MD_name(md: *const EVP_MD) -> *const ::std::os::raw::c_char;
16318}
16319extern "C" {
16320    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set1_RSA"]
16321    pub fn EVP_PKEY_set1_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16322}
16323extern "C" {
16324    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_assign_RSA"]
16325    pub fn EVP_PKEY_assign_RSA(pkey: *mut EVP_PKEY, key: *mut RSA) -> ::std::os::raw::c_int;
16326}
16327extern "C" {
16328    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get0_RSA"]
16329    pub fn EVP_PKEY_get0_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16330}
16331extern "C" {
16332    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get1_RSA"]
16333    pub fn EVP_PKEY_get1_RSA(pkey: *const EVP_PKEY) -> *mut RSA;
16334}
16335extern "C" {
16336    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set1_DSA"]
16337    pub fn EVP_PKEY_set1_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16338}
16339extern "C" {
16340    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_assign_DSA"]
16341    pub fn EVP_PKEY_assign_DSA(pkey: *mut EVP_PKEY, key: *mut DSA) -> ::std::os::raw::c_int;
16342}
16343extern "C" {
16344    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get0_DSA"]
16345    pub fn EVP_PKEY_get0_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16346}
16347extern "C" {
16348    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get1_DSA"]
16349    pub fn EVP_PKEY_get1_DSA(pkey: *const EVP_PKEY) -> *mut DSA;
16350}
16351extern "C" {
16352    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set1_EC_KEY"]
16353    pub fn EVP_PKEY_set1_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16354}
16355extern "C" {
16356    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_assign_EC_KEY"]
16357    pub fn EVP_PKEY_assign_EC_KEY(pkey: *mut EVP_PKEY, key: *mut EC_KEY) -> ::std::os::raw::c_int;
16358}
16359extern "C" {
16360    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get0_EC_KEY"]
16361    pub fn EVP_PKEY_get0_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16362}
16363extern "C" {
16364    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get1_EC_KEY"]
16365    pub fn EVP_PKEY_get1_EC_KEY(pkey: *const EVP_PKEY) -> *mut EC_KEY;
16366}
16367extern "C" {
16368    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set1_DH"]
16369    pub fn EVP_PKEY_set1_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16370}
16371extern "C" {
16372    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_assign_DH"]
16373    pub fn EVP_PKEY_assign_DH(pkey: *mut EVP_PKEY, key: *mut DH) -> ::std::os::raw::c_int;
16374}
16375extern "C" {
16376    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get0_DH"]
16377    pub fn EVP_PKEY_get0_DH(pkey: *const EVP_PKEY) -> *mut DH;
16378}
16379extern "C" {
16380    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get1_DH"]
16381    pub fn EVP_PKEY_get1_DH(pkey: *const EVP_PKEY) -> *mut DH;
16382}
16383extern "C" {
16384    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dh_paramgen_prime_len"]
16385    pub fn EVP_PKEY_CTX_set_dh_paramgen_prime_len(
16386        ctx: *mut EVP_PKEY_CTX,
16387        pbits: ::std::os::raw::c_int,
16388    ) -> ::std::os::raw::c_int;
16389}
16390extern "C" {
16391    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dh_paramgen_generator"]
16392    pub fn EVP_PKEY_CTX_set_dh_paramgen_generator(
16393        ctx: *mut EVP_PKEY_CTX,
16394        gen: ::std::os::raw::c_int,
16395    ) -> ::std::os::raw::c_int;
16396}
16397extern "C" {
16398    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set_type"]
16399    pub fn EVP_PKEY_set_type(
16400        pkey: *mut EVP_PKEY,
16401        type_: ::std::os::raw::c_int,
16402    ) -> ::std::os::raw::c_int;
16403}
16404extern "C" {
16405    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_cmp_parameters"]
16406    pub fn EVP_PKEY_cmp_parameters(a: *const EVP_PKEY, b: *const EVP_PKEY)
16407        -> ::std::os::raw::c_int;
16408}
16409extern "C" {
16410    #[link_name = "\u{1}aws_lc_0_27_2_EVP_parse_public_key"]
16411    pub fn EVP_parse_public_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16412}
16413extern "C" {
16414    #[link_name = "\u{1}aws_lc_0_27_2_EVP_marshal_public_key"]
16415    pub fn EVP_marshal_public_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16416}
16417extern "C" {
16418    #[link_name = "\u{1}aws_lc_0_27_2_EVP_parse_private_key"]
16419    pub fn EVP_parse_private_key(cbs: *mut CBS) -> *mut EVP_PKEY;
16420}
16421extern "C" {
16422    #[link_name = "\u{1}aws_lc_0_27_2_EVP_marshal_private_key"]
16423    pub fn EVP_marshal_private_key(cbb: *mut CBB, key: *const EVP_PKEY) -> ::std::os::raw::c_int;
16424}
16425extern "C" {
16426    #[link_name = "\u{1}aws_lc_0_27_2_EVP_marshal_private_key_v2"]
16427    pub fn EVP_marshal_private_key_v2(cbb: *mut CBB, key: *const EVP_PKEY)
16428        -> ::std::os::raw::c_int;
16429}
16430extern "C" {
16431    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_new_raw_private_key"]
16432    pub fn EVP_PKEY_new_raw_private_key(
16433        type_: ::std::os::raw::c_int,
16434        unused: *mut ENGINE,
16435        in_: *const u8,
16436        len: usize,
16437    ) -> *mut EVP_PKEY;
16438}
16439extern "C" {
16440    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_new_raw_public_key"]
16441    pub fn EVP_PKEY_new_raw_public_key(
16442        type_: ::std::os::raw::c_int,
16443        unused: *mut ENGINE,
16444        in_: *const u8,
16445        len: usize,
16446    ) -> *mut EVP_PKEY;
16447}
16448extern "C" {
16449    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get_raw_private_key"]
16450    pub fn EVP_PKEY_get_raw_private_key(
16451        pkey: *const EVP_PKEY,
16452        out: *mut u8,
16453        out_len: *mut usize,
16454    ) -> ::std::os::raw::c_int;
16455}
16456extern "C" {
16457    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get_raw_public_key"]
16458    pub fn EVP_PKEY_get_raw_public_key(
16459        pkey: *const EVP_PKEY,
16460        out: *mut u8,
16461        out_len: *mut usize,
16462    ) -> ::std::os::raw::c_int;
16463}
16464extern "C" {
16465    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestSignInit"]
16466    pub fn EVP_DigestSignInit(
16467        ctx: *mut EVP_MD_CTX,
16468        pctx: *mut *mut EVP_PKEY_CTX,
16469        type_: *const EVP_MD,
16470        e: *mut ENGINE,
16471        pkey: *mut EVP_PKEY,
16472    ) -> ::std::os::raw::c_int;
16473}
16474extern "C" {
16475    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestSignUpdate"]
16476    pub fn EVP_DigestSignUpdate(
16477        ctx: *mut EVP_MD_CTX,
16478        data: *const ::std::os::raw::c_void,
16479        len: usize,
16480    ) -> ::std::os::raw::c_int;
16481}
16482extern "C" {
16483    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestSignFinal"]
16484    pub fn EVP_DigestSignFinal(
16485        ctx: *mut EVP_MD_CTX,
16486        out_sig: *mut u8,
16487        out_sig_len: *mut usize,
16488    ) -> ::std::os::raw::c_int;
16489}
16490extern "C" {
16491    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestSign"]
16492    pub fn EVP_DigestSign(
16493        ctx: *mut EVP_MD_CTX,
16494        out_sig: *mut u8,
16495        out_sig_len: *mut usize,
16496        data: *const u8,
16497        data_len: usize,
16498    ) -> ::std::os::raw::c_int;
16499}
16500extern "C" {
16501    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestVerifyInit"]
16502    pub fn EVP_DigestVerifyInit(
16503        ctx: *mut EVP_MD_CTX,
16504        pctx: *mut *mut EVP_PKEY_CTX,
16505        type_: *const EVP_MD,
16506        e: *mut ENGINE,
16507        pkey: *mut EVP_PKEY,
16508    ) -> ::std::os::raw::c_int;
16509}
16510extern "C" {
16511    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestVerifyUpdate"]
16512    pub fn EVP_DigestVerifyUpdate(
16513        ctx: *mut EVP_MD_CTX,
16514        data: *const ::std::os::raw::c_void,
16515        len: usize,
16516    ) -> ::std::os::raw::c_int;
16517}
16518extern "C" {
16519    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestVerifyFinal"]
16520    pub fn EVP_DigestVerifyFinal(
16521        ctx: *mut EVP_MD_CTX,
16522        sig: *const u8,
16523        sig_len: usize,
16524    ) -> ::std::os::raw::c_int;
16525}
16526extern "C" {
16527    #[link_name = "\u{1}aws_lc_0_27_2_EVP_DigestVerify"]
16528    pub fn EVP_DigestVerify(
16529        ctx: *mut EVP_MD_CTX,
16530        sig: *const u8,
16531        sig_len: usize,
16532        data: *const u8,
16533        len: usize,
16534    ) -> ::std::os::raw::c_int;
16535}
16536extern "C" {
16537    #[link_name = "\u{1}aws_lc_0_27_2_EVP_SignInit_ex"]
16538    pub fn EVP_SignInit_ex(
16539        ctx: *mut EVP_MD_CTX,
16540        type_: *const EVP_MD,
16541        impl_: *mut ENGINE,
16542    ) -> ::std::os::raw::c_int;
16543}
16544extern "C" {
16545    #[link_name = "\u{1}aws_lc_0_27_2_EVP_SignInit"]
16546    pub fn EVP_SignInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16547}
16548extern "C" {
16549    #[link_name = "\u{1}aws_lc_0_27_2_EVP_SignUpdate"]
16550    pub fn EVP_SignUpdate(
16551        ctx: *mut EVP_MD_CTX,
16552        data: *const ::std::os::raw::c_void,
16553        len: usize,
16554    ) -> ::std::os::raw::c_int;
16555}
16556extern "C" {
16557    #[link_name = "\u{1}aws_lc_0_27_2_EVP_SignFinal"]
16558    pub fn EVP_SignFinal(
16559        ctx: *const EVP_MD_CTX,
16560        sig: *mut u8,
16561        out_sig_len: *mut ::std::os::raw::c_uint,
16562        pkey: *mut EVP_PKEY,
16563    ) -> ::std::os::raw::c_int;
16564}
16565extern "C" {
16566    #[link_name = "\u{1}aws_lc_0_27_2_EVP_VerifyInit_ex"]
16567    pub fn EVP_VerifyInit_ex(
16568        ctx: *mut EVP_MD_CTX,
16569        type_: *const EVP_MD,
16570        impl_: *mut ENGINE,
16571    ) -> ::std::os::raw::c_int;
16572}
16573extern "C" {
16574    #[link_name = "\u{1}aws_lc_0_27_2_EVP_VerifyInit"]
16575    pub fn EVP_VerifyInit(ctx: *mut EVP_MD_CTX, type_: *const EVP_MD) -> ::std::os::raw::c_int;
16576}
16577extern "C" {
16578    #[link_name = "\u{1}aws_lc_0_27_2_EVP_VerifyUpdate"]
16579    pub fn EVP_VerifyUpdate(
16580        ctx: *mut EVP_MD_CTX,
16581        data: *const ::std::os::raw::c_void,
16582        len: usize,
16583    ) -> ::std::os::raw::c_int;
16584}
16585extern "C" {
16586    #[link_name = "\u{1}aws_lc_0_27_2_EVP_VerifyFinal"]
16587    pub fn EVP_VerifyFinal(
16588        ctx: *mut EVP_MD_CTX,
16589        sig: *const u8,
16590        sig_len: usize,
16591        pkey: *mut EVP_PKEY,
16592    ) -> ::std::os::raw::c_int;
16593}
16594extern "C" {
16595    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_print_public"]
16596    pub fn EVP_PKEY_print_public(
16597        out: *mut BIO,
16598        pkey: *const EVP_PKEY,
16599        indent: ::std::os::raw::c_int,
16600        pctx: *mut ASN1_PCTX,
16601    ) -> ::std::os::raw::c_int;
16602}
16603extern "C" {
16604    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_print_private"]
16605    pub fn EVP_PKEY_print_private(
16606        out: *mut BIO,
16607        pkey: *const EVP_PKEY,
16608        indent: ::std::os::raw::c_int,
16609        pctx: *mut ASN1_PCTX,
16610    ) -> ::std::os::raw::c_int;
16611}
16612extern "C" {
16613    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_print_params"]
16614    pub fn EVP_PKEY_print_params(
16615        out: *mut BIO,
16616        pkey: *const EVP_PKEY,
16617        indent: ::std::os::raw::c_int,
16618        pctx: *mut ASN1_PCTX,
16619    ) -> ::std::os::raw::c_int;
16620}
16621extern "C" {
16622    #[link_name = "\u{1}aws_lc_0_27_2_PKCS5_PBKDF2_HMAC"]
16623    pub fn PKCS5_PBKDF2_HMAC(
16624        password: *const ::std::os::raw::c_char,
16625        password_len: usize,
16626        salt: *const u8,
16627        salt_len: usize,
16628        iterations: u32,
16629        digest: *const EVP_MD,
16630        key_len: usize,
16631        out_key: *mut u8,
16632    ) -> ::std::os::raw::c_int;
16633}
16634extern "C" {
16635    #[link_name = "\u{1}aws_lc_0_27_2_PKCS5_PBKDF2_HMAC_SHA1"]
16636    pub fn PKCS5_PBKDF2_HMAC_SHA1(
16637        password: *const ::std::os::raw::c_char,
16638        password_len: usize,
16639        salt: *const u8,
16640        salt_len: usize,
16641        iterations: u32,
16642        key_len: usize,
16643        out_key: *mut u8,
16644    ) -> ::std::os::raw::c_int;
16645}
16646extern "C" {
16647    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PBE_scrypt"]
16648    pub fn EVP_PBE_scrypt(
16649        password: *const ::std::os::raw::c_char,
16650        password_len: usize,
16651        salt: *const u8,
16652        salt_len: usize,
16653        N: u64,
16654        r: u64,
16655        p: u64,
16656        max_mem: usize,
16657        out_key: *mut u8,
16658        key_len: usize,
16659    ) -> ::std::os::raw::c_int;
16660}
16661extern "C" {
16662    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_new"]
16663    pub fn EVP_PKEY_CTX_new(pkey: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16664}
16665extern "C" {
16666    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_new_id"]
16667    pub fn EVP_PKEY_CTX_new_id(id: ::std::os::raw::c_int, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
16668}
16669extern "C" {
16670    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_free"]
16671    pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
16672}
16673extern "C" {
16674    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_dup"]
16675    pub fn EVP_PKEY_CTX_dup(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY_CTX;
16676}
16677extern "C" {
16678    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get0_pkey"]
16679    pub fn EVP_PKEY_CTX_get0_pkey(ctx: *mut EVP_PKEY_CTX) -> *mut EVP_PKEY;
16680}
16681extern "C" {
16682    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_sign_init"]
16683    pub fn EVP_PKEY_sign_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16684}
16685extern "C" {
16686    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_sign"]
16687    pub fn EVP_PKEY_sign(
16688        ctx: *mut EVP_PKEY_CTX,
16689        sig: *mut u8,
16690        sig_len: *mut usize,
16691        digest: *const u8,
16692        digest_len: usize,
16693    ) -> ::std::os::raw::c_int;
16694}
16695extern "C" {
16696    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_verify_init"]
16697    pub fn EVP_PKEY_verify_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16698}
16699extern "C" {
16700    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_verify"]
16701    pub fn EVP_PKEY_verify(
16702        ctx: *mut EVP_PKEY_CTX,
16703        sig: *const u8,
16704        sig_len: usize,
16705        digest: *const u8,
16706        digest_len: usize,
16707    ) -> ::std::os::raw::c_int;
16708}
16709extern "C" {
16710    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_encrypt_init"]
16711    pub fn EVP_PKEY_encrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16712}
16713extern "C" {
16714    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_encrypt"]
16715    pub fn EVP_PKEY_encrypt(
16716        ctx: *mut EVP_PKEY_CTX,
16717        out: *mut u8,
16718        out_len: *mut usize,
16719        in_: *const u8,
16720        in_len: usize,
16721    ) -> ::std::os::raw::c_int;
16722}
16723extern "C" {
16724    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_decrypt_init"]
16725    pub fn EVP_PKEY_decrypt_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16726}
16727extern "C" {
16728    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_decrypt"]
16729    pub fn EVP_PKEY_decrypt(
16730        ctx: *mut EVP_PKEY_CTX,
16731        out: *mut u8,
16732        out_len: *mut usize,
16733        in_: *const u8,
16734        in_len: usize,
16735    ) -> ::std::os::raw::c_int;
16736}
16737extern "C" {
16738    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_verify_recover_init"]
16739    pub fn EVP_PKEY_verify_recover_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16740}
16741extern "C" {
16742    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_verify_recover"]
16743    pub fn EVP_PKEY_verify_recover(
16744        ctx: *mut EVP_PKEY_CTX,
16745        out: *mut u8,
16746        out_len: *mut usize,
16747        sig: *const u8,
16748        siglen: usize,
16749    ) -> ::std::os::raw::c_int;
16750}
16751extern "C" {
16752    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_derive_init"]
16753    pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16754}
16755extern "C" {
16756    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_derive_set_peer"]
16757    pub fn EVP_PKEY_derive_set_peer(
16758        ctx: *mut EVP_PKEY_CTX,
16759        peer: *mut EVP_PKEY,
16760    ) -> ::std::os::raw::c_int;
16761}
16762extern "C" {
16763    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_derive"]
16764    pub fn EVP_PKEY_derive(
16765        ctx: *mut EVP_PKEY_CTX,
16766        key: *mut u8,
16767        out_key_len: *mut usize,
16768    ) -> ::std::os::raw::c_int;
16769}
16770extern "C" {
16771    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_keygen_init"]
16772    pub fn EVP_PKEY_keygen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16773}
16774extern "C" {
16775    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_keygen"]
16776    pub fn EVP_PKEY_keygen(
16777        ctx: *mut EVP_PKEY_CTX,
16778        out_pkey: *mut *mut EVP_PKEY,
16779    ) -> ::std::os::raw::c_int;
16780}
16781extern "C" {
16782    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_encapsulate"]
16783    pub fn EVP_PKEY_encapsulate(
16784        ctx: *mut EVP_PKEY_CTX,
16785        ciphertext: *mut u8,
16786        ciphertext_len: *mut usize,
16787        shared_secret: *mut u8,
16788        shared_secret_len: *mut usize,
16789    ) -> ::std::os::raw::c_int;
16790}
16791extern "C" {
16792    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_decapsulate"]
16793    pub fn EVP_PKEY_decapsulate(
16794        ctx: *mut EVP_PKEY_CTX,
16795        shared_secret: *mut u8,
16796        shared_secret_len: *mut usize,
16797        ciphertext: *const u8,
16798        ciphertext_len: usize,
16799    ) -> ::std::os::raw::c_int;
16800}
16801extern "C" {
16802    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_paramgen_init"]
16803    pub fn EVP_PKEY_paramgen_init(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int;
16804}
16805extern "C" {
16806    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_paramgen"]
16807    pub fn EVP_PKEY_paramgen(
16808        ctx: *mut EVP_PKEY_CTX,
16809        out_pkey: *mut *mut EVP_PKEY,
16810    ) -> ::std::os::raw::c_int;
16811}
16812extern "C" {
16813    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_signature_md"]
16814    pub fn EVP_PKEY_CTX_set_signature_md(
16815        ctx: *mut EVP_PKEY_CTX,
16816        md: *const EVP_MD,
16817    ) -> ::std::os::raw::c_int;
16818}
16819extern "C" {
16820    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_signature_md"]
16821    pub fn EVP_PKEY_CTX_get_signature_md(
16822        ctx: *mut EVP_PKEY_CTX,
16823        out_md: *mut *const EVP_MD,
16824    ) -> ::std::os::raw::c_int;
16825}
16826extern "C" {
16827    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_signature_context"]
16828    pub fn EVP_PKEY_CTX_set_signature_context(
16829        ctx: *mut EVP_PKEY_CTX,
16830        context: *const u8,
16831        context_len: usize,
16832    ) -> ::std::os::raw::c_int;
16833}
16834extern "C" {
16835    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get0_signature_context"]
16836    pub fn EVP_PKEY_CTX_get0_signature_context(
16837        ctx: *mut EVP_PKEY_CTX,
16838        context: *mut *const u8,
16839        context_len: *mut usize,
16840    ) -> ::std::os::raw::c_int;
16841}
16842extern "C" {
16843    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_padding"]
16844    pub fn EVP_PKEY_CTX_set_rsa_padding(
16845        ctx: *mut EVP_PKEY_CTX,
16846        padding: ::std::os::raw::c_int,
16847    ) -> ::std::os::raw::c_int;
16848}
16849extern "C" {
16850    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_rsa_padding"]
16851    pub fn EVP_PKEY_CTX_get_rsa_padding(
16852        ctx: *mut EVP_PKEY_CTX,
16853        out_padding: *mut ::std::os::raw::c_int,
16854    ) -> ::std::os::raw::c_int;
16855}
16856extern "C" {
16857    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_pss_saltlen"]
16858    pub fn EVP_PKEY_CTX_set_rsa_pss_saltlen(
16859        ctx: *mut EVP_PKEY_CTX,
16860        salt_len: ::std::os::raw::c_int,
16861    ) -> ::std::os::raw::c_int;
16862}
16863extern "C" {
16864    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_rsa_pss_saltlen"]
16865    pub fn EVP_PKEY_CTX_get_rsa_pss_saltlen(
16866        ctx: *mut EVP_PKEY_CTX,
16867        out_salt_len: *mut ::std::os::raw::c_int,
16868    ) -> ::std::os::raw::c_int;
16869}
16870extern "C" {
16871    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_keygen_bits"]
16872    pub fn EVP_PKEY_CTX_set_rsa_keygen_bits(
16873        ctx: *mut EVP_PKEY_CTX,
16874        bits: ::std::os::raw::c_int,
16875    ) -> ::std::os::raw::c_int;
16876}
16877extern "C" {
16878    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_keygen_pubexp"]
16879    pub fn EVP_PKEY_CTX_set_rsa_keygen_pubexp(
16880        ctx: *mut EVP_PKEY_CTX,
16881        e: *mut BIGNUM,
16882    ) -> ::std::os::raw::c_int;
16883}
16884extern "C" {
16885    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_oaep_md"]
16886    pub fn EVP_PKEY_CTX_set_rsa_oaep_md(
16887        ctx: *mut EVP_PKEY_CTX,
16888        md: *const EVP_MD,
16889    ) -> ::std::os::raw::c_int;
16890}
16891extern "C" {
16892    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_rsa_oaep_md"]
16893    pub fn EVP_PKEY_CTX_get_rsa_oaep_md(
16894        ctx: *mut EVP_PKEY_CTX,
16895        out_md: *mut *const EVP_MD,
16896    ) -> ::std::os::raw::c_int;
16897}
16898extern "C" {
16899    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_mgf1_md"]
16900    pub fn EVP_PKEY_CTX_set_rsa_mgf1_md(
16901        ctx: *mut EVP_PKEY_CTX,
16902        md: *const EVP_MD,
16903    ) -> ::std::os::raw::c_int;
16904}
16905extern "C" {
16906    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_rsa_mgf1_md"]
16907    pub fn EVP_PKEY_CTX_get_rsa_mgf1_md(
16908        ctx: *mut EVP_PKEY_CTX,
16909        out_md: *mut *const EVP_MD,
16910    ) -> ::std::os::raw::c_int;
16911}
16912extern "C" {
16913    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set0_rsa_oaep_label"]
16914    pub fn EVP_PKEY_CTX_set0_rsa_oaep_label(
16915        ctx: *mut EVP_PKEY_CTX,
16916        label: *mut u8,
16917        label_len: usize,
16918    ) -> ::std::os::raw::c_int;
16919}
16920extern "C" {
16921    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get0_rsa_oaep_label"]
16922    pub fn EVP_PKEY_CTX_get0_rsa_oaep_label(
16923        ctx: *mut EVP_PKEY_CTX,
16924        out_label: *mut *const u8,
16925    ) -> ::std::os::raw::c_int;
16926}
16927extern "C" {
16928    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_ec_paramgen_curve_nid"]
16929    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(
16930        ctx: *mut EVP_PKEY_CTX,
16931        nid: ::std::os::raw::c_int,
16932    ) -> ::std::os::raw::c_int;
16933}
16934extern "C" {
16935    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_kem_set_params"]
16936    pub fn EVP_PKEY_CTX_kem_set_params(
16937        ctx: *mut EVP_PKEY_CTX,
16938        nid: ::std::os::raw::c_int,
16939    ) -> ::std::os::raw::c_int;
16940}
16941extern "C" {
16942    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_kem_new_raw_public_key"]
16943    pub fn EVP_PKEY_kem_new_raw_public_key(
16944        nid: ::std::os::raw::c_int,
16945        in_: *const u8,
16946        len: usize,
16947    ) -> *mut EVP_PKEY;
16948}
16949extern "C" {
16950    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_kem_new_raw_secret_key"]
16951    pub fn EVP_PKEY_kem_new_raw_secret_key(
16952        nid: ::std::os::raw::c_int,
16953        in_: *const u8,
16954        len: usize,
16955    ) -> *mut EVP_PKEY;
16956}
16957extern "C" {
16958    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_kem_new_raw_key"]
16959    pub fn EVP_PKEY_kem_new_raw_key(
16960        nid: ::std::os::raw::c_int,
16961        in_public: *const u8,
16962        len_public: usize,
16963        in_secret: *const u8,
16964        len_secret: usize,
16965    ) -> *mut EVP_PKEY;
16966}
16967extern "C" {
16968    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_kem_check_key"]
16969    pub fn EVP_PKEY_kem_check_key(key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
16970}
16971extern "C" {
16972    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_pqdsa_set_params"]
16973    pub fn EVP_PKEY_CTX_pqdsa_set_params(
16974        ctx: *mut EVP_PKEY_CTX,
16975        nid: ::std::os::raw::c_int,
16976    ) -> ::std::os::raw::c_int;
16977}
16978extern "C" {
16979    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_pqdsa_new_raw_public_key"]
16980    pub fn EVP_PKEY_pqdsa_new_raw_public_key(
16981        nid: ::std::os::raw::c_int,
16982        in_: *const u8,
16983        len: usize,
16984    ) -> *mut EVP_PKEY;
16985}
16986extern "C" {
16987    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_pqdsa_new_raw_private_key"]
16988    pub fn EVP_PKEY_pqdsa_new_raw_private_key(
16989        nid: ::std::os::raw::c_int,
16990        in_: *const u8,
16991        len: usize,
16992    ) -> *mut EVP_PKEY;
16993}
16994extern "C" {
16995    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dh_pad"]
16996    pub fn EVP_PKEY_CTX_set_dh_pad(
16997        ctx: *mut EVP_PKEY_CTX,
16998        pad: ::std::os::raw::c_int,
16999    ) -> ::std::os::raw::c_int;
17000}
17001extern "C" {
17002    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_asn1_get_count"]
17003    pub fn EVP_PKEY_asn1_get_count() -> ::std::os::raw::c_int;
17004}
17005extern "C" {
17006    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_asn1_get0"]
17007    pub fn EVP_PKEY_asn1_get0(idx: ::std::os::raw::c_int) -> *const EVP_PKEY_ASN1_METHOD;
17008}
17009extern "C" {
17010    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_asn1_find"]
17011    pub fn EVP_PKEY_asn1_find(
17012        _pe: *mut *mut ENGINE,
17013        type_: ::std::os::raw::c_int,
17014    ) -> *const EVP_PKEY_ASN1_METHOD;
17015}
17016extern "C" {
17017    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_asn1_find_str"]
17018    pub fn EVP_PKEY_asn1_find_str(
17019        _pe: *mut *mut ENGINE,
17020        name: *const ::std::os::raw::c_char,
17021        len: ::std::os::raw::c_int,
17022    ) -> *const EVP_PKEY_ASN1_METHOD;
17023}
17024extern "C" {
17025    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_asn1_get0_info"]
17026    pub fn EVP_PKEY_asn1_get0_info(
17027        ppkey_id: *mut ::std::os::raw::c_int,
17028        pkey_base_id: *mut ::std::os::raw::c_int,
17029        ppkey_flags: *mut ::std::os::raw::c_int,
17030        pinfo: *mut *const ::std::os::raw::c_char,
17031        ppem_str: *mut *const ::std::os::raw::c_char,
17032        ameth: *const EVP_PKEY_ASN1_METHOD,
17033    ) -> ::std::os::raw::c_int;
17034}
17035pub type EVP_PKEY_gen_cb =
17036    ::std::option::Option<unsafe extern "C" fn(ctx: *mut EVP_PKEY_CTX) -> ::std::os::raw::c_int>;
17037extern "C" {
17038    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_cb"]
17039    pub fn EVP_PKEY_CTX_set_cb(ctx: *mut EVP_PKEY_CTX, cb: EVP_PKEY_gen_cb);
17040}
17041extern "C" {
17042    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_keygen_info"]
17043    pub fn EVP_PKEY_CTX_get_keygen_info(
17044        ctx: *mut EVP_PKEY_CTX,
17045        idx: ::std::os::raw::c_int,
17046    ) -> ::std::os::raw::c_int;
17047}
17048extern "C" {
17049    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_app_data"]
17050    pub fn EVP_PKEY_CTX_set_app_data(ctx: *mut EVP_PKEY_CTX, data: *mut ::std::os::raw::c_void);
17051}
17052extern "C" {
17053    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_get_app_data"]
17054    pub fn EVP_PKEY_CTX_get_app_data(ctx: *mut EVP_PKEY_CTX) -> *mut ::std::os::raw::c_void;
17055}
17056extern "C" {
17057    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_get_pkey_type"]
17058    pub fn EVP_MD_get_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17059}
17060extern "C" {
17061    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_pkey_type"]
17062    pub fn EVP_MD_pkey_type(md: *const EVP_MD) -> ::std::os::raw::c_int;
17063}
17064extern "C" {
17065    #[link_name = "\u{1}aws_lc_0_27_2_EVP_CIPHER_do_all_sorted"]
17066    pub fn EVP_CIPHER_do_all_sorted(
17067        callback: ::std::option::Option<
17068            unsafe extern "C" fn(
17069                cipher: *const EVP_CIPHER,
17070                name: *const ::std::os::raw::c_char,
17071                unused: *const ::std::os::raw::c_char,
17072                arg: *mut ::std::os::raw::c_void,
17073            ),
17074        >,
17075        arg: *mut ::std::os::raw::c_void,
17076    );
17077}
17078extern "C" {
17079    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_do_all_sorted"]
17080    pub fn EVP_MD_do_all_sorted(
17081        callback: ::std::option::Option<
17082            unsafe extern "C" fn(
17083                cipher: *const EVP_MD,
17084                name: *const ::std::os::raw::c_char,
17085                unused: *const ::std::os::raw::c_char,
17086                arg: *mut ::std::os::raw::c_void,
17087            ),
17088        >,
17089        arg: *mut ::std::os::raw::c_void,
17090    );
17091}
17092extern "C" {
17093    #[link_name = "\u{1}aws_lc_0_27_2_EVP_MD_do_all"]
17094    pub fn EVP_MD_do_all(
17095        callback: ::std::option::Option<
17096            unsafe extern "C" fn(
17097                cipher: *const EVP_MD,
17098                name: *const ::std::os::raw::c_char,
17099                unused: *const ::std::os::raw::c_char,
17100                arg: *mut ::std::os::raw::c_void,
17101            ),
17102        >,
17103        arg: *mut ::std::os::raw::c_void,
17104    );
17105}
17106extern "C" {
17107    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PrivateKey"]
17108    pub fn i2d_PrivateKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17109}
17110extern "C" {
17111    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PublicKey"]
17112    pub fn i2d_PublicKey(key: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17113}
17114extern "C" {
17115    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PrivateKey"]
17116    pub fn d2i_PrivateKey(
17117        type_: ::std::os::raw::c_int,
17118        out: *mut *mut EVP_PKEY,
17119        inp: *mut *const u8,
17120        len: ::std::os::raw::c_long,
17121    ) -> *mut EVP_PKEY;
17122}
17123extern "C" {
17124    #[link_name = "\u{1}aws_lc_0_27_2_d2i_AutoPrivateKey"]
17125    pub fn d2i_AutoPrivateKey(
17126        out: *mut *mut EVP_PKEY,
17127        inp: *mut *const u8,
17128        len: ::std::os::raw::c_long,
17129    ) -> *mut EVP_PKEY;
17130}
17131extern "C" {
17132    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PublicKey"]
17133    pub fn d2i_PublicKey(
17134        type_: ::std::os::raw::c_int,
17135        out: *mut *mut EVP_PKEY,
17136        inp: *mut *const u8,
17137        len: ::std::os::raw::c_long,
17138    ) -> *mut EVP_PKEY;
17139}
17140extern "C" {
17141    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_ec_param_enc"]
17142    pub fn EVP_PKEY_CTX_set_ec_param_enc(
17143        ctx: *mut EVP_PKEY_CTX,
17144        encoding: ::std::os::raw::c_int,
17145    ) -> ::std::os::raw::c_int;
17146}
17147extern "C" {
17148    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_set1_tls_encodedpoint"]
17149    pub fn EVP_PKEY_set1_tls_encodedpoint(
17150        pkey: *mut EVP_PKEY,
17151        in_: *const u8,
17152        len: usize,
17153    ) -> ::std::os::raw::c_int;
17154}
17155extern "C" {
17156    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get1_tls_encodedpoint"]
17157    pub fn EVP_PKEY_get1_tls_encodedpoint(pkey: *const EVP_PKEY, out_ptr: *mut *mut u8) -> usize;
17158}
17159extern "C" {
17160    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_base_id"]
17161    pub fn EVP_PKEY_base_id(pkey: *const EVP_PKEY) -> ::std::os::raw::c_int;
17162}
17163extern "C" {
17164    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_pss_keygen_md"]
17165    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_md(
17166        ctx: *mut EVP_PKEY_CTX,
17167        md: *const EVP_MD,
17168    ) -> ::std::os::raw::c_int;
17169}
17170extern "C" {
17171    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen"]
17172    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(
17173        ctx: *mut EVP_PKEY_CTX,
17174        salt_len: ::std::os::raw::c_int,
17175    ) -> ::std::os::raw::c_int;
17176}
17177extern "C" {
17178    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md"]
17179    pub fn EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(
17180        ctx: *mut EVP_PKEY_CTX,
17181        md: *const EVP_MD,
17182    ) -> ::std::os::raw::c_int;
17183}
17184extern "C" {
17185    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PUBKEY"]
17186    pub fn i2d_PUBKEY(pkey: *const EVP_PKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17187}
17188extern "C" {
17189    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PUBKEY"]
17190    pub fn d2i_PUBKEY(
17191        out: *mut *mut EVP_PKEY,
17192        inp: *mut *const u8,
17193        len: ::std::os::raw::c_long,
17194    ) -> *mut EVP_PKEY;
17195}
17196extern "C" {
17197    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSA_PUBKEY"]
17198    pub fn i2d_RSA_PUBKEY(rsa: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17199}
17200extern "C" {
17201    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSA_PUBKEY"]
17202    pub fn d2i_RSA_PUBKEY(
17203        out: *mut *mut RSA,
17204        inp: *mut *const u8,
17205        len: ::std::os::raw::c_long,
17206    ) -> *mut RSA;
17207}
17208extern "C" {
17209    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSA_PUBKEY"]
17210    pub fn i2d_DSA_PUBKEY(dsa: *const DSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17211}
17212extern "C" {
17213    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSA_PUBKEY"]
17214    pub fn d2i_DSA_PUBKEY(
17215        out: *mut *mut DSA,
17216        inp: *mut *const u8,
17217        len: ::std::os::raw::c_long,
17218    ) -> *mut DSA;
17219}
17220extern "C" {
17221    #[link_name = "\u{1}aws_lc_0_27_2_i2d_EC_PUBKEY"]
17222    pub fn i2d_EC_PUBKEY(ec_key: *const EC_KEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
17223}
17224extern "C" {
17225    #[link_name = "\u{1}aws_lc_0_27_2_d2i_EC_PUBKEY"]
17226    pub fn d2i_EC_PUBKEY(
17227        out: *mut *mut EC_KEY,
17228        inp: *mut *const u8,
17229        len: ::std::os::raw::c_long,
17230    ) -> *mut EC_KEY;
17231}
17232extern "C" {
17233    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_assign"]
17234    pub fn EVP_PKEY_assign(
17235        pkey: *mut EVP_PKEY,
17236        type_: ::std::os::raw::c_int,
17237        key: *mut ::std::os::raw::c_void,
17238    ) -> ::std::os::raw::c_int;
17239}
17240extern "C" {
17241    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_type"]
17242    pub fn EVP_PKEY_type(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
17243}
17244extern "C" {
17245    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_new_mac_key"]
17246    pub fn EVP_PKEY_new_mac_key(
17247        type_: ::std::os::raw::c_int,
17248        engine: *mut ENGINE,
17249        mac_key: *const u8,
17250        mac_key_len: usize,
17251    ) -> *mut EVP_PKEY;
17252}
17253extern "C" {
17254    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_get0"]
17255    pub fn EVP_PKEY_get0(pkey: *const EVP_PKEY) -> *mut ::std::os::raw::c_void;
17256}
17257extern "C" {
17258    #[link_name = "\u{1}aws_lc_0_27_2_OpenSSL_add_all_algorithms"]
17259    pub fn OpenSSL_add_all_algorithms();
17260}
17261extern "C" {
17262    #[link_name = "\u{1}aws_lc_0_27_2_OPENSSL_add_all_algorithms_conf"]
17263    pub fn OPENSSL_add_all_algorithms_conf();
17264}
17265extern "C" {
17266    #[link_name = "\u{1}aws_lc_0_27_2_OpenSSL_add_all_ciphers"]
17267    pub fn OpenSSL_add_all_ciphers();
17268}
17269extern "C" {
17270    #[link_name = "\u{1}aws_lc_0_27_2_OpenSSL_add_all_digests"]
17271    pub fn OpenSSL_add_all_digests();
17272}
17273extern "C" {
17274    #[link_name = "\u{1}aws_lc_0_27_2_EVP_cleanup"]
17275    pub fn EVP_cleanup();
17276}
17277extern "C" {
17278    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dsa_paramgen_bits"]
17279    pub fn EVP_PKEY_CTX_set_dsa_paramgen_bits(
17280        ctx: *mut EVP_PKEY_CTX,
17281        nbits: ::std::os::raw::c_int,
17282    ) -> ::std::os::raw::c_int;
17283}
17284extern "C" {
17285    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dsa_paramgen_md"]
17286    pub fn EVP_PKEY_CTX_set_dsa_paramgen_md(
17287        ctx: *mut EVP_PKEY_CTX,
17288        md: *const EVP_MD,
17289    ) -> ::std::os::raw::c_int;
17290}
17291extern "C" {
17292    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_dsa_paramgen_q_bits"]
17293    pub fn EVP_PKEY_CTX_set_dsa_paramgen_q_bits(
17294        ctx: *mut EVP_PKEY_CTX,
17295        qbits: ::std::os::raw::c_int,
17296    ) -> ::std::os::raw::c_int;
17297}
17298extern "C" {
17299    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_ctrl_str"]
17300    pub fn EVP_PKEY_CTX_ctrl_str(
17301        ctx: *mut EVP_PKEY_CTX,
17302        type_: *const ::std::os::raw::c_char,
17303        value: *const ::std::os::raw::c_char,
17304    ) -> ::std::os::raw::c_int;
17305}
17306extern "C" {
17307    #[link_name = "\u{1}aws_lc_0_27_2_HKDF"]
17308    pub fn HKDF(
17309        out_key: *mut u8,
17310        out_len: usize,
17311        digest: *const EVP_MD,
17312        secret: *const u8,
17313        secret_len: usize,
17314        salt: *const u8,
17315        salt_len: usize,
17316        info: *const u8,
17317        info_len: usize,
17318    ) -> ::std::os::raw::c_int;
17319}
17320extern "C" {
17321    #[link_name = "\u{1}aws_lc_0_27_2_HKDF_extract"]
17322    pub fn HKDF_extract(
17323        out_key: *mut u8,
17324        out_len: *mut usize,
17325        digest: *const EVP_MD,
17326        secret: *const u8,
17327        secret_len: usize,
17328        salt: *const u8,
17329        salt_len: usize,
17330    ) -> ::std::os::raw::c_int;
17331}
17332extern "C" {
17333    #[link_name = "\u{1}aws_lc_0_27_2_HKDF_expand"]
17334    pub fn HKDF_expand(
17335        out_key: *mut u8,
17336        out_len: usize,
17337        digest: *const EVP_MD,
17338        prk: *const u8,
17339        prk_len: usize,
17340        info: *const u8,
17341        info_len: usize,
17342    ) -> ::std::os::raw::c_int;
17343}
17344extern "C" {
17345    #[link_name = "\u{1}aws_lc_0_27_2_MD5_Init"]
17346    pub fn MD5_Init(md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17347}
17348extern "C" {
17349    #[link_name = "\u{1}aws_lc_0_27_2_MD5_Update"]
17350    pub fn MD5_Update(
17351        md5: *mut MD5_CTX,
17352        data: *const ::std::os::raw::c_void,
17353        len: usize,
17354    ) -> ::std::os::raw::c_int;
17355}
17356extern "C" {
17357    #[link_name = "\u{1}aws_lc_0_27_2_MD5_Final"]
17358    pub fn MD5_Final(out: *mut u8, md5: *mut MD5_CTX) -> ::std::os::raw::c_int;
17359}
17360extern "C" {
17361    #[link_name = "\u{1}aws_lc_0_27_2_MD5"]
17362    pub fn MD5(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
17363}
17364extern "C" {
17365    #[link_name = "\u{1}aws_lc_0_27_2_MD5_Transform"]
17366    pub fn MD5_Transform(md5: *mut MD5_CTX, block: *const u8);
17367}
17368#[repr(C)]
17369#[derive(Debug, Copy, Clone, PartialEq, Eq)]
17370pub struct md5_state_st {
17371    pub h: [u32; 4usize],
17372    pub Nl: u32,
17373    pub Nh: u32,
17374    pub data: [u8; 64usize],
17375    pub num: ::std::os::raw::c_uint,
17376}
17377#[test]
17378fn bindgen_test_layout_md5_state_st() {
17379    const UNINIT: ::std::mem::MaybeUninit<md5_state_st> = ::std::mem::MaybeUninit::uninit();
17380    let ptr = UNINIT.as_ptr();
17381    assert_eq!(
17382        ::std::mem::size_of::<md5_state_st>(),
17383        92usize,
17384        concat!("Size of: ", stringify!(md5_state_st))
17385    );
17386    assert_eq!(
17387        ::std::mem::align_of::<md5_state_st>(),
17388        4usize,
17389        concat!("Alignment of ", stringify!(md5_state_st))
17390    );
17391    assert_eq!(
17392        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
17393        0usize,
17394        concat!(
17395            "Offset of field: ",
17396            stringify!(md5_state_st),
17397            "::",
17398            stringify!(h)
17399        )
17400    );
17401    assert_eq!(
17402        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
17403        16usize,
17404        concat!(
17405            "Offset of field: ",
17406            stringify!(md5_state_st),
17407            "::",
17408            stringify!(Nl)
17409        )
17410    );
17411    assert_eq!(
17412        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
17413        20usize,
17414        concat!(
17415            "Offset of field: ",
17416            stringify!(md5_state_st),
17417            "::",
17418            stringify!(Nh)
17419        )
17420    );
17421    assert_eq!(
17422        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
17423        24usize,
17424        concat!(
17425            "Offset of field: ",
17426            stringify!(md5_state_st),
17427            "::",
17428            stringify!(data)
17429        )
17430    );
17431    assert_eq!(
17432        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
17433        88usize,
17434        concat!(
17435            "Offset of field: ",
17436            stringify!(md5_state_st),
17437            "::",
17438            stringify!(num)
17439        )
17440    );
17441}
17442impl Default for md5_state_st {
17443    fn default() -> Self {
17444        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17445        unsafe {
17446            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17447            s.assume_init()
17448        }
17449    }
17450}
17451extern "C" {
17452    #[link_name = "\u{1}aws_lc_0_27_2_HMAC"]
17453    pub fn HMAC(
17454        evp_md: *const EVP_MD,
17455        key: *const ::std::os::raw::c_void,
17456        key_len: usize,
17457        data: *const u8,
17458        data_len: usize,
17459        out: *mut u8,
17460        out_len: *mut ::std::os::raw::c_uint,
17461    ) -> *mut u8;
17462}
17463extern "C" {
17464    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_init"]
17465    pub fn HMAC_CTX_init(ctx: *mut HMAC_CTX);
17466}
17467extern "C" {
17468    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_new"]
17469    pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
17470}
17471extern "C" {
17472    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_cleanup"]
17473    pub fn HMAC_CTX_cleanup(ctx: *mut HMAC_CTX);
17474}
17475extern "C" {
17476    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_cleanse"]
17477    pub fn HMAC_CTX_cleanse(ctx: *mut HMAC_CTX);
17478}
17479extern "C" {
17480    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_free"]
17481    pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
17482}
17483extern "C" {
17484    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_Init_ex"]
17485    pub fn HMAC_Init_ex(
17486        ctx: *mut HMAC_CTX,
17487        key: *const ::std::os::raw::c_void,
17488        key_len: usize,
17489        md: *const EVP_MD,
17490        impl_: *mut ENGINE,
17491    ) -> ::std::os::raw::c_int;
17492}
17493extern "C" {
17494    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_Update"]
17495    pub fn HMAC_Update(
17496        ctx: *mut HMAC_CTX,
17497        data: *const u8,
17498        data_len: usize,
17499    ) -> ::std::os::raw::c_int;
17500}
17501extern "C" {
17502    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_Final"]
17503    pub fn HMAC_Final(
17504        ctx: *mut HMAC_CTX,
17505        out: *mut u8,
17506        out_len: *mut ::std::os::raw::c_uint,
17507    ) -> ::std::os::raw::c_int;
17508}
17509extern "C" {
17510    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_size"]
17511    pub fn HMAC_size(ctx: *const HMAC_CTX) -> usize;
17512}
17513extern "C" {
17514    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_get_md"]
17515    pub fn HMAC_CTX_get_md(ctx: *const HMAC_CTX) -> *const EVP_MD;
17516}
17517extern "C" {
17518    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_copy_ex"]
17519    pub fn HMAC_CTX_copy_ex(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17520}
17521extern "C" {
17522    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_reset"]
17523    pub fn HMAC_CTX_reset(ctx: *mut HMAC_CTX);
17524}
17525extern "C" {
17526    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_set_precomputed_key_export"]
17527    pub fn HMAC_set_precomputed_key_export(ctx: *mut HMAC_CTX) -> ::std::os::raw::c_int;
17528}
17529extern "C" {
17530    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_get_precomputed_key"]
17531    pub fn HMAC_get_precomputed_key(
17532        ctx: *mut HMAC_CTX,
17533        out: *mut u8,
17534        out_len: *mut usize,
17535    ) -> ::std::os::raw::c_int;
17536}
17537extern "C" {
17538    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_Init_from_precomputed_key"]
17539    pub fn HMAC_Init_from_precomputed_key(
17540        ctx: *mut HMAC_CTX,
17541        precomputed_key: *const u8,
17542        precompute_key_len: usize,
17543        md: *const EVP_MD,
17544    ) -> ::std::os::raw::c_int;
17545}
17546extern "C" {
17547    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_Init"]
17548    pub fn HMAC_Init(
17549        ctx: *mut HMAC_CTX,
17550        key: *const ::std::os::raw::c_void,
17551        key_len: ::std::os::raw::c_int,
17552        md: *const EVP_MD,
17553    ) -> ::std::os::raw::c_int;
17554}
17555extern "C" {
17556    #[link_name = "\u{1}aws_lc_0_27_2_HMAC_CTX_copy"]
17557    pub fn HMAC_CTX_copy(dest: *mut HMAC_CTX, src: *const HMAC_CTX) -> ::std::os::raw::c_int;
17558}
17559#[repr(C)]
17560#[derive(Debug, Copy, Clone)]
17561pub struct hmac_methods_st {
17562    _unused: [u8; 0],
17563}
17564pub type HmacMethods = hmac_methods_st;
17565#[repr(C)]
17566#[derive(Copy, Clone)]
17567pub union md_ctx_union {
17568    pub md5: MD5_CTX,
17569    pub sha1: SHA_CTX,
17570    pub sha256: SHA256_CTX,
17571    pub sha512: SHA512_CTX,
17572}
17573#[test]
17574fn bindgen_test_layout_md_ctx_union() {
17575    const UNINIT: ::std::mem::MaybeUninit<md_ctx_union> = ::std::mem::MaybeUninit::uninit();
17576    let ptr = UNINIT.as_ptr();
17577    assert_eq!(
17578        ::std::mem::size_of::<md_ctx_union>(),
17579        216usize,
17580        concat!("Size of: ", stringify!(md_ctx_union))
17581    );
17582    assert_eq!(
17583        ::std::mem::align_of::<md_ctx_union>(),
17584        8usize,
17585        concat!("Alignment of ", stringify!(md_ctx_union))
17586    );
17587    assert_eq!(
17588        unsafe { ::std::ptr::addr_of!((*ptr).md5) as usize - ptr as usize },
17589        0usize,
17590        concat!(
17591            "Offset of field: ",
17592            stringify!(md_ctx_union),
17593            "::",
17594            stringify!(md5)
17595        )
17596    );
17597    assert_eq!(
17598        unsafe { ::std::ptr::addr_of!((*ptr).sha1) as usize - ptr as usize },
17599        0usize,
17600        concat!(
17601            "Offset of field: ",
17602            stringify!(md_ctx_union),
17603            "::",
17604            stringify!(sha1)
17605        )
17606    );
17607    assert_eq!(
17608        unsafe { ::std::ptr::addr_of!((*ptr).sha256) as usize - ptr as usize },
17609        0usize,
17610        concat!(
17611            "Offset of field: ",
17612            stringify!(md_ctx_union),
17613            "::",
17614            stringify!(sha256)
17615        )
17616    );
17617    assert_eq!(
17618        unsafe { ::std::ptr::addr_of!((*ptr).sha512) as usize - ptr as usize },
17619        0usize,
17620        concat!(
17621            "Offset of field: ",
17622            stringify!(md_ctx_union),
17623            "::",
17624            stringify!(sha512)
17625        )
17626    );
17627}
17628impl Default for md_ctx_union {
17629    fn default() -> Self {
17630        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17631        unsafe {
17632            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17633            s.assume_init()
17634        }
17635    }
17636}
17637#[repr(C)]
17638#[derive(Copy, Clone)]
17639pub struct hmac_ctx_st {
17640    pub md: *const EVP_MD,
17641    pub methods: *const HmacMethods,
17642    pub md_ctx: md_ctx_union,
17643    pub i_ctx: md_ctx_union,
17644    pub o_ctx: md_ctx_union,
17645    pub state: i8,
17646}
17647#[test]
17648fn bindgen_test_layout_hmac_ctx_st() {
17649    const UNINIT: ::std::mem::MaybeUninit<hmac_ctx_st> = ::std::mem::MaybeUninit::uninit();
17650    let ptr = UNINIT.as_ptr();
17651    assert_eq!(
17652        ::std::mem::size_of::<hmac_ctx_st>(),
17653        672usize,
17654        concat!("Size of: ", stringify!(hmac_ctx_st))
17655    );
17656    assert_eq!(
17657        ::std::mem::align_of::<hmac_ctx_st>(),
17658        8usize,
17659        concat!("Alignment of ", stringify!(hmac_ctx_st))
17660    );
17661    assert_eq!(
17662        unsafe { ::std::ptr::addr_of!((*ptr).md) as usize - ptr as usize },
17663        0usize,
17664        concat!(
17665            "Offset of field: ",
17666            stringify!(hmac_ctx_st),
17667            "::",
17668            stringify!(md)
17669        )
17670    );
17671    assert_eq!(
17672        unsafe { ::std::ptr::addr_of!((*ptr).methods) as usize - ptr as usize },
17673        8usize,
17674        concat!(
17675            "Offset of field: ",
17676            stringify!(hmac_ctx_st),
17677            "::",
17678            stringify!(methods)
17679        )
17680    );
17681    assert_eq!(
17682        unsafe { ::std::ptr::addr_of!((*ptr).md_ctx) as usize - ptr as usize },
17683        16usize,
17684        concat!(
17685            "Offset of field: ",
17686            stringify!(hmac_ctx_st),
17687            "::",
17688            stringify!(md_ctx)
17689        )
17690    );
17691    assert_eq!(
17692        unsafe { ::std::ptr::addr_of!((*ptr).i_ctx) as usize - ptr as usize },
17693        232usize,
17694        concat!(
17695            "Offset of field: ",
17696            stringify!(hmac_ctx_st),
17697            "::",
17698            stringify!(i_ctx)
17699        )
17700    );
17701    assert_eq!(
17702        unsafe { ::std::ptr::addr_of!((*ptr).o_ctx) as usize - ptr as usize },
17703        448usize,
17704        concat!(
17705            "Offset of field: ",
17706            stringify!(hmac_ctx_st),
17707            "::",
17708            stringify!(o_ctx)
17709        )
17710    );
17711    assert_eq!(
17712        unsafe { ::std::ptr::addr_of!((*ptr).state) as usize - ptr as usize },
17713        664usize,
17714        concat!(
17715            "Offset of field: ",
17716            stringify!(hmac_ctx_st),
17717            "::",
17718            stringify!(state)
17719        )
17720    );
17721}
17722impl Default for hmac_ctx_st {
17723    fn default() -> Self {
17724        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
17725        unsafe {
17726            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
17727            s.assume_init()
17728        }
17729    }
17730}
17731extern "C" {
17732    #[link_name = "\u{1}aws_lc_0_27_2_EVP_hpke_x25519_hkdf_sha256"]
17733    pub fn EVP_hpke_x25519_hkdf_sha256() -> *const EVP_HPKE_KEM;
17734}
17735extern "C" {
17736    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEM_id"]
17737    pub fn EVP_HPKE_KEM_id(kem: *const EVP_HPKE_KEM) -> u16;
17738}
17739extern "C" {
17740    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEM_public_key_len"]
17741    pub fn EVP_HPKE_KEM_public_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17742}
17743extern "C" {
17744    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEM_private_key_len"]
17745    pub fn EVP_HPKE_KEM_private_key_len(kem: *const EVP_HPKE_KEM) -> usize;
17746}
17747extern "C" {
17748    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEM_enc_len"]
17749    pub fn EVP_HPKE_KEM_enc_len(kem: *const EVP_HPKE_KEM) -> usize;
17750}
17751extern "C" {
17752    #[link_name = "\u{1}aws_lc_0_27_2_EVP_hpke_hkdf_sha256"]
17753    pub fn EVP_hpke_hkdf_sha256() -> *const EVP_HPKE_KDF;
17754}
17755extern "C" {
17756    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KDF_id"]
17757    pub fn EVP_HPKE_KDF_id(kdf: *const EVP_HPKE_KDF) -> u16;
17758}
17759extern "C" {
17760    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KDF_hkdf_md"]
17761    pub fn EVP_HPKE_KDF_hkdf_md(kdf: *const EVP_HPKE_KDF) -> *const EVP_MD;
17762}
17763extern "C" {
17764    #[link_name = "\u{1}aws_lc_0_27_2_EVP_hpke_aes_128_gcm"]
17765    pub fn EVP_hpke_aes_128_gcm() -> *const EVP_HPKE_AEAD;
17766}
17767extern "C" {
17768    #[link_name = "\u{1}aws_lc_0_27_2_EVP_hpke_aes_256_gcm"]
17769    pub fn EVP_hpke_aes_256_gcm() -> *const EVP_HPKE_AEAD;
17770}
17771extern "C" {
17772    #[link_name = "\u{1}aws_lc_0_27_2_EVP_hpke_chacha20_poly1305"]
17773    pub fn EVP_hpke_chacha20_poly1305() -> *const EVP_HPKE_AEAD;
17774}
17775extern "C" {
17776    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_AEAD_id"]
17777    pub fn EVP_HPKE_AEAD_id(aead: *const EVP_HPKE_AEAD) -> u16;
17778}
17779extern "C" {
17780    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_AEAD_aead"]
17781    pub fn EVP_HPKE_AEAD_aead(aead: *const EVP_HPKE_AEAD) -> *const EVP_AEAD;
17782}
17783extern "C" {
17784    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_zero"]
17785    pub fn EVP_HPKE_KEY_zero(key: *mut EVP_HPKE_KEY);
17786}
17787extern "C" {
17788    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_cleanup"]
17789    pub fn EVP_HPKE_KEY_cleanup(key: *mut EVP_HPKE_KEY);
17790}
17791extern "C" {
17792    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_new"]
17793    pub fn EVP_HPKE_KEY_new() -> *mut EVP_HPKE_KEY;
17794}
17795extern "C" {
17796    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_free"]
17797    pub fn EVP_HPKE_KEY_free(key: *mut EVP_HPKE_KEY);
17798}
17799extern "C" {
17800    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_copy"]
17801    pub fn EVP_HPKE_KEY_copy(
17802        dst: *mut EVP_HPKE_KEY,
17803        src: *const EVP_HPKE_KEY,
17804    ) -> ::std::os::raw::c_int;
17805}
17806extern "C" {
17807    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_move"]
17808    pub fn EVP_HPKE_KEY_move(out: *mut EVP_HPKE_KEY, in_: *mut EVP_HPKE_KEY);
17809}
17810extern "C" {
17811    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_init"]
17812    pub fn EVP_HPKE_KEY_init(
17813        key: *mut EVP_HPKE_KEY,
17814        kem: *const EVP_HPKE_KEM,
17815        priv_key: *const u8,
17816        priv_key_len: usize,
17817    ) -> ::std::os::raw::c_int;
17818}
17819extern "C" {
17820    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_generate"]
17821    pub fn EVP_HPKE_KEY_generate(
17822        key: *mut EVP_HPKE_KEY,
17823        kem: *const EVP_HPKE_KEM,
17824    ) -> ::std::os::raw::c_int;
17825}
17826extern "C" {
17827    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_kem"]
17828    pub fn EVP_HPKE_KEY_kem(key: *const EVP_HPKE_KEY) -> *const EVP_HPKE_KEM;
17829}
17830extern "C" {
17831    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_public_key"]
17832    pub fn EVP_HPKE_KEY_public_key(
17833        key: *const EVP_HPKE_KEY,
17834        out: *mut u8,
17835        out_len: *mut usize,
17836        max_out: usize,
17837    ) -> ::std::os::raw::c_int;
17838}
17839extern "C" {
17840    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_KEY_private_key"]
17841    pub fn EVP_HPKE_KEY_private_key(
17842        key: *const EVP_HPKE_KEY,
17843        out: *mut u8,
17844        out_len: *mut usize,
17845        max_out: usize,
17846    ) -> ::std::os::raw::c_int;
17847}
17848extern "C" {
17849    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_zero"]
17850    pub fn EVP_HPKE_CTX_zero(ctx: *mut EVP_HPKE_CTX);
17851}
17852extern "C" {
17853    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_cleanup"]
17854    pub fn EVP_HPKE_CTX_cleanup(ctx: *mut EVP_HPKE_CTX);
17855}
17856extern "C" {
17857    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_new"]
17858    pub fn EVP_HPKE_CTX_new() -> *mut EVP_HPKE_CTX;
17859}
17860extern "C" {
17861    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_free"]
17862    pub fn EVP_HPKE_CTX_free(ctx: *mut EVP_HPKE_CTX);
17863}
17864extern "C" {
17865    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_sender"]
17866    pub fn EVP_HPKE_CTX_setup_sender(
17867        ctx: *mut EVP_HPKE_CTX,
17868        out_enc: *mut u8,
17869        out_enc_len: *mut usize,
17870        max_enc: usize,
17871        kem: *const EVP_HPKE_KEM,
17872        kdf: *const EVP_HPKE_KDF,
17873        aead: *const EVP_HPKE_AEAD,
17874        peer_public_key: *const u8,
17875        peer_public_key_len: usize,
17876        info: *const u8,
17877        info_len: usize,
17878    ) -> ::std::os::raw::c_int;
17879}
17880extern "C" {
17881    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_sender_with_seed_for_testing"]
17882    pub fn EVP_HPKE_CTX_setup_sender_with_seed_for_testing(
17883        ctx: *mut EVP_HPKE_CTX,
17884        out_enc: *mut u8,
17885        out_enc_len: *mut usize,
17886        max_enc: usize,
17887        kem: *const EVP_HPKE_KEM,
17888        kdf: *const EVP_HPKE_KDF,
17889        aead: *const EVP_HPKE_AEAD,
17890        peer_public_key: *const u8,
17891        peer_public_key_len: usize,
17892        info: *const u8,
17893        info_len: usize,
17894        seed: *const u8,
17895        seed_len: usize,
17896    ) -> ::std::os::raw::c_int;
17897}
17898extern "C" {
17899    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_recipient"]
17900    pub fn EVP_HPKE_CTX_setup_recipient(
17901        ctx: *mut EVP_HPKE_CTX,
17902        key: *const EVP_HPKE_KEY,
17903        kdf: *const EVP_HPKE_KDF,
17904        aead: *const EVP_HPKE_AEAD,
17905        enc: *const u8,
17906        enc_len: usize,
17907        info: *const u8,
17908        info_len: usize,
17909    ) -> ::std::os::raw::c_int;
17910}
17911extern "C" {
17912    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_auth_sender"]
17913    pub fn EVP_HPKE_CTX_setup_auth_sender(
17914        ctx: *mut EVP_HPKE_CTX,
17915        out_enc: *mut u8,
17916        out_enc_len: *mut usize,
17917        max_enc: usize,
17918        key: *const EVP_HPKE_KEY,
17919        kdf: *const EVP_HPKE_KDF,
17920        aead: *const EVP_HPKE_AEAD,
17921        peer_public_key: *const u8,
17922        peer_public_key_len: usize,
17923        info: *const u8,
17924        info_len: usize,
17925    ) -> ::std::os::raw::c_int;
17926}
17927extern "C" {
17928    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing"]
17929    pub fn EVP_HPKE_CTX_setup_auth_sender_with_seed_for_testing(
17930        ctx: *mut EVP_HPKE_CTX,
17931        out_enc: *mut u8,
17932        out_enc_len: *mut usize,
17933        max_enc: usize,
17934        key: *const EVP_HPKE_KEY,
17935        kdf: *const EVP_HPKE_KDF,
17936        aead: *const EVP_HPKE_AEAD,
17937        peer_public_key: *const u8,
17938        peer_public_key_len: usize,
17939        info: *const u8,
17940        info_len: usize,
17941        seed: *const u8,
17942        seed_len: usize,
17943    ) -> ::std::os::raw::c_int;
17944}
17945extern "C" {
17946    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_setup_auth_recipient"]
17947    pub fn EVP_HPKE_CTX_setup_auth_recipient(
17948        ctx: *mut EVP_HPKE_CTX,
17949        key: *const EVP_HPKE_KEY,
17950        kdf: *const EVP_HPKE_KDF,
17951        aead: *const EVP_HPKE_AEAD,
17952        enc: *const u8,
17953        enc_len: usize,
17954        info: *const u8,
17955        info_len: usize,
17956        peer_public_key: *const u8,
17957        peer_public_key_len: usize,
17958    ) -> ::std::os::raw::c_int;
17959}
17960extern "C" {
17961    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_open"]
17962    pub fn EVP_HPKE_CTX_open(
17963        ctx: *mut EVP_HPKE_CTX,
17964        out: *mut u8,
17965        out_len: *mut usize,
17966        max_out_len: usize,
17967        in_: *const u8,
17968        in_len: usize,
17969        ad: *const u8,
17970        ad_len: usize,
17971    ) -> ::std::os::raw::c_int;
17972}
17973extern "C" {
17974    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_seal"]
17975    pub fn EVP_HPKE_CTX_seal(
17976        ctx: *mut EVP_HPKE_CTX,
17977        out: *mut u8,
17978        out_len: *mut usize,
17979        max_out_len: usize,
17980        in_: *const u8,
17981        in_len: usize,
17982        ad: *const u8,
17983        ad_len: usize,
17984    ) -> ::std::os::raw::c_int;
17985}
17986extern "C" {
17987    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_export"]
17988    pub fn EVP_HPKE_CTX_export(
17989        ctx: *const EVP_HPKE_CTX,
17990        out: *mut u8,
17991        secret_len: usize,
17992        context: *const u8,
17993        context_len: usize,
17994    ) -> ::std::os::raw::c_int;
17995}
17996extern "C" {
17997    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_max_overhead"]
17998    pub fn EVP_HPKE_CTX_max_overhead(ctx: *const EVP_HPKE_CTX) -> usize;
17999}
18000extern "C" {
18001    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_kem"]
18002    pub fn EVP_HPKE_CTX_kem(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KEM;
18003}
18004extern "C" {
18005    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_aead"]
18006    pub fn EVP_HPKE_CTX_aead(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_AEAD;
18007}
18008extern "C" {
18009    #[link_name = "\u{1}aws_lc_0_27_2_EVP_HPKE_CTX_kdf"]
18010    pub fn EVP_HPKE_CTX_kdf(ctx: *const EVP_HPKE_CTX) -> *const EVP_HPKE_KDF;
18011}
18012#[repr(C)]
18013#[derive(Copy, Clone)]
18014pub struct evp_hpke_ctx_st {
18015    pub kem: *const EVP_HPKE_KEM,
18016    pub aead: *const EVP_HPKE_AEAD,
18017    pub kdf: *const EVP_HPKE_KDF,
18018    pub aead_ctx: EVP_AEAD_CTX,
18019    pub base_nonce: [u8; 24usize],
18020    pub exporter_secret: [u8; 64usize],
18021    pub seq: u64,
18022    pub is_sender: ::std::os::raw::c_int,
18023}
18024#[test]
18025fn bindgen_test_layout_evp_hpke_ctx_st() {
18026    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_ctx_st> = ::std::mem::MaybeUninit::uninit();
18027    let ptr = UNINIT.as_ptr();
18028    assert_eq!(
18029        ::std::mem::size_of::<evp_hpke_ctx_st>(),
18030        712usize,
18031        concat!("Size of: ", stringify!(evp_hpke_ctx_st))
18032    );
18033    assert_eq!(
18034        ::std::mem::align_of::<evp_hpke_ctx_st>(),
18035        8usize,
18036        concat!("Alignment of ", stringify!(evp_hpke_ctx_st))
18037    );
18038    assert_eq!(
18039        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18040        0usize,
18041        concat!(
18042            "Offset of field: ",
18043            stringify!(evp_hpke_ctx_st),
18044            "::",
18045            stringify!(kem)
18046        )
18047    );
18048    assert_eq!(
18049        unsafe { ::std::ptr::addr_of!((*ptr).aead) as usize - ptr as usize },
18050        8usize,
18051        concat!(
18052            "Offset of field: ",
18053            stringify!(evp_hpke_ctx_st),
18054            "::",
18055            stringify!(aead)
18056        )
18057    );
18058    assert_eq!(
18059        unsafe { ::std::ptr::addr_of!((*ptr).kdf) as usize - ptr as usize },
18060        16usize,
18061        concat!(
18062            "Offset of field: ",
18063            stringify!(evp_hpke_ctx_st),
18064            "::",
18065            stringify!(kdf)
18066        )
18067    );
18068    assert_eq!(
18069        unsafe { ::std::ptr::addr_of!((*ptr).aead_ctx) as usize - ptr as usize },
18070        24usize,
18071        concat!(
18072            "Offset of field: ",
18073            stringify!(evp_hpke_ctx_st),
18074            "::",
18075            stringify!(aead_ctx)
18076        )
18077    );
18078    assert_eq!(
18079        unsafe { ::std::ptr::addr_of!((*ptr).base_nonce) as usize - ptr as usize },
18080        608usize,
18081        concat!(
18082            "Offset of field: ",
18083            stringify!(evp_hpke_ctx_st),
18084            "::",
18085            stringify!(base_nonce)
18086        )
18087    );
18088    assert_eq!(
18089        unsafe { ::std::ptr::addr_of!((*ptr).exporter_secret) as usize - ptr as usize },
18090        632usize,
18091        concat!(
18092            "Offset of field: ",
18093            stringify!(evp_hpke_ctx_st),
18094            "::",
18095            stringify!(exporter_secret)
18096        )
18097    );
18098    assert_eq!(
18099        unsafe { ::std::ptr::addr_of!((*ptr).seq) as usize - ptr as usize },
18100        696usize,
18101        concat!(
18102            "Offset of field: ",
18103            stringify!(evp_hpke_ctx_st),
18104            "::",
18105            stringify!(seq)
18106        )
18107    );
18108    assert_eq!(
18109        unsafe { ::std::ptr::addr_of!((*ptr).is_sender) as usize - ptr as usize },
18110        704usize,
18111        concat!(
18112            "Offset of field: ",
18113            stringify!(evp_hpke_ctx_st),
18114            "::",
18115            stringify!(is_sender)
18116        )
18117    );
18118}
18119impl Default for evp_hpke_ctx_st {
18120    fn default() -> Self {
18121        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18122        unsafe {
18123            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18124            s.assume_init()
18125        }
18126    }
18127}
18128#[repr(C)]
18129#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18130pub struct evp_hpke_key_st {
18131    pub kem: *const EVP_HPKE_KEM,
18132    pub private_key: [u8; 32usize],
18133    pub public_key: [u8; 32usize],
18134}
18135#[test]
18136fn bindgen_test_layout_evp_hpke_key_st() {
18137    const UNINIT: ::std::mem::MaybeUninit<evp_hpke_key_st> = ::std::mem::MaybeUninit::uninit();
18138    let ptr = UNINIT.as_ptr();
18139    assert_eq!(
18140        ::std::mem::size_of::<evp_hpke_key_st>(),
18141        72usize,
18142        concat!("Size of: ", stringify!(evp_hpke_key_st))
18143    );
18144    assert_eq!(
18145        ::std::mem::align_of::<evp_hpke_key_st>(),
18146        8usize,
18147        concat!("Alignment of ", stringify!(evp_hpke_key_st))
18148    );
18149    assert_eq!(
18150        unsafe { ::std::ptr::addr_of!((*ptr).kem) as usize - ptr as usize },
18151        0usize,
18152        concat!(
18153            "Offset of field: ",
18154            stringify!(evp_hpke_key_st),
18155            "::",
18156            stringify!(kem)
18157        )
18158    );
18159    assert_eq!(
18160        unsafe { ::std::ptr::addr_of!((*ptr).private_key) as usize - ptr as usize },
18161        8usize,
18162        concat!(
18163            "Offset of field: ",
18164            stringify!(evp_hpke_key_st),
18165            "::",
18166            stringify!(private_key)
18167        )
18168    );
18169    assert_eq!(
18170        unsafe { ::std::ptr::addr_of!((*ptr).public_key) as usize - ptr as usize },
18171        40usize,
18172        concat!(
18173            "Offset of field: ",
18174            stringify!(evp_hpke_key_st),
18175            "::",
18176            stringify!(public_key)
18177        )
18178    );
18179}
18180impl Default for evp_hpke_key_st {
18181    fn default() -> Self {
18182        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18183        unsafe {
18184            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18185            s.assume_init()
18186        }
18187    }
18188}
18189#[repr(C)]
18190#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18191pub struct HRSS_private_key {
18192    pub opaque: [u8; 1808usize],
18193}
18194#[test]
18195fn bindgen_test_layout_HRSS_private_key() {
18196    const UNINIT: ::std::mem::MaybeUninit<HRSS_private_key> = ::std::mem::MaybeUninit::uninit();
18197    let ptr = UNINIT.as_ptr();
18198    assert_eq!(
18199        ::std::mem::size_of::<HRSS_private_key>(),
18200        1808usize,
18201        concat!("Size of: ", stringify!(HRSS_private_key))
18202    );
18203    assert_eq!(
18204        ::std::mem::align_of::<HRSS_private_key>(),
18205        1usize,
18206        concat!("Alignment of ", stringify!(HRSS_private_key))
18207    );
18208    assert_eq!(
18209        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18210        0usize,
18211        concat!(
18212            "Offset of field: ",
18213            stringify!(HRSS_private_key),
18214            "::",
18215            stringify!(opaque)
18216        )
18217    );
18218}
18219impl Default for HRSS_private_key {
18220    fn default() -> Self {
18221        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18222        unsafe {
18223            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18224            s.assume_init()
18225        }
18226    }
18227}
18228#[repr(C)]
18229#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18230pub struct HRSS_public_key {
18231    pub opaque: [u8; 1424usize],
18232}
18233#[test]
18234fn bindgen_test_layout_HRSS_public_key() {
18235    const UNINIT: ::std::mem::MaybeUninit<HRSS_public_key> = ::std::mem::MaybeUninit::uninit();
18236    let ptr = UNINIT.as_ptr();
18237    assert_eq!(
18238        ::std::mem::size_of::<HRSS_public_key>(),
18239        1424usize,
18240        concat!("Size of: ", stringify!(HRSS_public_key))
18241    );
18242    assert_eq!(
18243        ::std::mem::align_of::<HRSS_public_key>(),
18244        1usize,
18245        concat!("Alignment of ", stringify!(HRSS_public_key))
18246    );
18247    assert_eq!(
18248        unsafe { ::std::ptr::addr_of!((*ptr).opaque) as usize - ptr as usize },
18249        0usize,
18250        concat!(
18251            "Offset of field: ",
18252            stringify!(HRSS_public_key),
18253            "::",
18254            stringify!(opaque)
18255        )
18256    );
18257}
18258impl Default for HRSS_public_key {
18259    fn default() -> Self {
18260        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18261        unsafe {
18262            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18263            s.assume_init()
18264        }
18265    }
18266}
18267extern "C" {
18268    #[link_name = "\u{1}aws_lc_0_27_2_HRSS_generate_key"]
18269    pub fn HRSS_generate_key(
18270        out_pub: *mut HRSS_public_key,
18271        out_priv: *mut HRSS_private_key,
18272        input: *const u8,
18273    ) -> ::std::os::raw::c_int;
18274}
18275extern "C" {
18276    #[link_name = "\u{1}aws_lc_0_27_2_HRSS_encap"]
18277    pub fn HRSS_encap(
18278        out_ciphertext: *mut u8,
18279        out_shared_key: *mut u8,
18280        in_pub: *const HRSS_public_key,
18281        in_: *const u8,
18282    ) -> ::std::os::raw::c_int;
18283}
18284extern "C" {
18285    #[link_name = "\u{1}aws_lc_0_27_2_HRSS_decap"]
18286    pub fn HRSS_decap(
18287        out_shared_key: *mut u8,
18288        in_priv: *const HRSS_private_key,
18289        ciphertext: *const u8,
18290        ciphertext_len: usize,
18291    ) -> ::std::os::raw::c_int;
18292}
18293extern "C" {
18294    #[link_name = "\u{1}aws_lc_0_27_2_HRSS_marshal_public_key"]
18295    pub fn HRSS_marshal_public_key(out: *mut u8, in_pub: *const HRSS_public_key);
18296}
18297extern "C" {
18298    #[link_name = "\u{1}aws_lc_0_27_2_HRSS_parse_public_key"]
18299    pub fn HRSS_parse_public_key(
18300        out: *mut HRSS_public_key,
18301        in_: *const u8,
18302    ) -> ::std::os::raw::c_int;
18303}
18304extern "C" {
18305    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_tls1_prf"]
18306    pub fn CRYPTO_tls1_prf(
18307        digest: *const EVP_MD,
18308        out: *mut u8,
18309        out_len: usize,
18310        secret: *const u8,
18311        secret_len: usize,
18312        label: *const ::std::os::raw::c_char,
18313        label_len: usize,
18314        seed1: *const u8,
18315        seed1_len: usize,
18316        seed2: *const u8,
18317        seed2_len: usize,
18318    ) -> ::std::os::raw::c_int;
18319}
18320extern "C" {
18321    #[link_name = "\u{1}aws_lc_0_27_2_SSKDF_digest"]
18322    pub fn SSKDF_digest(
18323        out_key: *mut u8,
18324        out_len: usize,
18325        digest: *const EVP_MD,
18326        secret: *const u8,
18327        secret_len: usize,
18328        info: *const u8,
18329        info_len: usize,
18330    ) -> ::std::os::raw::c_int;
18331}
18332extern "C" {
18333    #[link_name = "\u{1}aws_lc_0_27_2_SSKDF_hmac"]
18334    pub fn SSKDF_hmac(
18335        out_key: *mut u8,
18336        out_len: usize,
18337        digest: *const EVP_MD,
18338        secret: *const u8,
18339        secret_len: usize,
18340        info: *const u8,
18341        info_len: usize,
18342        salt: *const u8,
18343        salt_len: usize,
18344    ) -> ::std::os::raw::c_int;
18345}
18346extern "C" {
18347    #[link_name = "\u{1}aws_lc_0_27_2_KBKDF_ctr_hmac"]
18348    pub fn KBKDF_ctr_hmac(
18349        out_key: *mut u8,
18350        out_len: usize,
18351        digest: *const EVP_MD,
18352        secret: *const u8,
18353        secret_len: usize,
18354        info: *const u8,
18355        info_len: usize,
18356    ) -> ::std::os::raw::c_int;
18357}
18358extern "C" {
18359    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_hkdf_mode"]
18360    pub fn EVP_PKEY_CTX_hkdf_mode(
18361        ctx: *mut EVP_PKEY_CTX,
18362        mode: ::std::os::raw::c_int,
18363    ) -> ::std::os::raw::c_int;
18364}
18365extern "C" {
18366    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set_hkdf_md"]
18367    pub fn EVP_PKEY_CTX_set_hkdf_md(
18368        ctx: *mut EVP_PKEY_CTX,
18369        md: *const EVP_MD,
18370    ) -> ::std::os::raw::c_int;
18371}
18372extern "C" {
18373    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set1_hkdf_key"]
18374    pub fn EVP_PKEY_CTX_set1_hkdf_key(
18375        ctx: *mut EVP_PKEY_CTX,
18376        key: *const u8,
18377        key_len: usize,
18378    ) -> ::std::os::raw::c_int;
18379}
18380extern "C" {
18381    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_set1_hkdf_salt"]
18382    pub fn EVP_PKEY_CTX_set1_hkdf_salt(
18383        ctx: *mut EVP_PKEY_CTX,
18384        salt: *const u8,
18385        salt_len: usize,
18386    ) -> ::std::os::raw::c_int;
18387}
18388extern "C" {
18389    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_CTX_add1_hkdf_info"]
18390    pub fn EVP_PKEY_CTX_add1_hkdf_info(
18391        ctx: *mut EVP_PKEY_CTX,
18392        info: *const u8,
18393        info_len: usize,
18394    ) -> ::std::os::raw::c_int;
18395}
18396extern "C" {
18397    #[link_name = "\u{1}aws_lc_0_27_2_MD4_Init"]
18398    pub fn MD4_Init(md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18399}
18400extern "C" {
18401    #[link_name = "\u{1}aws_lc_0_27_2_MD4_Update"]
18402    pub fn MD4_Update(
18403        md4: *mut MD4_CTX,
18404        data: *const ::std::os::raw::c_void,
18405        len: usize,
18406    ) -> ::std::os::raw::c_int;
18407}
18408extern "C" {
18409    #[link_name = "\u{1}aws_lc_0_27_2_MD4_Final"]
18410    pub fn MD4_Final(out: *mut u8, md4: *mut MD4_CTX) -> ::std::os::raw::c_int;
18411}
18412extern "C" {
18413    #[link_name = "\u{1}aws_lc_0_27_2_MD4"]
18414    pub fn MD4(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
18415}
18416extern "C" {
18417    #[link_name = "\u{1}aws_lc_0_27_2_MD4_Transform"]
18418    pub fn MD4_Transform(md4: *mut MD4_CTX, block: *const u8);
18419}
18420#[repr(C)]
18421#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18422pub struct md4_state_st {
18423    pub h: [u32; 4usize],
18424    pub Nl: u32,
18425    pub Nh: u32,
18426    pub data: [u8; 64usize],
18427    pub num: ::std::os::raw::c_uint,
18428}
18429#[test]
18430fn bindgen_test_layout_md4_state_st() {
18431    const UNINIT: ::std::mem::MaybeUninit<md4_state_st> = ::std::mem::MaybeUninit::uninit();
18432    let ptr = UNINIT.as_ptr();
18433    assert_eq!(
18434        ::std::mem::size_of::<md4_state_st>(),
18435        92usize,
18436        concat!("Size of: ", stringify!(md4_state_st))
18437    );
18438    assert_eq!(
18439        ::std::mem::align_of::<md4_state_st>(),
18440        4usize,
18441        concat!("Alignment of ", stringify!(md4_state_st))
18442    );
18443    assert_eq!(
18444        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
18445        0usize,
18446        concat!(
18447            "Offset of field: ",
18448            stringify!(md4_state_st),
18449            "::",
18450            stringify!(h)
18451        )
18452    );
18453    assert_eq!(
18454        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
18455        16usize,
18456        concat!(
18457            "Offset of field: ",
18458            stringify!(md4_state_st),
18459            "::",
18460            stringify!(Nl)
18461        )
18462    );
18463    assert_eq!(
18464        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
18465        20usize,
18466        concat!(
18467            "Offset of field: ",
18468            stringify!(md4_state_st),
18469            "::",
18470            stringify!(Nh)
18471        )
18472    );
18473    assert_eq!(
18474        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18475        24usize,
18476        concat!(
18477            "Offset of field: ",
18478            stringify!(md4_state_st),
18479            "::",
18480            stringify!(data)
18481        )
18482    );
18483    assert_eq!(
18484        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
18485        88usize,
18486        concat!(
18487            "Offset of field: ",
18488            stringify!(md4_state_st),
18489            "::",
18490            stringify!(num)
18491        )
18492    );
18493}
18494impl Default for md4_state_st {
18495    fn default() -> Self {
18496        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18497        unsafe {
18498            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18499            s.assume_init()
18500        }
18501    }
18502}
18503#[repr(C)]
18504#[derive(Debug, Copy, Clone)]
18505pub struct stack_st_CRYPTO_BUFFER {
18506    _unused: [u8; 0],
18507}
18508#[repr(C)]
18509#[derive(Debug, Copy, Clone)]
18510pub struct stack_st_X509 {
18511    _unused: [u8; 0],
18512}
18513#[repr(C)]
18514#[derive(Debug, Copy, Clone)]
18515pub struct stack_st_X509_CRL {
18516    _unused: [u8; 0],
18517}
18518extern "C" {
18519    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_raw_certificates"]
18520    pub fn PKCS7_get_raw_certificates(
18521        out_certs: *mut stack_st_CRYPTO_BUFFER,
18522        cbs: *mut CBS,
18523        pool: *mut CRYPTO_BUFFER_POOL,
18524    ) -> ::std::os::raw::c_int;
18525}
18526extern "C" {
18527    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_certificates"]
18528    pub fn PKCS7_get_certificates(
18529        out_certs: *mut stack_st_X509,
18530        cbs: *mut CBS,
18531    ) -> ::std::os::raw::c_int;
18532}
18533extern "C" {
18534    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_bundle_raw_certificates"]
18535    pub fn PKCS7_bundle_raw_certificates(
18536        out: *mut CBB,
18537        certs: *const stack_st_CRYPTO_BUFFER,
18538    ) -> ::std::os::raw::c_int;
18539}
18540extern "C" {
18541    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_bundle_certificates"]
18542    pub fn PKCS7_bundle_certificates(
18543        out: *mut CBB,
18544        certs: *const stack_st_X509,
18545    ) -> ::std::os::raw::c_int;
18546}
18547extern "C" {
18548    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_CRLs"]
18549    pub fn PKCS7_get_CRLs(out_crls: *mut stack_st_X509_CRL, cbs: *mut CBS)
18550        -> ::std::os::raw::c_int;
18551}
18552extern "C" {
18553    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_bundle_CRLs"]
18554    pub fn PKCS7_bundle_CRLs(
18555        out: *mut CBB,
18556        crls: *const stack_st_X509_CRL,
18557    ) -> ::std::os::raw::c_int;
18558}
18559extern "C" {
18560    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_PEM_certificates"]
18561    pub fn PKCS7_get_PEM_certificates(
18562        out_certs: *mut stack_st_X509,
18563        pem_bio: *mut BIO,
18564    ) -> ::std::os::raw::c_int;
18565}
18566extern "C" {
18567    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_PEM_CRLs"]
18568    pub fn PKCS7_get_PEM_CRLs(
18569        out_crls: *mut stack_st_X509_CRL,
18570        pem_bio: *mut BIO,
18571    ) -> ::std::os::raw::c_int;
18572}
18573extern "C" {
18574    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS7_bio"]
18575    pub fn d2i_PKCS7_bio(bio: *mut BIO, out: *mut *mut PKCS7) -> *mut PKCS7;
18576}
18577extern "C" {
18578    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS7_bio"]
18579    pub fn i2d_PKCS7_bio(bio: *mut BIO, p7: *const PKCS7) -> ::std::os::raw::c_int;
18580}
18581extern "C" {
18582    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_data"]
18583    pub fn PKCS7_type_is_data(p7: *const PKCS7) -> ::std::os::raw::c_int;
18584}
18585extern "C" {
18586    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_digest"]
18587    pub fn PKCS7_type_is_digest(p7: *const PKCS7) -> ::std::os::raw::c_int;
18588}
18589extern "C" {
18590    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_encrypted"]
18591    pub fn PKCS7_type_is_encrypted(p7: *const PKCS7) -> ::std::os::raw::c_int;
18592}
18593extern "C" {
18594    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_enveloped"]
18595    pub fn PKCS7_type_is_enveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18596}
18597extern "C" {
18598    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_signed"]
18599    pub fn PKCS7_type_is_signed(p7: *const PKCS7) -> ::std::os::raw::c_int;
18600}
18601extern "C" {
18602    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_type_is_signedAndEnveloped"]
18603    pub fn PKCS7_type_is_signedAndEnveloped(p7: *const PKCS7) -> ::std::os::raw::c_int;
18604}
18605#[repr(C)]
18606#[derive(Copy, Clone)]
18607pub struct pkcs7_st {
18608    pub type_: *mut ASN1_OBJECT,
18609    pub d: pkcs7_st__bindgen_ty_1,
18610}
18611#[repr(C)]
18612#[derive(Copy, Clone)]
18613pub union pkcs7_st__bindgen_ty_1 {
18614    pub ptr: *mut ::std::os::raw::c_char,
18615    pub data: *mut ASN1_OCTET_STRING,
18616    pub sign: *mut PKCS7_SIGNED,
18617    pub enveloped: *mut PKCS7_ENVELOPE,
18618    pub signed_and_enveloped: *mut PKCS7_SIGN_ENVELOPE,
18619    pub digest: *mut PKCS7_DIGEST,
18620    pub encrypted: *mut PKCS7_ENCRYPT,
18621}
18622#[test]
18623fn bindgen_test_layout_pkcs7_st__bindgen_ty_1() {
18624    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st__bindgen_ty_1> =
18625        ::std::mem::MaybeUninit::uninit();
18626    let ptr = UNINIT.as_ptr();
18627    assert_eq!(
18628        ::std::mem::size_of::<pkcs7_st__bindgen_ty_1>(),
18629        8usize,
18630        concat!("Size of: ", stringify!(pkcs7_st__bindgen_ty_1))
18631    );
18632    assert_eq!(
18633        ::std::mem::align_of::<pkcs7_st__bindgen_ty_1>(),
18634        8usize,
18635        concat!("Alignment of ", stringify!(pkcs7_st__bindgen_ty_1))
18636    );
18637    assert_eq!(
18638        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
18639        0usize,
18640        concat!(
18641            "Offset of field: ",
18642            stringify!(pkcs7_st__bindgen_ty_1),
18643            "::",
18644            stringify!(ptr)
18645        )
18646    );
18647    assert_eq!(
18648        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
18649        0usize,
18650        concat!(
18651            "Offset of field: ",
18652            stringify!(pkcs7_st__bindgen_ty_1),
18653            "::",
18654            stringify!(data)
18655        )
18656    );
18657    assert_eq!(
18658        unsafe { ::std::ptr::addr_of!((*ptr).sign) as usize - ptr as usize },
18659        0usize,
18660        concat!(
18661            "Offset of field: ",
18662            stringify!(pkcs7_st__bindgen_ty_1),
18663            "::",
18664            stringify!(sign)
18665        )
18666    );
18667    assert_eq!(
18668        unsafe { ::std::ptr::addr_of!((*ptr).enveloped) as usize - ptr as usize },
18669        0usize,
18670        concat!(
18671            "Offset of field: ",
18672            stringify!(pkcs7_st__bindgen_ty_1),
18673            "::",
18674            stringify!(enveloped)
18675        )
18676    );
18677    assert_eq!(
18678        unsafe { ::std::ptr::addr_of!((*ptr).signed_and_enveloped) as usize - ptr as usize },
18679        0usize,
18680        concat!(
18681            "Offset of field: ",
18682            stringify!(pkcs7_st__bindgen_ty_1),
18683            "::",
18684            stringify!(signed_and_enveloped)
18685        )
18686    );
18687    assert_eq!(
18688        unsafe { ::std::ptr::addr_of!((*ptr).digest) as usize - ptr as usize },
18689        0usize,
18690        concat!(
18691            "Offset of field: ",
18692            stringify!(pkcs7_st__bindgen_ty_1),
18693            "::",
18694            stringify!(digest)
18695        )
18696    );
18697    assert_eq!(
18698        unsafe { ::std::ptr::addr_of!((*ptr).encrypted) as usize - ptr as usize },
18699        0usize,
18700        concat!(
18701            "Offset of field: ",
18702            stringify!(pkcs7_st__bindgen_ty_1),
18703            "::",
18704            stringify!(encrypted)
18705        )
18706    );
18707}
18708impl Default for pkcs7_st__bindgen_ty_1 {
18709    fn default() -> Self {
18710        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18711        unsafe {
18712            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18713            s.assume_init()
18714        }
18715    }
18716}
18717#[test]
18718fn bindgen_test_layout_pkcs7_st() {
18719    const UNINIT: ::std::mem::MaybeUninit<pkcs7_st> = ::std::mem::MaybeUninit::uninit();
18720    let ptr = UNINIT.as_ptr();
18721    assert_eq!(
18722        ::std::mem::size_of::<pkcs7_st>(),
18723        16usize,
18724        concat!("Size of: ", stringify!(pkcs7_st))
18725    );
18726    assert_eq!(
18727        ::std::mem::align_of::<pkcs7_st>(),
18728        8usize,
18729        concat!("Alignment of ", stringify!(pkcs7_st))
18730    );
18731    assert_eq!(
18732        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
18733        0usize,
18734        concat!(
18735            "Offset of field: ",
18736            stringify!(pkcs7_st),
18737            "::",
18738            stringify!(type_)
18739        )
18740    );
18741    assert_eq!(
18742        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
18743        8usize,
18744        concat!(
18745            "Offset of field: ",
18746            stringify!(pkcs7_st),
18747            "::",
18748            stringify!(d)
18749        )
18750    );
18751}
18752impl Default for pkcs7_st {
18753    fn default() -> Self {
18754        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18755        unsafe {
18756            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18757            s.assume_init()
18758        }
18759    }
18760}
18761#[repr(C)]
18762#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18763pub struct pkcs7_signed_st {
18764    pub version: *mut ASN1_INTEGER,
18765    pub md_algs: *mut stack_st_X509_ALGOR,
18766    pub contents: *mut PKCS7,
18767    pub cert: *mut stack_st_X509,
18768    pub crl: *mut stack_st_X509_CRL,
18769    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18770}
18771#[test]
18772fn bindgen_test_layout_pkcs7_signed_st() {
18773    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signed_st> = ::std::mem::MaybeUninit::uninit();
18774    let ptr = UNINIT.as_ptr();
18775    assert_eq!(
18776        ::std::mem::size_of::<pkcs7_signed_st>(),
18777        48usize,
18778        concat!("Size of: ", stringify!(pkcs7_signed_st))
18779    );
18780    assert_eq!(
18781        ::std::mem::align_of::<pkcs7_signed_st>(),
18782        8usize,
18783        concat!("Alignment of ", stringify!(pkcs7_signed_st))
18784    );
18785    assert_eq!(
18786        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18787        0usize,
18788        concat!(
18789            "Offset of field: ",
18790            stringify!(pkcs7_signed_st),
18791            "::",
18792            stringify!(version)
18793        )
18794    );
18795    assert_eq!(
18796        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
18797        8usize,
18798        concat!(
18799            "Offset of field: ",
18800            stringify!(pkcs7_signed_st),
18801            "::",
18802            stringify!(md_algs)
18803        )
18804    );
18805    assert_eq!(
18806        unsafe { ::std::ptr::addr_of!((*ptr).contents) as usize - ptr as usize },
18807        16usize,
18808        concat!(
18809            "Offset of field: ",
18810            stringify!(pkcs7_signed_st),
18811            "::",
18812            stringify!(contents)
18813        )
18814    );
18815    assert_eq!(
18816        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
18817        24usize,
18818        concat!(
18819            "Offset of field: ",
18820            stringify!(pkcs7_signed_st),
18821            "::",
18822            stringify!(cert)
18823        )
18824    );
18825    assert_eq!(
18826        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
18827        32usize,
18828        concat!(
18829            "Offset of field: ",
18830            stringify!(pkcs7_signed_st),
18831            "::",
18832            stringify!(crl)
18833        )
18834    );
18835    assert_eq!(
18836        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
18837        40usize,
18838        concat!(
18839            "Offset of field: ",
18840            stringify!(pkcs7_signed_st),
18841            "::",
18842            stringify!(signer_info)
18843        )
18844    );
18845}
18846impl Default for pkcs7_signed_st {
18847    fn default() -> Self {
18848        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18849        unsafe {
18850            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18851            s.assume_init()
18852        }
18853    }
18854}
18855#[repr(C)]
18856#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18857pub struct pkcs7_signer_info_st {
18858    pub version: *mut ASN1_INTEGER,
18859    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
18860    pub digest_alg: *mut X509_ALGOR,
18861    pub auth_attr: *mut stack_st_X509_ATTRIBUTE,
18862    pub digest_enc_alg: *mut X509_ALGOR,
18863    pub enc_digest: *mut ASN1_OCTET_STRING,
18864    pub unauth_attr: *mut stack_st_X509_ATTRIBUTE,
18865    pub pkey: *mut EVP_PKEY,
18866}
18867#[test]
18868fn bindgen_test_layout_pkcs7_signer_info_st() {
18869    const UNINIT: ::std::mem::MaybeUninit<pkcs7_signer_info_st> = ::std::mem::MaybeUninit::uninit();
18870    let ptr = UNINIT.as_ptr();
18871    assert_eq!(
18872        ::std::mem::size_of::<pkcs7_signer_info_st>(),
18873        64usize,
18874        concat!("Size of: ", stringify!(pkcs7_signer_info_st))
18875    );
18876    assert_eq!(
18877        ::std::mem::align_of::<pkcs7_signer_info_st>(),
18878        8usize,
18879        concat!("Alignment of ", stringify!(pkcs7_signer_info_st))
18880    );
18881    assert_eq!(
18882        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18883        0usize,
18884        concat!(
18885            "Offset of field: ",
18886            stringify!(pkcs7_signer_info_st),
18887            "::",
18888            stringify!(version)
18889        )
18890    );
18891    assert_eq!(
18892        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
18893        8usize,
18894        concat!(
18895            "Offset of field: ",
18896            stringify!(pkcs7_signer_info_st),
18897            "::",
18898            stringify!(issuer_and_serial)
18899        )
18900    );
18901    assert_eq!(
18902        unsafe { ::std::ptr::addr_of!((*ptr).digest_alg) as usize - ptr as usize },
18903        16usize,
18904        concat!(
18905            "Offset of field: ",
18906            stringify!(pkcs7_signer_info_st),
18907            "::",
18908            stringify!(digest_alg)
18909        )
18910    );
18911    assert_eq!(
18912        unsafe { ::std::ptr::addr_of!((*ptr).auth_attr) as usize - ptr as usize },
18913        24usize,
18914        concat!(
18915            "Offset of field: ",
18916            stringify!(pkcs7_signer_info_st),
18917            "::",
18918            stringify!(auth_attr)
18919        )
18920    );
18921    assert_eq!(
18922        unsafe { ::std::ptr::addr_of!((*ptr).digest_enc_alg) as usize - ptr as usize },
18923        32usize,
18924        concat!(
18925            "Offset of field: ",
18926            stringify!(pkcs7_signer_info_st),
18927            "::",
18928            stringify!(digest_enc_alg)
18929        )
18930    );
18931    assert_eq!(
18932        unsafe { ::std::ptr::addr_of!((*ptr).enc_digest) as usize - ptr as usize },
18933        40usize,
18934        concat!(
18935            "Offset of field: ",
18936            stringify!(pkcs7_signer_info_st),
18937            "::",
18938            stringify!(enc_digest)
18939        )
18940    );
18941    assert_eq!(
18942        unsafe { ::std::ptr::addr_of!((*ptr).unauth_attr) as usize - ptr as usize },
18943        48usize,
18944        concat!(
18945            "Offset of field: ",
18946            stringify!(pkcs7_signer_info_st),
18947            "::",
18948            stringify!(unauth_attr)
18949        )
18950    );
18951    assert_eq!(
18952        unsafe { ::std::ptr::addr_of!((*ptr).pkey) as usize - ptr as usize },
18953        56usize,
18954        concat!(
18955            "Offset of field: ",
18956            stringify!(pkcs7_signer_info_st),
18957            "::",
18958            stringify!(pkey)
18959        )
18960    );
18961}
18962impl Default for pkcs7_signer_info_st {
18963    fn default() -> Self {
18964        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
18965        unsafe {
18966            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
18967            s.assume_init()
18968        }
18969    }
18970}
18971#[repr(C)]
18972#[derive(Debug, Copy, Clone, PartialEq, Eq)]
18973pub struct pkcs7_sign_envelope_st {
18974    pub version: *mut ASN1_INTEGER,
18975    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
18976    pub md_algs: *mut stack_st_X509_ALGOR,
18977    pub enc_data: *mut PKCS7_ENC_CONTENT,
18978    pub cert: *mut stack_st_X509,
18979    pub crl: *mut stack_st_X509_CRL,
18980    pub signer_info: *mut stack_st_PKCS7_SIGNER_INFO,
18981}
18982#[test]
18983fn bindgen_test_layout_pkcs7_sign_envelope_st() {
18984    const UNINIT: ::std::mem::MaybeUninit<pkcs7_sign_envelope_st> =
18985        ::std::mem::MaybeUninit::uninit();
18986    let ptr = UNINIT.as_ptr();
18987    assert_eq!(
18988        ::std::mem::size_of::<pkcs7_sign_envelope_st>(),
18989        56usize,
18990        concat!("Size of: ", stringify!(pkcs7_sign_envelope_st))
18991    );
18992    assert_eq!(
18993        ::std::mem::align_of::<pkcs7_sign_envelope_st>(),
18994        8usize,
18995        concat!("Alignment of ", stringify!(pkcs7_sign_envelope_st))
18996    );
18997    assert_eq!(
18998        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
18999        0usize,
19000        concat!(
19001            "Offset of field: ",
19002            stringify!(pkcs7_sign_envelope_st),
19003            "::",
19004            stringify!(version)
19005        )
19006    );
19007    assert_eq!(
19008        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
19009        8usize,
19010        concat!(
19011            "Offset of field: ",
19012            stringify!(pkcs7_sign_envelope_st),
19013            "::",
19014            stringify!(recipientinfo)
19015        )
19016    );
19017    assert_eq!(
19018        unsafe { ::std::ptr::addr_of!((*ptr).md_algs) as usize - ptr as usize },
19019        16usize,
19020        concat!(
19021            "Offset of field: ",
19022            stringify!(pkcs7_sign_envelope_st),
19023            "::",
19024            stringify!(md_algs)
19025        )
19026    );
19027    assert_eq!(
19028        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19029        24usize,
19030        concat!(
19031            "Offset of field: ",
19032            stringify!(pkcs7_sign_envelope_st),
19033            "::",
19034            stringify!(enc_data)
19035        )
19036    );
19037    assert_eq!(
19038        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19039        32usize,
19040        concat!(
19041            "Offset of field: ",
19042            stringify!(pkcs7_sign_envelope_st),
19043            "::",
19044            stringify!(cert)
19045        )
19046    );
19047    assert_eq!(
19048        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
19049        40usize,
19050        concat!(
19051            "Offset of field: ",
19052            stringify!(pkcs7_sign_envelope_st),
19053            "::",
19054            stringify!(crl)
19055        )
19056    );
19057    assert_eq!(
19058        unsafe { ::std::ptr::addr_of!((*ptr).signer_info) as usize - ptr as usize },
19059        48usize,
19060        concat!(
19061            "Offset of field: ",
19062            stringify!(pkcs7_sign_envelope_st),
19063            "::",
19064            stringify!(signer_info)
19065        )
19066    );
19067}
19068impl Default for pkcs7_sign_envelope_st {
19069    fn default() -> Self {
19070        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19071        unsafe {
19072            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19073            s.assume_init()
19074        }
19075    }
19076}
19077#[repr(C)]
19078#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19079pub struct pkcs7_envelope_st {
19080    pub version: *mut ASN1_INTEGER,
19081    pub enc_data: *mut PKCS7_ENC_CONTENT,
19082    pub recipientinfo: *mut stack_st_PKCS7_RECIP_INFO,
19083}
19084#[test]
19085fn bindgen_test_layout_pkcs7_envelope_st() {
19086    const UNINIT: ::std::mem::MaybeUninit<pkcs7_envelope_st> = ::std::mem::MaybeUninit::uninit();
19087    let ptr = UNINIT.as_ptr();
19088    assert_eq!(
19089        ::std::mem::size_of::<pkcs7_envelope_st>(),
19090        24usize,
19091        concat!("Size of: ", stringify!(pkcs7_envelope_st))
19092    );
19093    assert_eq!(
19094        ::std::mem::align_of::<pkcs7_envelope_st>(),
19095        8usize,
19096        concat!("Alignment of ", stringify!(pkcs7_envelope_st))
19097    );
19098    assert_eq!(
19099        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19100        0usize,
19101        concat!(
19102            "Offset of field: ",
19103            stringify!(pkcs7_envelope_st),
19104            "::",
19105            stringify!(version)
19106        )
19107    );
19108    assert_eq!(
19109        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
19110        8usize,
19111        concat!(
19112            "Offset of field: ",
19113            stringify!(pkcs7_envelope_st),
19114            "::",
19115            stringify!(enc_data)
19116        )
19117    );
19118    assert_eq!(
19119        unsafe { ::std::ptr::addr_of!((*ptr).recipientinfo) as usize - ptr as usize },
19120        16usize,
19121        concat!(
19122            "Offset of field: ",
19123            stringify!(pkcs7_envelope_st),
19124            "::",
19125            stringify!(recipientinfo)
19126        )
19127    );
19128}
19129impl Default for pkcs7_envelope_st {
19130    fn default() -> Self {
19131        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19132        unsafe {
19133            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19134            s.assume_init()
19135        }
19136    }
19137}
19138#[repr(C)]
19139#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19140pub struct pkcs7_recip_info_st {
19141    pub version: *mut ASN1_INTEGER,
19142    pub issuer_and_serial: *mut PKCS7_ISSUER_AND_SERIAL,
19143    pub key_enc_algor: *mut X509_ALGOR,
19144    pub enc_key: *mut ASN1_OCTET_STRING,
19145    pub cert: *mut X509,
19146}
19147#[test]
19148fn bindgen_test_layout_pkcs7_recip_info_st() {
19149    const UNINIT: ::std::mem::MaybeUninit<pkcs7_recip_info_st> = ::std::mem::MaybeUninit::uninit();
19150    let ptr = UNINIT.as_ptr();
19151    assert_eq!(
19152        ::std::mem::size_of::<pkcs7_recip_info_st>(),
19153        40usize,
19154        concat!("Size of: ", stringify!(pkcs7_recip_info_st))
19155    );
19156    assert_eq!(
19157        ::std::mem::align_of::<pkcs7_recip_info_st>(),
19158        8usize,
19159        concat!("Alignment of ", stringify!(pkcs7_recip_info_st))
19160    );
19161    assert_eq!(
19162        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
19163        0usize,
19164        concat!(
19165            "Offset of field: ",
19166            stringify!(pkcs7_recip_info_st),
19167            "::",
19168            stringify!(version)
19169        )
19170    );
19171    assert_eq!(
19172        unsafe { ::std::ptr::addr_of!((*ptr).issuer_and_serial) as usize - ptr as usize },
19173        8usize,
19174        concat!(
19175            "Offset of field: ",
19176            stringify!(pkcs7_recip_info_st),
19177            "::",
19178            stringify!(issuer_and_serial)
19179        )
19180    );
19181    assert_eq!(
19182        unsafe { ::std::ptr::addr_of!((*ptr).key_enc_algor) as usize - ptr as usize },
19183        16usize,
19184        concat!(
19185            "Offset of field: ",
19186            stringify!(pkcs7_recip_info_st),
19187            "::",
19188            stringify!(key_enc_algor)
19189        )
19190    );
19191    assert_eq!(
19192        unsafe { ::std::ptr::addr_of!((*ptr).enc_key) as usize - ptr as usize },
19193        24usize,
19194        concat!(
19195            "Offset of field: ",
19196            stringify!(pkcs7_recip_info_st),
19197            "::",
19198            stringify!(enc_key)
19199        )
19200    );
19201    assert_eq!(
19202        unsafe { ::std::ptr::addr_of!((*ptr).cert) as usize - ptr as usize },
19203        32usize,
19204        concat!(
19205            "Offset of field: ",
19206            stringify!(pkcs7_recip_info_st),
19207            "::",
19208            stringify!(cert)
19209        )
19210    );
19211}
19212impl Default for pkcs7_recip_info_st {
19213    fn default() -> Self {
19214        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19215        unsafe {
19216            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19217            s.assume_init()
19218        }
19219    }
19220}
19221#[repr(C)]
19222#[derive(Debug, Copy, Clone, PartialEq, Eq)]
19223pub struct pkcs7_issuer_and_serial_st {
19224    pub issuer: *mut X509_NAME,
19225    pub serial: *mut ASN1_INTEGER,
19226}
19227#[test]
19228fn bindgen_test_layout_pkcs7_issuer_and_serial_st() {
19229    const UNINIT: ::std::mem::MaybeUninit<pkcs7_issuer_and_serial_st> =
19230        ::std::mem::MaybeUninit::uninit();
19231    let ptr = UNINIT.as_ptr();
19232    assert_eq!(
19233        ::std::mem::size_of::<pkcs7_issuer_and_serial_st>(),
19234        16usize,
19235        concat!("Size of: ", stringify!(pkcs7_issuer_and_serial_st))
19236    );
19237    assert_eq!(
19238        ::std::mem::align_of::<pkcs7_issuer_and_serial_st>(),
19239        8usize,
19240        concat!("Alignment of ", stringify!(pkcs7_issuer_and_serial_st))
19241    );
19242    assert_eq!(
19243        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
19244        0usize,
19245        concat!(
19246            "Offset of field: ",
19247            stringify!(pkcs7_issuer_and_serial_st),
19248            "::",
19249            stringify!(issuer)
19250        )
19251    );
19252    assert_eq!(
19253        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
19254        8usize,
19255        concat!(
19256            "Offset of field: ",
19257            stringify!(pkcs7_issuer_and_serial_st),
19258            "::",
19259            stringify!(serial)
19260        )
19261    );
19262}
19263impl Default for pkcs7_issuer_and_serial_st {
19264    fn default() -> Self {
19265        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
19266        unsafe {
19267            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
19268            s.assume_init()
19269        }
19270    }
19271}
19272extern "C" {
19273    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_new"]
19274    pub fn PKCS7_new() -> *mut PKCS7;
19275}
19276extern "C" {
19277    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_free"]
19278    pub fn PKCS7_free(a: *mut PKCS7);
19279}
19280extern "C" {
19281    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS7"]
19282    pub fn d2i_PKCS7(
19283        a: *mut *mut PKCS7,
19284        in_: *mut *const ::std::os::raw::c_uchar,
19285        len: ::std::os::raw::c_long,
19286    ) -> *mut PKCS7;
19287}
19288extern "C" {
19289    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS7"]
19290    pub fn i2d_PKCS7(
19291        a: *mut PKCS7,
19292        out: *mut *mut ::std::os::raw::c_uchar,
19293    ) -> ::std::os::raw::c_int;
19294}
19295extern "C" {
19296    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_it"]
19297    pub static PKCS7_it: ASN1_ITEM;
19298}
19299extern "C" {
19300    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_RECIP_INFO_new"]
19301    pub fn PKCS7_RECIP_INFO_new() -> *mut PKCS7_RECIP_INFO;
19302}
19303extern "C" {
19304    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_RECIP_INFO_free"]
19305    pub fn PKCS7_RECIP_INFO_free(a: *mut PKCS7_RECIP_INFO);
19306}
19307extern "C" {
19308    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS7_RECIP_INFO"]
19309    pub fn d2i_PKCS7_RECIP_INFO(
19310        a: *mut *mut PKCS7_RECIP_INFO,
19311        in_: *mut *const ::std::os::raw::c_uchar,
19312        len: ::std::os::raw::c_long,
19313    ) -> *mut PKCS7_RECIP_INFO;
19314}
19315extern "C" {
19316    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS7_RECIP_INFO"]
19317    pub fn i2d_PKCS7_RECIP_INFO(
19318        a: *mut PKCS7_RECIP_INFO,
19319        out: *mut *mut ::std::os::raw::c_uchar,
19320    ) -> ::std::os::raw::c_int;
19321}
19322extern "C" {
19323    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_RECIP_INFO_it"]
19324    pub static PKCS7_RECIP_INFO_it: ASN1_ITEM;
19325}
19326extern "C" {
19327    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_SIGNER_INFO_new"]
19328    pub fn PKCS7_SIGNER_INFO_new() -> *mut PKCS7_SIGNER_INFO;
19329}
19330extern "C" {
19331    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_SIGNER_INFO_free"]
19332    pub fn PKCS7_SIGNER_INFO_free(a: *mut PKCS7_SIGNER_INFO);
19333}
19334extern "C" {
19335    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS7_SIGNER_INFO"]
19336    pub fn d2i_PKCS7_SIGNER_INFO(
19337        a: *mut *mut PKCS7_SIGNER_INFO,
19338        in_: *mut *const ::std::os::raw::c_uchar,
19339        len: ::std::os::raw::c_long,
19340    ) -> *mut PKCS7_SIGNER_INFO;
19341}
19342extern "C" {
19343    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS7_SIGNER_INFO"]
19344    pub fn i2d_PKCS7_SIGNER_INFO(
19345        a: *mut PKCS7_SIGNER_INFO,
19346        out: *mut *mut ::std::os::raw::c_uchar,
19347    ) -> ::std::os::raw::c_int;
19348}
19349extern "C" {
19350    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_SIGNER_INFO_it"]
19351    pub static PKCS7_SIGNER_INFO_it: ASN1_ITEM;
19352}
19353#[repr(C)]
19354#[derive(Debug, Copy, Clone)]
19355pub struct stack_st_PKCS7_RECIP_INFO {
19356    _unused: [u8; 0],
19357}
19358pub type sk_PKCS7_RECIP_INFO_free_func =
19359    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_RECIP_INFO)>;
19360pub type sk_PKCS7_RECIP_INFO_copy_func = ::std::option::Option<
19361    unsafe extern "C" fn(arg1: *const PKCS7_RECIP_INFO) -> *mut PKCS7_RECIP_INFO,
19362>;
19363pub type sk_PKCS7_RECIP_INFO_cmp_func = ::std::option::Option<
19364    unsafe extern "C" fn(
19365        arg1: *const *const PKCS7_RECIP_INFO,
19366        arg2: *const *const PKCS7_RECIP_INFO,
19367    ) -> ::std::os::raw::c_int,
19368>;
19369pub type sk_PKCS7_RECIP_INFO_delete_if_func = ::std::option::Option<
19370    unsafe extern "C" fn(
19371        arg1: *mut PKCS7_RECIP_INFO,
19372        arg2: *mut ::std::os::raw::c_void,
19373    ) -> ::std::os::raw::c_int,
19374>;
19375#[repr(C)]
19376#[derive(Debug, Copy, Clone)]
19377pub struct stack_st_PKCS7_SIGNER_INFO {
19378    _unused: [u8; 0],
19379}
19380pub type sk_PKCS7_SIGNER_INFO_free_func =
19381    ::std::option::Option<unsafe extern "C" fn(arg1: *mut PKCS7_SIGNER_INFO)>;
19382pub type sk_PKCS7_SIGNER_INFO_copy_func = ::std::option::Option<
19383    unsafe extern "C" fn(arg1: *const PKCS7_SIGNER_INFO) -> *mut PKCS7_SIGNER_INFO,
19384>;
19385pub type sk_PKCS7_SIGNER_INFO_cmp_func = ::std::option::Option<
19386    unsafe extern "C" fn(
19387        arg1: *const *const PKCS7_SIGNER_INFO,
19388        arg2: *const *const PKCS7_SIGNER_INFO,
19389    ) -> ::std::os::raw::c_int,
19390>;
19391pub type sk_PKCS7_SIGNER_INFO_delete_if_func = ::std::option::Option<
19392    unsafe extern "C" fn(
19393        arg1: *mut PKCS7_SIGNER_INFO,
19394        arg2: *mut ::std::os::raw::c_void,
19395    ) -> ::std::os::raw::c_int,
19396>;
19397extern "C" {
19398    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_dup"]
19399    pub fn PKCS7_dup(p7: *mut PKCS7) -> *mut PKCS7;
19400}
19401extern "C" {
19402    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_signed_attribute"]
19403    pub fn PKCS7_get_signed_attribute(
19404        si: *const PKCS7_SIGNER_INFO,
19405        nid: ::std::os::raw::c_int,
19406    ) -> *mut ASN1_TYPE;
19407}
19408extern "C" {
19409    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_signer_info"]
19410    pub fn PKCS7_get_signer_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_SIGNER_INFO;
19411}
19412extern "C" {
19413    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_RECIP_INFO_set"]
19414    pub fn PKCS7_RECIP_INFO_set(
19415        p7i: *mut PKCS7_RECIP_INFO,
19416        x509: *mut X509,
19417    ) -> ::std::os::raw::c_int;
19418}
19419extern "C" {
19420    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_SIGNER_INFO_set"]
19421    pub fn PKCS7_SIGNER_INFO_set(
19422        p7i: *mut PKCS7_SIGNER_INFO,
19423        x509: *mut X509,
19424        pkey: *mut EVP_PKEY,
19425        dgst: *const EVP_MD,
19426    ) -> ::std::os::raw::c_int;
19427}
19428extern "C" {
19429    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_add_certificate"]
19430    pub fn PKCS7_add_certificate(p7: *mut PKCS7, x509: *mut X509) -> ::std::os::raw::c_int;
19431}
19432extern "C" {
19433    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_add_crl"]
19434    pub fn PKCS7_add_crl(p7: *mut PKCS7, x509: *mut X509_CRL) -> ::std::os::raw::c_int;
19435}
19436extern "C" {
19437    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_add_recipient_info"]
19438    pub fn PKCS7_add_recipient_info(
19439        p7: *mut PKCS7,
19440        ri: *mut PKCS7_RECIP_INFO,
19441    ) -> ::std::os::raw::c_int;
19442}
19443extern "C" {
19444    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_add_signer"]
19445    pub fn PKCS7_add_signer(p7: *mut PKCS7, p7i: *mut PKCS7_SIGNER_INFO) -> ::std::os::raw::c_int;
19446}
19447extern "C" {
19448    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_content_new"]
19449    pub fn PKCS7_content_new(p7: *mut PKCS7, nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19450}
19451extern "C" {
19452    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_set_content"]
19453    pub fn PKCS7_set_content(p7: *mut PKCS7, p7_data: *mut PKCS7) -> ::std::os::raw::c_int;
19454}
19455extern "C" {
19456    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_set_cipher"]
19457    pub fn PKCS7_set_cipher(p7: *mut PKCS7, cipher: *const EVP_CIPHER) -> ::std::os::raw::c_int;
19458}
19459extern "C" {
19460    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_set_type"]
19461    pub fn PKCS7_set_type(p7: *mut PKCS7, type_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
19462}
19463extern "C" {
19464    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_RECIP_INFO_get0_alg"]
19465    pub fn PKCS7_RECIP_INFO_get0_alg(ri: *mut PKCS7_RECIP_INFO, penc: *mut *mut X509_ALGOR);
19466}
19467extern "C" {
19468    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_SIGNER_INFO_get0_algs"]
19469    pub fn PKCS7_SIGNER_INFO_get0_algs(
19470        si: *mut PKCS7_SIGNER_INFO,
19471        pk: *mut *mut EVP_PKEY,
19472        pdig: *mut *mut X509_ALGOR,
19473        psig: *mut *mut X509_ALGOR,
19474    );
19475}
19476extern "C" {
19477    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_sign"]
19478    pub fn PKCS7_sign(
19479        sign_cert: *mut X509,
19480        pkey: *mut EVP_PKEY,
19481        certs: *mut stack_st_X509,
19482        data: *mut BIO,
19483        flags: ::std::os::raw::c_int,
19484    ) -> *mut PKCS7;
19485}
19486extern "C" {
19487    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_verify"]
19488    pub fn PKCS7_verify(
19489        p7: *mut PKCS7,
19490        certs: *mut stack_st_X509,
19491        store: *mut X509_STORE,
19492        indata: *mut BIO,
19493        outdata: *mut BIO,
19494        flags: ::std::os::raw::c_int,
19495    ) -> ::std::os::raw::c_int;
19496}
19497extern "C" {
19498    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_is_detached"]
19499    pub fn PKCS7_is_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19500}
19501extern "C" {
19502    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_set_detached"]
19503    pub fn PKCS7_set_detached(
19504        p7: *mut PKCS7,
19505        detach: ::std::os::raw::c_int,
19506    ) -> ::std::os::raw::c_int;
19507}
19508extern "C" {
19509    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_detached"]
19510    pub fn PKCS7_get_detached(p7: *mut PKCS7) -> ::std::os::raw::c_int;
19511}
19512extern "C" {
19513    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_dataInit"]
19514    pub fn PKCS7_dataInit(p7: *mut PKCS7, bio: *mut BIO) -> *mut BIO;
19515}
19516extern "C" {
19517    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_dataFinal"]
19518    pub fn PKCS7_dataFinal(p7: *mut PKCS7, bio: *mut BIO) -> ::std::os::raw::c_int;
19519}
19520extern "C" {
19521    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_set_digest"]
19522    pub fn PKCS7_set_digest(p7: *mut PKCS7, md: *const EVP_MD) -> ::std::os::raw::c_int;
19523}
19524extern "C" {
19525    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_get_recipient_info"]
19526    pub fn PKCS7_get_recipient_info(p7: *mut PKCS7) -> *mut stack_st_PKCS7_RECIP_INFO;
19527}
19528extern "C" {
19529    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_add_recipient"]
19530    pub fn PKCS7_add_recipient(p7: *mut PKCS7, x509: *mut X509) -> *mut PKCS7_RECIP_INFO;
19531}
19532extern "C" {
19533    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_encrypt"]
19534    pub fn PKCS7_encrypt(
19535        certs: *mut stack_st_X509,
19536        in_: *mut BIO,
19537        cipher: *const EVP_CIPHER,
19538        flags: ::std::os::raw::c_int,
19539    ) -> *mut PKCS7;
19540}
19541extern "C" {
19542    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_decrypt"]
19543    pub fn PKCS7_decrypt(
19544        p7: *mut PKCS7,
19545        pkey: *mut EVP_PKEY,
19546        cert: *mut X509,
19547        data: *mut BIO,
19548        flags: ::std::os::raw::c_int,
19549    ) -> ::std::os::raw::c_int;
19550}
19551extern "C" {
19552    #[link_name = "\u{1}aws_lc_0_27_2_SMIME_read_PKCS7"]
19553    pub fn SMIME_read_PKCS7(in_: *mut BIO, bcont: *mut *mut BIO) -> *mut PKCS7;
19554}
19555extern "C" {
19556    #[link_name = "\u{1}aws_lc_0_27_2_SMIME_write_PKCS7"]
19557    pub fn SMIME_write_PKCS7(
19558        out: *mut BIO,
19559        p7: *mut PKCS7,
19560        data: *mut BIO,
19561        flags: ::std::os::raw::c_int,
19562    ) -> ::std::os::raw::c_int;
19563}
19564extern "C" {
19565    #[link_name = "\u{1}aws_lc_0_27_2_PKCS7_print_ctx"]
19566    pub fn PKCS7_print_ctx(
19567        bio: *mut BIO,
19568        pkcs7: *mut PKCS7,
19569        indent: ::std::os::raw::c_int,
19570        pctx: *const ASN1_PCTX,
19571    ) -> ::std::os::raw::c_int;
19572}
19573pub type sk_CRYPTO_BUFFER_free_func =
19574    ::std::option::Option<unsafe extern "C" fn(arg1: *mut CRYPTO_BUFFER)>;
19575pub type sk_CRYPTO_BUFFER_copy_func =
19576    ::std::option::Option<unsafe extern "C" fn(arg1: *const CRYPTO_BUFFER) -> *mut CRYPTO_BUFFER>;
19577pub type sk_CRYPTO_BUFFER_cmp_func = ::std::option::Option<
19578    unsafe extern "C" fn(
19579        arg1: *const *const CRYPTO_BUFFER,
19580        arg2: *const *const CRYPTO_BUFFER,
19581    ) -> ::std::os::raw::c_int,
19582>;
19583pub type sk_CRYPTO_BUFFER_delete_if_func = ::std::option::Option<
19584    unsafe extern "C" fn(
19585        arg1: *mut CRYPTO_BUFFER,
19586        arg2: *mut ::std::os::raw::c_void,
19587    ) -> ::std::os::raw::c_int,
19588>;
19589extern "C" {
19590    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_POOL_new"]
19591    pub fn CRYPTO_BUFFER_POOL_new() -> *mut CRYPTO_BUFFER_POOL;
19592}
19593extern "C" {
19594    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_POOL_free"]
19595    pub fn CRYPTO_BUFFER_POOL_free(pool: *mut CRYPTO_BUFFER_POOL);
19596}
19597extern "C" {
19598    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_new"]
19599    pub fn CRYPTO_BUFFER_new(
19600        data: *const u8,
19601        len: usize,
19602        pool: *mut CRYPTO_BUFFER_POOL,
19603    ) -> *mut CRYPTO_BUFFER;
19604}
19605extern "C" {
19606    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_alloc"]
19607    pub fn CRYPTO_BUFFER_alloc(out_data: *mut *mut u8, len: usize) -> *mut CRYPTO_BUFFER;
19608}
19609extern "C" {
19610    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_new_from_CBS"]
19611    pub fn CRYPTO_BUFFER_new_from_CBS(
19612        cbs: *const CBS,
19613        pool: *mut CRYPTO_BUFFER_POOL,
19614    ) -> *mut CRYPTO_BUFFER;
19615}
19616extern "C" {
19617    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_new_from_static_data_unsafe"]
19618    pub fn CRYPTO_BUFFER_new_from_static_data_unsafe(
19619        data: *const u8,
19620        len: usize,
19621        pool: *mut CRYPTO_BUFFER_POOL,
19622    ) -> *mut CRYPTO_BUFFER;
19623}
19624extern "C" {
19625    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_free"]
19626    pub fn CRYPTO_BUFFER_free(buf: *mut CRYPTO_BUFFER);
19627}
19628extern "C" {
19629    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_up_ref"]
19630    pub fn CRYPTO_BUFFER_up_ref(buf: *mut CRYPTO_BUFFER) -> ::std::os::raw::c_int;
19631}
19632extern "C" {
19633    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_data"]
19634    pub fn CRYPTO_BUFFER_data(buf: *const CRYPTO_BUFFER) -> *const u8;
19635}
19636extern "C" {
19637    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_len"]
19638    pub fn CRYPTO_BUFFER_len(buf: *const CRYPTO_BUFFER) -> usize;
19639}
19640extern "C" {
19641    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_BUFFER_init_CBS"]
19642    pub fn CRYPTO_BUFFER_init_CBS(buf: *const CRYPTO_BUFFER, out: *mut CBS);
19643}
19644extern "C" {
19645    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_public_key"]
19646    pub fn RSA_new_public_key(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
19647}
19648extern "C" {
19649    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_private_key"]
19650    pub fn RSA_new_private_key(
19651        n: *const BIGNUM,
19652        e: *const BIGNUM,
19653        d: *const BIGNUM,
19654        p: *const BIGNUM,
19655        q: *const BIGNUM,
19656        dmp1: *const BIGNUM,
19657        dmq1: *const BIGNUM,
19658        iqmp: *const BIGNUM,
19659    ) -> *mut RSA;
19660}
19661extern "C" {
19662    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new"]
19663    pub fn RSA_new() -> *mut RSA;
19664}
19665extern "C" {
19666    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_method"]
19667    pub fn RSA_new_method(engine: *const ENGINE) -> *mut RSA;
19668}
19669extern "C" {
19670    #[link_name = "\u{1}aws_lc_0_27_2_RSA_free"]
19671    pub fn RSA_free(rsa: *mut RSA);
19672}
19673extern "C" {
19674    #[link_name = "\u{1}aws_lc_0_27_2_RSA_up_ref"]
19675    pub fn RSA_up_ref(rsa: *mut RSA) -> ::std::os::raw::c_int;
19676}
19677extern "C" {
19678    #[link_name = "\u{1}aws_lc_0_27_2_RSA_bits"]
19679    pub fn RSA_bits(rsa: *const RSA) -> ::std::os::raw::c_uint;
19680}
19681extern "C" {
19682    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_n"]
19683    pub fn RSA_get0_n(rsa: *const RSA) -> *const BIGNUM;
19684}
19685extern "C" {
19686    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_e"]
19687    pub fn RSA_get0_e(rsa: *const RSA) -> *const BIGNUM;
19688}
19689extern "C" {
19690    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_d"]
19691    pub fn RSA_get0_d(rsa: *const RSA) -> *const BIGNUM;
19692}
19693extern "C" {
19694    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_p"]
19695    pub fn RSA_get0_p(rsa: *const RSA) -> *const BIGNUM;
19696}
19697extern "C" {
19698    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_q"]
19699    pub fn RSA_get0_q(rsa: *const RSA) -> *const BIGNUM;
19700}
19701extern "C" {
19702    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_dmp1"]
19703    pub fn RSA_get0_dmp1(rsa: *const RSA) -> *const BIGNUM;
19704}
19705extern "C" {
19706    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_dmq1"]
19707    pub fn RSA_get0_dmq1(rsa: *const RSA) -> *const BIGNUM;
19708}
19709extern "C" {
19710    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_iqmp"]
19711    pub fn RSA_get0_iqmp(rsa: *const RSA) -> *const BIGNUM;
19712}
19713extern "C" {
19714    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_key"]
19715    pub fn RSA_get0_key(
19716        rsa: *const RSA,
19717        out_n: *mut *const BIGNUM,
19718        out_e: *mut *const BIGNUM,
19719        out_d: *mut *const BIGNUM,
19720    );
19721}
19722extern "C" {
19723    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_factors"]
19724    pub fn RSA_get0_factors(rsa: *const RSA, out_p: *mut *const BIGNUM, out_q: *mut *const BIGNUM);
19725}
19726extern "C" {
19727    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_crt_params"]
19728    pub fn RSA_get0_crt_params(
19729        rsa: *const RSA,
19730        out_dmp1: *mut *const BIGNUM,
19731        out_dmq1: *mut *const BIGNUM,
19732        out_iqmp: *mut *const BIGNUM,
19733    );
19734}
19735extern "C" {
19736    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set0_key"]
19737    pub fn RSA_set0_key(
19738        rsa: *mut RSA,
19739        n: *mut BIGNUM,
19740        e: *mut BIGNUM,
19741        d: *mut BIGNUM,
19742    ) -> ::std::os::raw::c_int;
19743}
19744extern "C" {
19745    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set0_factors"]
19746    pub fn RSA_set0_factors(rsa: *mut RSA, p: *mut BIGNUM, q: *mut BIGNUM)
19747        -> ::std::os::raw::c_int;
19748}
19749extern "C" {
19750    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set0_crt_params"]
19751    pub fn RSA_set0_crt_params(
19752        rsa: *mut RSA,
19753        dmp1: *mut BIGNUM,
19754        dmq1: *mut BIGNUM,
19755        iqmp: *mut BIGNUM,
19756    ) -> ::std::os::raw::c_int;
19757}
19758extern "C" {
19759    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get_default_method"]
19760    pub fn RSA_get_default_method() -> *const RSA_METHOD;
19761}
19762extern "C" {
19763    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_new"]
19764    pub fn RSA_meth_new(
19765        name: *const ::std::os::raw::c_char,
19766        flags: ::std::os::raw::c_int,
19767    ) -> *mut RSA_METHOD;
19768}
19769extern "C" {
19770    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set_method"]
19771    pub fn RSA_set_method(rsa: *mut RSA, meth: *const RSA_METHOD) -> ::std::os::raw::c_int;
19772}
19773extern "C" {
19774    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get_method"]
19775    pub fn RSA_get_method(rsa: *const RSA) -> *const RSA_METHOD;
19776}
19777extern "C" {
19778    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_free"]
19779    pub fn RSA_meth_free(meth: *mut RSA_METHOD);
19780}
19781extern "C" {
19782    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_init"]
19783    pub fn RSA_meth_set_init(
19784        meth: *mut RSA_METHOD,
19785        init: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19786    ) -> ::std::os::raw::c_int;
19787}
19788extern "C" {
19789    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_finish"]
19790    pub fn RSA_meth_set_finish(
19791        meth: *mut RSA_METHOD,
19792        finish: ::std::option::Option<unsafe extern "C" fn(rsa: *mut RSA) -> ::std::os::raw::c_int>,
19793    ) -> ::std::os::raw::c_int;
19794}
19795extern "C" {
19796    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_priv_dec"]
19797    pub fn RSA_meth_set_priv_dec(
19798        meth: *mut RSA_METHOD,
19799        priv_dec: ::std::option::Option<
19800            unsafe extern "C" fn(
19801                max_out: ::std::os::raw::c_int,
19802                from: *const u8,
19803                to: *mut u8,
19804                rsa: *mut RSA,
19805                padding: ::std::os::raw::c_int,
19806            ) -> ::std::os::raw::c_int,
19807        >,
19808    ) -> ::std::os::raw::c_int;
19809}
19810extern "C" {
19811    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_priv_enc"]
19812    pub fn RSA_meth_set_priv_enc(
19813        meth: *mut RSA_METHOD,
19814        priv_enc: ::std::option::Option<
19815            unsafe extern "C" fn(
19816                max_out: ::std::os::raw::c_int,
19817                from: *const u8,
19818                to: *mut u8,
19819                rsa: *mut RSA,
19820                padding: ::std::os::raw::c_int,
19821            ) -> ::std::os::raw::c_int,
19822        >,
19823    ) -> ::std::os::raw::c_int;
19824}
19825extern "C" {
19826    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_pub_dec"]
19827    pub fn RSA_meth_set_pub_dec(
19828        meth: *mut RSA_METHOD,
19829        pub_dec: ::std::option::Option<
19830            unsafe extern "C" fn(
19831                max_out: ::std::os::raw::c_int,
19832                from: *const u8,
19833                to: *mut u8,
19834                rsa: *mut RSA,
19835                padding: ::std::os::raw::c_int,
19836            ) -> ::std::os::raw::c_int,
19837        >,
19838    ) -> ::std::os::raw::c_int;
19839}
19840extern "C" {
19841    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_pub_enc"]
19842    pub fn RSA_meth_set_pub_enc(
19843        meth: *mut RSA_METHOD,
19844        pub_enc: ::std::option::Option<
19845            unsafe extern "C" fn(
19846                max_out: ::std::os::raw::c_int,
19847                from: *const u8,
19848                to: *mut u8,
19849                rsa: *mut RSA,
19850                padding: ::std::os::raw::c_int,
19851            ) -> ::std::os::raw::c_int,
19852        >,
19853    ) -> ::std::os::raw::c_int;
19854}
19855extern "C" {
19856    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set0_app_data"]
19857    pub fn RSA_meth_set0_app_data(
19858        meth: *mut RSA_METHOD,
19859        app_data: *mut ::std::os::raw::c_void,
19860    ) -> ::std::os::raw::c_int;
19861}
19862extern "C" {
19863    #[link_name = "\u{1}aws_lc_0_27_2_RSA_meth_set_sign"]
19864    pub fn RSA_meth_set_sign(
19865        meth: *mut RSA_METHOD,
19866        sign: ::std::option::Option<
19867            unsafe extern "C" fn(
19868                type_: ::std::os::raw::c_int,
19869                m: *const ::std::os::raw::c_uchar,
19870                m_length: ::std::os::raw::c_uint,
19871                sigret: *mut ::std::os::raw::c_uchar,
19872                siglen: *mut ::std::os::raw::c_uint,
19873                rsa: *const RSA,
19874            ) -> ::std::os::raw::c_int,
19875        >,
19876    ) -> ::std::os::raw::c_int;
19877}
19878extern "C" {
19879    #[link_name = "\u{1}aws_lc_0_27_2_RSA_generate_key_ex"]
19880    pub fn RSA_generate_key_ex(
19881        rsa: *mut RSA,
19882        bits: ::std::os::raw::c_int,
19883        e: *const BIGNUM,
19884        cb: *mut BN_GENCB,
19885    ) -> ::std::os::raw::c_int;
19886}
19887extern "C" {
19888    #[link_name = "\u{1}aws_lc_0_27_2_RSA_generate_key_fips"]
19889    pub fn RSA_generate_key_fips(
19890        rsa: *mut RSA,
19891        bits: ::std::os::raw::c_int,
19892        cb: *mut BN_GENCB,
19893    ) -> ::std::os::raw::c_int;
19894}
19895extern "C" {
19896    #[link_name = "\u{1}aws_lc_0_27_2_RSA_encrypt"]
19897    pub fn RSA_encrypt(
19898        rsa: *mut RSA,
19899        out_len: *mut usize,
19900        out: *mut u8,
19901        max_out: usize,
19902        in_: *const u8,
19903        in_len: usize,
19904        padding: ::std::os::raw::c_int,
19905    ) -> ::std::os::raw::c_int;
19906}
19907extern "C" {
19908    #[link_name = "\u{1}aws_lc_0_27_2_RSA_decrypt"]
19909    pub fn RSA_decrypt(
19910        rsa: *mut RSA,
19911        out_len: *mut usize,
19912        out: *mut u8,
19913        max_out: usize,
19914        in_: *const u8,
19915        in_len: usize,
19916        padding: ::std::os::raw::c_int,
19917    ) -> ::std::os::raw::c_int;
19918}
19919extern "C" {
19920    #[link_name = "\u{1}aws_lc_0_27_2_RSA_public_encrypt"]
19921    pub fn RSA_public_encrypt(
19922        flen: usize,
19923        from: *const u8,
19924        to: *mut u8,
19925        rsa: *mut RSA,
19926        padding: ::std::os::raw::c_int,
19927    ) -> ::std::os::raw::c_int;
19928}
19929extern "C" {
19930    #[link_name = "\u{1}aws_lc_0_27_2_RSA_private_decrypt"]
19931    pub fn RSA_private_decrypt(
19932        flen: usize,
19933        from: *const u8,
19934        to: *mut u8,
19935        rsa: *mut RSA,
19936        padding: ::std::os::raw::c_int,
19937    ) -> ::std::os::raw::c_int;
19938}
19939extern "C" {
19940    #[link_name = "\u{1}aws_lc_0_27_2_RSA_sign"]
19941    pub fn RSA_sign(
19942        hash_nid: ::std::os::raw::c_int,
19943        digest: *const u8,
19944        digest_len: usize,
19945        out: *mut u8,
19946        out_len: *mut ::std::os::raw::c_uint,
19947        rsa: *mut RSA,
19948    ) -> ::std::os::raw::c_int;
19949}
19950extern "C" {
19951    #[link_name = "\u{1}aws_lc_0_27_2_RSA_sign_pss_mgf1"]
19952    pub fn RSA_sign_pss_mgf1(
19953        rsa: *mut RSA,
19954        out_len: *mut usize,
19955        out: *mut u8,
19956        max_out: usize,
19957        digest: *const u8,
19958        digest_len: usize,
19959        md: *const EVP_MD,
19960        mgf1_md: *const EVP_MD,
19961        salt_len: ::std::os::raw::c_int,
19962    ) -> ::std::os::raw::c_int;
19963}
19964extern "C" {
19965    #[link_name = "\u{1}aws_lc_0_27_2_RSA_sign_raw"]
19966    pub fn RSA_sign_raw(
19967        rsa: *mut RSA,
19968        out_len: *mut usize,
19969        out: *mut u8,
19970        max_out: usize,
19971        in_: *const u8,
19972        in_len: usize,
19973        padding: ::std::os::raw::c_int,
19974    ) -> ::std::os::raw::c_int;
19975}
19976extern "C" {
19977    #[link_name = "\u{1}aws_lc_0_27_2_RSA_verify"]
19978    pub fn RSA_verify(
19979        hash_nid: ::std::os::raw::c_int,
19980        digest: *const u8,
19981        digest_len: usize,
19982        sig: *const u8,
19983        sig_len: usize,
19984        rsa: *mut RSA,
19985    ) -> ::std::os::raw::c_int;
19986}
19987extern "C" {
19988    #[link_name = "\u{1}aws_lc_0_27_2_RSA_verify_pss_mgf1"]
19989    pub fn RSA_verify_pss_mgf1(
19990        rsa: *mut RSA,
19991        digest: *const u8,
19992        digest_len: usize,
19993        md: *const EVP_MD,
19994        mgf1_md: *const EVP_MD,
19995        salt_len: ::std::os::raw::c_int,
19996        sig: *const u8,
19997        sig_len: usize,
19998    ) -> ::std::os::raw::c_int;
19999}
20000extern "C" {
20001    #[link_name = "\u{1}aws_lc_0_27_2_RSA_verify_raw"]
20002    pub fn RSA_verify_raw(
20003        rsa: *mut RSA,
20004        out_len: *mut usize,
20005        out: *mut u8,
20006        max_out: usize,
20007        in_: *const u8,
20008        in_len: usize,
20009        padding: ::std::os::raw::c_int,
20010    ) -> ::std::os::raw::c_int;
20011}
20012extern "C" {
20013    #[link_name = "\u{1}aws_lc_0_27_2_RSA_private_encrypt"]
20014    pub fn RSA_private_encrypt(
20015        flen: usize,
20016        from: *const u8,
20017        to: *mut u8,
20018        rsa: *mut RSA,
20019        padding: ::std::os::raw::c_int,
20020    ) -> ::std::os::raw::c_int;
20021}
20022extern "C" {
20023    #[link_name = "\u{1}aws_lc_0_27_2_RSA_public_decrypt"]
20024    pub fn RSA_public_decrypt(
20025        flen: usize,
20026        from: *const u8,
20027        to: *mut u8,
20028        rsa: *mut RSA,
20029        padding: ::std::os::raw::c_int,
20030    ) -> ::std::os::raw::c_int;
20031}
20032extern "C" {
20033    #[link_name = "\u{1}aws_lc_0_27_2_RSA_size"]
20034    pub fn RSA_size(rsa: *const RSA) -> ::std::os::raw::c_uint;
20035}
20036extern "C" {
20037    #[link_name = "\u{1}aws_lc_0_27_2_RSA_is_opaque"]
20038    pub fn RSA_is_opaque(rsa: *const RSA) -> ::std::os::raw::c_int;
20039}
20040extern "C" {
20041    #[link_name = "\u{1}aws_lc_0_27_2_RSAPublicKey_dup"]
20042    pub fn RSAPublicKey_dup(rsa: *const RSA) -> *mut RSA;
20043}
20044extern "C" {
20045    #[link_name = "\u{1}aws_lc_0_27_2_RSAPrivateKey_dup"]
20046    pub fn RSAPrivateKey_dup(rsa: *const RSA) -> *mut RSA;
20047}
20048extern "C" {
20049    #[link_name = "\u{1}aws_lc_0_27_2_RSA_check_key"]
20050    pub fn RSA_check_key(rsa: *const RSA) -> ::std::os::raw::c_int;
20051}
20052extern "C" {
20053    #[link_name = "\u{1}aws_lc_0_27_2_RSA_check_fips"]
20054    pub fn RSA_check_fips(key: *mut RSA) -> ::std::os::raw::c_int;
20055}
20056extern "C" {
20057    #[link_name = "\u{1}aws_lc_0_27_2_RSA_verify_PKCS1_PSS_mgf1"]
20058    pub fn RSA_verify_PKCS1_PSS_mgf1(
20059        rsa: *const RSA,
20060        mHash: *const u8,
20061        Hash: *const EVP_MD,
20062        mgf1Hash: *const EVP_MD,
20063        EM: *const u8,
20064        sLen: ::std::os::raw::c_int,
20065    ) -> ::std::os::raw::c_int;
20066}
20067extern "C" {
20068    #[link_name = "\u{1}aws_lc_0_27_2_RSA_padding_add_PKCS1_PSS_mgf1"]
20069    pub fn RSA_padding_add_PKCS1_PSS_mgf1(
20070        rsa: *const RSA,
20071        EM: *mut u8,
20072        mHash: *const u8,
20073        Hash: *const EVP_MD,
20074        mgf1Hash: *const EVP_MD,
20075        sLen: ::std::os::raw::c_int,
20076    ) -> ::std::os::raw::c_int;
20077}
20078extern "C" {
20079    #[link_name = "\u{1}aws_lc_0_27_2_RSA_padding_add_PKCS1_OAEP_mgf1"]
20080    pub fn RSA_padding_add_PKCS1_OAEP_mgf1(
20081        to: *mut u8,
20082        to_len: usize,
20083        from: *const u8,
20084        from_len: usize,
20085        param: *const u8,
20086        param_len: usize,
20087        md: *const EVP_MD,
20088        mgf1md: *const EVP_MD,
20089    ) -> ::std::os::raw::c_int;
20090}
20091extern "C" {
20092    #[link_name = "\u{1}aws_lc_0_27_2_PKCS1_MGF1"]
20093    pub fn PKCS1_MGF1(
20094        out: *mut u8,
20095        len: usize,
20096        seed: *const u8,
20097        seed_len: usize,
20098        md: *const EVP_MD,
20099    ) -> ::std::os::raw::c_int;
20100}
20101extern "C" {
20102    #[link_name = "\u{1}aws_lc_0_27_2_RSA_add_pkcs1_prefix"]
20103    pub fn RSA_add_pkcs1_prefix(
20104        out_msg: *mut *mut u8,
20105        out_msg_len: *mut usize,
20106        is_alloced: *mut ::std::os::raw::c_int,
20107        hash_nid: ::std::os::raw::c_int,
20108        digest: *const u8,
20109        digest_len: usize,
20110    ) -> ::std::os::raw::c_int;
20111}
20112extern "C" {
20113    #[link_name = "\u{1}aws_lc_0_27_2_RSA_parse_public_key"]
20114    pub fn RSA_parse_public_key(cbs: *mut CBS) -> *mut RSA;
20115}
20116extern "C" {
20117    #[link_name = "\u{1}aws_lc_0_27_2_RSA_public_key_from_bytes"]
20118    pub fn RSA_public_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20119}
20120extern "C" {
20121    #[link_name = "\u{1}aws_lc_0_27_2_RSA_marshal_public_key"]
20122    pub fn RSA_marshal_public_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20123}
20124extern "C" {
20125    #[link_name = "\u{1}aws_lc_0_27_2_RSA_public_key_to_bytes"]
20126    pub fn RSA_public_key_to_bytes(
20127        out_bytes: *mut *mut u8,
20128        out_len: *mut usize,
20129        rsa: *const RSA,
20130    ) -> ::std::os::raw::c_int;
20131}
20132extern "C" {
20133    #[link_name = "\u{1}aws_lc_0_27_2_RSA_parse_private_key"]
20134    pub fn RSA_parse_private_key(cbs: *mut CBS) -> *mut RSA;
20135}
20136extern "C" {
20137    #[link_name = "\u{1}aws_lc_0_27_2_RSA_private_key_from_bytes"]
20138    pub fn RSA_private_key_from_bytes(in_: *const u8, in_len: usize) -> *mut RSA;
20139}
20140extern "C" {
20141    #[link_name = "\u{1}aws_lc_0_27_2_RSA_marshal_private_key"]
20142    pub fn RSA_marshal_private_key(cbb: *mut CBB, rsa: *const RSA) -> ::std::os::raw::c_int;
20143}
20144extern "C" {
20145    #[link_name = "\u{1}aws_lc_0_27_2_RSA_private_key_to_bytes"]
20146    pub fn RSA_private_key_to_bytes(
20147        out_bytes: *mut *mut u8,
20148        out_len: *mut usize,
20149        rsa: *const RSA,
20150    ) -> ::std::os::raw::c_int;
20151}
20152extern "C" {
20153    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_private_key_no_crt"]
20154    pub fn RSA_new_private_key_no_crt(
20155        n: *const BIGNUM,
20156        e: *const BIGNUM,
20157        d: *const BIGNUM,
20158    ) -> *mut RSA;
20159}
20160extern "C" {
20161    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_private_key_no_e"]
20162    pub fn RSA_new_private_key_no_e(n: *const BIGNUM, d: *const BIGNUM) -> *mut RSA;
20163}
20164extern "C" {
20165    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_public_key_large_e"]
20166    pub fn RSA_new_public_key_large_e(n: *const BIGNUM, e: *const BIGNUM) -> *mut RSA;
20167}
20168extern "C" {
20169    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_private_key_large_e"]
20170    pub fn RSA_new_private_key_large_e(
20171        n: *const BIGNUM,
20172        e: *const BIGNUM,
20173        d: *const BIGNUM,
20174        p: *const BIGNUM,
20175        q: *const BIGNUM,
20176        dmp1: *const BIGNUM,
20177        dmq1: *const BIGNUM,
20178        iqmp: *const BIGNUM,
20179    ) -> *mut RSA;
20180}
20181extern "C" {
20182    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get_ex_new_index"]
20183    pub fn RSA_get_ex_new_index(
20184        argl: ::std::os::raw::c_long,
20185        argp: *mut ::std::os::raw::c_void,
20186        unused: *mut CRYPTO_EX_unused,
20187        dup_unused: CRYPTO_EX_dup,
20188        free_func: CRYPTO_EX_free,
20189    ) -> ::std::os::raw::c_int;
20190}
20191extern "C" {
20192    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set_ex_data"]
20193    pub fn RSA_set_ex_data(
20194        rsa: *mut RSA,
20195        idx: ::std::os::raw::c_int,
20196        arg: *mut ::std::os::raw::c_void,
20197    ) -> ::std::os::raw::c_int;
20198}
20199extern "C" {
20200    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get_ex_data"]
20201    pub fn RSA_get_ex_data(
20202        rsa: *const RSA,
20203        idx: ::std::os::raw::c_int,
20204    ) -> *mut ::std::os::raw::c_void;
20205}
20206extern "C" {
20207    #[link_name = "\u{1}aws_lc_0_27_2_RSA_flags"]
20208    pub fn RSA_flags(rsa: *const RSA) -> ::std::os::raw::c_int;
20209}
20210extern "C" {
20211    #[link_name = "\u{1}aws_lc_0_27_2_RSA_set_flags"]
20212    pub fn RSA_set_flags(rsa: *mut RSA, flags: ::std::os::raw::c_int);
20213}
20214extern "C" {
20215    #[link_name = "\u{1}aws_lc_0_27_2_RSA_test_flags"]
20216    pub fn RSA_test_flags(rsa: *const RSA, flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
20217}
20218extern "C" {
20219    #[link_name = "\u{1}aws_lc_0_27_2_RSA_blinding_on"]
20220    pub fn RSA_blinding_on(rsa: *mut RSA, ctx: *mut BN_CTX) -> ::std::os::raw::c_int;
20221}
20222extern "C" {
20223    #[link_name = "\u{1}aws_lc_0_27_2_RSA_blinding_off_temp_for_accp_compatibility"]
20224    pub fn RSA_blinding_off_temp_for_accp_compatibility(rsa: *mut RSA);
20225}
20226extern "C" {
20227    #[link_name = "\u{1}aws_lc_0_27_2_RSA_pkey_ctx_ctrl"]
20228    pub fn RSA_pkey_ctx_ctrl(
20229        ctx: *mut EVP_PKEY_CTX,
20230        optype: ::std::os::raw::c_int,
20231        cmd: ::std::os::raw::c_int,
20232        p1: ::std::os::raw::c_int,
20233        p2: *mut ::std::os::raw::c_void,
20234    ) -> ::std::os::raw::c_int;
20235}
20236extern "C" {
20237    #[link_name = "\u{1}aws_lc_0_27_2_RSA_generate_key"]
20238    pub fn RSA_generate_key(
20239        bits: ::std::os::raw::c_int,
20240        e: u64,
20241        callback: *mut ::std::os::raw::c_void,
20242        cb_arg: *mut ::std::os::raw::c_void,
20243    ) -> *mut RSA;
20244}
20245extern "C" {
20246    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPublicKey"]
20247    pub fn d2i_RSAPublicKey(
20248        out: *mut *mut RSA,
20249        inp: *mut *const u8,
20250        len: ::std::os::raw::c_long,
20251    ) -> *mut RSA;
20252}
20253extern "C" {
20254    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPublicKey"]
20255    pub fn i2d_RSAPublicKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20256}
20257extern "C" {
20258    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPrivateKey"]
20259    pub fn d2i_RSAPrivateKey(
20260        out: *mut *mut RSA,
20261        inp: *mut *const u8,
20262        len: ::std::os::raw::c_long,
20263    ) -> *mut RSA;
20264}
20265extern "C" {
20266    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPrivateKey"]
20267    pub fn i2d_RSAPrivateKey(in_: *const RSA, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20268}
20269extern "C" {
20270    #[link_name = "\u{1}aws_lc_0_27_2_RSA_padding_add_PKCS1_PSS"]
20271    pub fn RSA_padding_add_PKCS1_PSS(
20272        rsa: *const RSA,
20273        EM: *mut u8,
20274        mHash: *const u8,
20275        Hash: *const EVP_MD,
20276        sLen: ::std::os::raw::c_int,
20277    ) -> ::std::os::raw::c_int;
20278}
20279extern "C" {
20280    #[link_name = "\u{1}aws_lc_0_27_2_RSA_verify_PKCS1_PSS"]
20281    pub fn RSA_verify_PKCS1_PSS(
20282        rsa: *const RSA,
20283        mHash: *const u8,
20284        Hash: *const EVP_MD,
20285        EM: *const u8,
20286        sLen: ::std::os::raw::c_int,
20287    ) -> ::std::os::raw::c_int;
20288}
20289extern "C" {
20290    #[link_name = "\u{1}aws_lc_0_27_2_RSA_padding_add_PKCS1_OAEP"]
20291    pub fn RSA_padding_add_PKCS1_OAEP(
20292        to: *mut u8,
20293        to_len: usize,
20294        from: *const u8,
20295        from_len: usize,
20296        param: *const u8,
20297        param_len: usize,
20298    ) -> ::std::os::raw::c_int;
20299}
20300extern "C" {
20301    #[link_name = "\u{1}aws_lc_0_27_2_RSA_print"]
20302    pub fn RSA_print(
20303        bio: *mut BIO,
20304        rsa: *const RSA,
20305        indent: ::std::os::raw::c_int,
20306    ) -> ::std::os::raw::c_int;
20307}
20308extern "C" {
20309    #[link_name = "\u{1}aws_lc_0_27_2_RSA_print_fp"]
20310    pub fn RSA_print_fp(
20311        fp: *mut FILE,
20312        rsa: *const RSA,
20313        indent: ::std::os::raw::c_int,
20314    ) -> ::std::os::raw::c_int;
20315}
20316extern "C" {
20317    #[link_name = "\u{1}aws_lc_0_27_2_RSA_get0_pss_params"]
20318    pub fn RSA_get0_pss_params(rsa: *const RSA) -> *const RSA_PSS_PARAMS;
20319}
20320extern "C" {
20321    #[link_name = "\u{1}aws_lc_0_27_2_RSA_new_method_no_e"]
20322    pub fn RSA_new_method_no_e(engine: *const ENGINE, n: *const BIGNUM) -> *mut RSA;
20323}
20324pub type sk_X509_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509)>;
20325pub type sk_X509_copy_func =
20326    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509) -> *mut X509>;
20327pub type sk_X509_cmp_func = ::std::option::Option<
20328    unsafe extern "C" fn(
20329        arg1: *const *const X509,
20330        arg2: *const *const X509,
20331    ) -> ::std::os::raw::c_int,
20332>;
20333pub type sk_X509_delete_if_func = ::std::option::Option<
20334    unsafe extern "C" fn(
20335        arg1: *mut X509,
20336        arg2: *mut ::std::os::raw::c_void,
20337    ) -> ::std::os::raw::c_int,
20338>;
20339extern "C" {
20340    #[link_name = "\u{1}aws_lc_0_27_2_X509_it"]
20341    pub static X509_it: ASN1_ITEM;
20342}
20343extern "C" {
20344    #[link_name = "\u{1}aws_lc_0_27_2_X509_up_ref"]
20345    pub fn X509_up_ref(x509: *mut X509) -> ::std::os::raw::c_int;
20346}
20347extern "C" {
20348    #[link_name = "\u{1}aws_lc_0_27_2_X509_chain_up_ref"]
20349    pub fn X509_chain_up_ref(chain: *mut stack_st_X509) -> *mut stack_st_X509;
20350}
20351extern "C" {
20352    #[link_name = "\u{1}aws_lc_0_27_2_X509_dup"]
20353    pub fn X509_dup(x509: *mut X509) -> *mut X509;
20354}
20355extern "C" {
20356    #[link_name = "\u{1}aws_lc_0_27_2_X509_free"]
20357    pub fn X509_free(x509: *mut X509);
20358}
20359extern "C" {
20360    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509"]
20361    pub fn d2i_X509(
20362        out: *mut *mut X509,
20363        inp: *mut *const u8,
20364        len: ::std::os::raw::c_long,
20365    ) -> *mut X509;
20366}
20367extern "C" {
20368    #[link_name = "\u{1}aws_lc_0_27_2_X509_parse_from_buffer"]
20369    pub fn X509_parse_from_buffer(buf: *mut CRYPTO_BUFFER) -> *mut X509;
20370}
20371extern "C" {
20372    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509"]
20373    pub fn i2d_X509(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20374}
20375extern "C" {
20376    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_version"]
20377    pub fn X509_get_version(x509: *const X509) -> ::std::os::raw::c_long;
20378}
20379extern "C" {
20380    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_serialNumber"]
20381    pub fn X509_get0_serialNumber(x509: *const X509) -> *const ASN1_INTEGER;
20382}
20383extern "C" {
20384    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_notBefore"]
20385    pub fn X509_get0_notBefore(x509: *const X509) -> *const ASN1_TIME;
20386}
20387extern "C" {
20388    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_notAfter"]
20389    pub fn X509_get0_notAfter(x509: *const X509) -> *const ASN1_TIME;
20390}
20391extern "C" {
20392    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_issuer_name"]
20393    pub fn X509_get_issuer_name(x509: *const X509) -> *mut X509_NAME;
20394}
20395extern "C" {
20396    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_subject_name"]
20397    pub fn X509_get_subject_name(x509: *const X509) -> *mut X509_NAME;
20398}
20399extern "C" {
20400    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_X509_PUBKEY"]
20401    pub fn X509_get_X509_PUBKEY(x509: *const X509) -> *mut X509_PUBKEY;
20402}
20403extern "C" {
20404    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_pubkey"]
20405    pub fn X509_get0_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20406}
20407extern "C" {
20408    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_pubkey"]
20409    pub fn X509_get_pubkey(x509: *const X509) -> *mut EVP_PKEY;
20410}
20411extern "C" {
20412    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_pubkey_bitstr"]
20413    pub fn X509_get0_pubkey_bitstr(x509: *const X509) -> *mut ASN1_BIT_STRING;
20414}
20415extern "C" {
20416    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_private_key"]
20417    pub fn X509_check_private_key(
20418        x509: *const X509,
20419        pkey: *const EVP_PKEY,
20420    ) -> ::std::os::raw::c_int;
20421}
20422extern "C" {
20423    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_uids"]
20424    pub fn X509_get0_uids(
20425        x509: *const X509,
20426        out_issuer_uid: *mut *const ASN1_BIT_STRING,
20427        out_subject_uid: *mut *const ASN1_BIT_STRING,
20428    );
20429}
20430extern "C" {
20431    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_extension_flags"]
20432    pub fn X509_get_extension_flags(x509: *mut X509) -> u32;
20433}
20434extern "C" {
20435    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_pathlen"]
20436    pub fn X509_get_pathlen(x509: *mut X509) -> ::std::os::raw::c_long;
20437}
20438extern "C" {
20439    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_key_usage"]
20440    pub fn X509_get_key_usage(x509: *mut X509) -> u32;
20441}
20442extern "C" {
20443    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_extended_key_usage"]
20444    pub fn X509_get_extended_key_usage(x509: *mut X509) -> u32;
20445}
20446extern "C" {
20447    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_subject_key_id"]
20448    pub fn X509_get0_subject_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20449}
20450extern "C" {
20451    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_authority_key_id"]
20452    pub fn X509_get0_authority_key_id(x509: *mut X509) -> *const ASN1_OCTET_STRING;
20453}
20454#[repr(C)]
20455#[derive(Debug, Copy, Clone)]
20456pub struct stack_st_GENERAL_NAME {
20457    _unused: [u8; 0],
20458}
20459pub type sk_GENERAL_NAME_free_func =
20460    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_NAME)>;
20461pub type sk_GENERAL_NAME_copy_func =
20462    ::std::option::Option<unsafe extern "C" fn(arg1: *const GENERAL_NAME) -> *mut GENERAL_NAME>;
20463pub type sk_GENERAL_NAME_cmp_func = ::std::option::Option<
20464    unsafe extern "C" fn(
20465        arg1: *const *const GENERAL_NAME,
20466        arg2: *const *const GENERAL_NAME,
20467    ) -> ::std::os::raw::c_int,
20468>;
20469pub type sk_GENERAL_NAME_delete_if_func = ::std::option::Option<
20470    unsafe extern "C" fn(
20471        arg1: *mut GENERAL_NAME,
20472        arg2: *mut ::std::os::raw::c_void,
20473    ) -> ::std::os::raw::c_int,
20474>;
20475pub type GENERAL_NAMES = stack_st_GENERAL_NAME;
20476extern "C" {
20477    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_authority_issuer"]
20478    pub fn X509_get0_authority_issuer(x509: *mut X509) -> *const GENERAL_NAMES;
20479}
20480extern "C" {
20481    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_authority_serial"]
20482    pub fn X509_get0_authority_serial(x509: *mut X509) -> *const ASN1_INTEGER;
20483}
20484#[repr(C)]
20485#[derive(Debug, Copy, Clone)]
20486pub struct stack_st_X509_EXTENSION {
20487    _unused: [u8; 0],
20488}
20489extern "C" {
20490    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_extensions"]
20491    pub fn X509_get0_extensions(x509: *const X509) -> *const stack_st_X509_EXTENSION;
20492}
20493extern "C" {
20494    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext_count"]
20495    pub fn X509_get_ext_count(x: *const X509) -> ::std::os::raw::c_int;
20496}
20497extern "C" {
20498    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext_by_NID"]
20499    pub fn X509_get_ext_by_NID(
20500        x: *const X509,
20501        nid: ::std::os::raw::c_int,
20502        lastpos: ::std::os::raw::c_int,
20503    ) -> ::std::os::raw::c_int;
20504}
20505extern "C" {
20506    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext_by_OBJ"]
20507    pub fn X509_get_ext_by_OBJ(
20508        x: *const X509,
20509        obj: *const ASN1_OBJECT,
20510        lastpos: ::std::os::raw::c_int,
20511    ) -> ::std::os::raw::c_int;
20512}
20513extern "C" {
20514    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext_by_critical"]
20515    pub fn X509_get_ext_by_critical(
20516        x: *const X509,
20517        crit: ::std::os::raw::c_int,
20518        lastpos: ::std::os::raw::c_int,
20519    ) -> ::std::os::raw::c_int;
20520}
20521extern "C" {
20522    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext"]
20523    pub fn X509_get_ext(x: *const X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20524}
20525extern "C" {
20526    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ext_d2i"]
20527    pub fn X509_get_ext_d2i(
20528        x509: *const X509,
20529        nid: ::std::os::raw::c_int,
20530        out_critical: *mut ::std::os::raw::c_int,
20531        out_idx: *mut ::std::os::raw::c_int,
20532    ) -> *mut ::std::os::raw::c_void;
20533}
20534extern "C" {
20535    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_tbs_sigalg"]
20536    pub fn X509_get0_tbs_sigalg(x509: *const X509) -> *const X509_ALGOR;
20537}
20538extern "C" {
20539    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_signature_info"]
20540    pub fn X509_get_signature_info(
20541        x509: *mut X509,
20542        digest_nid: *mut ::std::os::raw::c_int,
20543        pubkey_nid: *mut ::std::os::raw::c_int,
20544        sec_bits: *mut ::std::os::raw::c_int,
20545        flags: *mut u32,
20546    ) -> ::std::os::raw::c_int;
20547}
20548extern "C" {
20549    #[link_name = "\u{1}aws_lc_0_27_2_X509_get0_signature"]
20550    pub fn X509_get0_signature(
20551        out_sig: *mut *const ASN1_BIT_STRING,
20552        out_alg: *mut *const X509_ALGOR,
20553        x509: *const X509,
20554    );
20555}
20556extern "C" {
20557    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_signature_nid"]
20558    pub fn X509_get_signature_nid(x509: *const X509) -> ::std::os::raw::c_int;
20559}
20560extern "C" {
20561    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_tbs"]
20562    pub fn i2d_X509_tbs(
20563        x509: *mut X509,
20564        outp: *mut *mut ::std::os::raw::c_uchar,
20565    ) -> ::std::os::raw::c_int;
20566}
20567extern "C" {
20568    #[link_name = "\u{1}aws_lc_0_27_2_X509_verify"]
20569    pub fn X509_verify(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20570}
20571extern "C" {
20572    #[link_name = "\u{1}aws_lc_0_27_2_X509_get1_email"]
20573    pub fn X509_get1_email(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20574}
20575extern "C" {
20576    #[link_name = "\u{1}aws_lc_0_27_2_X509_get1_ocsp"]
20577    pub fn X509_get1_ocsp(x509: *const X509) -> *mut stack_st_OPENSSL_STRING;
20578}
20579extern "C" {
20580    #[link_name = "\u{1}aws_lc_0_27_2_X509_email_free"]
20581    pub fn X509_email_free(sk: *mut stack_st_OPENSSL_STRING);
20582}
20583extern "C" {
20584    #[link_name = "\u{1}aws_lc_0_27_2_X509_cmp"]
20585    pub fn X509_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
20586}
20587extern "C" {
20588    #[link_name = "\u{1}aws_lc_0_27_2_X509_new"]
20589    pub fn X509_new() -> *mut X509;
20590}
20591extern "C" {
20592    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_version"]
20593    pub fn X509_set_version(
20594        x509: *mut X509,
20595        version: ::std::os::raw::c_long,
20596    ) -> ::std::os::raw::c_int;
20597}
20598extern "C" {
20599    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_serialNumber"]
20600    pub fn X509_set_serialNumber(
20601        x509: *mut X509,
20602        serial: *const ASN1_INTEGER,
20603    ) -> ::std::os::raw::c_int;
20604}
20605extern "C" {
20606    #[link_name = "\u{1}aws_lc_0_27_2_X509_set1_notBefore"]
20607    pub fn X509_set1_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20608}
20609extern "C" {
20610    #[link_name = "\u{1}aws_lc_0_27_2_X509_set1_notAfter"]
20611    pub fn X509_set1_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
20612}
20613extern "C" {
20614    #[link_name = "\u{1}aws_lc_0_27_2_X509_getm_notBefore"]
20615    pub fn X509_getm_notBefore(x509: *mut X509) -> *mut ASN1_TIME;
20616}
20617extern "C" {
20618    #[link_name = "\u{1}aws_lc_0_27_2_X509_getm_notAfter"]
20619    pub fn X509_getm_notAfter(x: *mut X509) -> *mut ASN1_TIME;
20620}
20621extern "C" {
20622    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_issuer_name"]
20623    pub fn X509_set_issuer_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20624}
20625extern "C" {
20626    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_subject_name"]
20627    pub fn X509_set_subject_name(x509: *mut X509, name: *mut X509_NAME) -> ::std::os::raw::c_int;
20628}
20629extern "C" {
20630    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_pubkey"]
20631    pub fn X509_set_pubkey(x509: *mut X509, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20632}
20633extern "C" {
20634    #[link_name = "\u{1}aws_lc_0_27_2_X509_delete_ext"]
20635    pub fn X509_delete_ext(x: *mut X509, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20636}
20637extern "C" {
20638    #[link_name = "\u{1}aws_lc_0_27_2_X509_add_ext"]
20639    pub fn X509_add_ext(
20640        x: *mut X509,
20641        ex: *const X509_EXTENSION,
20642        loc: ::std::os::raw::c_int,
20643    ) -> ::std::os::raw::c_int;
20644}
20645extern "C" {
20646    #[link_name = "\u{1}aws_lc_0_27_2_X509_add1_ext_i2d"]
20647    pub fn X509_add1_ext_i2d(
20648        x: *mut X509,
20649        nid: ::std::os::raw::c_int,
20650        value: *mut ::std::os::raw::c_void,
20651        crit: ::std::os::raw::c_int,
20652        flags: ::std::os::raw::c_ulong,
20653    ) -> ::std::os::raw::c_int;
20654}
20655extern "C" {
20656    #[link_name = "\u{1}aws_lc_0_27_2_X509_sign"]
20657    pub fn X509_sign(
20658        x509: *mut X509,
20659        pkey: *mut EVP_PKEY,
20660        md: *const EVP_MD,
20661    ) -> ::std::os::raw::c_int;
20662}
20663extern "C" {
20664    #[link_name = "\u{1}aws_lc_0_27_2_X509_sign_ctx"]
20665    pub fn X509_sign_ctx(x509: *mut X509, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20666}
20667extern "C" {
20668    #[link_name = "\u{1}aws_lc_0_27_2_i2d_re_X509_tbs"]
20669    pub fn i2d_re_X509_tbs(
20670        x509: *mut X509,
20671        outp: *mut *mut ::std::os::raw::c_uchar,
20672    ) -> ::std::os::raw::c_int;
20673}
20674extern "C" {
20675    #[link_name = "\u{1}aws_lc_0_27_2_X509_set1_signature_algo"]
20676    pub fn X509_set1_signature_algo(
20677        x509: *mut X509,
20678        algo: *const X509_ALGOR,
20679    ) -> ::std::os::raw::c_int;
20680}
20681extern "C" {
20682    #[link_name = "\u{1}aws_lc_0_27_2_X509_set1_signature_value"]
20683    pub fn X509_set1_signature_value(
20684        x509: *mut X509,
20685        sig: *const u8,
20686        sig_len: usize,
20687    ) -> ::std::os::raw::c_int;
20688}
20689extern "C" {
20690    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_AUX"]
20691    pub fn i2d_X509_AUX(x509: *mut X509, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20692}
20693extern "C" {
20694    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_AUX"]
20695    pub fn d2i_X509_AUX(
20696        x509: *mut *mut X509,
20697        inp: *mut *const u8,
20698        length: ::std::os::raw::c_long,
20699    ) -> *mut X509;
20700}
20701extern "C" {
20702    #[link_name = "\u{1}aws_lc_0_27_2_X509_alias_set1"]
20703    pub fn X509_alias_set1(
20704        x509: *mut X509,
20705        name: *const u8,
20706        len: ossl_ssize_t,
20707    ) -> ::std::os::raw::c_int;
20708}
20709extern "C" {
20710    #[link_name = "\u{1}aws_lc_0_27_2_X509_keyid_set1"]
20711    pub fn X509_keyid_set1(
20712        x509: *mut X509,
20713        id: *const u8,
20714        len: ossl_ssize_t,
20715    ) -> ::std::os::raw::c_int;
20716}
20717extern "C" {
20718    #[link_name = "\u{1}aws_lc_0_27_2_X509_alias_get0"]
20719    pub fn X509_alias_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20720}
20721extern "C" {
20722    #[link_name = "\u{1}aws_lc_0_27_2_X509_keyid_get0"]
20723    pub fn X509_keyid_get0(x509: *const X509, out_len: *mut ::std::os::raw::c_int) -> *const u8;
20724}
20725extern "C" {
20726    #[link_name = "\u{1}aws_lc_0_27_2_X509_add1_trust_object"]
20727    pub fn X509_add1_trust_object(
20728        x509: *mut X509,
20729        obj: *const ASN1_OBJECT,
20730    ) -> ::std::os::raw::c_int;
20731}
20732extern "C" {
20733    #[link_name = "\u{1}aws_lc_0_27_2_X509_add1_reject_object"]
20734    pub fn X509_add1_reject_object(
20735        x509: *mut X509,
20736        obj: *const ASN1_OBJECT,
20737    ) -> ::std::os::raw::c_int;
20738}
20739extern "C" {
20740    #[link_name = "\u{1}aws_lc_0_27_2_X509_trust_clear"]
20741    pub fn X509_trust_clear(x509: *mut X509);
20742}
20743extern "C" {
20744    #[link_name = "\u{1}aws_lc_0_27_2_X509_reject_clear"]
20745    pub fn X509_reject_clear(x509: *mut X509);
20746}
20747pub type sk_X509_CRL_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_CRL)>;
20748pub type sk_X509_CRL_copy_func =
20749    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_CRL) -> *mut X509_CRL>;
20750pub type sk_X509_CRL_cmp_func = ::std::option::Option<
20751    unsafe extern "C" fn(
20752        arg1: *const *const X509_CRL,
20753        arg2: *const *const X509_CRL,
20754    ) -> ::std::os::raw::c_int,
20755>;
20756pub type sk_X509_CRL_delete_if_func = ::std::option::Option<
20757    unsafe extern "C" fn(
20758        arg1: *mut X509_CRL,
20759        arg2: *mut ::std::os::raw::c_void,
20760    ) -> ::std::os::raw::c_int,
20761>;
20762#[repr(C)]
20763#[derive(Debug, Copy, Clone)]
20764pub struct stack_st_X509_REVOKED {
20765    _unused: [u8; 0],
20766}
20767pub type sk_X509_REVOKED_free_func =
20768    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_REVOKED)>;
20769pub type sk_X509_REVOKED_copy_func =
20770    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_REVOKED) -> *mut X509_REVOKED>;
20771pub type sk_X509_REVOKED_cmp_func = ::std::option::Option<
20772    unsafe extern "C" fn(
20773        arg1: *const *const X509_REVOKED,
20774        arg2: *const *const X509_REVOKED,
20775    ) -> ::std::os::raw::c_int,
20776>;
20777pub type sk_X509_REVOKED_delete_if_func = ::std::option::Option<
20778    unsafe extern "C" fn(
20779        arg1: *mut X509_REVOKED,
20780        arg2: *mut ::std::os::raw::c_void,
20781    ) -> ::std::os::raw::c_int,
20782>;
20783extern "C" {
20784    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_it"]
20785    pub static X509_CRL_it: ASN1_ITEM;
20786}
20787extern "C" {
20788    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_up_ref"]
20789    pub fn X509_CRL_up_ref(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20790}
20791extern "C" {
20792    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_dup"]
20793    pub fn X509_CRL_dup(crl: *mut X509_CRL) -> *mut X509_CRL;
20794}
20795extern "C" {
20796    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_free"]
20797    pub fn X509_CRL_free(crl: *mut X509_CRL);
20798}
20799extern "C" {
20800    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_CRL"]
20801    pub fn d2i_X509_CRL(
20802        out: *mut *mut X509_CRL,
20803        inp: *mut *const u8,
20804        len: ::std::os::raw::c_long,
20805    ) -> *mut X509_CRL;
20806}
20807extern "C" {
20808    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_CRL"]
20809    pub fn i2d_X509_CRL(crl: *mut X509_CRL, outp: *mut *mut u8) -> ::std::os::raw::c_int;
20810}
20811extern "C" {
20812    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_match"]
20813    pub fn X509_CRL_match(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
20814}
20815extern "C" {
20816    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_version"]
20817    pub fn X509_CRL_get_version(crl: *const X509_CRL) -> ::std::os::raw::c_long;
20818}
20819extern "C" {
20820    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_lastUpdate"]
20821    pub fn X509_CRL_get0_lastUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20822}
20823extern "C" {
20824    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_nextUpdate"]
20825    pub fn X509_CRL_get0_nextUpdate(crl: *const X509_CRL) -> *const ASN1_TIME;
20826}
20827extern "C" {
20828    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_issuer"]
20829    pub fn X509_CRL_get_issuer(crl: *const X509_CRL) -> *mut X509_NAME;
20830}
20831extern "C" {
20832    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_by_serial"]
20833    pub fn X509_CRL_get0_by_serial(
20834        crl: *mut X509_CRL,
20835        out: *mut *mut X509_REVOKED,
20836        serial: *const ASN1_INTEGER,
20837    ) -> ::std::os::raw::c_int;
20838}
20839extern "C" {
20840    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_by_cert"]
20841    pub fn X509_CRL_get0_by_cert(
20842        crl: *mut X509_CRL,
20843        out: *mut *mut X509_REVOKED,
20844        x509: *mut X509,
20845    ) -> ::std::os::raw::c_int;
20846}
20847extern "C" {
20848    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_REVOKED"]
20849    pub fn X509_CRL_get_REVOKED(crl: *mut X509_CRL) -> *mut stack_st_X509_REVOKED;
20850}
20851extern "C" {
20852    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_extensions"]
20853    pub fn X509_CRL_get0_extensions(crl: *const X509_CRL) -> *const stack_st_X509_EXTENSION;
20854}
20855extern "C" {
20856    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext_count"]
20857    pub fn X509_CRL_get_ext_count(x: *const X509_CRL) -> ::std::os::raw::c_int;
20858}
20859extern "C" {
20860    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext_by_NID"]
20861    pub fn X509_CRL_get_ext_by_NID(
20862        x: *const X509_CRL,
20863        nid: ::std::os::raw::c_int,
20864        lastpos: ::std::os::raw::c_int,
20865    ) -> ::std::os::raw::c_int;
20866}
20867extern "C" {
20868    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext_by_OBJ"]
20869    pub fn X509_CRL_get_ext_by_OBJ(
20870        x: *const X509_CRL,
20871        obj: *const ASN1_OBJECT,
20872        lastpos: ::std::os::raw::c_int,
20873    ) -> ::std::os::raw::c_int;
20874}
20875extern "C" {
20876    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext_by_critical"]
20877    pub fn X509_CRL_get_ext_by_critical(
20878        x: *const X509_CRL,
20879        crit: ::std::os::raw::c_int,
20880        lastpos: ::std::os::raw::c_int,
20881    ) -> ::std::os::raw::c_int;
20882}
20883extern "C" {
20884    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext"]
20885    pub fn X509_CRL_get_ext(x: *const X509_CRL, loc: ::std::os::raw::c_int) -> *mut X509_EXTENSION;
20886}
20887extern "C" {
20888    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_ext_d2i"]
20889    pub fn X509_CRL_get_ext_d2i(
20890        crl: *const X509_CRL,
20891        nid: ::std::os::raw::c_int,
20892        out_critical: *mut ::std::os::raw::c_int,
20893        out_idx: *mut ::std::os::raw::c_int,
20894    ) -> *mut ::std::os::raw::c_void;
20895}
20896extern "C" {
20897    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get0_signature"]
20898    pub fn X509_CRL_get0_signature(
20899        crl: *const X509_CRL,
20900        out_sig: *mut *const ASN1_BIT_STRING,
20901        out_alg: *mut *const X509_ALGOR,
20902    );
20903}
20904extern "C" {
20905    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_signature_nid"]
20906    pub fn X509_CRL_get_signature_nid(crl: *const X509_CRL) -> ::std::os::raw::c_int;
20907}
20908extern "C" {
20909    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_CRL_tbs"]
20910    pub fn i2d_X509_CRL_tbs(
20911        crl: *mut X509_CRL,
20912        outp: *mut *mut ::std::os::raw::c_uchar,
20913    ) -> ::std::os::raw::c_int;
20914}
20915extern "C" {
20916    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_verify"]
20917    pub fn X509_CRL_verify(crl: *mut X509_CRL, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
20918}
20919extern "C" {
20920    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_new"]
20921    pub fn X509_CRL_new() -> *mut X509_CRL;
20922}
20923extern "C" {
20924    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set_version"]
20925    pub fn X509_CRL_set_version(
20926        crl: *mut X509_CRL,
20927        version: ::std::os::raw::c_long,
20928    ) -> ::std::os::raw::c_int;
20929}
20930extern "C" {
20931    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set_issuer_name"]
20932    pub fn X509_CRL_set_issuer_name(
20933        crl: *mut X509_CRL,
20934        name: *mut X509_NAME,
20935    ) -> ::std::os::raw::c_int;
20936}
20937extern "C" {
20938    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set1_lastUpdate"]
20939    pub fn X509_CRL_set1_lastUpdate(
20940        crl: *mut X509_CRL,
20941        tm: *const ASN1_TIME,
20942    ) -> ::std::os::raw::c_int;
20943}
20944extern "C" {
20945    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set1_nextUpdate"]
20946    pub fn X509_CRL_set1_nextUpdate(
20947        crl: *mut X509_CRL,
20948        tm: *const ASN1_TIME,
20949    ) -> ::std::os::raw::c_int;
20950}
20951extern "C" {
20952    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_add0_revoked"]
20953    pub fn X509_CRL_add0_revoked(
20954        crl: *mut X509_CRL,
20955        rev: *mut X509_REVOKED,
20956    ) -> ::std::os::raw::c_int;
20957}
20958extern "C" {
20959    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_sort"]
20960    pub fn X509_CRL_sort(crl: *mut X509_CRL) -> ::std::os::raw::c_int;
20961}
20962extern "C" {
20963    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_delete_ext"]
20964    pub fn X509_CRL_delete_ext(x: *mut X509_CRL, loc: ::std::os::raw::c_int)
20965        -> *mut X509_EXTENSION;
20966}
20967extern "C" {
20968    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_add_ext"]
20969    pub fn X509_CRL_add_ext(
20970        x: *mut X509_CRL,
20971        ex: *const X509_EXTENSION,
20972        loc: ::std::os::raw::c_int,
20973    ) -> ::std::os::raw::c_int;
20974}
20975extern "C" {
20976    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_add1_ext_i2d"]
20977    pub fn X509_CRL_add1_ext_i2d(
20978        x: *mut X509_CRL,
20979        nid: ::std::os::raw::c_int,
20980        value: *mut ::std::os::raw::c_void,
20981        crit: ::std::os::raw::c_int,
20982        flags: ::std::os::raw::c_ulong,
20983    ) -> ::std::os::raw::c_int;
20984}
20985extern "C" {
20986    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_sign"]
20987    pub fn X509_CRL_sign(
20988        crl: *mut X509_CRL,
20989        pkey: *mut EVP_PKEY,
20990        md: *const EVP_MD,
20991    ) -> ::std::os::raw::c_int;
20992}
20993extern "C" {
20994    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_sign_ctx"]
20995    pub fn X509_CRL_sign_ctx(crl: *mut X509_CRL, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
20996}
20997extern "C" {
20998    #[link_name = "\u{1}aws_lc_0_27_2_i2d_re_X509_CRL_tbs"]
20999    pub fn i2d_re_X509_CRL_tbs(
21000        crl: *mut X509_CRL,
21001        outp: *mut *mut ::std::os::raw::c_uchar,
21002    ) -> ::std::os::raw::c_int;
21003}
21004extern "C" {
21005    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set1_signature_algo"]
21006    pub fn X509_CRL_set1_signature_algo(
21007        crl: *mut X509_CRL,
21008        algo: *const X509_ALGOR,
21009    ) -> ::std::os::raw::c_int;
21010}
21011extern "C" {
21012    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_set1_signature_value"]
21013    pub fn X509_CRL_set1_signature_value(
21014        crl: *mut X509_CRL,
21015        sig: *const u8,
21016        sig_len: usize,
21017    ) -> ::std::os::raw::c_int;
21018}
21019extern "C" {
21020    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_http_nbio"]
21021    pub fn X509_CRL_http_nbio(
21022        rctx: *mut OCSP_REQ_CTX,
21023        pcrl: *mut *mut X509_CRL,
21024    ) -> ::std::os::raw::c_int;
21025}
21026extern "C" {
21027    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_it"]
21028    pub static X509_REVOKED_it: ASN1_ITEM;
21029}
21030extern "C" {
21031    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_new"]
21032    pub fn X509_REVOKED_new() -> *mut X509_REVOKED;
21033}
21034extern "C" {
21035    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_free"]
21036    pub fn X509_REVOKED_free(rev: *mut X509_REVOKED);
21037}
21038extern "C" {
21039    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_REVOKED"]
21040    pub fn d2i_X509_REVOKED(
21041        out: *mut *mut X509_REVOKED,
21042        inp: *mut *const u8,
21043        len: ::std::os::raw::c_long,
21044    ) -> *mut X509_REVOKED;
21045}
21046extern "C" {
21047    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_REVOKED"]
21048    pub fn i2d_X509_REVOKED(alg: *const X509_REVOKED, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21049}
21050extern "C" {
21051    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_dup"]
21052    pub fn X509_REVOKED_dup(rev: *const X509_REVOKED) -> *mut X509_REVOKED;
21053}
21054extern "C" {
21055    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get0_serialNumber"]
21056    pub fn X509_REVOKED_get0_serialNumber(revoked: *const X509_REVOKED) -> *const ASN1_INTEGER;
21057}
21058extern "C" {
21059    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_set_serialNumber"]
21060    pub fn X509_REVOKED_set_serialNumber(
21061        revoked: *mut X509_REVOKED,
21062        serial: *const ASN1_INTEGER,
21063    ) -> ::std::os::raw::c_int;
21064}
21065extern "C" {
21066    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get0_revocationDate"]
21067    pub fn X509_REVOKED_get0_revocationDate(revoked: *const X509_REVOKED) -> *const ASN1_TIME;
21068}
21069extern "C" {
21070    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_set_revocationDate"]
21071    pub fn X509_REVOKED_set_revocationDate(
21072        revoked: *mut X509_REVOKED,
21073        tm: *const ASN1_TIME,
21074    ) -> ::std::os::raw::c_int;
21075}
21076extern "C" {
21077    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get0_extensions"]
21078    pub fn X509_REVOKED_get0_extensions(r: *const X509_REVOKED) -> *const stack_st_X509_EXTENSION;
21079}
21080extern "C" {
21081    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext_count"]
21082    pub fn X509_REVOKED_get_ext_count(x: *const X509_REVOKED) -> ::std::os::raw::c_int;
21083}
21084extern "C" {
21085    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext_by_NID"]
21086    pub fn X509_REVOKED_get_ext_by_NID(
21087        x: *const X509_REVOKED,
21088        nid: ::std::os::raw::c_int,
21089        lastpos: ::std::os::raw::c_int,
21090    ) -> ::std::os::raw::c_int;
21091}
21092extern "C" {
21093    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext_by_OBJ"]
21094    pub fn X509_REVOKED_get_ext_by_OBJ(
21095        x: *const X509_REVOKED,
21096        obj: *const ASN1_OBJECT,
21097        lastpos: ::std::os::raw::c_int,
21098    ) -> ::std::os::raw::c_int;
21099}
21100extern "C" {
21101    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext_by_critical"]
21102    pub fn X509_REVOKED_get_ext_by_critical(
21103        x: *const X509_REVOKED,
21104        crit: ::std::os::raw::c_int,
21105        lastpos: ::std::os::raw::c_int,
21106    ) -> ::std::os::raw::c_int;
21107}
21108extern "C" {
21109    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext"]
21110    pub fn X509_REVOKED_get_ext(
21111        x: *const X509_REVOKED,
21112        loc: ::std::os::raw::c_int,
21113    ) -> *mut X509_EXTENSION;
21114}
21115extern "C" {
21116    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_delete_ext"]
21117    pub fn X509_REVOKED_delete_ext(
21118        x: *mut X509_REVOKED,
21119        loc: ::std::os::raw::c_int,
21120    ) -> *mut X509_EXTENSION;
21121}
21122extern "C" {
21123    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_add_ext"]
21124    pub fn X509_REVOKED_add_ext(
21125        x: *mut X509_REVOKED,
21126        ex: *const X509_EXTENSION,
21127        loc: ::std::os::raw::c_int,
21128    ) -> ::std::os::raw::c_int;
21129}
21130extern "C" {
21131    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_get_ext_d2i"]
21132    pub fn X509_REVOKED_get_ext_d2i(
21133        revoked: *const X509_REVOKED,
21134        nid: ::std::os::raw::c_int,
21135        out_critical: *mut ::std::os::raw::c_int,
21136        out_idx: *mut ::std::os::raw::c_int,
21137    ) -> *mut ::std::os::raw::c_void;
21138}
21139extern "C" {
21140    #[link_name = "\u{1}aws_lc_0_27_2_X509_REVOKED_add1_ext_i2d"]
21141    pub fn X509_REVOKED_add1_ext_i2d(
21142        x: *mut X509_REVOKED,
21143        nid: ::std::os::raw::c_int,
21144        value: *mut ::std::os::raw::c_void,
21145        crit: ::std::os::raw::c_int,
21146        flags: ::std::os::raw::c_ulong,
21147    ) -> ::std::os::raw::c_int;
21148}
21149extern "C" {
21150    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_it"]
21151    pub static X509_REQ_it: ASN1_ITEM;
21152}
21153extern "C" {
21154    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_dup"]
21155    pub fn X509_REQ_dup(req: *mut X509_REQ) -> *mut X509_REQ;
21156}
21157extern "C" {
21158    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_free"]
21159    pub fn X509_REQ_free(req: *mut X509_REQ);
21160}
21161extern "C" {
21162    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_REQ"]
21163    pub fn d2i_X509_REQ(
21164        out: *mut *mut X509_REQ,
21165        inp: *mut *const u8,
21166        len: ::std::os::raw::c_long,
21167    ) -> *mut X509_REQ;
21168}
21169extern "C" {
21170    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_REQ"]
21171    pub fn i2d_X509_REQ(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21172}
21173extern "C" {
21174    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_version"]
21175    pub fn X509_REQ_get_version(req: *const X509_REQ) -> ::std::os::raw::c_long;
21176}
21177extern "C" {
21178    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_subject_name"]
21179    pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut X509_NAME;
21180}
21181extern "C" {
21182    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get0_pubkey"]
21183    pub fn X509_REQ_get0_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21184}
21185extern "C" {
21186    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_pubkey"]
21187    pub fn X509_REQ_get_pubkey(req: *const X509_REQ) -> *mut EVP_PKEY;
21188}
21189extern "C" {
21190    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_check_private_key"]
21191    pub fn X509_REQ_check_private_key(
21192        req: *const X509_REQ,
21193        pkey: *const EVP_PKEY,
21194    ) -> ::std::os::raw::c_int;
21195}
21196extern "C" {
21197    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_attr_count"]
21198    pub fn X509_REQ_get_attr_count(req: *const X509_REQ) -> ::std::os::raw::c_int;
21199}
21200extern "C" {
21201    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_attr"]
21202    pub fn X509_REQ_get_attr(
21203        req: *const X509_REQ,
21204        loc: ::std::os::raw::c_int,
21205    ) -> *mut X509_ATTRIBUTE;
21206}
21207extern "C" {
21208    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_attr_by_NID"]
21209    pub fn X509_REQ_get_attr_by_NID(
21210        req: *const X509_REQ,
21211        nid: ::std::os::raw::c_int,
21212        lastpos: ::std::os::raw::c_int,
21213    ) -> ::std::os::raw::c_int;
21214}
21215extern "C" {
21216    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_attr_by_OBJ"]
21217    pub fn X509_REQ_get_attr_by_OBJ(
21218        req: *const X509_REQ,
21219        obj: *const ASN1_OBJECT,
21220        lastpos: ::std::os::raw::c_int,
21221    ) -> ::std::os::raw::c_int;
21222}
21223extern "C" {
21224    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_extension_nid"]
21225    pub fn X509_REQ_extension_nid(nid: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
21226}
21227extern "C" {
21228    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_extensions"]
21229    pub fn X509_REQ_get_extensions(req: *const X509_REQ) -> *mut stack_st_X509_EXTENSION;
21230}
21231extern "C" {
21232    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get0_signature"]
21233    pub fn X509_REQ_get0_signature(
21234        req: *const X509_REQ,
21235        out_sig: *mut *const ASN1_BIT_STRING,
21236        out_alg: *mut *const X509_ALGOR,
21237    );
21238}
21239extern "C" {
21240    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get_signature_nid"]
21241    pub fn X509_REQ_get_signature_nid(req: *const X509_REQ) -> ::std::os::raw::c_int;
21242}
21243extern "C" {
21244    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_verify"]
21245    pub fn X509_REQ_verify(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21246}
21247extern "C" {
21248    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_get1_email"]
21249    pub fn X509_REQ_get1_email(req: *const X509_REQ) -> *mut stack_st_OPENSSL_STRING;
21250}
21251extern "C" {
21252    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_new"]
21253    pub fn X509_REQ_new() -> *mut X509_REQ;
21254}
21255extern "C" {
21256    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_set_version"]
21257    pub fn X509_REQ_set_version(
21258        req: *mut X509_REQ,
21259        version: ::std::os::raw::c_long,
21260    ) -> ::std::os::raw::c_int;
21261}
21262extern "C" {
21263    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_set_subject_name"]
21264    pub fn X509_REQ_set_subject_name(
21265        req: *mut X509_REQ,
21266        name: *mut X509_NAME,
21267    ) -> ::std::os::raw::c_int;
21268}
21269extern "C" {
21270    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_set_pubkey"]
21271    pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21272}
21273extern "C" {
21274    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_delete_attr"]
21275    pub fn X509_REQ_delete_attr(
21276        req: *mut X509_REQ,
21277        loc: ::std::os::raw::c_int,
21278    ) -> *mut X509_ATTRIBUTE;
21279}
21280extern "C" {
21281    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add1_attr"]
21282    pub fn X509_REQ_add1_attr(
21283        req: *mut X509_REQ,
21284        attr: *const X509_ATTRIBUTE,
21285    ) -> ::std::os::raw::c_int;
21286}
21287extern "C" {
21288    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add1_attr_by_OBJ"]
21289    pub fn X509_REQ_add1_attr_by_OBJ(
21290        req: *mut X509_REQ,
21291        obj: *const ASN1_OBJECT,
21292        attrtype: ::std::os::raw::c_int,
21293        data: *const ::std::os::raw::c_uchar,
21294        len: ::std::os::raw::c_int,
21295    ) -> ::std::os::raw::c_int;
21296}
21297extern "C" {
21298    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add1_attr_by_NID"]
21299    pub fn X509_REQ_add1_attr_by_NID(
21300        req: *mut X509_REQ,
21301        nid: ::std::os::raw::c_int,
21302        attrtype: ::std::os::raw::c_int,
21303        data: *const ::std::os::raw::c_uchar,
21304        len: ::std::os::raw::c_int,
21305    ) -> ::std::os::raw::c_int;
21306}
21307extern "C" {
21308    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add1_attr_by_txt"]
21309    pub fn X509_REQ_add1_attr_by_txt(
21310        req: *mut X509_REQ,
21311        attrname: *const ::std::os::raw::c_char,
21312        attrtype: ::std::os::raw::c_int,
21313        data: *const ::std::os::raw::c_uchar,
21314        len: ::std::os::raw::c_int,
21315    ) -> ::std::os::raw::c_int;
21316}
21317extern "C" {
21318    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add_extensions_nid"]
21319    pub fn X509_REQ_add_extensions_nid(
21320        req: *mut X509_REQ,
21321        exts: *const stack_st_X509_EXTENSION,
21322        nid: ::std::os::raw::c_int,
21323    ) -> ::std::os::raw::c_int;
21324}
21325extern "C" {
21326    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_add_extensions"]
21327    pub fn X509_REQ_add_extensions(
21328        req: *mut X509_REQ,
21329        exts: *const stack_st_X509_EXTENSION,
21330    ) -> ::std::os::raw::c_int;
21331}
21332extern "C" {
21333    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_sign"]
21334    pub fn X509_REQ_sign(
21335        req: *mut X509_REQ,
21336        pkey: *mut EVP_PKEY,
21337        md: *const EVP_MD,
21338    ) -> ::std::os::raw::c_int;
21339}
21340extern "C" {
21341    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_sign_ctx"]
21342    pub fn X509_REQ_sign_ctx(req: *mut X509_REQ, ctx: *mut EVP_MD_CTX) -> ::std::os::raw::c_int;
21343}
21344extern "C" {
21345    #[link_name = "\u{1}aws_lc_0_27_2_i2d_re_X509_REQ_tbs"]
21346    pub fn i2d_re_X509_REQ_tbs(req: *mut X509_REQ, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21347}
21348extern "C" {
21349    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_set1_signature_algo"]
21350    pub fn X509_REQ_set1_signature_algo(
21351        req: *mut X509_REQ,
21352        algo: *const X509_ALGOR,
21353    ) -> ::std::os::raw::c_int;
21354}
21355extern "C" {
21356    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_set1_signature_value"]
21357    pub fn X509_REQ_set1_signature_value(
21358        req: *mut X509_REQ,
21359        sig: *const u8,
21360        sig_len: usize,
21361    ) -> ::std::os::raw::c_int;
21362}
21363#[repr(C)]
21364#[derive(Debug, Copy, Clone)]
21365pub struct stack_st_X509_NAME_ENTRY {
21366    _unused: [u8; 0],
21367}
21368pub type sk_X509_NAME_ENTRY_free_func =
21369    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME_ENTRY)>;
21370pub type sk_X509_NAME_ENTRY_copy_func = ::std::option::Option<
21371    unsafe extern "C" fn(arg1: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY,
21372>;
21373pub type sk_X509_NAME_ENTRY_cmp_func = ::std::option::Option<
21374    unsafe extern "C" fn(
21375        arg1: *const *const X509_NAME_ENTRY,
21376        arg2: *const *const X509_NAME_ENTRY,
21377    ) -> ::std::os::raw::c_int,
21378>;
21379pub type sk_X509_NAME_ENTRY_delete_if_func = ::std::option::Option<
21380    unsafe extern "C" fn(
21381        arg1: *mut X509_NAME_ENTRY,
21382        arg2: *mut ::std::os::raw::c_void,
21383    ) -> ::std::os::raw::c_int,
21384>;
21385#[repr(C)]
21386#[derive(Debug, Copy, Clone)]
21387pub struct stack_st_X509_NAME {
21388    _unused: [u8; 0],
21389}
21390pub type sk_X509_NAME_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_NAME)>;
21391pub type sk_X509_NAME_copy_func =
21392    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_NAME) -> *mut X509_NAME>;
21393pub type sk_X509_NAME_cmp_func = ::std::option::Option<
21394    unsafe extern "C" fn(
21395        arg1: *const *const X509_NAME,
21396        arg2: *const *const X509_NAME,
21397    ) -> ::std::os::raw::c_int,
21398>;
21399pub type sk_X509_NAME_delete_if_func = ::std::option::Option<
21400    unsafe extern "C" fn(
21401        arg1: *mut X509_NAME,
21402        arg2: *mut ::std::os::raw::c_void,
21403    ) -> ::std::os::raw::c_int,
21404>;
21405extern "C" {
21406    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_it"]
21407    pub static X509_NAME_it: ASN1_ITEM;
21408}
21409extern "C" {
21410    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_new"]
21411    pub fn X509_NAME_new() -> *mut X509_NAME;
21412}
21413extern "C" {
21414    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_free"]
21415    pub fn X509_NAME_free(name: *mut X509_NAME);
21416}
21417extern "C" {
21418    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_NAME"]
21419    pub fn d2i_X509_NAME(
21420        out: *mut *mut X509_NAME,
21421        inp: *mut *const u8,
21422        len: ::std::os::raw::c_long,
21423    ) -> *mut X509_NAME;
21424}
21425extern "C" {
21426    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_NAME"]
21427    pub fn i2d_X509_NAME(in_: *mut X509_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21428}
21429extern "C" {
21430    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_dup"]
21431    pub fn X509_NAME_dup(name: *mut X509_NAME) -> *mut X509_NAME;
21432}
21433extern "C" {
21434    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_cmp"]
21435    pub fn X509_NAME_cmp(a: *const X509_NAME, b: *const X509_NAME) -> ::std::os::raw::c_int;
21436}
21437extern "C" {
21438    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get0_der"]
21439    pub fn X509_NAME_get0_der(
21440        name: *mut X509_NAME,
21441        out_der: *mut *const u8,
21442        out_der_len: *mut usize,
21443    ) -> ::std::os::raw::c_int;
21444}
21445extern "C" {
21446    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_set"]
21447    pub fn X509_NAME_set(xn: *mut *mut X509_NAME, name: *mut X509_NAME) -> ::std::os::raw::c_int;
21448}
21449extern "C" {
21450    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_entry_count"]
21451    pub fn X509_NAME_entry_count(name: *const X509_NAME) -> ::std::os::raw::c_int;
21452}
21453extern "C" {
21454    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get_index_by_NID"]
21455    pub fn X509_NAME_get_index_by_NID(
21456        name: *const X509_NAME,
21457        nid: ::std::os::raw::c_int,
21458        lastpos: ::std::os::raw::c_int,
21459    ) -> ::std::os::raw::c_int;
21460}
21461extern "C" {
21462    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get_index_by_OBJ"]
21463    pub fn X509_NAME_get_index_by_OBJ(
21464        name: *const X509_NAME,
21465        obj: *const ASN1_OBJECT,
21466        lastpos: ::std::os::raw::c_int,
21467    ) -> ::std::os::raw::c_int;
21468}
21469extern "C" {
21470    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get_entry"]
21471    pub fn X509_NAME_get_entry(
21472        name: *const X509_NAME,
21473        loc: ::std::os::raw::c_int,
21474    ) -> *mut X509_NAME_ENTRY;
21475}
21476extern "C" {
21477    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_delete_entry"]
21478    pub fn X509_NAME_delete_entry(
21479        name: *mut X509_NAME,
21480        loc: ::std::os::raw::c_int,
21481    ) -> *mut X509_NAME_ENTRY;
21482}
21483extern "C" {
21484    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_add_entry"]
21485    pub fn X509_NAME_add_entry(
21486        name: *mut X509_NAME,
21487        entry: *const X509_NAME_ENTRY,
21488        loc: ::std::os::raw::c_int,
21489        set: ::std::os::raw::c_int,
21490    ) -> ::std::os::raw::c_int;
21491}
21492extern "C" {
21493    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_add_entry_by_OBJ"]
21494    pub fn X509_NAME_add_entry_by_OBJ(
21495        name: *mut X509_NAME,
21496        obj: *const ASN1_OBJECT,
21497        type_: ::std::os::raw::c_int,
21498        bytes: *const u8,
21499        len: ossl_ssize_t,
21500        loc: ::std::os::raw::c_int,
21501        set: ::std::os::raw::c_int,
21502    ) -> ::std::os::raw::c_int;
21503}
21504extern "C" {
21505    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_add_entry_by_NID"]
21506    pub fn X509_NAME_add_entry_by_NID(
21507        name: *mut X509_NAME,
21508        nid: ::std::os::raw::c_int,
21509        type_: ::std::os::raw::c_int,
21510        bytes: *const u8,
21511        len: ossl_ssize_t,
21512        loc: ::std::os::raw::c_int,
21513        set: ::std::os::raw::c_int,
21514    ) -> ::std::os::raw::c_int;
21515}
21516extern "C" {
21517    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_add_entry_by_txt"]
21518    pub fn X509_NAME_add_entry_by_txt(
21519        name: *mut X509_NAME,
21520        field: *const ::std::os::raw::c_char,
21521        type_: ::std::os::raw::c_int,
21522        bytes: *const u8,
21523        len: ossl_ssize_t,
21524        loc: ::std::os::raw::c_int,
21525        set: ::std::os::raw::c_int,
21526    ) -> ::std::os::raw::c_int;
21527}
21528extern "C" {
21529    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_it"]
21530    pub static X509_NAME_ENTRY_it: ASN1_ITEM;
21531}
21532extern "C" {
21533    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_new"]
21534    pub fn X509_NAME_ENTRY_new() -> *mut X509_NAME_ENTRY;
21535}
21536extern "C" {
21537    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_free"]
21538    pub fn X509_NAME_ENTRY_free(entry: *mut X509_NAME_ENTRY);
21539}
21540extern "C" {
21541    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_NAME_ENTRY"]
21542    pub fn d2i_X509_NAME_ENTRY(
21543        out: *mut *mut X509_NAME_ENTRY,
21544        inp: *mut *const u8,
21545        len: ::std::os::raw::c_long,
21546    ) -> *mut X509_NAME_ENTRY;
21547}
21548extern "C" {
21549    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_NAME_ENTRY"]
21550    pub fn i2d_X509_NAME_ENTRY(
21551        in_: *const X509_NAME_ENTRY,
21552        outp: *mut *mut u8,
21553    ) -> ::std::os::raw::c_int;
21554}
21555extern "C" {
21556    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_dup"]
21557    pub fn X509_NAME_ENTRY_dup(entry: *const X509_NAME_ENTRY) -> *mut X509_NAME_ENTRY;
21558}
21559extern "C" {
21560    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_get_object"]
21561    pub fn X509_NAME_ENTRY_get_object(entry: *const X509_NAME_ENTRY) -> *mut ASN1_OBJECT;
21562}
21563extern "C" {
21564    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_set_object"]
21565    pub fn X509_NAME_ENTRY_set_object(
21566        entry: *mut X509_NAME_ENTRY,
21567        obj: *const ASN1_OBJECT,
21568    ) -> ::std::os::raw::c_int;
21569}
21570extern "C" {
21571    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_get_data"]
21572    pub fn X509_NAME_ENTRY_get_data(entry: *const X509_NAME_ENTRY) -> *mut ASN1_STRING;
21573}
21574extern "C" {
21575    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_set_data"]
21576    pub fn X509_NAME_ENTRY_set_data(
21577        entry: *mut X509_NAME_ENTRY,
21578        type_: ::std::os::raw::c_int,
21579        bytes: *const u8,
21580        len: ossl_ssize_t,
21581    ) -> ::std::os::raw::c_int;
21582}
21583extern "C" {
21584    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_set"]
21585    pub fn X509_NAME_ENTRY_set(entry: *const X509_NAME_ENTRY) -> ::std::os::raw::c_int;
21586}
21587extern "C" {
21588    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_create_by_OBJ"]
21589    pub fn X509_NAME_ENTRY_create_by_OBJ(
21590        out: *mut *mut X509_NAME_ENTRY,
21591        obj: *const ASN1_OBJECT,
21592        type_: ::std::os::raw::c_int,
21593        bytes: *const u8,
21594        len: ossl_ssize_t,
21595    ) -> *mut X509_NAME_ENTRY;
21596}
21597extern "C" {
21598    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_create_by_NID"]
21599    pub fn X509_NAME_ENTRY_create_by_NID(
21600        out: *mut *mut X509_NAME_ENTRY,
21601        nid: ::std::os::raw::c_int,
21602        type_: ::std::os::raw::c_int,
21603        bytes: *const u8,
21604        len: ossl_ssize_t,
21605    ) -> *mut X509_NAME_ENTRY;
21606}
21607extern "C" {
21608    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_ENTRY_create_by_txt"]
21609    pub fn X509_NAME_ENTRY_create_by_txt(
21610        out: *mut *mut X509_NAME_ENTRY,
21611        field: *const ::std::os::raw::c_char,
21612        type_: ::std::os::raw::c_int,
21613        bytes: *const u8,
21614        len: ossl_ssize_t,
21615    ) -> *mut X509_NAME_ENTRY;
21616}
21617extern "C" {
21618    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_it"]
21619    pub static X509_PUBKEY_it: ASN1_ITEM;
21620}
21621extern "C" {
21622    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_new"]
21623    pub fn X509_PUBKEY_new() -> *mut X509_PUBKEY;
21624}
21625extern "C" {
21626    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_free"]
21627    pub fn X509_PUBKEY_free(key: *mut X509_PUBKEY);
21628}
21629extern "C" {
21630    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_PUBKEY"]
21631    pub fn d2i_X509_PUBKEY(
21632        out: *mut *mut X509_PUBKEY,
21633        inp: *mut *const u8,
21634        len: ::std::os::raw::c_long,
21635    ) -> *mut X509_PUBKEY;
21636}
21637extern "C" {
21638    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_PUBKEY"]
21639    pub fn i2d_X509_PUBKEY(key: *const X509_PUBKEY, outp: *mut *mut u8) -> ::std::os::raw::c_int;
21640}
21641extern "C" {
21642    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_set"]
21643    pub fn X509_PUBKEY_set(x: *mut *mut X509_PUBKEY, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
21644}
21645extern "C" {
21646    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_get0"]
21647    pub fn X509_PUBKEY_get0(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21648}
21649extern "C" {
21650    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_get"]
21651    pub fn X509_PUBKEY_get(key: *const X509_PUBKEY) -> *mut EVP_PKEY;
21652}
21653extern "C" {
21654    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_set0_param"]
21655    pub fn X509_PUBKEY_set0_param(
21656        pub_: *mut X509_PUBKEY,
21657        obj: *mut ASN1_OBJECT,
21658        param_type: ::std::os::raw::c_int,
21659        param_value: *mut ::std::os::raw::c_void,
21660        key: *mut u8,
21661        key_len: ::std::os::raw::c_int,
21662    ) -> ::std::os::raw::c_int;
21663}
21664extern "C" {
21665    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_get0_param"]
21666    pub fn X509_PUBKEY_get0_param(
21667        out_obj: *mut *mut ASN1_OBJECT,
21668        out_key: *mut *const u8,
21669        out_key_len: *mut ::std::os::raw::c_int,
21670        out_alg: *mut *mut X509_ALGOR,
21671        pub_: *mut X509_PUBKEY,
21672    ) -> ::std::os::raw::c_int;
21673}
21674extern "C" {
21675    #[link_name = "\u{1}aws_lc_0_27_2_X509_PUBKEY_get0_public_key"]
21676    pub fn X509_PUBKEY_get0_public_key(pub_: *const X509_PUBKEY) -> *const ASN1_BIT_STRING;
21677}
21678extern "C" {
21679    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_it"]
21680    pub static X509_EXTENSION_it: ASN1_ITEM;
21681}
21682extern "C" {
21683    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_new"]
21684    pub fn X509_EXTENSION_new() -> *mut X509_EXTENSION;
21685}
21686extern "C" {
21687    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_free"]
21688    pub fn X509_EXTENSION_free(ex: *mut X509_EXTENSION);
21689}
21690extern "C" {
21691    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_EXTENSION"]
21692    pub fn d2i_X509_EXTENSION(
21693        out: *mut *mut X509_EXTENSION,
21694        inp: *mut *const u8,
21695        len: ::std::os::raw::c_long,
21696    ) -> *mut X509_EXTENSION;
21697}
21698extern "C" {
21699    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_EXTENSION"]
21700    pub fn i2d_X509_EXTENSION(
21701        ex: *const X509_EXTENSION,
21702        outp: *mut *mut u8,
21703    ) -> ::std::os::raw::c_int;
21704}
21705extern "C" {
21706    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_dup"]
21707    pub fn X509_EXTENSION_dup(ex: *const X509_EXTENSION) -> *mut X509_EXTENSION;
21708}
21709extern "C" {
21710    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_create_by_NID"]
21711    pub fn X509_EXTENSION_create_by_NID(
21712        ex: *mut *mut X509_EXTENSION,
21713        nid: ::std::os::raw::c_int,
21714        crit: ::std::os::raw::c_int,
21715        data: *const ASN1_OCTET_STRING,
21716    ) -> *mut X509_EXTENSION;
21717}
21718extern "C" {
21719    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_create_by_OBJ"]
21720    pub fn X509_EXTENSION_create_by_OBJ(
21721        ex: *mut *mut X509_EXTENSION,
21722        obj: *const ASN1_OBJECT,
21723        crit: ::std::os::raw::c_int,
21724        data: *const ASN1_OCTET_STRING,
21725    ) -> *mut X509_EXTENSION;
21726}
21727extern "C" {
21728    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_get_object"]
21729    pub fn X509_EXTENSION_get_object(ex: *const X509_EXTENSION) -> *mut ASN1_OBJECT;
21730}
21731extern "C" {
21732    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_get_data"]
21733    pub fn X509_EXTENSION_get_data(ne: *const X509_EXTENSION) -> *mut ASN1_OCTET_STRING;
21734}
21735extern "C" {
21736    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_get_critical"]
21737    pub fn X509_EXTENSION_get_critical(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
21738}
21739extern "C" {
21740    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_set_object"]
21741    pub fn X509_EXTENSION_set_object(
21742        ex: *mut X509_EXTENSION,
21743        obj: *const ASN1_OBJECT,
21744    ) -> ::std::os::raw::c_int;
21745}
21746extern "C" {
21747    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_set_critical"]
21748    pub fn X509_EXTENSION_set_critical(
21749        ex: *mut X509_EXTENSION,
21750        crit: ::std::os::raw::c_int,
21751    ) -> ::std::os::raw::c_int;
21752}
21753extern "C" {
21754    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSION_set_data"]
21755    pub fn X509_EXTENSION_set_data(
21756        ex: *mut X509_EXTENSION,
21757        data: *const ASN1_OCTET_STRING,
21758    ) -> ::std::os::raw::c_int;
21759}
21760pub type sk_X509_EXTENSION_free_func =
21761    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_EXTENSION)>;
21762pub type sk_X509_EXTENSION_copy_func =
21763    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_EXTENSION) -> *mut X509_EXTENSION>;
21764pub type sk_X509_EXTENSION_cmp_func = ::std::option::Option<
21765    unsafe extern "C" fn(
21766        arg1: *const *const X509_EXTENSION,
21767        arg2: *const *const X509_EXTENSION,
21768    ) -> ::std::os::raw::c_int,
21769>;
21770pub type sk_X509_EXTENSION_delete_if_func = ::std::option::Option<
21771    unsafe extern "C" fn(
21772        arg1: *mut X509_EXTENSION,
21773        arg2: *mut ::std::os::raw::c_void,
21774    ) -> ::std::os::raw::c_int,
21775>;
21776pub type X509_EXTENSIONS = stack_st_X509_EXTENSION;
21777extern "C" {
21778    #[link_name = "\u{1}aws_lc_0_27_2_X509_EXTENSIONS_it"]
21779    pub static X509_EXTENSIONS_it: ASN1_ITEM;
21780}
21781extern "C" {
21782    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_EXTENSIONS"]
21783    pub fn d2i_X509_EXTENSIONS(
21784        out: *mut *mut X509_EXTENSIONS,
21785        inp: *mut *const u8,
21786        len: ::std::os::raw::c_long,
21787    ) -> *mut X509_EXTENSIONS;
21788}
21789extern "C" {
21790    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_EXTENSIONS"]
21791    pub fn i2d_X509_EXTENSIONS(
21792        alg: *const X509_EXTENSIONS,
21793        outp: *mut *mut u8,
21794    ) -> ::std::os::raw::c_int;
21795}
21796extern "C" {
21797    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_get_ext_count"]
21798    pub fn X509v3_get_ext_count(x: *const stack_st_X509_EXTENSION) -> ::std::os::raw::c_int;
21799}
21800extern "C" {
21801    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_get_ext_by_NID"]
21802    pub fn X509v3_get_ext_by_NID(
21803        x: *const stack_st_X509_EXTENSION,
21804        nid: ::std::os::raw::c_int,
21805        lastpos: ::std::os::raw::c_int,
21806    ) -> ::std::os::raw::c_int;
21807}
21808extern "C" {
21809    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_get_ext_by_OBJ"]
21810    pub fn X509v3_get_ext_by_OBJ(
21811        x: *const stack_st_X509_EXTENSION,
21812        obj: *const ASN1_OBJECT,
21813        lastpos: ::std::os::raw::c_int,
21814    ) -> ::std::os::raw::c_int;
21815}
21816extern "C" {
21817    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_get_ext_by_critical"]
21818    pub fn X509v3_get_ext_by_critical(
21819        x: *const stack_st_X509_EXTENSION,
21820        crit: ::std::os::raw::c_int,
21821        lastpos: ::std::os::raw::c_int,
21822    ) -> ::std::os::raw::c_int;
21823}
21824extern "C" {
21825    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_get_ext"]
21826    pub fn X509v3_get_ext(
21827        x: *const stack_st_X509_EXTENSION,
21828        loc: ::std::os::raw::c_int,
21829    ) -> *mut X509_EXTENSION;
21830}
21831extern "C" {
21832    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_delete_ext"]
21833    pub fn X509v3_delete_ext(
21834        x: *mut stack_st_X509_EXTENSION,
21835        loc: ::std::os::raw::c_int,
21836    ) -> *mut X509_EXTENSION;
21837}
21838extern "C" {
21839    #[link_name = "\u{1}aws_lc_0_27_2_X509v3_add_ext"]
21840    pub fn X509v3_add_ext(
21841        x: *mut *mut stack_st_X509_EXTENSION,
21842        ex: *const X509_EXTENSION,
21843        loc: ::std::os::raw::c_int,
21844    ) -> *mut stack_st_X509_EXTENSION;
21845}
21846extern "C" {
21847    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_d2i"]
21848    pub fn X509V3_EXT_d2i(ext: *const X509_EXTENSION) -> *mut ::std::os::raw::c_void;
21849}
21850extern "C" {
21851    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_get_d2i"]
21852    pub fn X509V3_get_d2i(
21853        extensions: *const stack_st_X509_EXTENSION,
21854        nid: ::std::os::raw::c_int,
21855        out_critical: *mut ::std::os::raw::c_int,
21856        out_idx: *mut ::std::os::raw::c_int,
21857    ) -> *mut ::std::os::raw::c_void;
21858}
21859extern "C" {
21860    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_free"]
21861    pub fn X509V3_EXT_free(
21862        nid: ::std::os::raw::c_int,
21863        ext_data: *mut ::std::os::raw::c_void,
21864    ) -> ::std::os::raw::c_int;
21865}
21866extern "C" {
21867    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_i2d"]
21868    pub fn X509V3_EXT_i2d(
21869        ext_nid: ::std::os::raw::c_int,
21870        crit: ::std::os::raw::c_int,
21871        ext_struc: *mut ::std::os::raw::c_void,
21872    ) -> *mut X509_EXTENSION;
21873}
21874extern "C" {
21875    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_add1_i2d"]
21876    pub fn X509V3_add1_i2d(
21877        x: *mut *mut stack_st_X509_EXTENSION,
21878        nid: ::std::os::raw::c_int,
21879        value: *mut ::std::os::raw::c_void,
21880        crit: ::std::os::raw::c_int,
21881        flags: ::std::os::raw::c_ulong,
21882    ) -> ::std::os::raw::c_int;
21883}
21884#[repr(C)]
21885#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21886pub struct otherName_st {
21887    pub type_id: *mut ASN1_OBJECT,
21888    pub value: *mut ASN1_TYPE,
21889}
21890#[test]
21891fn bindgen_test_layout_otherName_st() {
21892    const UNINIT: ::std::mem::MaybeUninit<otherName_st> = ::std::mem::MaybeUninit::uninit();
21893    let ptr = UNINIT.as_ptr();
21894    assert_eq!(
21895        ::std::mem::size_of::<otherName_st>(),
21896        16usize,
21897        concat!("Size of: ", stringify!(otherName_st))
21898    );
21899    assert_eq!(
21900        ::std::mem::align_of::<otherName_st>(),
21901        8usize,
21902        concat!("Alignment of ", stringify!(otherName_st))
21903    );
21904    assert_eq!(
21905        unsafe { ::std::ptr::addr_of!((*ptr).type_id) as usize - ptr as usize },
21906        0usize,
21907        concat!(
21908            "Offset of field: ",
21909            stringify!(otherName_st),
21910            "::",
21911            stringify!(type_id)
21912        )
21913    );
21914    assert_eq!(
21915        unsafe { ::std::ptr::addr_of!((*ptr).value) as usize - ptr as usize },
21916        8usize,
21917        concat!(
21918            "Offset of field: ",
21919            stringify!(otherName_st),
21920            "::",
21921            stringify!(value)
21922        )
21923    );
21924}
21925impl Default for otherName_st {
21926    fn default() -> Self {
21927        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21928        unsafe {
21929            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21930            s.assume_init()
21931        }
21932    }
21933}
21934pub type OTHERNAME = otherName_st;
21935#[repr(C)]
21936#[derive(Debug, Copy, Clone, PartialEq, Eq)]
21937pub struct EDIPartyName_st {
21938    pub nameAssigner: *mut ASN1_STRING,
21939    pub partyName: *mut ASN1_STRING,
21940}
21941#[test]
21942fn bindgen_test_layout_EDIPartyName_st() {
21943    const UNINIT: ::std::mem::MaybeUninit<EDIPartyName_st> = ::std::mem::MaybeUninit::uninit();
21944    let ptr = UNINIT.as_ptr();
21945    assert_eq!(
21946        ::std::mem::size_of::<EDIPartyName_st>(),
21947        16usize,
21948        concat!("Size of: ", stringify!(EDIPartyName_st))
21949    );
21950    assert_eq!(
21951        ::std::mem::align_of::<EDIPartyName_st>(),
21952        8usize,
21953        concat!("Alignment of ", stringify!(EDIPartyName_st))
21954    );
21955    assert_eq!(
21956        unsafe { ::std::ptr::addr_of!((*ptr).nameAssigner) as usize - ptr as usize },
21957        0usize,
21958        concat!(
21959            "Offset of field: ",
21960            stringify!(EDIPartyName_st),
21961            "::",
21962            stringify!(nameAssigner)
21963        )
21964    );
21965    assert_eq!(
21966        unsafe { ::std::ptr::addr_of!((*ptr).partyName) as usize - ptr as usize },
21967        8usize,
21968        concat!(
21969            "Offset of field: ",
21970            stringify!(EDIPartyName_st),
21971            "::",
21972            stringify!(partyName)
21973        )
21974    );
21975}
21976impl Default for EDIPartyName_st {
21977    fn default() -> Self {
21978        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
21979        unsafe {
21980            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
21981            s.assume_init()
21982        }
21983    }
21984}
21985pub type EDIPARTYNAME = EDIPartyName_st;
21986#[repr(C)]
21987#[derive(Copy, Clone)]
21988pub struct GENERAL_NAME_st {
21989    pub type_: ::std::os::raw::c_int,
21990    pub d: GENERAL_NAME_st__bindgen_ty_1,
21991}
21992#[repr(C)]
21993#[derive(Copy, Clone)]
21994pub union GENERAL_NAME_st__bindgen_ty_1 {
21995    pub ptr: *mut ::std::os::raw::c_char,
21996    pub otherName: *mut OTHERNAME,
21997    pub rfc822Name: *mut ASN1_IA5STRING,
21998    pub dNSName: *mut ASN1_IA5STRING,
21999    pub x400Address: *mut ASN1_STRING,
22000    pub directoryName: *mut X509_NAME,
22001    pub ediPartyName: *mut EDIPARTYNAME,
22002    pub uniformResourceIdentifier: *mut ASN1_IA5STRING,
22003    pub iPAddress: *mut ASN1_OCTET_STRING,
22004    pub registeredID: *mut ASN1_OBJECT,
22005    pub ip: *mut ASN1_OCTET_STRING,
22006    pub dirn: *mut X509_NAME,
22007    pub ia5: *mut ASN1_IA5STRING,
22008    pub rid: *mut ASN1_OBJECT,
22009}
22010#[test]
22011fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1() {
22012    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st__bindgen_ty_1> =
22013        ::std::mem::MaybeUninit::uninit();
22014    let ptr = UNINIT.as_ptr();
22015    assert_eq!(
22016        ::std::mem::size_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22017        8usize,
22018        concat!("Size of: ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22019    );
22020    assert_eq!(
22021        ::std::mem::align_of::<GENERAL_NAME_st__bindgen_ty_1>(),
22022        8usize,
22023        concat!("Alignment of ", stringify!(GENERAL_NAME_st__bindgen_ty_1))
22024    );
22025    assert_eq!(
22026        unsafe { ::std::ptr::addr_of!((*ptr).ptr) as usize - ptr as usize },
22027        0usize,
22028        concat!(
22029            "Offset of field: ",
22030            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22031            "::",
22032            stringify!(ptr)
22033        )
22034    );
22035    assert_eq!(
22036        unsafe { ::std::ptr::addr_of!((*ptr).otherName) as usize - ptr as usize },
22037        0usize,
22038        concat!(
22039            "Offset of field: ",
22040            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22041            "::",
22042            stringify!(otherName)
22043        )
22044    );
22045    assert_eq!(
22046        unsafe { ::std::ptr::addr_of!((*ptr).rfc822Name) as usize - ptr as usize },
22047        0usize,
22048        concat!(
22049            "Offset of field: ",
22050            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22051            "::",
22052            stringify!(rfc822Name)
22053        )
22054    );
22055    assert_eq!(
22056        unsafe { ::std::ptr::addr_of!((*ptr).dNSName) as usize - ptr as usize },
22057        0usize,
22058        concat!(
22059            "Offset of field: ",
22060            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22061            "::",
22062            stringify!(dNSName)
22063        )
22064    );
22065    assert_eq!(
22066        unsafe { ::std::ptr::addr_of!((*ptr).x400Address) as usize - ptr as usize },
22067        0usize,
22068        concat!(
22069            "Offset of field: ",
22070            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22071            "::",
22072            stringify!(x400Address)
22073        )
22074    );
22075    assert_eq!(
22076        unsafe { ::std::ptr::addr_of!((*ptr).directoryName) as usize - ptr as usize },
22077        0usize,
22078        concat!(
22079            "Offset of field: ",
22080            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22081            "::",
22082            stringify!(directoryName)
22083        )
22084    );
22085    assert_eq!(
22086        unsafe { ::std::ptr::addr_of!((*ptr).ediPartyName) as usize - ptr as usize },
22087        0usize,
22088        concat!(
22089            "Offset of field: ",
22090            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22091            "::",
22092            stringify!(ediPartyName)
22093        )
22094    );
22095    assert_eq!(
22096        unsafe { ::std::ptr::addr_of!((*ptr).uniformResourceIdentifier) as usize - ptr as usize },
22097        0usize,
22098        concat!(
22099            "Offset of field: ",
22100            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22101            "::",
22102            stringify!(uniformResourceIdentifier)
22103        )
22104    );
22105    assert_eq!(
22106        unsafe { ::std::ptr::addr_of!((*ptr).iPAddress) as usize - ptr as usize },
22107        0usize,
22108        concat!(
22109            "Offset of field: ",
22110            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22111            "::",
22112            stringify!(iPAddress)
22113        )
22114    );
22115    assert_eq!(
22116        unsafe { ::std::ptr::addr_of!((*ptr).registeredID) as usize - ptr as usize },
22117        0usize,
22118        concat!(
22119            "Offset of field: ",
22120            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22121            "::",
22122            stringify!(registeredID)
22123        )
22124    );
22125    assert_eq!(
22126        unsafe { ::std::ptr::addr_of!((*ptr).ip) as usize - ptr as usize },
22127        0usize,
22128        concat!(
22129            "Offset of field: ",
22130            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22131            "::",
22132            stringify!(ip)
22133        )
22134    );
22135    assert_eq!(
22136        unsafe { ::std::ptr::addr_of!((*ptr).dirn) as usize - ptr as usize },
22137        0usize,
22138        concat!(
22139            "Offset of field: ",
22140            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22141            "::",
22142            stringify!(dirn)
22143        )
22144    );
22145    assert_eq!(
22146        unsafe { ::std::ptr::addr_of!((*ptr).ia5) as usize - ptr as usize },
22147        0usize,
22148        concat!(
22149            "Offset of field: ",
22150            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22151            "::",
22152            stringify!(ia5)
22153        )
22154    );
22155    assert_eq!(
22156        unsafe { ::std::ptr::addr_of!((*ptr).rid) as usize - ptr as usize },
22157        0usize,
22158        concat!(
22159            "Offset of field: ",
22160            stringify!(GENERAL_NAME_st__bindgen_ty_1),
22161            "::",
22162            stringify!(rid)
22163        )
22164    );
22165}
22166impl Default for GENERAL_NAME_st__bindgen_ty_1 {
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}
22175#[test]
22176fn bindgen_test_layout_GENERAL_NAME_st() {
22177    const UNINIT: ::std::mem::MaybeUninit<GENERAL_NAME_st> = ::std::mem::MaybeUninit::uninit();
22178    let ptr = UNINIT.as_ptr();
22179    assert_eq!(
22180        ::std::mem::size_of::<GENERAL_NAME_st>(),
22181        16usize,
22182        concat!("Size of: ", stringify!(GENERAL_NAME_st))
22183    );
22184    assert_eq!(
22185        ::std::mem::align_of::<GENERAL_NAME_st>(),
22186        8usize,
22187        concat!("Alignment of ", stringify!(GENERAL_NAME_st))
22188    );
22189    assert_eq!(
22190        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
22191        0usize,
22192        concat!(
22193            "Offset of field: ",
22194            stringify!(GENERAL_NAME_st),
22195            "::",
22196            stringify!(type_)
22197        )
22198    );
22199    assert_eq!(
22200        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
22201        8usize,
22202        concat!(
22203            "Offset of field: ",
22204            stringify!(GENERAL_NAME_st),
22205            "::",
22206            stringify!(d)
22207        )
22208    );
22209}
22210impl Default for GENERAL_NAME_st {
22211    fn default() -> Self {
22212        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
22213        unsafe {
22214            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
22215            s.assume_init()
22216        }
22217    }
22218}
22219extern "C" {
22220    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_new"]
22221    pub fn GENERAL_NAME_new() -> *mut GENERAL_NAME;
22222}
22223extern "C" {
22224    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_free"]
22225    pub fn GENERAL_NAME_free(gen: *mut GENERAL_NAME);
22226}
22227extern "C" {
22228    #[link_name = "\u{1}aws_lc_0_27_2_d2i_GENERAL_NAME"]
22229    pub fn d2i_GENERAL_NAME(
22230        out: *mut *mut GENERAL_NAME,
22231        inp: *mut *const u8,
22232        len: ::std::os::raw::c_long,
22233    ) -> *mut GENERAL_NAME;
22234}
22235extern "C" {
22236    #[link_name = "\u{1}aws_lc_0_27_2_i2d_GENERAL_NAME"]
22237    pub fn i2d_GENERAL_NAME(in_: *mut GENERAL_NAME, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22238}
22239extern "C" {
22240    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_dup"]
22241    pub fn GENERAL_NAME_dup(gen: *mut GENERAL_NAME) -> *mut GENERAL_NAME;
22242}
22243extern "C" {
22244    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAMES_new"]
22245    pub fn GENERAL_NAMES_new() -> *mut GENERAL_NAMES;
22246}
22247extern "C" {
22248    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAMES_free"]
22249    pub fn GENERAL_NAMES_free(gens: *mut GENERAL_NAMES);
22250}
22251extern "C" {
22252    #[link_name = "\u{1}aws_lc_0_27_2_d2i_GENERAL_NAMES"]
22253    pub fn d2i_GENERAL_NAMES(
22254        out: *mut *mut GENERAL_NAMES,
22255        inp: *mut *const u8,
22256        len: ::std::os::raw::c_long,
22257    ) -> *mut GENERAL_NAMES;
22258}
22259extern "C" {
22260    #[link_name = "\u{1}aws_lc_0_27_2_i2d_GENERAL_NAMES"]
22261    pub fn i2d_GENERAL_NAMES(in_: *mut GENERAL_NAMES, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22262}
22263extern "C" {
22264    #[link_name = "\u{1}aws_lc_0_27_2_OTHERNAME_new"]
22265    pub fn OTHERNAME_new() -> *mut OTHERNAME;
22266}
22267extern "C" {
22268    #[link_name = "\u{1}aws_lc_0_27_2_OTHERNAME_free"]
22269    pub fn OTHERNAME_free(name: *mut OTHERNAME);
22270}
22271extern "C" {
22272    #[link_name = "\u{1}aws_lc_0_27_2_EDIPARTYNAME_new"]
22273    pub fn EDIPARTYNAME_new() -> *mut EDIPARTYNAME;
22274}
22275extern "C" {
22276    #[link_name = "\u{1}aws_lc_0_27_2_EDIPARTYNAME_free"]
22277    pub fn EDIPARTYNAME_free(name: *mut EDIPARTYNAME);
22278}
22279extern "C" {
22280    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_set0_value"]
22281    pub fn GENERAL_NAME_set0_value(
22282        gen: *mut GENERAL_NAME,
22283        type_: ::std::os::raw::c_int,
22284        value: *mut ::std::os::raw::c_void,
22285    );
22286}
22287extern "C" {
22288    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_get0_value"]
22289    pub fn GENERAL_NAME_get0_value(
22290        gen: *const GENERAL_NAME,
22291        out_type: *mut ::std::os::raw::c_int,
22292    ) -> *mut ::std::os::raw::c_void;
22293}
22294extern "C" {
22295    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_set0_othername"]
22296    pub fn GENERAL_NAME_set0_othername(
22297        gen: *mut GENERAL_NAME,
22298        oid: *mut ASN1_OBJECT,
22299        value: *mut ASN1_TYPE,
22300    ) -> ::std::os::raw::c_int;
22301}
22302extern "C" {
22303    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_get0_otherName"]
22304    pub fn GENERAL_NAME_get0_otherName(
22305        gen: *const GENERAL_NAME,
22306        out_oid: *mut *mut ASN1_OBJECT,
22307        out_value: *mut *mut ASN1_TYPE,
22308    ) -> ::std::os::raw::c_int;
22309}
22310#[repr(C)]
22311#[derive(Debug, Copy, Clone)]
22312pub struct stack_st_X509_ALGOR {
22313    _unused: [u8; 0],
22314}
22315pub type sk_X509_ALGOR_free_func =
22316    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ALGOR)>;
22317pub type sk_X509_ALGOR_copy_func =
22318    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ALGOR) -> *mut X509_ALGOR>;
22319pub type sk_X509_ALGOR_cmp_func = ::std::option::Option<
22320    unsafe extern "C" fn(
22321        arg1: *const *const X509_ALGOR,
22322        arg2: *const *const X509_ALGOR,
22323    ) -> ::std::os::raw::c_int,
22324>;
22325pub type sk_X509_ALGOR_delete_if_func = ::std::option::Option<
22326    unsafe extern "C" fn(
22327        arg1: *mut X509_ALGOR,
22328        arg2: *mut ::std::os::raw::c_void,
22329    ) -> ::std::os::raw::c_int,
22330>;
22331extern "C" {
22332    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_it"]
22333    pub static X509_ALGOR_it: ASN1_ITEM;
22334}
22335extern "C" {
22336    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_new"]
22337    pub fn X509_ALGOR_new() -> *mut X509_ALGOR;
22338}
22339extern "C" {
22340    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_dup"]
22341    pub fn X509_ALGOR_dup(alg: *const X509_ALGOR) -> *mut X509_ALGOR;
22342}
22343extern "C" {
22344    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_free"]
22345    pub fn X509_ALGOR_free(alg: *mut X509_ALGOR);
22346}
22347extern "C" {
22348    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_ALGOR"]
22349    pub fn d2i_X509_ALGOR(
22350        out: *mut *mut X509_ALGOR,
22351        inp: *mut *const u8,
22352        len: ::std::os::raw::c_long,
22353    ) -> *mut X509_ALGOR;
22354}
22355extern "C" {
22356    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_ALGOR"]
22357    pub fn i2d_X509_ALGOR(alg: *const X509_ALGOR, outp: *mut *mut u8) -> ::std::os::raw::c_int;
22358}
22359extern "C" {
22360    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_set0"]
22361    pub fn X509_ALGOR_set0(
22362        alg: *mut X509_ALGOR,
22363        obj: *mut ASN1_OBJECT,
22364        param_type: ::std::os::raw::c_int,
22365        param_value: *mut ::std::os::raw::c_void,
22366    ) -> ::std::os::raw::c_int;
22367}
22368extern "C" {
22369    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_get0"]
22370    pub fn X509_ALGOR_get0(
22371        out_obj: *mut *const ASN1_OBJECT,
22372        out_param_type: *mut ::std::os::raw::c_int,
22373        out_param_value: *mut *const ::std::os::raw::c_void,
22374        alg: *const X509_ALGOR,
22375    );
22376}
22377extern "C" {
22378    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_set_md"]
22379    pub fn X509_ALGOR_set_md(alg: *mut X509_ALGOR, md: *const EVP_MD) -> ::std::os::raw::c_int;
22380}
22381extern "C" {
22382    #[link_name = "\u{1}aws_lc_0_27_2_X509_ALGOR_cmp"]
22383    pub fn X509_ALGOR_cmp(a: *const X509_ALGOR, b: *const X509_ALGOR) -> ::std::os::raw::c_int;
22384}
22385#[repr(C)]
22386#[derive(Debug, Copy, Clone)]
22387pub struct stack_st_X509_ATTRIBUTE {
22388    _unused: [u8; 0],
22389}
22390pub type sk_X509_ATTRIBUTE_free_func =
22391    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_ATTRIBUTE)>;
22392pub type sk_X509_ATTRIBUTE_copy_func =
22393    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE>;
22394pub type sk_X509_ATTRIBUTE_cmp_func = ::std::option::Option<
22395    unsafe extern "C" fn(
22396        arg1: *const *const X509_ATTRIBUTE,
22397        arg2: *const *const X509_ATTRIBUTE,
22398    ) -> ::std::os::raw::c_int,
22399>;
22400pub type sk_X509_ATTRIBUTE_delete_if_func = ::std::option::Option<
22401    unsafe extern "C" fn(
22402        arg1: *mut X509_ATTRIBUTE,
22403        arg2: *mut ::std::os::raw::c_void,
22404    ) -> ::std::os::raw::c_int,
22405>;
22406extern "C" {
22407    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_it"]
22408    pub static X509_ATTRIBUTE_it: ASN1_ITEM;
22409}
22410extern "C" {
22411    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_new"]
22412    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
22413}
22414extern "C" {
22415    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_dup"]
22416    pub fn X509_ATTRIBUTE_dup(attr: *const X509_ATTRIBUTE) -> *mut X509_ATTRIBUTE;
22417}
22418extern "C" {
22419    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_free"]
22420    pub fn X509_ATTRIBUTE_free(attr: *mut X509_ATTRIBUTE);
22421}
22422extern "C" {
22423    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_ATTRIBUTE"]
22424    pub fn d2i_X509_ATTRIBUTE(
22425        out: *mut *mut X509_ATTRIBUTE,
22426        inp: *mut *const u8,
22427        len: ::std::os::raw::c_long,
22428    ) -> *mut X509_ATTRIBUTE;
22429}
22430extern "C" {
22431    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_ATTRIBUTE"]
22432    pub fn i2d_X509_ATTRIBUTE(
22433        alg: *const X509_ATTRIBUTE,
22434        outp: *mut *mut u8,
22435    ) -> ::std::os::raw::c_int;
22436}
22437extern "C" {
22438    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_create"]
22439    pub fn X509_ATTRIBUTE_create(
22440        nid: ::std::os::raw::c_int,
22441        attrtype: ::std::os::raw::c_int,
22442        value: *mut ::std::os::raw::c_void,
22443    ) -> *mut X509_ATTRIBUTE;
22444}
22445extern "C" {
22446    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_create_by_NID"]
22447    pub fn X509_ATTRIBUTE_create_by_NID(
22448        attr: *mut *mut X509_ATTRIBUTE,
22449        nid: ::std::os::raw::c_int,
22450        attrtype: ::std::os::raw::c_int,
22451        data: *const ::std::os::raw::c_void,
22452        len: ::std::os::raw::c_int,
22453    ) -> *mut X509_ATTRIBUTE;
22454}
22455extern "C" {
22456    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_create_by_OBJ"]
22457    pub fn X509_ATTRIBUTE_create_by_OBJ(
22458        attr: *mut *mut X509_ATTRIBUTE,
22459        obj: *const ASN1_OBJECT,
22460        attrtype: ::std::os::raw::c_int,
22461        data: *const ::std::os::raw::c_void,
22462        len: ::std::os::raw::c_int,
22463    ) -> *mut X509_ATTRIBUTE;
22464}
22465extern "C" {
22466    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_create_by_txt"]
22467    pub fn X509_ATTRIBUTE_create_by_txt(
22468        attr: *mut *mut X509_ATTRIBUTE,
22469        attrname: *const ::std::os::raw::c_char,
22470        type_: ::std::os::raw::c_int,
22471        bytes: *const ::std::os::raw::c_uchar,
22472        len: ::std::os::raw::c_int,
22473    ) -> *mut X509_ATTRIBUTE;
22474}
22475extern "C" {
22476    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_set1_object"]
22477    pub fn X509_ATTRIBUTE_set1_object(
22478        attr: *mut X509_ATTRIBUTE,
22479        obj: *const ASN1_OBJECT,
22480    ) -> ::std::os::raw::c_int;
22481}
22482extern "C" {
22483    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_set1_data"]
22484    pub fn X509_ATTRIBUTE_set1_data(
22485        attr: *mut X509_ATTRIBUTE,
22486        attrtype: ::std::os::raw::c_int,
22487        data: *const ::std::os::raw::c_void,
22488        len: ::std::os::raw::c_int,
22489    ) -> ::std::os::raw::c_int;
22490}
22491extern "C" {
22492    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_get0_data"]
22493    pub fn X509_ATTRIBUTE_get0_data(
22494        attr: *mut X509_ATTRIBUTE,
22495        idx: ::std::os::raw::c_int,
22496        attrtype: ::std::os::raw::c_int,
22497        unused: *mut ::std::os::raw::c_void,
22498    ) -> *mut ::std::os::raw::c_void;
22499}
22500extern "C" {
22501    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_count"]
22502    pub fn X509_ATTRIBUTE_count(attr: *const X509_ATTRIBUTE) -> ::std::os::raw::c_int;
22503}
22504extern "C" {
22505    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_get0_object"]
22506    pub fn X509_ATTRIBUTE_get0_object(attr: *mut X509_ATTRIBUTE) -> *mut ASN1_OBJECT;
22507}
22508extern "C" {
22509    #[link_name = "\u{1}aws_lc_0_27_2_X509_ATTRIBUTE_get0_type"]
22510    pub fn X509_ATTRIBUTE_get0_type(
22511        attr: *mut X509_ATTRIBUTE,
22512        idx: ::std::os::raw::c_int,
22513    ) -> *mut ASN1_TYPE;
22514}
22515extern "C" {
22516    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_new"]
22517    pub fn X509_STORE_new() -> *mut X509_STORE;
22518}
22519extern "C" {
22520    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_up_ref"]
22521    pub fn X509_STORE_up_ref(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22522}
22523extern "C" {
22524    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_free"]
22525    pub fn X509_STORE_free(store: *mut X509_STORE);
22526}
22527extern "C" {
22528    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_add_cert"]
22529    pub fn X509_STORE_add_cert(store: *mut X509_STORE, x509: *mut X509) -> ::std::os::raw::c_int;
22530}
22531extern "C" {
22532    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_add_crl"]
22533    pub fn X509_STORE_add_crl(store: *mut X509_STORE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
22534}
22535extern "C" {
22536    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_get0_param"]
22537    pub fn X509_STORE_get0_param(store: *mut X509_STORE) -> *mut X509_VERIFY_PARAM;
22538}
22539extern "C" {
22540    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set1_param"]
22541    pub fn X509_STORE_set1_param(
22542        store: *mut X509_STORE,
22543        param: *const X509_VERIFY_PARAM,
22544    ) -> ::std::os::raw::c_int;
22545}
22546extern "C" {
22547    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_flags"]
22548    pub fn X509_STORE_set_flags(
22549        store: *mut X509_STORE,
22550        flags: ::std::os::raw::c_ulong,
22551    ) -> ::std::os::raw::c_int;
22552}
22553extern "C" {
22554    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_depth"]
22555    pub fn X509_STORE_set_depth(
22556        store: *mut X509_STORE,
22557        depth: ::std::os::raw::c_int,
22558    ) -> ::std::os::raw::c_int;
22559}
22560extern "C" {
22561    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_purpose"]
22562    pub fn X509_STORE_set_purpose(
22563        store: *mut X509_STORE,
22564        purpose: ::std::os::raw::c_int,
22565    ) -> ::std::os::raw::c_int;
22566}
22567extern "C" {
22568    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_trust"]
22569    pub fn X509_STORE_set_trust(
22570        store: *mut X509_STORE,
22571        trust: ::std::os::raw::c_int,
22572    ) -> ::std::os::raw::c_int;
22573}
22574#[repr(C)]
22575#[derive(Debug, Copy, Clone)]
22576pub struct stack_st_X509_OBJECT {
22577    _unused: [u8; 0],
22578}
22579pub type sk_X509_OBJECT_free_func =
22580    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_OBJECT)>;
22581pub type sk_X509_OBJECT_copy_func =
22582    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_OBJECT) -> *mut X509_OBJECT>;
22583pub type sk_X509_OBJECT_cmp_func = ::std::option::Option<
22584    unsafe extern "C" fn(
22585        arg1: *const *const X509_OBJECT,
22586        arg2: *const *const X509_OBJECT,
22587    ) -> ::std::os::raw::c_int,
22588>;
22589pub type sk_X509_OBJECT_delete_if_func = ::std::option::Option<
22590    unsafe extern "C" fn(
22591        arg1: *mut X509_OBJECT,
22592        arg2: *mut ::std::os::raw::c_void,
22593    ) -> ::std::os::raw::c_int,
22594>;
22595extern "C" {
22596    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_new"]
22597    pub fn X509_OBJECT_new() -> *mut X509_OBJECT;
22598}
22599extern "C" {
22600    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_free"]
22601    pub fn X509_OBJECT_free(obj: *mut X509_OBJECT);
22602}
22603extern "C" {
22604    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_get_type"]
22605    pub fn X509_OBJECT_get_type(obj: *const X509_OBJECT) -> ::std::os::raw::c_int;
22606}
22607extern "C" {
22608    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_get0_X509"]
22609    pub fn X509_OBJECT_get0_X509(obj: *const X509_OBJECT) -> *mut X509;
22610}
22611extern "C" {
22612    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_new"]
22613    pub fn X509_STORE_CTX_new() -> *mut X509_STORE_CTX;
22614}
22615extern "C" {
22616    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_free"]
22617    pub fn X509_STORE_CTX_free(ctx: *mut X509_STORE_CTX);
22618}
22619extern "C" {
22620    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_init"]
22621    pub fn X509_STORE_CTX_init(
22622        ctx: *mut X509_STORE_CTX,
22623        store: *mut X509_STORE,
22624        x509: *mut X509,
22625        chain: *mut stack_st_X509,
22626    ) -> ::std::os::raw::c_int;
22627}
22628extern "C" {
22629    #[link_name = "\u{1}aws_lc_0_27_2_X509_verify_cert"]
22630    pub fn X509_verify_cert(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22631}
22632extern "C" {
22633    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_chain"]
22634    pub fn X509_STORE_CTX_get0_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22635}
22636extern "C" {
22637    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get1_chain"]
22638    pub fn X509_STORE_CTX_get1_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22639}
22640extern "C" {
22641    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_cert"]
22642    pub fn X509_STORE_CTX_set_cert(c: *mut X509_STORE_CTX, x: *mut X509);
22643}
22644extern "C" {
22645    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_error"]
22646    pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22647}
22648extern "C" {
22649    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_error"]
22650    pub fn X509_STORE_CTX_set_error(ctx: *mut X509_STORE_CTX, err: ::std::os::raw::c_int);
22651}
22652extern "C" {
22653    #[link_name = "\u{1}aws_lc_0_27_2_X509_verify_cert_error_string"]
22654    pub fn X509_verify_cert_error_string(
22655        err: ::std::os::raw::c_long,
22656    ) -> *const ::std::os::raw::c_char;
22657}
22658extern "C" {
22659    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_error_depth"]
22660    pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> ::std::os::raw::c_int;
22661}
22662extern "C" {
22663    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_current_cert"]
22664    pub fn X509_STORE_CTX_get_current_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22665}
22666extern "C" {
22667    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_current_issuer"]
22668    pub fn X509_STORE_CTX_get0_current_issuer(ctx: *mut X509_STORE_CTX) -> *mut X509;
22669}
22670extern "C" {
22671    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_current_crl"]
22672    pub fn X509_STORE_CTX_get0_current_crl(ctx: *mut X509_STORE_CTX) -> *mut X509_CRL;
22673}
22674extern "C" {
22675    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_store"]
22676    pub fn X509_STORE_CTX_get0_store(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE;
22677}
22678extern "C" {
22679    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_cert"]
22680    pub fn X509_STORE_CTX_get0_cert(ctx: *mut X509_STORE_CTX) -> *mut X509;
22681}
22682extern "C" {
22683    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_untrusted"]
22684    pub fn X509_STORE_CTX_get0_untrusted(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
22685}
22686extern "C" {
22687    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set0_trusted_stack"]
22688    pub fn X509_STORE_CTX_set0_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
22689}
22690extern "C" {
22691    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set0_crls"]
22692    pub fn X509_STORE_CTX_set0_crls(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509_CRL);
22693}
22694extern "C" {
22695    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_default"]
22696    pub fn X509_STORE_CTX_set_default(
22697        ctx: *mut X509_STORE_CTX,
22698        name: *const ::std::os::raw::c_char,
22699    ) -> ::std::os::raw::c_int;
22700}
22701extern "C" {
22702    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_param"]
22703    pub fn X509_STORE_CTX_get0_param(ctx: *mut X509_STORE_CTX) -> *mut X509_VERIFY_PARAM;
22704}
22705extern "C" {
22706    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set0_param"]
22707    pub fn X509_STORE_CTX_set0_param(ctx: *mut X509_STORE_CTX, param: *mut X509_VERIFY_PARAM);
22708}
22709extern "C" {
22710    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_flags"]
22711    pub fn X509_STORE_CTX_set_flags(ctx: *mut X509_STORE_CTX, flags: ::std::os::raw::c_ulong);
22712}
22713extern "C" {
22714    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_time"]
22715    pub fn X509_STORE_CTX_set_time(
22716        ctx: *mut X509_STORE_CTX,
22717        flags: ::std::os::raw::c_ulong,
22718        t: time_t,
22719    );
22720}
22721extern "C" {
22722    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_time_posix"]
22723    pub fn X509_STORE_CTX_set_time_posix(
22724        ctx: *mut X509_STORE_CTX,
22725        flags: ::std::os::raw::c_ulong,
22726        t: i64,
22727    );
22728}
22729extern "C" {
22730    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_depth"]
22731    pub fn X509_STORE_CTX_set_depth(ctx: *mut X509_STORE_CTX, depth: ::std::os::raw::c_int);
22732}
22733extern "C" {
22734    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_purpose"]
22735    pub fn X509_STORE_CTX_set_purpose(
22736        ctx: *mut X509_STORE_CTX,
22737        purpose: ::std::os::raw::c_int,
22738    ) -> ::std::os::raw::c_int;
22739}
22740extern "C" {
22741    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_trust"]
22742    pub fn X509_STORE_CTX_set_trust(
22743        ctx: *mut X509_STORE_CTX,
22744        trust: ::std::os::raw::c_int,
22745    ) -> ::std::os::raw::c_int;
22746}
22747extern "C" {
22748    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_new"]
22749    pub fn X509_VERIFY_PARAM_new() -> *mut X509_VERIFY_PARAM;
22750}
22751extern "C" {
22752    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_free"]
22753    pub fn X509_VERIFY_PARAM_free(param: *mut X509_VERIFY_PARAM);
22754}
22755extern "C" {
22756    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_inherit"]
22757    pub fn X509_VERIFY_PARAM_inherit(
22758        to: *mut X509_VERIFY_PARAM,
22759        from: *const X509_VERIFY_PARAM,
22760    ) -> ::std::os::raw::c_int;
22761}
22762extern "C" {
22763    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1"]
22764    pub fn X509_VERIFY_PARAM_set1(
22765        to: *mut X509_VERIFY_PARAM,
22766        from: *const X509_VERIFY_PARAM,
22767    ) -> ::std::os::raw::c_int;
22768}
22769extern "C" {
22770    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_flags"]
22771    pub fn X509_VERIFY_PARAM_set_flags(
22772        param: *mut X509_VERIFY_PARAM,
22773        flags: ::std::os::raw::c_ulong,
22774    ) -> ::std::os::raw::c_int;
22775}
22776extern "C" {
22777    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_clear_flags"]
22778    pub fn X509_VERIFY_PARAM_clear_flags(
22779        param: *mut X509_VERIFY_PARAM,
22780        flags: ::std::os::raw::c_ulong,
22781    ) -> ::std::os::raw::c_int;
22782}
22783extern "C" {
22784    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_get_flags"]
22785    pub fn X509_VERIFY_PARAM_get_flags(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_ulong;
22786}
22787extern "C" {
22788    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_depth"]
22789    pub fn X509_VERIFY_PARAM_set_depth(param: *mut X509_VERIFY_PARAM, depth: ::std::os::raw::c_int);
22790}
22791extern "C" {
22792    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_get_depth"]
22793    pub fn X509_VERIFY_PARAM_get_depth(param: *const X509_VERIFY_PARAM) -> ::std::os::raw::c_int;
22794}
22795extern "C" {
22796    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_time"]
22797    pub fn X509_VERIFY_PARAM_set_time(param: *mut X509_VERIFY_PARAM, t: time_t);
22798}
22799extern "C" {
22800    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_time_posix"]
22801    pub fn X509_VERIFY_PARAM_set_time_posix(param: *mut X509_VERIFY_PARAM, t: i64);
22802}
22803extern "C" {
22804    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_add0_policy"]
22805    pub fn X509_VERIFY_PARAM_add0_policy(
22806        param: *mut X509_VERIFY_PARAM,
22807        policy: *mut ASN1_OBJECT,
22808    ) -> ::std::os::raw::c_int;
22809}
22810extern "C" {
22811    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1_policies"]
22812    pub fn X509_VERIFY_PARAM_set1_policies(
22813        param: *mut X509_VERIFY_PARAM,
22814        policies: *const stack_st_ASN1_OBJECT,
22815    ) -> ::std::os::raw::c_int;
22816}
22817extern "C" {
22818    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1_host"]
22819    pub fn X509_VERIFY_PARAM_set1_host(
22820        param: *mut X509_VERIFY_PARAM,
22821        name: *const ::std::os::raw::c_char,
22822        name_len: usize,
22823    ) -> ::std::os::raw::c_int;
22824}
22825extern "C" {
22826    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_add1_host"]
22827    pub fn X509_VERIFY_PARAM_add1_host(
22828        param: *mut X509_VERIFY_PARAM,
22829        name: *const ::std::os::raw::c_char,
22830        name_len: usize,
22831    ) -> ::std::os::raw::c_int;
22832}
22833extern "C" {
22834    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_hostflags"]
22835    pub fn X509_VERIFY_PARAM_set_hostflags(
22836        param: *mut X509_VERIFY_PARAM,
22837        flags: ::std::os::raw::c_uint,
22838    );
22839}
22840extern "C" {
22841    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1_email"]
22842    pub fn X509_VERIFY_PARAM_set1_email(
22843        param: *mut X509_VERIFY_PARAM,
22844        email: *const ::std::os::raw::c_char,
22845        email_len: usize,
22846    ) -> ::std::os::raw::c_int;
22847}
22848extern "C" {
22849    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1_ip"]
22850    pub fn X509_VERIFY_PARAM_set1_ip(
22851        param: *mut X509_VERIFY_PARAM,
22852        ip: *const u8,
22853        ip_len: usize,
22854    ) -> ::std::os::raw::c_int;
22855}
22856extern "C" {
22857    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set1_ip_asc"]
22858    pub fn X509_VERIFY_PARAM_set1_ip_asc(
22859        param: *mut X509_VERIFY_PARAM,
22860        ipasc: *const ::std::os::raw::c_char,
22861    ) -> ::std::os::raw::c_int;
22862}
22863extern "C" {
22864    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_purpose"]
22865    pub fn X509_VERIFY_PARAM_set_purpose(
22866        param: *mut X509_VERIFY_PARAM,
22867        purpose: ::std::os::raw::c_int,
22868    ) -> ::std::os::raw::c_int;
22869}
22870extern "C" {
22871    #[link_name = "\u{1}aws_lc_0_27_2_X509_VERIFY_PARAM_set_trust"]
22872    pub fn X509_VERIFY_PARAM_set_trust(
22873        param: *mut X509_VERIFY_PARAM,
22874        trust: ::std::os::raw::c_int,
22875    ) -> ::std::os::raw::c_int;
22876}
22877extern "C" {
22878    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_load_locations"]
22879    pub fn X509_STORE_load_locations(
22880        store: *mut X509_STORE,
22881        file: *const ::std::os::raw::c_char,
22882        dir: *const ::std::os::raw::c_char,
22883    ) -> ::std::os::raw::c_int;
22884}
22885extern "C" {
22886    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_add_lookup"]
22887    pub fn X509_STORE_add_lookup(
22888        store: *mut X509_STORE,
22889        method: *const X509_LOOKUP_METHOD,
22890    ) -> *mut X509_LOOKUP;
22891}
22892extern "C" {
22893    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_hash_dir"]
22894    pub fn X509_LOOKUP_hash_dir() -> *const X509_LOOKUP_METHOD;
22895}
22896extern "C" {
22897    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_file"]
22898    pub fn X509_LOOKUP_file() -> *const X509_LOOKUP_METHOD;
22899}
22900extern "C" {
22901    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_load_file"]
22902    pub fn X509_LOOKUP_load_file(
22903        lookup: *mut X509_LOOKUP,
22904        file: *const ::std::os::raw::c_char,
22905        type_: ::std::os::raw::c_int,
22906    ) -> ::std::os::raw::c_int;
22907}
22908extern "C" {
22909    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_add_dir"]
22910    pub fn X509_LOOKUP_add_dir(
22911        lookup: *mut X509_LOOKUP,
22912        path: *const ::std::os::raw::c_char,
22913        type_: ::std::os::raw::c_int,
22914    ) -> ::std::os::raw::c_int;
22915}
22916extern "C" {
22917    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_ctrl"]
22918    pub fn X509_LOOKUP_ctrl(
22919        lookup: *mut X509_LOOKUP,
22920        cmd: ::std::os::raw::c_int,
22921        argc: *const ::std::os::raw::c_char,
22922        argl: ::std::os::raw::c_long,
22923        ret: *mut *mut ::std::os::raw::c_char,
22924    ) -> ::std::os::raw::c_int;
22925}
22926extern "C" {
22927    #[link_name = "\u{1}aws_lc_0_27_2_X509_load_cert_file"]
22928    pub fn X509_load_cert_file(
22929        lookup: *mut X509_LOOKUP,
22930        file: *const ::std::os::raw::c_char,
22931        type_: ::std::os::raw::c_int,
22932    ) -> ::std::os::raw::c_int;
22933}
22934extern "C" {
22935    #[link_name = "\u{1}aws_lc_0_27_2_X509_load_crl_file"]
22936    pub fn X509_load_crl_file(
22937        lookup: *mut X509_LOOKUP,
22938        file: *const ::std::os::raw::c_char,
22939        type_: ::std::os::raw::c_int,
22940    ) -> ::std::os::raw::c_int;
22941}
22942extern "C" {
22943    #[link_name = "\u{1}aws_lc_0_27_2_X509_load_cert_crl_file"]
22944    pub fn X509_load_cert_crl_file(
22945        lookup: *mut X509_LOOKUP,
22946        file: *const ::std::os::raw::c_char,
22947        type_: ::std::os::raw::c_int,
22948    ) -> ::std::os::raw::c_int;
22949}
22950extern "C" {
22951    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_hash"]
22952    pub fn X509_NAME_hash(name: *mut X509_NAME) -> u32;
22953}
22954extern "C" {
22955    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_hash_old"]
22956    pub fn X509_NAME_hash_old(name: *mut X509_NAME) -> u32;
22957}
22958extern "C" {
22959    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_default_paths"]
22960    pub fn X509_STORE_set_default_paths(store: *mut X509_STORE) -> ::std::os::raw::c_int;
22961}
22962extern "C" {
22963    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_cert_area"]
22964    pub fn X509_get_default_cert_area() -> *const ::std::os::raw::c_char;
22965}
22966extern "C" {
22967    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_cert_dir"]
22968    pub fn X509_get_default_cert_dir() -> *const ::std::os::raw::c_char;
22969}
22970extern "C" {
22971    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_cert_file"]
22972    pub fn X509_get_default_cert_file() -> *const ::std::os::raw::c_char;
22973}
22974extern "C" {
22975    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_private_dir"]
22976    pub fn X509_get_default_private_dir() -> *const ::std::os::raw::c_char;
22977}
22978extern "C" {
22979    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_cert_dir_env"]
22980    pub fn X509_get_default_cert_dir_env() -> *const ::std::os::raw::c_char;
22981}
22982extern "C" {
22983    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_default_cert_file_env"]
22984    pub fn X509_get_default_cert_file_env() -> *const ::std::os::raw::c_char;
22985}
22986#[repr(C)]
22987#[derive(Debug, Copy, Clone, PartialEq, Eq)]
22988pub struct Netscape_spki_st {
22989    pub spkac: *mut NETSCAPE_SPKAC,
22990    pub sig_algor: *mut X509_ALGOR,
22991    pub signature: *mut ASN1_BIT_STRING,
22992}
22993#[test]
22994fn bindgen_test_layout_Netscape_spki_st() {
22995    const UNINIT: ::std::mem::MaybeUninit<Netscape_spki_st> = ::std::mem::MaybeUninit::uninit();
22996    let ptr = UNINIT.as_ptr();
22997    assert_eq!(
22998        ::std::mem::size_of::<Netscape_spki_st>(),
22999        24usize,
23000        concat!("Size of: ", stringify!(Netscape_spki_st))
23001    );
23002    assert_eq!(
23003        ::std::mem::align_of::<Netscape_spki_st>(),
23004        8usize,
23005        concat!("Alignment of ", stringify!(Netscape_spki_st))
23006    );
23007    assert_eq!(
23008        unsafe { ::std::ptr::addr_of!((*ptr).spkac) as usize - ptr as usize },
23009        0usize,
23010        concat!(
23011            "Offset of field: ",
23012            stringify!(Netscape_spki_st),
23013            "::",
23014            stringify!(spkac)
23015        )
23016    );
23017    assert_eq!(
23018        unsafe { ::std::ptr::addr_of!((*ptr).sig_algor) as usize - ptr as usize },
23019        8usize,
23020        concat!(
23021            "Offset of field: ",
23022            stringify!(Netscape_spki_st),
23023            "::",
23024            stringify!(sig_algor)
23025        )
23026    );
23027    assert_eq!(
23028        unsafe { ::std::ptr::addr_of!((*ptr).signature) as usize - ptr as usize },
23029        16usize,
23030        concat!(
23031            "Offset of field: ",
23032            stringify!(Netscape_spki_st),
23033            "::",
23034            stringify!(signature)
23035        )
23036    );
23037}
23038impl Default for Netscape_spki_st {
23039    fn default() -> Self {
23040        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23041        unsafe {
23042            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23043            s.assume_init()
23044        }
23045    }
23046}
23047extern "C" {
23048    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_it"]
23049    pub static NETSCAPE_SPKI_it: ASN1_ITEM;
23050}
23051extern "C" {
23052    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_new"]
23053    pub fn NETSCAPE_SPKI_new() -> *mut NETSCAPE_SPKI;
23054}
23055extern "C" {
23056    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_free"]
23057    pub fn NETSCAPE_SPKI_free(spki: *mut NETSCAPE_SPKI);
23058}
23059extern "C" {
23060    #[link_name = "\u{1}aws_lc_0_27_2_d2i_NETSCAPE_SPKI"]
23061    pub fn d2i_NETSCAPE_SPKI(
23062        out: *mut *mut NETSCAPE_SPKI,
23063        inp: *mut *const u8,
23064        len: ::std::os::raw::c_long,
23065    ) -> *mut NETSCAPE_SPKI;
23066}
23067extern "C" {
23068    #[link_name = "\u{1}aws_lc_0_27_2_i2d_NETSCAPE_SPKI"]
23069    pub fn i2d_NETSCAPE_SPKI(
23070        spki: *const NETSCAPE_SPKI,
23071        outp: *mut *mut u8,
23072    ) -> ::std::os::raw::c_int;
23073}
23074extern "C" {
23075    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_verify"]
23076    pub fn NETSCAPE_SPKI_verify(
23077        spki: *mut NETSCAPE_SPKI,
23078        pkey: *mut EVP_PKEY,
23079    ) -> ::std::os::raw::c_int;
23080}
23081extern "C" {
23082    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_b64_decode"]
23083    pub fn NETSCAPE_SPKI_b64_decode(
23084        str_: *const ::std::os::raw::c_char,
23085        len: ossl_ssize_t,
23086    ) -> *mut NETSCAPE_SPKI;
23087}
23088extern "C" {
23089    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_b64_encode"]
23090    pub fn NETSCAPE_SPKI_b64_encode(spki: *mut NETSCAPE_SPKI) -> *mut ::std::os::raw::c_char;
23091}
23092extern "C" {
23093    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_get_pubkey"]
23094    pub fn NETSCAPE_SPKI_get_pubkey(spki: *const NETSCAPE_SPKI) -> *mut EVP_PKEY;
23095}
23096extern "C" {
23097    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_set_pubkey"]
23098    pub fn NETSCAPE_SPKI_set_pubkey(
23099        spki: *mut NETSCAPE_SPKI,
23100        pkey: *mut EVP_PKEY,
23101    ) -> ::std::os::raw::c_int;
23102}
23103extern "C" {
23104    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_sign"]
23105    pub fn NETSCAPE_SPKI_sign(
23106        spki: *mut NETSCAPE_SPKI,
23107        pkey: *mut EVP_PKEY,
23108        md: *const EVP_MD,
23109    ) -> ::std::os::raw::c_int;
23110}
23111#[repr(C)]
23112#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23113pub struct Netscape_spkac_st {
23114    pub pubkey: *mut X509_PUBKEY,
23115    pub challenge: *mut ASN1_IA5STRING,
23116}
23117#[test]
23118fn bindgen_test_layout_Netscape_spkac_st() {
23119    const UNINIT: ::std::mem::MaybeUninit<Netscape_spkac_st> = ::std::mem::MaybeUninit::uninit();
23120    let ptr = UNINIT.as_ptr();
23121    assert_eq!(
23122        ::std::mem::size_of::<Netscape_spkac_st>(),
23123        16usize,
23124        concat!("Size of: ", stringify!(Netscape_spkac_st))
23125    );
23126    assert_eq!(
23127        ::std::mem::align_of::<Netscape_spkac_st>(),
23128        8usize,
23129        concat!("Alignment of ", stringify!(Netscape_spkac_st))
23130    );
23131    assert_eq!(
23132        unsafe { ::std::ptr::addr_of!((*ptr).pubkey) as usize - ptr as usize },
23133        0usize,
23134        concat!(
23135            "Offset of field: ",
23136            stringify!(Netscape_spkac_st),
23137            "::",
23138            stringify!(pubkey)
23139        )
23140    );
23141    assert_eq!(
23142        unsafe { ::std::ptr::addr_of!((*ptr).challenge) as usize - ptr as usize },
23143        8usize,
23144        concat!(
23145            "Offset of field: ",
23146            stringify!(Netscape_spkac_st),
23147            "::",
23148            stringify!(challenge)
23149        )
23150    );
23151}
23152impl Default for Netscape_spkac_st {
23153    fn default() -> Self {
23154        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23155        unsafe {
23156            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23157            s.assume_init()
23158        }
23159    }
23160}
23161extern "C" {
23162    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKAC_it"]
23163    pub static NETSCAPE_SPKAC_it: ASN1_ITEM;
23164}
23165extern "C" {
23166    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKAC_new"]
23167    pub fn NETSCAPE_SPKAC_new() -> *mut NETSCAPE_SPKAC;
23168}
23169extern "C" {
23170    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKAC_free"]
23171    pub fn NETSCAPE_SPKAC_free(spkac: *mut NETSCAPE_SPKAC);
23172}
23173extern "C" {
23174    #[link_name = "\u{1}aws_lc_0_27_2_d2i_NETSCAPE_SPKAC"]
23175    pub fn d2i_NETSCAPE_SPKAC(
23176        out: *mut *mut NETSCAPE_SPKAC,
23177        inp: *mut *const u8,
23178        len: ::std::os::raw::c_long,
23179    ) -> *mut NETSCAPE_SPKAC;
23180}
23181extern "C" {
23182    #[link_name = "\u{1}aws_lc_0_27_2_i2d_NETSCAPE_SPKAC"]
23183    pub fn i2d_NETSCAPE_SPKAC(
23184        spkac: *const NETSCAPE_SPKAC,
23185        outp: *mut *mut u8,
23186    ) -> ::std::os::raw::c_int;
23187}
23188extern "C" {
23189    #[link_name = "\u{1}aws_lc_0_27_2_NETSCAPE_SPKI_print"]
23190    pub fn NETSCAPE_SPKI_print(out: *mut BIO, spki: *mut NETSCAPE_SPKI) -> ::std::os::raw::c_int;
23191}
23192#[repr(C)]
23193#[derive(Debug, Copy, Clone, PartialEq, Eq)]
23194pub struct rsa_pss_params_st {
23195    pub hashAlgorithm: *mut X509_ALGOR,
23196    pub maskGenAlgorithm: *mut X509_ALGOR,
23197    pub saltLength: *mut ASN1_INTEGER,
23198    pub trailerField: *mut ASN1_INTEGER,
23199    pub maskHash: *mut X509_ALGOR,
23200}
23201#[test]
23202fn bindgen_test_layout_rsa_pss_params_st() {
23203    const UNINIT: ::std::mem::MaybeUninit<rsa_pss_params_st> = ::std::mem::MaybeUninit::uninit();
23204    let ptr = UNINIT.as_ptr();
23205    assert_eq!(
23206        ::std::mem::size_of::<rsa_pss_params_st>(),
23207        40usize,
23208        concat!("Size of: ", stringify!(rsa_pss_params_st))
23209    );
23210    assert_eq!(
23211        ::std::mem::align_of::<rsa_pss_params_st>(),
23212        8usize,
23213        concat!("Alignment of ", stringify!(rsa_pss_params_st))
23214    );
23215    assert_eq!(
23216        unsafe { ::std::ptr::addr_of!((*ptr).hashAlgorithm) as usize - ptr as usize },
23217        0usize,
23218        concat!(
23219            "Offset of field: ",
23220            stringify!(rsa_pss_params_st),
23221            "::",
23222            stringify!(hashAlgorithm)
23223        )
23224    );
23225    assert_eq!(
23226        unsafe { ::std::ptr::addr_of!((*ptr).maskGenAlgorithm) as usize - ptr as usize },
23227        8usize,
23228        concat!(
23229            "Offset of field: ",
23230            stringify!(rsa_pss_params_st),
23231            "::",
23232            stringify!(maskGenAlgorithm)
23233        )
23234    );
23235    assert_eq!(
23236        unsafe { ::std::ptr::addr_of!((*ptr).saltLength) as usize - ptr as usize },
23237        16usize,
23238        concat!(
23239            "Offset of field: ",
23240            stringify!(rsa_pss_params_st),
23241            "::",
23242            stringify!(saltLength)
23243        )
23244    );
23245    assert_eq!(
23246        unsafe { ::std::ptr::addr_of!((*ptr).trailerField) as usize - ptr as usize },
23247        24usize,
23248        concat!(
23249            "Offset of field: ",
23250            stringify!(rsa_pss_params_st),
23251            "::",
23252            stringify!(trailerField)
23253        )
23254    );
23255    assert_eq!(
23256        unsafe { ::std::ptr::addr_of!((*ptr).maskHash) as usize - ptr as usize },
23257        32usize,
23258        concat!(
23259            "Offset of field: ",
23260            stringify!(rsa_pss_params_st),
23261            "::",
23262            stringify!(maskHash)
23263        )
23264    );
23265}
23266impl Default for rsa_pss_params_st {
23267    fn default() -> Self {
23268        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
23269        unsafe {
23270            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
23271            s.assume_init()
23272        }
23273    }
23274}
23275extern "C" {
23276    #[link_name = "\u{1}aws_lc_0_27_2_RSA_PSS_PARAMS_it"]
23277    pub static RSA_PSS_PARAMS_it: ASN1_ITEM;
23278}
23279extern "C" {
23280    #[link_name = "\u{1}aws_lc_0_27_2_RSA_PSS_PARAMS_new"]
23281    pub fn RSA_PSS_PARAMS_new() -> *mut RSA_PSS_PARAMS;
23282}
23283extern "C" {
23284    #[link_name = "\u{1}aws_lc_0_27_2_RSA_PSS_PARAMS_free"]
23285    pub fn RSA_PSS_PARAMS_free(params: *mut RSA_PSS_PARAMS);
23286}
23287extern "C" {
23288    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSA_PSS_PARAMS"]
23289    pub fn d2i_RSA_PSS_PARAMS(
23290        out: *mut *mut RSA_PSS_PARAMS,
23291        inp: *mut *const u8,
23292        len: ::std::os::raw::c_long,
23293    ) -> *mut RSA_PSS_PARAMS;
23294}
23295extern "C" {
23296    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSA_PSS_PARAMS"]
23297    pub fn i2d_RSA_PSS_PARAMS(
23298        in_: *const RSA_PSS_PARAMS,
23299        outp: *mut *mut u8,
23300    ) -> ::std::os::raw::c_int;
23301}
23302extern "C" {
23303    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_PRIV_KEY_INFO_it"]
23304    pub static PKCS8_PRIV_KEY_INFO_it: ASN1_ITEM;
23305}
23306extern "C" {
23307    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_PRIV_KEY_INFO_new"]
23308    pub fn PKCS8_PRIV_KEY_INFO_new() -> *mut PKCS8_PRIV_KEY_INFO;
23309}
23310extern "C" {
23311    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_PRIV_KEY_INFO_free"]
23312    pub fn PKCS8_PRIV_KEY_INFO_free(key: *mut PKCS8_PRIV_KEY_INFO);
23313}
23314extern "C" {
23315    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8_PRIV_KEY_INFO"]
23316    pub fn d2i_PKCS8_PRIV_KEY_INFO(
23317        out: *mut *mut PKCS8_PRIV_KEY_INFO,
23318        inp: *mut *const u8,
23319        len: ::std::os::raw::c_long,
23320    ) -> *mut PKCS8_PRIV_KEY_INFO;
23321}
23322extern "C" {
23323    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8_PRIV_KEY_INFO"]
23324    pub fn i2d_PKCS8_PRIV_KEY_INFO(
23325        key: *const PKCS8_PRIV_KEY_INFO,
23326        outp: *mut *mut u8,
23327    ) -> ::std::os::raw::c_int;
23328}
23329extern "C" {
23330    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKCS82PKEY"]
23331    pub fn EVP_PKCS82PKEY(p8: *const PKCS8_PRIV_KEY_INFO) -> *mut EVP_PKEY;
23332}
23333extern "C" {
23334    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY2PKCS8"]
23335    pub fn EVP_PKEY2PKCS8(pkey: *const EVP_PKEY) -> *mut PKCS8_PRIV_KEY_INFO;
23336}
23337extern "C" {
23338    #[link_name = "\u{1}aws_lc_0_27_2_X509_SIG_it"]
23339    pub static X509_SIG_it: ASN1_ITEM;
23340}
23341extern "C" {
23342    #[link_name = "\u{1}aws_lc_0_27_2_X509_SIG_new"]
23343    pub fn X509_SIG_new() -> *mut X509_SIG;
23344}
23345extern "C" {
23346    #[link_name = "\u{1}aws_lc_0_27_2_X509_SIG_free"]
23347    pub fn X509_SIG_free(key: *mut X509_SIG);
23348}
23349extern "C" {
23350    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_SIG"]
23351    pub fn d2i_X509_SIG(
23352        out: *mut *mut X509_SIG,
23353        inp: *mut *const u8,
23354        len: ::std::os::raw::c_long,
23355    ) -> *mut X509_SIG;
23356}
23357extern "C" {
23358    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_SIG"]
23359    pub fn i2d_X509_SIG(sig: *const X509_SIG, outp: *mut *mut u8) -> ::std::os::raw::c_int;
23360}
23361extern "C" {
23362    #[link_name = "\u{1}aws_lc_0_27_2_X509_SIG_get0"]
23363    pub fn X509_SIG_get0(
23364        sig: *const X509_SIG,
23365        out_alg: *mut *const X509_ALGOR,
23366        out_digest: *mut *const ASN1_OCTET_STRING,
23367    );
23368}
23369extern "C" {
23370    #[link_name = "\u{1}aws_lc_0_27_2_X509_SIG_getm"]
23371    pub fn X509_SIG_getm(
23372        sig: *mut X509_SIG,
23373        out_alg: *mut *mut X509_ALGOR,
23374        out_digest: *mut *mut ASN1_OCTET_STRING,
23375    );
23376}
23377extern "C" {
23378    #[link_name = "\u{1}aws_lc_0_27_2_X509_print_ex"]
23379    pub fn X509_print_ex(
23380        bp: *mut BIO,
23381        x: *mut X509,
23382        nmflag: ::std::os::raw::c_ulong,
23383        cflag: ::std::os::raw::c_ulong,
23384    ) -> ::std::os::raw::c_int;
23385}
23386extern "C" {
23387    #[link_name = "\u{1}aws_lc_0_27_2_X509_print_ex_fp"]
23388    pub fn X509_print_ex_fp(
23389        fp: *mut FILE,
23390        x: *mut X509,
23391        nmflag: ::std::os::raw::c_ulong,
23392        cflag: ::std::os::raw::c_ulong,
23393    ) -> ::std::os::raw::c_int;
23394}
23395extern "C" {
23396    #[link_name = "\u{1}aws_lc_0_27_2_X509_print"]
23397    pub fn X509_print(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
23398}
23399extern "C" {
23400    #[link_name = "\u{1}aws_lc_0_27_2_X509_print_fp"]
23401    pub fn X509_print_fp(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
23402}
23403extern "C" {
23404    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_print"]
23405    pub fn X509_CRL_print(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23406}
23407extern "C" {
23408    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_print_fp"]
23409    pub fn X509_CRL_print_fp(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
23410}
23411extern "C" {
23412    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_print_ex"]
23413    pub fn X509_REQ_print_ex(
23414        bp: *mut BIO,
23415        x: *mut X509_REQ,
23416        nmflag: ::std::os::raw::c_ulong,
23417        cflag: ::std::os::raw::c_ulong,
23418    ) -> ::std::os::raw::c_int;
23419}
23420extern "C" {
23421    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_print"]
23422    pub fn X509_REQ_print(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23423}
23424extern "C" {
23425    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_print_fp"]
23426    pub fn X509_REQ_print_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23427}
23428extern "C" {
23429    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_print_ex"]
23430    pub fn X509_NAME_print_ex(
23431        out: *mut BIO,
23432        nm: *const X509_NAME,
23433        indent: ::std::os::raw::c_int,
23434        flags: ::std::os::raw::c_ulong,
23435    ) -> ::std::os::raw::c_int;
23436}
23437extern "C" {
23438    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_print"]
23439    pub fn X509_NAME_print(
23440        bp: *mut BIO,
23441        name: *const X509_NAME,
23442        obase: ::std::os::raw::c_int,
23443    ) -> ::std::os::raw::c_int;
23444}
23445extern "C" {
23446    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_oneline"]
23447    pub fn X509_NAME_oneline(
23448        name: *const X509_NAME,
23449        buf: *mut ::std::os::raw::c_char,
23450        size: ::std::os::raw::c_int,
23451    ) -> *mut ::std::os::raw::c_char;
23452}
23453extern "C" {
23454    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_print_ex_fp"]
23455    pub fn X509_NAME_print_ex_fp(
23456        fp: *mut FILE,
23457        nm: *const X509_NAME,
23458        indent: ::std::os::raw::c_int,
23459        flags: ::std::os::raw::c_ulong,
23460    ) -> ::std::os::raw::c_int;
23461}
23462extern "C" {
23463    #[link_name = "\u{1}aws_lc_0_27_2_X509_signature_dump"]
23464    pub fn X509_signature_dump(
23465        bio: *mut BIO,
23466        sig: *const ASN1_STRING,
23467        indent: ::std::os::raw::c_int,
23468    ) -> ::std::os::raw::c_int;
23469}
23470extern "C" {
23471    #[link_name = "\u{1}aws_lc_0_27_2_X509_signature_print"]
23472    pub fn X509_signature_print(
23473        bio: *mut BIO,
23474        alg: *const X509_ALGOR,
23475        sig: *const ASN1_STRING,
23476    ) -> ::std::os::raw::c_int;
23477}
23478extern "C" {
23479    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_print"]
23480    pub fn X509V3_EXT_print(
23481        out: *mut BIO,
23482        ext: *const X509_EXTENSION,
23483        flag: ::std::os::raw::c_ulong,
23484        indent: ::std::os::raw::c_int,
23485    ) -> ::std::os::raw::c_int;
23486}
23487extern "C" {
23488    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_print_fp"]
23489    pub fn X509V3_EXT_print_fp(
23490        out: *mut FILE,
23491        ext: *const X509_EXTENSION,
23492        flag: ::std::os::raw::c_int,
23493        indent: ::std::os::raw::c_int,
23494    ) -> ::std::os::raw::c_int;
23495}
23496extern "C" {
23497    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_extensions_print"]
23498    pub fn X509V3_extensions_print(
23499        out: *mut BIO,
23500        title: *const ::std::os::raw::c_char,
23501        exts: *const stack_st_X509_EXTENSION,
23502        flag: ::std::os::raw::c_ulong,
23503        indent: ::std::os::raw::c_int,
23504    ) -> ::std::os::raw::c_int;
23505}
23506extern "C" {
23507    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_NAME_print"]
23508    pub fn GENERAL_NAME_print(out: *mut BIO, gen: *const GENERAL_NAME) -> ::std::os::raw::c_int;
23509}
23510extern "C" {
23511    #[link_name = "\u{1}aws_lc_0_27_2_X509_pubkey_digest"]
23512    pub fn X509_pubkey_digest(
23513        x509: *const X509,
23514        md: *const EVP_MD,
23515        out: *mut u8,
23516        out_len: *mut ::std::os::raw::c_uint,
23517    ) -> ::std::os::raw::c_int;
23518}
23519extern "C" {
23520    #[link_name = "\u{1}aws_lc_0_27_2_X509_digest"]
23521    pub fn X509_digest(
23522        x509: *const X509,
23523        md: *const EVP_MD,
23524        out: *mut u8,
23525        out_len: *mut ::std::os::raw::c_uint,
23526    ) -> ::std::os::raw::c_int;
23527}
23528extern "C" {
23529    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_digest"]
23530    pub fn X509_CRL_digest(
23531        crl: *const X509_CRL,
23532        md: *const EVP_MD,
23533        out: *mut u8,
23534        out_len: *mut ::std::os::raw::c_uint,
23535    ) -> ::std::os::raw::c_int;
23536}
23537extern "C" {
23538    #[link_name = "\u{1}aws_lc_0_27_2_X509_REQ_digest"]
23539    pub fn X509_REQ_digest(
23540        req: *const X509_REQ,
23541        md: *const EVP_MD,
23542        out: *mut u8,
23543        out_len: *mut ::std::os::raw::c_uint,
23544    ) -> ::std::os::raw::c_int;
23545}
23546extern "C" {
23547    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_digest"]
23548    pub fn X509_NAME_digest(
23549        name: *const X509_NAME,
23550        md: *const EVP_MD,
23551        out: *mut u8,
23552        out_len: *mut ::std::os::raw::c_uint,
23553    ) -> ::std::os::raw::c_int;
23554}
23555extern "C" {
23556    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_bio"]
23557    pub fn d2i_X509_bio(bp: *mut BIO, x509: *mut *mut X509) -> *mut X509;
23558}
23559extern "C" {
23560    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_CRL_bio"]
23561    pub fn d2i_X509_CRL_bio(bp: *mut BIO, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23562}
23563extern "C" {
23564    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_REQ_bio"]
23565    pub fn d2i_X509_REQ_bio(bp: *mut BIO, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23566}
23567extern "C" {
23568    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPrivateKey_bio"]
23569    pub fn d2i_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23570}
23571extern "C" {
23572    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPublicKey_bio"]
23573    pub fn d2i_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23574}
23575extern "C" {
23576    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSA_PUBKEY_bio"]
23577    pub fn d2i_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut *mut RSA) -> *mut RSA;
23578}
23579extern "C" {
23580    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSA_PUBKEY_bio"]
23581    pub fn d2i_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23582}
23583extern "C" {
23584    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSAPrivateKey_bio"]
23585    pub fn d2i_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut *mut DSA) -> *mut DSA;
23586}
23587extern "C" {
23588    #[link_name = "\u{1}aws_lc_0_27_2_d2i_EC_PUBKEY_bio"]
23589    pub fn d2i_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23590}
23591extern "C" {
23592    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECPrivateKey_bio"]
23593    pub fn d2i_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23594}
23595extern "C" {
23596    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8_bio"]
23597    pub fn d2i_PKCS8_bio(bp: *mut BIO, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23598}
23599extern "C" {
23600    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8_PRIV_KEY_INFO_bio"]
23601    pub fn d2i_PKCS8_PRIV_KEY_INFO_bio(
23602        bp: *mut BIO,
23603        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23604    ) -> *mut PKCS8_PRIV_KEY_INFO;
23605}
23606extern "C" {
23607    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PUBKEY_bio"]
23608    pub fn d2i_PUBKEY_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23609}
23610extern "C" {
23611    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DHparams_bio"]
23612    pub fn d2i_DHparams_bio(bp: *mut BIO, dh: *mut *mut DH) -> *mut DH;
23613}
23614extern "C" {
23615    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PrivateKey_bio"]
23616    pub fn d2i_PrivateKey_bio(bp: *mut BIO, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23617}
23618extern "C" {
23619    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_bio"]
23620    pub fn i2d_X509_bio(bp: *mut BIO, x509: *mut X509) -> ::std::os::raw::c_int;
23621}
23622extern "C" {
23623    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_CRL_bio"]
23624    pub fn i2d_X509_CRL_bio(bp: *mut BIO, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23625}
23626extern "C" {
23627    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_REQ_bio"]
23628    pub fn i2d_X509_REQ_bio(bp: *mut BIO, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23629}
23630extern "C" {
23631    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPrivateKey_bio"]
23632    pub fn i2d_RSAPrivateKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23633}
23634extern "C" {
23635    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPublicKey_bio"]
23636    pub fn i2d_RSAPublicKey_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23637}
23638extern "C" {
23639    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSA_PUBKEY_bio"]
23640    pub fn i2d_RSA_PUBKEY_bio(bp: *mut BIO, rsa: *mut RSA) -> ::std::os::raw::c_int;
23641}
23642extern "C" {
23643    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSA_PUBKEY_bio"]
23644    pub fn i2d_DSA_PUBKEY_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23645}
23646extern "C" {
23647    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSAPrivateKey_bio"]
23648    pub fn i2d_DSAPrivateKey_bio(bp: *mut BIO, dsa: *mut DSA) -> ::std::os::raw::c_int;
23649}
23650extern "C" {
23651    #[link_name = "\u{1}aws_lc_0_27_2_i2d_EC_PUBKEY_bio"]
23652    pub fn i2d_EC_PUBKEY_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23653}
23654extern "C" {
23655    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECPrivateKey_bio"]
23656    pub fn i2d_ECPrivateKey_bio(bp: *mut BIO, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23657}
23658extern "C" {
23659    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8_bio"]
23660    pub fn i2d_PKCS8_bio(bp: *mut BIO, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23661}
23662extern "C" {
23663    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8_PRIV_KEY_INFO_bio"]
23664    pub fn i2d_PKCS8_PRIV_KEY_INFO_bio(
23665        bp: *mut BIO,
23666        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23667    ) -> ::std::os::raw::c_int;
23668}
23669extern "C" {
23670    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PrivateKey_bio"]
23671    pub fn i2d_PrivateKey_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23672}
23673extern "C" {
23674    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PUBKEY_bio"]
23675    pub fn i2d_PUBKEY_bio(bp: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23676}
23677extern "C" {
23678    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DHparams_bio"]
23679    pub fn i2d_DHparams_bio(bp: *mut BIO, dh: *const DH) -> ::std::os::raw::c_int;
23680}
23681extern "C" {
23682    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKeyInfo_bio"]
23683    pub fn i2d_PKCS8PrivateKeyInfo_bio(bp: *mut BIO, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23684}
23685extern "C" {
23686    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_fp"]
23687    pub fn d2i_X509_fp(fp: *mut FILE, x509: *mut *mut X509) -> *mut X509;
23688}
23689extern "C" {
23690    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_CRL_fp"]
23691    pub fn d2i_X509_CRL_fp(fp: *mut FILE, crl: *mut *mut X509_CRL) -> *mut X509_CRL;
23692}
23693extern "C" {
23694    #[link_name = "\u{1}aws_lc_0_27_2_d2i_X509_REQ_fp"]
23695    pub fn d2i_X509_REQ_fp(fp: *mut FILE, req: *mut *mut X509_REQ) -> *mut X509_REQ;
23696}
23697extern "C" {
23698    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPrivateKey_fp"]
23699    pub fn d2i_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23700}
23701extern "C" {
23702    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSAPublicKey_fp"]
23703    pub fn d2i_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23704}
23705extern "C" {
23706    #[link_name = "\u{1}aws_lc_0_27_2_d2i_RSA_PUBKEY_fp"]
23707    pub fn d2i_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut *mut RSA) -> *mut RSA;
23708}
23709extern "C" {
23710    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSA_PUBKEY_fp"]
23711    pub fn d2i_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23712}
23713extern "C" {
23714    #[link_name = "\u{1}aws_lc_0_27_2_d2i_DSAPrivateKey_fp"]
23715    pub fn d2i_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut *mut DSA) -> *mut DSA;
23716}
23717extern "C" {
23718    #[link_name = "\u{1}aws_lc_0_27_2_d2i_EC_PUBKEY_fp"]
23719    pub fn d2i_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23720}
23721extern "C" {
23722    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ECPrivateKey_fp"]
23723    pub fn d2i_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut *mut EC_KEY) -> *mut EC_KEY;
23724}
23725extern "C" {
23726    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8_fp"]
23727    pub fn d2i_PKCS8_fp(fp: *mut FILE, p8: *mut *mut X509_SIG) -> *mut X509_SIG;
23728}
23729extern "C" {
23730    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8_PRIV_KEY_INFO_fp"]
23731    pub fn d2i_PKCS8_PRIV_KEY_INFO_fp(
23732        fp: *mut FILE,
23733        p8inf: *mut *mut PKCS8_PRIV_KEY_INFO,
23734    ) -> *mut PKCS8_PRIV_KEY_INFO;
23735}
23736extern "C" {
23737    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PrivateKey_fp"]
23738    pub fn d2i_PrivateKey_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23739}
23740extern "C" {
23741    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PUBKEY_fp"]
23742    pub fn d2i_PUBKEY_fp(fp: *mut FILE, a: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
23743}
23744extern "C" {
23745    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_fp"]
23746    pub fn i2d_X509_fp(fp: *mut FILE, x509: *mut X509) -> ::std::os::raw::c_int;
23747}
23748extern "C" {
23749    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_CRL_fp"]
23750    pub fn i2d_X509_CRL_fp(fp: *mut FILE, crl: *mut X509_CRL) -> ::std::os::raw::c_int;
23751}
23752extern "C" {
23753    #[link_name = "\u{1}aws_lc_0_27_2_i2d_X509_REQ_fp"]
23754    pub fn i2d_X509_REQ_fp(fp: *mut FILE, req: *mut X509_REQ) -> ::std::os::raw::c_int;
23755}
23756extern "C" {
23757    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPrivateKey_fp"]
23758    pub fn i2d_RSAPrivateKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23759}
23760extern "C" {
23761    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSAPublicKey_fp"]
23762    pub fn i2d_RSAPublicKey_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23763}
23764extern "C" {
23765    #[link_name = "\u{1}aws_lc_0_27_2_i2d_RSA_PUBKEY_fp"]
23766    pub fn i2d_RSA_PUBKEY_fp(fp: *mut FILE, rsa: *mut RSA) -> ::std::os::raw::c_int;
23767}
23768extern "C" {
23769    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSA_PUBKEY_fp"]
23770    pub fn i2d_DSA_PUBKEY_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23771}
23772extern "C" {
23773    #[link_name = "\u{1}aws_lc_0_27_2_i2d_DSAPrivateKey_fp"]
23774    pub fn i2d_DSAPrivateKey_fp(fp: *mut FILE, dsa: *mut DSA) -> ::std::os::raw::c_int;
23775}
23776extern "C" {
23777    #[link_name = "\u{1}aws_lc_0_27_2_i2d_EC_PUBKEY_fp"]
23778    pub fn i2d_EC_PUBKEY_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23779}
23780extern "C" {
23781    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ECPrivateKey_fp"]
23782    pub fn i2d_ECPrivateKey_fp(fp: *mut FILE, eckey: *mut EC_KEY) -> ::std::os::raw::c_int;
23783}
23784extern "C" {
23785    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8_fp"]
23786    pub fn i2d_PKCS8_fp(fp: *mut FILE, p8: *mut X509_SIG) -> ::std::os::raw::c_int;
23787}
23788extern "C" {
23789    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8_PRIV_KEY_INFO_fp"]
23790    pub fn i2d_PKCS8_PRIV_KEY_INFO_fp(
23791        fp: *mut FILE,
23792        p8inf: *mut PKCS8_PRIV_KEY_INFO,
23793    ) -> ::std::os::raw::c_int;
23794}
23795extern "C" {
23796    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKeyInfo_fp"]
23797    pub fn i2d_PKCS8PrivateKeyInfo_fp(fp: *mut FILE, key: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23798}
23799extern "C" {
23800    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PrivateKey_fp"]
23801    pub fn i2d_PrivateKey_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23802}
23803extern "C" {
23804    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PUBKEY_fp"]
23805    pub fn i2d_PUBKEY_fp(fp: *mut FILE, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
23806}
23807extern "C" {
23808    #[link_name = "\u{1}aws_lc_0_27_2_X509_find_by_issuer_and_serial"]
23809    pub fn X509_find_by_issuer_and_serial(
23810        sk: *const stack_st_X509,
23811        name: *mut X509_NAME,
23812        serial: *const ASN1_INTEGER,
23813    ) -> *mut X509;
23814}
23815extern "C" {
23816    #[link_name = "\u{1}aws_lc_0_27_2_X509_find_by_subject"]
23817    pub fn X509_find_by_subject(sk: *const stack_st_X509, name: *mut X509_NAME) -> *mut X509;
23818}
23819extern "C" {
23820    #[link_name = "\u{1}aws_lc_0_27_2_X509_cmp_time"]
23821    pub fn X509_cmp_time(s: *const ASN1_TIME, t: *const time_t) -> ::std::os::raw::c_int;
23822}
23823extern "C" {
23824    #[link_name = "\u{1}aws_lc_0_27_2_X509_cmp_time_posix"]
23825    pub fn X509_cmp_time_posix(s: *const ASN1_TIME, t: i64) -> ::std::os::raw::c_int;
23826}
23827extern "C" {
23828    #[link_name = "\u{1}aws_lc_0_27_2_X509_cmp_current_time"]
23829    pub fn X509_cmp_current_time(s: *const ASN1_TIME) -> ::std::os::raw::c_int;
23830}
23831extern "C" {
23832    #[link_name = "\u{1}aws_lc_0_27_2_X509_time_adj"]
23833    pub fn X509_time_adj(
23834        s: *mut ASN1_TIME,
23835        offset_sec: ::std::os::raw::c_long,
23836        t: *const time_t,
23837    ) -> *mut ASN1_TIME;
23838}
23839extern "C" {
23840    #[link_name = "\u{1}aws_lc_0_27_2_X509_time_adj_ex"]
23841    pub fn X509_time_adj_ex(
23842        s: *mut ASN1_TIME,
23843        offset_day: ::std::os::raw::c_int,
23844        offset_sec: ::std::os::raw::c_long,
23845        t: *const time_t,
23846    ) -> *mut ASN1_TIME;
23847}
23848extern "C" {
23849    #[link_name = "\u{1}aws_lc_0_27_2_X509_gmtime_adj"]
23850    pub fn X509_gmtime_adj(s: *mut ASN1_TIME, offset_sec: ::std::os::raw::c_long)
23851        -> *mut ASN1_TIME;
23852}
23853extern "C" {
23854    #[link_name = "\u{1}aws_lc_0_27_2_X509_issuer_name_cmp"]
23855    pub fn X509_issuer_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23856}
23857extern "C" {
23858    #[link_name = "\u{1}aws_lc_0_27_2_X509_subject_name_cmp"]
23859    pub fn X509_subject_name_cmp(a: *const X509, b: *const X509) -> ::std::os::raw::c_int;
23860}
23861extern "C" {
23862    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_cmp"]
23863    pub fn X509_CRL_cmp(a: *const X509_CRL, b: *const X509_CRL) -> ::std::os::raw::c_int;
23864}
23865extern "C" {
23866    #[link_name = "\u{1}aws_lc_0_27_2_X509_issuer_name_hash"]
23867    pub fn X509_issuer_name_hash(x509: *mut X509) -> u32;
23868}
23869extern "C" {
23870    #[link_name = "\u{1}aws_lc_0_27_2_X509_subject_name_hash"]
23871    pub fn X509_subject_name_hash(x509: *mut X509) -> u32;
23872}
23873extern "C" {
23874    #[link_name = "\u{1}aws_lc_0_27_2_X509_issuer_name_hash_old"]
23875    pub fn X509_issuer_name_hash_old(x509: *mut X509) -> u32;
23876}
23877extern "C" {
23878    #[link_name = "\u{1}aws_lc_0_27_2_X509_subject_name_hash_old"]
23879    pub fn X509_subject_name_hash_old(x509: *mut X509) -> u32;
23880}
23881extern "C" {
23882    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ex_new_index"]
23883    pub fn X509_get_ex_new_index(
23884        argl: ::std::os::raw::c_long,
23885        argp: *mut ::std::os::raw::c_void,
23886        unused: *mut CRYPTO_EX_unused,
23887        dup_unused: CRYPTO_EX_dup,
23888        free_func: CRYPTO_EX_free,
23889    ) -> ::std::os::raw::c_int;
23890}
23891extern "C" {
23892    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_ex_data"]
23893    pub fn X509_set_ex_data(
23894        r: *mut X509,
23895        idx: ::std::os::raw::c_int,
23896        arg: *mut ::std::os::raw::c_void,
23897    ) -> ::std::os::raw::c_int;
23898}
23899extern "C" {
23900    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_ex_data"]
23901    pub fn X509_get_ex_data(
23902        r: *mut X509,
23903        idx: ::std::os::raw::c_int,
23904    ) -> *mut ::std::os::raw::c_void;
23905}
23906extern "C" {
23907    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_ex_new_index"]
23908    pub fn X509_STORE_CTX_get_ex_new_index(
23909        argl: ::std::os::raw::c_long,
23910        argp: *mut ::std::os::raw::c_void,
23911        unused: *mut CRYPTO_EX_unused,
23912        dup_unused: CRYPTO_EX_dup,
23913        free_func: CRYPTO_EX_free,
23914    ) -> ::std::os::raw::c_int;
23915}
23916extern "C" {
23917    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_ex_data"]
23918    pub fn X509_STORE_CTX_set_ex_data(
23919        ctx: *mut X509_STORE_CTX,
23920        idx: ::std::os::raw::c_int,
23921        data: *mut ::std::os::raw::c_void,
23922    ) -> ::std::os::raw::c_int;
23923}
23924extern "C" {
23925    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_ex_data"]
23926    pub fn X509_STORE_CTX_get_ex_data(
23927        ctx: *mut X509_STORE_CTX,
23928        idx: ::std::os::raw::c_int,
23929    ) -> *mut ::std::os::raw::c_void;
23930}
23931extern "C" {
23932    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_get_ex_new_index"]
23933    pub fn X509_STORE_get_ex_new_index(
23934        argl: ::std::os::raw::c_long,
23935        argp: *mut ::std::os::raw::c_void,
23936        unused: *mut CRYPTO_EX_unused,
23937        dup_unused: CRYPTO_EX_dup,
23938        free_func: CRYPTO_EX_free,
23939    ) -> ::std::os::raw::c_int;
23940}
23941extern "C" {
23942    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_ex_data"]
23943    pub fn X509_STORE_set_ex_data(
23944        ctx: *mut X509_STORE,
23945        idx: ::std::os::raw::c_int,
23946        data: *mut ::std::os::raw::c_void,
23947    ) -> ::std::os::raw::c_int;
23948}
23949extern "C" {
23950    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_get_ex_data"]
23951    pub fn X509_STORE_get_ex_data(
23952        ctx: *mut X509_STORE,
23953        idx: ::std::os::raw::c_int,
23954    ) -> *mut ::std::os::raw::c_void;
23955}
23956extern "C" {
23957    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_digest"]
23958    pub fn ASN1_digest(
23959        i2d: i2d_of_void,
23960        type_: *const EVP_MD,
23961        data: *mut ::std::os::raw::c_char,
23962        md: *mut ::std::os::raw::c_uchar,
23963        len: *mut ::std::os::raw::c_uint,
23964    ) -> ::std::os::raw::c_int;
23965}
23966extern "C" {
23967    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_digest"]
23968    pub fn ASN1_item_digest(
23969        it: *const ASN1_ITEM,
23970        type_: *const EVP_MD,
23971        data: *mut ::std::os::raw::c_void,
23972        md: *mut ::std::os::raw::c_uchar,
23973        len: *mut ::std::os::raw::c_uint,
23974    ) -> ::std::os::raw::c_int;
23975}
23976extern "C" {
23977    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_verify"]
23978    pub fn ASN1_item_verify(
23979        it: *const ASN1_ITEM,
23980        algor1: *const X509_ALGOR,
23981        signature: *const ASN1_BIT_STRING,
23982        data: *mut ::std::os::raw::c_void,
23983        pkey: *mut EVP_PKEY,
23984    ) -> ::std::os::raw::c_int;
23985}
23986extern "C" {
23987    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_sign"]
23988    pub fn ASN1_item_sign(
23989        it: *const ASN1_ITEM,
23990        algor1: *mut X509_ALGOR,
23991        algor2: *mut X509_ALGOR,
23992        signature: *mut ASN1_BIT_STRING,
23993        data: *mut ::std::os::raw::c_void,
23994        pkey: *mut EVP_PKEY,
23995        type_: *const EVP_MD,
23996    ) -> ::std::os::raw::c_int;
23997}
23998extern "C" {
23999    #[link_name = "\u{1}aws_lc_0_27_2_ASN1_item_sign_ctx"]
24000    pub fn ASN1_item_sign_ctx(
24001        it: *const ASN1_ITEM,
24002        algor1: *mut X509_ALGOR,
24003        algor2: *mut X509_ALGOR,
24004        signature: *mut ASN1_BIT_STRING,
24005        asn: *mut ::std::os::raw::c_void,
24006        ctx: *mut EVP_MD_CTX,
24007    ) -> ::std::os::raw::c_int;
24008}
24009extern "C" {
24010    #[link_name = "\u{1}aws_lc_0_27_2_X509_supported_extension"]
24011    pub fn X509_supported_extension(ex: *const X509_EXTENSION) -> ::std::os::raw::c_int;
24012}
24013extern "C" {
24014    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_ca"]
24015    pub fn X509_check_ca(x509: *mut X509) -> ::std::os::raw::c_int;
24016}
24017extern "C" {
24018    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_issued"]
24019    pub fn X509_check_issued(issuer: *mut X509, subject: *mut X509) -> ::std::os::raw::c_int;
24020}
24021extern "C" {
24022    #[link_name = "\u{1}aws_lc_0_27_2_NAME_CONSTRAINTS_check"]
24023    pub fn NAME_CONSTRAINTS_check(
24024        x509: *mut X509,
24025        nc: *mut NAME_CONSTRAINTS,
24026    ) -> ::std::os::raw::c_int;
24027}
24028extern "C" {
24029    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_host"]
24030    pub fn X509_check_host(
24031        x509: *const X509,
24032        chk: *const ::std::os::raw::c_char,
24033        chklen: usize,
24034        flags: ::std::os::raw::c_uint,
24035        out_peername: *mut *mut ::std::os::raw::c_char,
24036    ) -> ::std::os::raw::c_int;
24037}
24038extern "C" {
24039    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_email"]
24040    pub fn X509_check_email(
24041        x509: *const X509,
24042        chk: *const ::std::os::raw::c_char,
24043        chklen: usize,
24044        flags: ::std::os::raw::c_uint,
24045    ) -> ::std::os::raw::c_int;
24046}
24047extern "C" {
24048    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_ip"]
24049    pub fn X509_check_ip(
24050        x509: *const X509,
24051        chk: *const u8,
24052        chklen: usize,
24053        flags: ::std::os::raw::c_uint,
24054    ) -> ::std::os::raw::c_int;
24055}
24056extern "C" {
24057    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_ip_asc"]
24058    pub fn X509_check_ip_asc(
24059        x509: *const X509,
24060        ipasc: *const ::std::os::raw::c_char,
24061        flags: ::std::os::raw::c_uint,
24062    ) -> ::std::os::raw::c_int;
24063}
24064extern "C" {
24065    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get1_issuer"]
24066    pub fn X509_STORE_CTX_get1_issuer(
24067        out_issuer: *mut *mut X509,
24068        ctx: *mut X509_STORE_CTX,
24069        x509: *mut X509,
24070    ) -> ::std::os::raw::c_int;
24071}
24072extern "C" {
24073    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_purpose"]
24074    pub fn X509_check_purpose(
24075        x509: *mut X509,
24076        purpose: ::std::os::raw::c_int,
24077        ca: ::std::os::raw::c_int,
24078    ) -> ::std::os::raw::c_int;
24079}
24080extern "C" {
24081    #[link_name = "\u{1}aws_lc_0_27_2_X509_check_trust"]
24082    pub fn X509_check_trust(
24083        x509: *mut X509,
24084        id: ::std::os::raw::c_int,
24085        flags: ::std::os::raw::c_int,
24086    ) -> ::std::os::raw::c_int;
24087}
24088#[repr(C)]
24089#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24090pub struct private_key_st {
24091    pub dec_pkey: *mut EVP_PKEY,
24092}
24093#[test]
24094fn bindgen_test_layout_private_key_st() {
24095    const UNINIT: ::std::mem::MaybeUninit<private_key_st> = ::std::mem::MaybeUninit::uninit();
24096    let ptr = UNINIT.as_ptr();
24097    assert_eq!(
24098        ::std::mem::size_of::<private_key_st>(),
24099        8usize,
24100        concat!("Size of: ", stringify!(private_key_st))
24101    );
24102    assert_eq!(
24103        ::std::mem::align_of::<private_key_st>(),
24104        8usize,
24105        concat!("Alignment of ", stringify!(private_key_st))
24106    );
24107    assert_eq!(
24108        unsafe { ::std::ptr::addr_of!((*ptr).dec_pkey) as usize - ptr as usize },
24109        0usize,
24110        concat!(
24111            "Offset of field: ",
24112            stringify!(private_key_st),
24113            "::",
24114            stringify!(dec_pkey)
24115        )
24116    );
24117}
24118impl Default for private_key_st {
24119    fn default() -> Self {
24120        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24121        unsafe {
24122            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24123            s.assume_init()
24124        }
24125    }
24126}
24127#[repr(C)]
24128#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24129pub struct X509_info_st {
24130    pub x509: *mut X509,
24131    pub crl: *mut X509_CRL,
24132    pub x_pkey: *mut X509_PKEY,
24133    pub enc_cipher: EVP_CIPHER_INFO,
24134    pub enc_len: ::std::os::raw::c_int,
24135    pub enc_data: *mut ::std::os::raw::c_char,
24136}
24137#[test]
24138fn bindgen_test_layout_X509_info_st() {
24139    const UNINIT: ::std::mem::MaybeUninit<X509_info_st> = ::std::mem::MaybeUninit::uninit();
24140    let ptr = UNINIT.as_ptr();
24141    assert_eq!(
24142        ::std::mem::size_of::<X509_info_st>(),
24143        64usize,
24144        concat!("Size of: ", stringify!(X509_info_st))
24145    );
24146    assert_eq!(
24147        ::std::mem::align_of::<X509_info_st>(),
24148        8usize,
24149        concat!("Alignment of ", stringify!(X509_info_st))
24150    );
24151    assert_eq!(
24152        unsafe { ::std::ptr::addr_of!((*ptr).x509) as usize - ptr as usize },
24153        0usize,
24154        concat!(
24155            "Offset of field: ",
24156            stringify!(X509_info_st),
24157            "::",
24158            stringify!(x509)
24159        )
24160    );
24161    assert_eq!(
24162        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24163        8usize,
24164        concat!(
24165            "Offset of field: ",
24166            stringify!(X509_info_st),
24167            "::",
24168            stringify!(crl)
24169        )
24170    );
24171    assert_eq!(
24172        unsafe { ::std::ptr::addr_of!((*ptr).x_pkey) as usize - ptr as usize },
24173        16usize,
24174        concat!(
24175            "Offset of field: ",
24176            stringify!(X509_info_st),
24177            "::",
24178            stringify!(x_pkey)
24179        )
24180    );
24181    assert_eq!(
24182        unsafe { ::std::ptr::addr_of!((*ptr).enc_cipher) as usize - ptr as usize },
24183        24usize,
24184        concat!(
24185            "Offset of field: ",
24186            stringify!(X509_info_st),
24187            "::",
24188            stringify!(enc_cipher)
24189        )
24190    );
24191    assert_eq!(
24192        unsafe { ::std::ptr::addr_of!((*ptr).enc_len) as usize - ptr as usize },
24193        48usize,
24194        concat!(
24195            "Offset of field: ",
24196            stringify!(X509_info_st),
24197            "::",
24198            stringify!(enc_len)
24199        )
24200    );
24201    assert_eq!(
24202        unsafe { ::std::ptr::addr_of!((*ptr).enc_data) as usize - ptr as usize },
24203        56usize,
24204        concat!(
24205            "Offset of field: ",
24206            stringify!(X509_info_st),
24207            "::",
24208            stringify!(enc_data)
24209        )
24210    );
24211}
24212impl Default for X509_info_st {
24213    fn default() -> Self {
24214        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24215        unsafe {
24216            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24217            s.assume_init()
24218        }
24219    }
24220}
24221#[repr(C)]
24222#[derive(Debug, Copy, Clone)]
24223pub struct stack_st_X509_INFO {
24224    _unused: [u8; 0],
24225}
24226pub type sk_X509_INFO_free_func = ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_INFO)>;
24227pub type sk_X509_INFO_copy_func =
24228    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_INFO) -> *mut X509_INFO>;
24229pub type sk_X509_INFO_cmp_func = ::std::option::Option<
24230    unsafe extern "C" fn(
24231        arg1: *const *const X509_INFO,
24232        arg2: *const *const X509_INFO,
24233    ) -> ::std::os::raw::c_int,
24234>;
24235pub type sk_X509_INFO_delete_if_func = ::std::option::Option<
24236    unsafe extern "C" fn(
24237        arg1: *mut X509_INFO,
24238        arg2: *mut ::std::os::raw::c_void,
24239    ) -> ::std::os::raw::c_int,
24240>;
24241extern "C" {
24242    #[link_name = "\u{1}aws_lc_0_27_2_X509_INFO_free"]
24243    pub fn X509_INFO_free(info: *mut X509_INFO);
24244}
24245pub type X509V3_EXT_NEW =
24246    ::std::option::Option<unsafe extern "C" fn() -> *mut ::std::os::raw::c_void>;
24247pub type X509V3_EXT_FREE =
24248    ::std::option::Option<unsafe extern "C" fn(ext: *mut ::std::os::raw::c_void)>;
24249pub type X509V3_EXT_D2I = ::std::option::Option<
24250    unsafe extern "C" fn(
24251        ext: *mut ::std::os::raw::c_void,
24252        inp: *mut *const u8,
24253        len: ::std::os::raw::c_long,
24254    ) -> *mut ::std::os::raw::c_void,
24255>;
24256pub type X509V3_EXT_I2D = ::std::option::Option<
24257    unsafe extern "C" fn(
24258        ext: *mut ::std::os::raw::c_void,
24259        outp: *mut *mut u8,
24260    ) -> ::std::os::raw::c_int,
24261>;
24262pub type X509V3_EXT_I2V = ::std::option::Option<
24263    unsafe extern "C" fn(
24264        method: *const X509V3_EXT_METHOD,
24265        ext: *mut ::std::os::raw::c_void,
24266        extlist: *mut stack_st_CONF_VALUE,
24267    ) -> *mut stack_st_CONF_VALUE,
24268>;
24269pub type X509V3_EXT_V2I = ::std::option::Option<
24270    unsafe extern "C" fn(
24271        method: *const X509V3_EXT_METHOD,
24272        ctx: *const X509V3_CTX,
24273        values: *const stack_st_CONF_VALUE,
24274    ) -> *mut ::std::os::raw::c_void,
24275>;
24276pub type X509V3_EXT_I2S = ::std::option::Option<
24277    unsafe extern "C" fn(
24278        method: *const X509V3_EXT_METHOD,
24279        ext: *mut ::std::os::raw::c_void,
24280    ) -> *mut ::std::os::raw::c_char,
24281>;
24282pub type X509V3_EXT_S2I = ::std::option::Option<
24283    unsafe extern "C" fn(
24284        method: *const X509V3_EXT_METHOD,
24285        ctx: *const X509V3_CTX,
24286        str_: *const ::std::os::raw::c_char,
24287    ) -> *mut ::std::os::raw::c_void,
24288>;
24289pub type X509V3_EXT_I2R = ::std::option::Option<
24290    unsafe extern "C" fn(
24291        method: *const X509V3_EXT_METHOD,
24292        ext: *mut ::std::os::raw::c_void,
24293        out: *mut BIO,
24294        indent: ::std::os::raw::c_int,
24295    ) -> ::std::os::raw::c_int,
24296>;
24297pub type X509V3_EXT_R2I = ::std::option::Option<
24298    unsafe extern "C" fn(
24299        method: *const X509V3_EXT_METHOD,
24300        ctx: *const X509V3_CTX,
24301        str_: *const ::std::os::raw::c_char,
24302    ) -> *mut ::std::os::raw::c_void,
24303>;
24304#[repr(C)]
24305#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24306pub struct v3_ext_method {
24307    pub ext_nid: ::std::os::raw::c_int,
24308    pub ext_flags: ::std::os::raw::c_int,
24309    pub it: *const ASN1_ITEM_st,
24310    pub ext_new: X509V3_EXT_NEW,
24311    pub ext_free: X509V3_EXT_FREE,
24312    pub d2i: X509V3_EXT_D2I,
24313    pub i2d: X509V3_EXT_I2D,
24314    pub i2s: X509V3_EXT_I2S,
24315    pub s2i: X509V3_EXT_S2I,
24316    pub i2v: X509V3_EXT_I2V,
24317    pub v2i: X509V3_EXT_V2I,
24318    pub i2r: X509V3_EXT_I2R,
24319    pub r2i: X509V3_EXT_R2I,
24320    pub usr_data: *mut ::std::os::raw::c_void,
24321}
24322#[test]
24323fn bindgen_test_layout_v3_ext_method() {
24324    const UNINIT: ::std::mem::MaybeUninit<v3_ext_method> = ::std::mem::MaybeUninit::uninit();
24325    let ptr = UNINIT.as_ptr();
24326    assert_eq!(
24327        ::std::mem::size_of::<v3_ext_method>(),
24328        104usize,
24329        concat!("Size of: ", stringify!(v3_ext_method))
24330    );
24331    assert_eq!(
24332        ::std::mem::align_of::<v3_ext_method>(),
24333        8usize,
24334        concat!("Alignment of ", stringify!(v3_ext_method))
24335    );
24336    assert_eq!(
24337        unsafe { ::std::ptr::addr_of!((*ptr).ext_nid) as usize - ptr as usize },
24338        0usize,
24339        concat!(
24340            "Offset of field: ",
24341            stringify!(v3_ext_method),
24342            "::",
24343            stringify!(ext_nid)
24344        )
24345    );
24346    assert_eq!(
24347        unsafe { ::std::ptr::addr_of!((*ptr).ext_flags) as usize - ptr as usize },
24348        4usize,
24349        concat!(
24350            "Offset of field: ",
24351            stringify!(v3_ext_method),
24352            "::",
24353            stringify!(ext_flags)
24354        )
24355    );
24356    assert_eq!(
24357        unsafe { ::std::ptr::addr_of!((*ptr).it) as usize - ptr as usize },
24358        8usize,
24359        concat!(
24360            "Offset of field: ",
24361            stringify!(v3_ext_method),
24362            "::",
24363            stringify!(it)
24364        )
24365    );
24366    assert_eq!(
24367        unsafe { ::std::ptr::addr_of!((*ptr).ext_new) as usize - ptr as usize },
24368        16usize,
24369        concat!(
24370            "Offset of field: ",
24371            stringify!(v3_ext_method),
24372            "::",
24373            stringify!(ext_new)
24374        )
24375    );
24376    assert_eq!(
24377        unsafe { ::std::ptr::addr_of!((*ptr).ext_free) as usize - ptr as usize },
24378        24usize,
24379        concat!(
24380            "Offset of field: ",
24381            stringify!(v3_ext_method),
24382            "::",
24383            stringify!(ext_free)
24384        )
24385    );
24386    assert_eq!(
24387        unsafe { ::std::ptr::addr_of!((*ptr).d2i) as usize - ptr as usize },
24388        32usize,
24389        concat!(
24390            "Offset of field: ",
24391            stringify!(v3_ext_method),
24392            "::",
24393            stringify!(d2i)
24394        )
24395    );
24396    assert_eq!(
24397        unsafe { ::std::ptr::addr_of!((*ptr).i2d) as usize - ptr as usize },
24398        40usize,
24399        concat!(
24400            "Offset of field: ",
24401            stringify!(v3_ext_method),
24402            "::",
24403            stringify!(i2d)
24404        )
24405    );
24406    assert_eq!(
24407        unsafe { ::std::ptr::addr_of!((*ptr).i2s) as usize - ptr as usize },
24408        48usize,
24409        concat!(
24410            "Offset of field: ",
24411            stringify!(v3_ext_method),
24412            "::",
24413            stringify!(i2s)
24414        )
24415    );
24416    assert_eq!(
24417        unsafe { ::std::ptr::addr_of!((*ptr).s2i) as usize - ptr as usize },
24418        56usize,
24419        concat!(
24420            "Offset of field: ",
24421            stringify!(v3_ext_method),
24422            "::",
24423            stringify!(s2i)
24424        )
24425    );
24426    assert_eq!(
24427        unsafe { ::std::ptr::addr_of!((*ptr).i2v) as usize - ptr as usize },
24428        64usize,
24429        concat!(
24430            "Offset of field: ",
24431            stringify!(v3_ext_method),
24432            "::",
24433            stringify!(i2v)
24434        )
24435    );
24436    assert_eq!(
24437        unsafe { ::std::ptr::addr_of!((*ptr).v2i) as usize - ptr as usize },
24438        72usize,
24439        concat!(
24440            "Offset of field: ",
24441            stringify!(v3_ext_method),
24442            "::",
24443            stringify!(v2i)
24444        )
24445    );
24446    assert_eq!(
24447        unsafe { ::std::ptr::addr_of!((*ptr).i2r) as usize - ptr as usize },
24448        80usize,
24449        concat!(
24450            "Offset of field: ",
24451            stringify!(v3_ext_method),
24452            "::",
24453            stringify!(i2r)
24454        )
24455    );
24456    assert_eq!(
24457        unsafe { ::std::ptr::addr_of!((*ptr).r2i) as usize - ptr as usize },
24458        88usize,
24459        concat!(
24460            "Offset of field: ",
24461            stringify!(v3_ext_method),
24462            "::",
24463            stringify!(r2i)
24464        )
24465    );
24466    assert_eq!(
24467        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24468        96usize,
24469        concat!(
24470            "Offset of field: ",
24471            stringify!(v3_ext_method),
24472            "::",
24473            stringify!(usr_data)
24474        )
24475    );
24476}
24477impl Default for v3_ext_method {
24478    fn default() -> Self {
24479        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24480        unsafe {
24481            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24482            s.assume_init()
24483        }
24484    }
24485}
24486extern "C" {
24487    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_get"]
24488    pub fn X509V3_EXT_get(ext: *const X509_EXTENSION) -> *const X509V3_EXT_METHOD;
24489}
24490extern "C" {
24491    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_get_nid"]
24492    pub fn X509V3_EXT_get_nid(nid: ::std::os::raw::c_int) -> *const X509V3_EXT_METHOD;
24493}
24494extern "C" {
24495    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_add"]
24496    pub fn X509V3_EXT_add(ext: *mut X509V3_EXT_METHOD) -> ::std::os::raw::c_int;
24497}
24498extern "C" {
24499    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_add_alias"]
24500    pub fn X509V3_EXT_add_alias(
24501        nid_to: ::std::os::raw::c_int,
24502        nid_from: ::std::os::raw::c_int,
24503    ) -> ::std::os::raw::c_int;
24504}
24505#[repr(C)]
24506#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24507pub struct v3_ext_ctx {
24508    pub flags: ::std::os::raw::c_int,
24509    pub issuer_cert: *const X509,
24510    pub subject_cert: *const X509,
24511    pub subject_req: *const X509_REQ,
24512    pub crl: *const X509_CRL,
24513    pub db: *const CONF,
24514}
24515#[test]
24516fn bindgen_test_layout_v3_ext_ctx() {
24517    const UNINIT: ::std::mem::MaybeUninit<v3_ext_ctx> = ::std::mem::MaybeUninit::uninit();
24518    let ptr = UNINIT.as_ptr();
24519    assert_eq!(
24520        ::std::mem::size_of::<v3_ext_ctx>(),
24521        48usize,
24522        concat!("Size of: ", stringify!(v3_ext_ctx))
24523    );
24524    assert_eq!(
24525        ::std::mem::align_of::<v3_ext_ctx>(),
24526        8usize,
24527        concat!("Alignment of ", stringify!(v3_ext_ctx))
24528    );
24529    assert_eq!(
24530        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24531        0usize,
24532        concat!(
24533            "Offset of field: ",
24534            stringify!(v3_ext_ctx),
24535            "::",
24536            stringify!(flags)
24537        )
24538    );
24539    assert_eq!(
24540        unsafe { ::std::ptr::addr_of!((*ptr).issuer_cert) as usize - ptr as usize },
24541        8usize,
24542        concat!(
24543            "Offset of field: ",
24544            stringify!(v3_ext_ctx),
24545            "::",
24546            stringify!(issuer_cert)
24547        )
24548    );
24549    assert_eq!(
24550        unsafe { ::std::ptr::addr_of!((*ptr).subject_cert) as usize - ptr as usize },
24551        16usize,
24552        concat!(
24553            "Offset of field: ",
24554            stringify!(v3_ext_ctx),
24555            "::",
24556            stringify!(subject_cert)
24557        )
24558    );
24559    assert_eq!(
24560        unsafe { ::std::ptr::addr_of!((*ptr).subject_req) as usize - ptr as usize },
24561        24usize,
24562        concat!(
24563            "Offset of field: ",
24564            stringify!(v3_ext_ctx),
24565            "::",
24566            stringify!(subject_req)
24567        )
24568    );
24569    assert_eq!(
24570        unsafe { ::std::ptr::addr_of!((*ptr).crl) as usize - ptr as usize },
24571        32usize,
24572        concat!(
24573            "Offset of field: ",
24574            stringify!(v3_ext_ctx),
24575            "::",
24576            stringify!(crl)
24577        )
24578    );
24579    assert_eq!(
24580        unsafe { ::std::ptr::addr_of!((*ptr).db) as usize - ptr as usize },
24581        40usize,
24582        concat!(
24583            "Offset of field: ",
24584            stringify!(v3_ext_ctx),
24585            "::",
24586            stringify!(db)
24587        )
24588    );
24589}
24590impl Default for v3_ext_ctx {
24591    fn default() -> Self {
24592        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24593        unsafe {
24594            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24595            s.assume_init()
24596        }
24597    }
24598}
24599extern "C" {
24600    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_set_ctx"]
24601    pub fn X509V3_set_ctx(
24602        ctx: *mut X509V3_CTX,
24603        issuer: *const X509,
24604        subject: *const X509,
24605        req: *const X509_REQ,
24606        crl: *const X509_CRL,
24607        flags: ::std::os::raw::c_int,
24608    );
24609}
24610extern "C" {
24611    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_set_nconf"]
24612    pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *const CONF);
24613}
24614extern "C" {
24615    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_nconf"]
24616    pub fn X509V3_EXT_nconf(
24617        conf: *const CONF,
24618        ctx: *const X509V3_CTX,
24619        name: *const ::std::os::raw::c_char,
24620        value: *const ::std::os::raw::c_char,
24621    ) -> *mut X509_EXTENSION;
24622}
24623extern "C" {
24624    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_nconf_nid"]
24625    pub fn X509V3_EXT_nconf_nid(
24626        conf: *const CONF,
24627        ctx: *const X509V3_CTX,
24628        ext_nid: ::std::os::raw::c_int,
24629        value: *const ::std::os::raw::c_char,
24630    ) -> *mut X509_EXTENSION;
24631}
24632extern "C" {
24633    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_conf_nid"]
24634    pub fn X509V3_EXT_conf_nid(
24635        conf: *mut lhash_st_CONF_VALUE,
24636        ctx: *const X509V3_CTX,
24637        ext_nid: ::std::os::raw::c_int,
24638        value: *const ::std::os::raw::c_char,
24639    ) -> *mut X509_EXTENSION;
24640}
24641extern "C" {
24642    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_add_nconf_sk"]
24643    pub fn X509V3_EXT_add_nconf_sk(
24644        conf: *const CONF,
24645        ctx: *const X509V3_CTX,
24646        section: *const ::std::os::raw::c_char,
24647        sk: *mut *mut stack_st_X509_EXTENSION,
24648    ) -> ::std::os::raw::c_int;
24649}
24650extern "C" {
24651    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_add_nconf"]
24652    pub fn X509V3_EXT_add_nconf(
24653        conf: *const CONF,
24654        ctx: *const X509V3_CTX,
24655        section: *const ::std::os::raw::c_char,
24656        cert: *mut X509,
24657    ) -> ::std::os::raw::c_int;
24658}
24659extern "C" {
24660    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_REQ_add_nconf"]
24661    pub fn X509V3_EXT_REQ_add_nconf(
24662        conf: *const CONF,
24663        ctx: *const X509V3_CTX,
24664        section: *const ::std::os::raw::c_char,
24665        req: *mut X509_REQ,
24666    ) -> ::std::os::raw::c_int;
24667}
24668extern "C" {
24669    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_CRL_add_nconf"]
24670    pub fn X509V3_EXT_CRL_add_nconf(
24671        conf: *const CONF,
24672        ctx: *const X509V3_CTX,
24673        section: *const ::std::os::raw::c_char,
24674        crl: *mut X509_CRL,
24675    ) -> ::std::os::raw::c_int;
24676}
24677extern "C" {
24678    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_EXT_conf"]
24679    pub fn X509V3_EXT_conf(
24680        conf: *mut lhash_st_CONF_VALUE,
24681        ctx: *mut X509V3_CTX,
24682        name: *const ::std::os::raw::c_char,
24683        value: *const ::std::os::raw::c_char,
24684    ) -> *mut X509_EXTENSION;
24685}
24686extern "C" {
24687    #[link_name = "\u{1}aws_lc_0_27_2_i2s_ASN1_OCTET_STRING"]
24688    pub fn i2s_ASN1_OCTET_STRING(
24689        method: *const X509V3_EXT_METHOD,
24690        oct: *const ASN1_OCTET_STRING,
24691    ) -> *mut ::std::os::raw::c_char;
24692}
24693extern "C" {
24694    #[link_name = "\u{1}aws_lc_0_27_2_s2i_ASN1_OCTET_STRING"]
24695    pub fn s2i_ASN1_OCTET_STRING(
24696        method: *const X509V3_EXT_METHOD,
24697        ctx: *const X509V3_CTX,
24698        str_: *const ::std::os::raw::c_char,
24699    ) -> *mut ASN1_OCTET_STRING;
24700}
24701extern "C" {
24702    #[link_name = "\u{1}aws_lc_0_27_2_i2s_ASN1_INTEGER"]
24703    pub fn i2s_ASN1_INTEGER(
24704        method: *const X509V3_EXT_METHOD,
24705        aint: *const ASN1_INTEGER,
24706    ) -> *mut ::std::os::raw::c_char;
24707}
24708extern "C" {
24709    #[link_name = "\u{1}aws_lc_0_27_2_s2i_ASN1_INTEGER"]
24710    pub fn s2i_ASN1_INTEGER(
24711        method: *const X509V3_EXT_METHOD,
24712        value: *const ::std::os::raw::c_char,
24713    ) -> *mut ASN1_INTEGER;
24714}
24715extern "C" {
24716    #[link_name = "\u{1}aws_lc_0_27_2_i2s_ASN1_ENUMERATED"]
24717    pub fn i2s_ASN1_ENUMERATED(
24718        method: *const X509V3_EXT_METHOD,
24719        aint: *const ASN1_ENUMERATED,
24720    ) -> *mut ::std::os::raw::c_char;
24721}
24722extern "C" {
24723    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_conf_free"]
24724    pub fn X509V3_conf_free(val: *mut CONF_VALUE);
24725}
24726extern "C" {
24727    #[link_name = "\u{1}aws_lc_0_27_2_i2v_GENERAL_NAME"]
24728    pub fn i2v_GENERAL_NAME(
24729        method: *const X509V3_EXT_METHOD,
24730        gen: *const GENERAL_NAME,
24731        ret: *mut stack_st_CONF_VALUE,
24732    ) -> *mut stack_st_CONF_VALUE;
24733}
24734extern "C" {
24735    #[link_name = "\u{1}aws_lc_0_27_2_i2v_GENERAL_NAMES"]
24736    pub fn i2v_GENERAL_NAMES(
24737        method: *const X509V3_EXT_METHOD,
24738        gen: *const GENERAL_NAMES,
24739        extlist: *mut stack_st_CONF_VALUE,
24740    ) -> *mut stack_st_CONF_VALUE;
24741}
24742extern "C" {
24743    #[link_name = "\u{1}aws_lc_0_27_2_a2i_IPADDRESS"]
24744    pub fn a2i_IPADDRESS(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24745}
24746extern "C" {
24747    #[link_name = "\u{1}aws_lc_0_27_2_a2i_IPADDRESS_NC"]
24748    pub fn a2i_IPADDRESS_NC(ipasc: *const ::std::os::raw::c_char) -> *mut ASN1_OCTET_STRING;
24749}
24750extern "C" {
24751    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_notBefore"]
24752    pub fn X509_get_notBefore(x509: *const X509) -> *mut ASN1_TIME;
24753}
24754extern "C" {
24755    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_notAfter"]
24756    pub fn X509_get_notAfter(x509: *const X509) -> *mut ASN1_TIME;
24757}
24758extern "C" {
24759    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_notBefore"]
24760    pub fn X509_set_notBefore(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24761}
24762extern "C" {
24763    #[link_name = "\u{1}aws_lc_0_27_2_X509_set_notAfter"]
24764    pub fn X509_set_notAfter(x509: *mut X509, tm: *const ASN1_TIME) -> ::std::os::raw::c_int;
24765}
24766extern "C" {
24767    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_lastUpdate"]
24768    pub fn X509_CRL_get_lastUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24769}
24770extern "C" {
24771    #[link_name = "\u{1}aws_lc_0_27_2_X509_CRL_get_nextUpdate"]
24772    pub fn X509_CRL_get_nextUpdate(crl: *mut X509_CRL) -> *mut ASN1_TIME;
24773}
24774extern "C" {
24775    #[link_name = "\u{1}aws_lc_0_27_2_X509_get_serialNumber"]
24776    pub fn X509_get_serialNumber(x509: *mut X509) -> *mut ASN1_INTEGER;
24777}
24778extern "C" {
24779    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get_text_by_OBJ"]
24780    pub fn X509_NAME_get_text_by_OBJ(
24781        name: *const X509_NAME,
24782        obj: *const ASN1_OBJECT,
24783        buf: *mut ::std::os::raw::c_char,
24784        len: ::std::os::raw::c_int,
24785    ) -> ::std::os::raw::c_int;
24786}
24787extern "C" {
24788    #[link_name = "\u{1}aws_lc_0_27_2_X509_NAME_get_text_by_NID"]
24789    pub fn X509_NAME_get_text_by_NID(
24790        name: *const X509_NAME,
24791        nid: ::std::os::raw::c_int,
24792        buf: *mut ::std::os::raw::c_char,
24793        len: ::std::os::raw::c_int,
24794    ) -> ::std::os::raw::c_int;
24795}
24796extern "C" {
24797    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get0_parent_ctx"]
24798    pub fn X509_STORE_CTX_get0_parent_ctx(ctx: *mut X509_STORE_CTX) -> *mut X509_STORE_CTX;
24799}
24800extern "C" {
24801    #[link_name = "\u{1}aws_lc_0_27_2_X509_LOOKUP_free"]
24802    pub fn X509_LOOKUP_free(ctx: *mut X509_LOOKUP);
24803}
24804extern "C" {
24805    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_cleanup"]
24806    pub fn X509_STORE_CTX_cleanup(ctx: *mut X509_STORE_CTX);
24807}
24808extern "C" {
24809    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_add_standard_extensions"]
24810    pub fn X509V3_add_standard_extensions() -> ::std::os::raw::c_int;
24811}
24812extern "C" {
24813    #[link_name = "\u{1}aws_lc_0_27_2_X509V3_parse_list"]
24814    pub fn X509V3_parse_list(line: *const ::std::os::raw::c_char) -> *mut stack_st_CONF_VALUE;
24815}
24816extern "C" {
24817    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_chain"]
24818    pub fn X509_STORE_CTX_get_chain(ctx: *mut X509_STORE_CTX) -> *mut stack_st_X509;
24819}
24820extern "C" {
24821    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_trusted_stack"]
24822    pub fn X509_STORE_CTX_trusted_stack(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24823}
24824pub type X509_STORE_CTX_verify_cb = ::std::option::Option<
24825    unsafe extern "C" fn(
24826        arg1: ::std::os::raw::c_int,
24827        arg2: *mut X509_STORE_CTX,
24828    ) -> ::std::os::raw::c_int,
24829>;
24830extern "C" {
24831    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_verify_cb"]
24832    pub fn X509_STORE_CTX_set_verify_cb(
24833        ctx: *mut X509_STORE_CTX,
24834        verify_cb: ::std::option::Option<
24835            unsafe extern "C" fn(
24836                ok: ::std::os::raw::c_int,
24837                ctx: *mut X509_STORE_CTX,
24838            ) -> ::std::os::raw::c_int,
24839        >,
24840    );
24841}
24842extern "C" {
24843    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_verify_cb"]
24844    pub fn X509_STORE_set_verify_cb(store: *mut X509_STORE, verify_cb: X509_STORE_CTX_verify_cb);
24845}
24846pub type X509_STORE_CTX_get_crl_fn = ::std::option::Option<
24847    unsafe extern "C" fn(
24848        ctx: *mut X509_STORE_CTX,
24849        crl: *mut *mut X509_CRL,
24850        x: *mut X509,
24851    ) -> ::std::os::raw::c_int,
24852>;
24853pub type X509_STORE_CTX_check_crl_fn = ::std::option::Option<
24854    unsafe extern "C" fn(ctx: *mut X509_STORE_CTX, crl: *mut X509_CRL) -> ::std::os::raw::c_int,
24855>;
24856extern "C" {
24857    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_get_crl"]
24858    pub fn X509_STORE_set_get_crl(store: *mut X509_STORE, get_crl: X509_STORE_CTX_get_crl_fn);
24859}
24860extern "C" {
24861    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_set_check_crl"]
24862    pub fn X509_STORE_set_check_crl(store: *mut X509_STORE, check_crl: X509_STORE_CTX_check_crl_fn);
24863}
24864extern "C" {
24865    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_set_chain"]
24866    pub fn X509_STORE_CTX_set_chain(ctx: *mut X509_STORE_CTX, sk: *mut stack_st_X509);
24867}
24868#[repr(C)]
24869#[derive(Debug, Copy, Clone, PartialEq, Eq)]
24870pub struct x509_purpose_st {
24871    pub purpose: ::std::os::raw::c_int,
24872    pub trust: ::std::os::raw::c_int,
24873    pub flags: ::std::os::raw::c_int,
24874    pub check_purpose: ::std::option::Option<
24875        unsafe extern "C" fn(
24876            arg1: *const x509_purpose_st,
24877            arg2: *const X509,
24878            arg3: ::std::os::raw::c_int,
24879        ) -> ::std::os::raw::c_int,
24880    >,
24881    pub name: *mut ::std::os::raw::c_char,
24882    pub sname: *mut ::std::os::raw::c_char,
24883    pub usr_data: *mut ::std::os::raw::c_void,
24884}
24885#[test]
24886fn bindgen_test_layout_x509_purpose_st() {
24887    const UNINIT: ::std::mem::MaybeUninit<x509_purpose_st> = ::std::mem::MaybeUninit::uninit();
24888    let ptr = UNINIT.as_ptr();
24889    assert_eq!(
24890        ::std::mem::size_of::<x509_purpose_st>(),
24891        48usize,
24892        concat!("Size of: ", stringify!(x509_purpose_st))
24893    );
24894    assert_eq!(
24895        ::std::mem::align_of::<x509_purpose_st>(),
24896        8usize,
24897        concat!("Alignment of ", stringify!(x509_purpose_st))
24898    );
24899    assert_eq!(
24900        unsafe { ::std::ptr::addr_of!((*ptr).purpose) as usize - ptr as usize },
24901        0usize,
24902        concat!(
24903            "Offset of field: ",
24904            stringify!(x509_purpose_st),
24905            "::",
24906            stringify!(purpose)
24907        )
24908    );
24909    assert_eq!(
24910        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
24911        4usize,
24912        concat!(
24913            "Offset of field: ",
24914            stringify!(x509_purpose_st),
24915            "::",
24916            stringify!(trust)
24917        )
24918    );
24919    assert_eq!(
24920        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
24921        8usize,
24922        concat!(
24923            "Offset of field: ",
24924            stringify!(x509_purpose_st),
24925            "::",
24926            stringify!(flags)
24927        )
24928    );
24929    assert_eq!(
24930        unsafe { ::std::ptr::addr_of!((*ptr).check_purpose) as usize - ptr as usize },
24931        16usize,
24932        concat!(
24933            "Offset of field: ",
24934            stringify!(x509_purpose_st),
24935            "::",
24936            stringify!(check_purpose)
24937        )
24938    );
24939    assert_eq!(
24940        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
24941        24usize,
24942        concat!(
24943            "Offset of field: ",
24944            stringify!(x509_purpose_st),
24945            "::",
24946            stringify!(name)
24947        )
24948    );
24949    assert_eq!(
24950        unsafe { ::std::ptr::addr_of!((*ptr).sname) as usize - ptr as usize },
24951        32usize,
24952        concat!(
24953            "Offset of field: ",
24954            stringify!(x509_purpose_st),
24955            "::",
24956            stringify!(sname)
24957        )
24958    );
24959    assert_eq!(
24960        unsafe { ::std::ptr::addr_of!((*ptr).usr_data) as usize - ptr as usize },
24961        40usize,
24962        concat!(
24963            "Offset of field: ",
24964            stringify!(x509_purpose_st),
24965            "::",
24966            stringify!(usr_data)
24967        )
24968    );
24969}
24970impl Default for x509_purpose_st {
24971    fn default() -> Self {
24972        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
24973        unsafe {
24974            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
24975            s.assume_init()
24976        }
24977    }
24978}
24979pub type X509_PURPOSE = x509_purpose_st;
24980#[repr(C)]
24981#[derive(Debug, Copy, Clone)]
24982pub struct stack_st_X509_PURPOSE {
24983    _unused: [u8; 0],
24984}
24985pub type sk_X509_PURPOSE_free_func =
24986    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_PURPOSE)>;
24987pub type sk_X509_PURPOSE_copy_func =
24988    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_PURPOSE) -> *mut X509_PURPOSE>;
24989pub type sk_X509_PURPOSE_cmp_func = ::std::option::Option<
24990    unsafe extern "C" fn(
24991        arg1: *const *const X509_PURPOSE,
24992        arg2: *const *const X509_PURPOSE,
24993    ) -> ::std::os::raw::c_int,
24994>;
24995pub type sk_X509_PURPOSE_delete_if_func = ::std::option::Option<
24996    unsafe extern "C" fn(
24997        arg1: *mut X509_PURPOSE,
24998        arg2: *mut ::std::os::raw::c_void,
24999    ) -> ::std::os::raw::c_int,
25000>;
25001extern "C" {
25002    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_get0_objects"]
25003    pub fn X509_STORE_get0_objects(store: *mut X509_STORE) -> *mut stack_st_X509_OBJECT;
25004}
25005extern "C" {
25006    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get_by_sname"]
25007    pub fn X509_PURPOSE_get_by_sname(sname: *const ::std::os::raw::c_char)
25008        -> ::std::os::raw::c_int;
25009}
25010extern "C" {
25011    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get0"]
25012    pub fn X509_PURPOSE_get0(id: ::std::os::raw::c_int) -> *const X509_PURPOSE;
25013}
25014extern "C" {
25015    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get_id"]
25016    pub fn X509_PURPOSE_get_id(purpose: *const X509_PURPOSE) -> ::std::os::raw::c_int;
25017}
25018#[repr(C)]
25019#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25020pub struct X509_algor_st {
25021    pub algorithm: *mut ASN1_OBJECT,
25022    pub parameter: *mut ASN1_TYPE,
25023}
25024#[test]
25025fn bindgen_test_layout_X509_algor_st() {
25026    const UNINIT: ::std::mem::MaybeUninit<X509_algor_st> = ::std::mem::MaybeUninit::uninit();
25027    let ptr = UNINIT.as_ptr();
25028    assert_eq!(
25029        ::std::mem::size_of::<X509_algor_st>(),
25030        16usize,
25031        concat!("Size of: ", stringify!(X509_algor_st))
25032    );
25033    assert_eq!(
25034        ::std::mem::align_of::<X509_algor_st>(),
25035        8usize,
25036        concat!("Alignment of ", stringify!(X509_algor_st))
25037    );
25038    assert_eq!(
25039        unsafe { ::std::ptr::addr_of!((*ptr).algorithm) as usize - ptr as usize },
25040        0usize,
25041        concat!(
25042            "Offset of field: ",
25043            stringify!(X509_algor_st),
25044            "::",
25045            stringify!(algorithm)
25046        )
25047    );
25048    assert_eq!(
25049        unsafe { ::std::ptr::addr_of!((*ptr).parameter) as usize - ptr as usize },
25050        8usize,
25051        concat!(
25052            "Offset of field: ",
25053            stringify!(X509_algor_st),
25054            "::",
25055            stringify!(parameter)
25056        )
25057    );
25058}
25059impl Default for X509_algor_st {
25060    fn default() -> Self {
25061        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25062        unsafe {
25063            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25064            s.assume_init()
25065        }
25066    }
25067}
25068#[repr(C)]
25069#[derive(Debug, Copy, Clone)]
25070pub struct stack_st_DIST_POINT {
25071    _unused: [u8; 0],
25072}
25073#[repr(C)]
25074#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25075pub struct x509_trust_st {
25076    pub trust: ::std::os::raw::c_int,
25077    pub flags: ::std::os::raw::c_int,
25078    pub check_trust: ::std::option::Option<
25079        unsafe extern "C" fn(arg1: *const X509_TRUST, arg2: *mut X509) -> ::std::os::raw::c_int,
25080    >,
25081    pub name: *mut ::std::os::raw::c_char,
25082    pub arg1: ::std::os::raw::c_int,
25083    pub arg2: *mut ::std::os::raw::c_void,
25084}
25085#[test]
25086fn bindgen_test_layout_x509_trust_st() {
25087    const UNINIT: ::std::mem::MaybeUninit<x509_trust_st> = ::std::mem::MaybeUninit::uninit();
25088    let ptr = UNINIT.as_ptr();
25089    assert_eq!(
25090        ::std::mem::size_of::<x509_trust_st>(),
25091        40usize,
25092        concat!("Size of: ", stringify!(x509_trust_st))
25093    );
25094    assert_eq!(
25095        ::std::mem::align_of::<x509_trust_st>(),
25096        8usize,
25097        concat!("Alignment of ", stringify!(x509_trust_st))
25098    );
25099    assert_eq!(
25100        unsafe { ::std::ptr::addr_of!((*ptr).trust) as usize - ptr as usize },
25101        0usize,
25102        concat!(
25103            "Offset of field: ",
25104            stringify!(x509_trust_st),
25105            "::",
25106            stringify!(trust)
25107        )
25108    );
25109    assert_eq!(
25110        unsafe { ::std::ptr::addr_of!((*ptr).flags) as usize - ptr as usize },
25111        4usize,
25112        concat!(
25113            "Offset of field: ",
25114            stringify!(x509_trust_st),
25115            "::",
25116            stringify!(flags)
25117        )
25118    );
25119    assert_eq!(
25120        unsafe { ::std::ptr::addr_of!((*ptr).check_trust) as usize - ptr as usize },
25121        8usize,
25122        concat!(
25123            "Offset of field: ",
25124            stringify!(x509_trust_st),
25125            "::",
25126            stringify!(check_trust)
25127        )
25128    );
25129    assert_eq!(
25130        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25131        16usize,
25132        concat!(
25133            "Offset of field: ",
25134            stringify!(x509_trust_st),
25135            "::",
25136            stringify!(name)
25137        )
25138    );
25139    assert_eq!(
25140        unsafe { ::std::ptr::addr_of!((*ptr).arg1) as usize - ptr as usize },
25141        24usize,
25142        concat!(
25143            "Offset of field: ",
25144            stringify!(x509_trust_st),
25145            "::",
25146            stringify!(arg1)
25147        )
25148    );
25149    assert_eq!(
25150        unsafe { ::std::ptr::addr_of!((*ptr).arg2) as usize - ptr as usize },
25151        32usize,
25152        concat!(
25153            "Offset of field: ",
25154            stringify!(x509_trust_st),
25155            "::",
25156            stringify!(arg2)
25157        )
25158    );
25159}
25160impl Default for x509_trust_st {
25161    fn default() -> Self {
25162        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25163        unsafe {
25164            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25165            s.assume_init()
25166        }
25167    }
25168}
25169#[repr(C)]
25170#[derive(Debug, Copy, Clone)]
25171pub struct stack_st_X509_TRUST {
25172    _unused: [u8; 0],
25173}
25174pub type sk_X509_TRUST_free_func =
25175    ::std::option::Option<unsafe extern "C" fn(arg1: *mut X509_TRUST)>;
25176pub type sk_X509_TRUST_copy_func =
25177    ::std::option::Option<unsafe extern "C" fn(arg1: *const X509_TRUST) -> *mut X509_TRUST>;
25178pub type sk_X509_TRUST_cmp_func = ::std::option::Option<
25179    unsafe extern "C" fn(
25180        arg1: *const *const X509_TRUST,
25181        arg2: *const *const X509_TRUST,
25182    ) -> ::std::os::raw::c_int,
25183>;
25184pub type sk_X509_TRUST_delete_if_func = ::std::option::Option<
25185    unsafe extern "C" fn(
25186        arg1: *mut X509_TRUST,
25187        arg2: *mut ::std::os::raw::c_void,
25188    ) -> ::std::os::raw::c_int,
25189>;
25190extern "C" {
25191    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_set"]
25192    pub fn X509_TRUST_set(
25193        t: *mut ::std::os::raw::c_int,
25194        trust: ::std::os::raw::c_int,
25195    ) -> ::std::os::raw::c_int;
25196}
25197extern "C" {
25198    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get_count"]
25199    pub fn X509_TRUST_get_count() -> ::std::os::raw::c_int;
25200}
25201extern "C" {
25202    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get0"]
25203    pub fn X509_TRUST_get0(idx: ::std::os::raw::c_int) -> *const X509_TRUST;
25204}
25205extern "C" {
25206    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get_by_id"]
25207    pub fn X509_TRUST_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
25208}
25209extern "C" {
25210    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get_flags"]
25211    pub fn X509_TRUST_get_flags(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25212}
25213extern "C" {
25214    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get0_name"]
25215    pub fn X509_TRUST_get0_name(xp: *const X509_TRUST) -> *mut ::std::os::raw::c_char;
25216}
25217extern "C" {
25218    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_get_trust"]
25219    pub fn X509_TRUST_get_trust(xp: *const X509_TRUST) -> ::std::os::raw::c_int;
25220}
25221extern "C" {
25222    #[link_name = "\u{1}aws_lc_0_27_2_X509_TRUST_cleanup"]
25223    pub fn X509_TRUST_cleanup();
25224}
25225extern "C" {
25226    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_get0_X509_CRL"]
25227    pub fn X509_OBJECT_get0_X509_CRL(a: *const X509_OBJECT) -> *mut X509_CRL;
25228}
25229extern "C" {
25230    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_set1_X509"]
25231    pub fn X509_OBJECT_set1_X509(a: *mut X509_OBJECT, obj: *mut X509) -> ::std::os::raw::c_int;
25232}
25233extern "C" {
25234    #[link_name = "\u{1}aws_lc_0_27_2_X509_OBJECT_set1_X509_CRL"]
25235    pub fn X509_OBJECT_set1_X509_CRL(
25236        a: *mut X509_OBJECT,
25237        obj: *mut X509_CRL,
25238    ) -> ::std::os::raw::c_int;
25239}
25240extern "C" {
25241    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_lock"]
25242    pub fn X509_STORE_lock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25243}
25244extern "C" {
25245    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_unlock"]
25246    pub fn X509_STORE_unlock(v: *mut X509_STORE) -> ::std::os::raw::c_int;
25247}
25248extern "C" {
25249    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get1_certs"]
25250    pub fn X509_STORE_CTX_get1_certs(
25251        st: *mut X509_STORE_CTX,
25252        nm: *mut X509_NAME,
25253    ) -> *mut stack_st_X509;
25254}
25255extern "C" {
25256    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get1_crls"]
25257    pub fn X509_STORE_CTX_get1_crls(
25258        st: *mut X509_STORE_CTX,
25259        nm: *mut X509_NAME,
25260    ) -> *mut stack_st_X509_CRL;
25261}
25262extern "C" {
25263    #[link_name = "\u{1}aws_lc_0_27_2_X509_STORE_CTX_get_by_subject"]
25264    pub fn X509_STORE_CTX_get_by_subject(
25265        vs: *mut X509_STORE_CTX,
25266        type_: ::std::os::raw::c_int,
25267        name: *mut X509_NAME,
25268        ret: *mut X509_OBJECT,
25269    ) -> ::std::os::raw::c_int;
25270}
25271#[repr(C)]
25272#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25273pub struct BASIC_CONSTRAINTS_st {
25274    pub ca: ASN1_BOOLEAN,
25275    pub pathlen: *mut ASN1_INTEGER,
25276}
25277#[test]
25278fn bindgen_test_layout_BASIC_CONSTRAINTS_st() {
25279    const UNINIT: ::std::mem::MaybeUninit<BASIC_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
25280    let ptr = UNINIT.as_ptr();
25281    assert_eq!(
25282        ::std::mem::size_of::<BASIC_CONSTRAINTS_st>(),
25283        16usize,
25284        concat!("Size of: ", stringify!(BASIC_CONSTRAINTS_st))
25285    );
25286    assert_eq!(
25287        ::std::mem::align_of::<BASIC_CONSTRAINTS_st>(),
25288        8usize,
25289        concat!("Alignment of ", stringify!(BASIC_CONSTRAINTS_st))
25290    );
25291    assert_eq!(
25292        unsafe { ::std::ptr::addr_of!((*ptr).ca) as usize - ptr as usize },
25293        0usize,
25294        concat!(
25295            "Offset of field: ",
25296            stringify!(BASIC_CONSTRAINTS_st),
25297            "::",
25298            stringify!(ca)
25299        )
25300    );
25301    assert_eq!(
25302        unsafe { ::std::ptr::addr_of!((*ptr).pathlen) as usize - ptr as usize },
25303        8usize,
25304        concat!(
25305            "Offset of field: ",
25306            stringify!(BASIC_CONSTRAINTS_st),
25307            "::",
25308            stringify!(pathlen)
25309        )
25310    );
25311}
25312impl Default for BASIC_CONSTRAINTS_st {
25313    fn default() -> Self {
25314        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25315        unsafe {
25316            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25317            s.assume_init()
25318        }
25319    }
25320}
25321#[repr(C)]
25322#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25323pub struct ACCESS_DESCRIPTION_st {
25324    pub method: *mut ASN1_OBJECT,
25325    pub location: *mut GENERAL_NAME,
25326}
25327#[test]
25328fn bindgen_test_layout_ACCESS_DESCRIPTION_st() {
25329    const UNINIT: ::std::mem::MaybeUninit<ACCESS_DESCRIPTION_st> =
25330        ::std::mem::MaybeUninit::uninit();
25331    let ptr = UNINIT.as_ptr();
25332    assert_eq!(
25333        ::std::mem::size_of::<ACCESS_DESCRIPTION_st>(),
25334        16usize,
25335        concat!("Size of: ", stringify!(ACCESS_DESCRIPTION_st))
25336    );
25337    assert_eq!(
25338        ::std::mem::align_of::<ACCESS_DESCRIPTION_st>(),
25339        8usize,
25340        concat!("Alignment of ", stringify!(ACCESS_DESCRIPTION_st))
25341    );
25342    assert_eq!(
25343        unsafe { ::std::ptr::addr_of!((*ptr).method) as usize - ptr as usize },
25344        0usize,
25345        concat!(
25346            "Offset of field: ",
25347            stringify!(ACCESS_DESCRIPTION_st),
25348            "::",
25349            stringify!(method)
25350        )
25351    );
25352    assert_eq!(
25353        unsafe { ::std::ptr::addr_of!((*ptr).location) as usize - ptr as usize },
25354        8usize,
25355        concat!(
25356            "Offset of field: ",
25357            stringify!(ACCESS_DESCRIPTION_st),
25358            "::",
25359            stringify!(location)
25360        )
25361    );
25362}
25363impl Default for ACCESS_DESCRIPTION_st {
25364    fn default() -> Self {
25365        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25366        unsafe {
25367            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25368            s.assume_init()
25369        }
25370    }
25371}
25372pub type ACCESS_DESCRIPTION = ACCESS_DESCRIPTION_st;
25373#[repr(C)]
25374#[derive(Debug, Copy, Clone)]
25375pub struct stack_st_ACCESS_DESCRIPTION {
25376    _unused: [u8; 0],
25377}
25378pub type sk_ACCESS_DESCRIPTION_free_func =
25379    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ACCESS_DESCRIPTION)>;
25380pub type sk_ACCESS_DESCRIPTION_copy_func = ::std::option::Option<
25381    unsafe extern "C" fn(arg1: *const ACCESS_DESCRIPTION) -> *mut ACCESS_DESCRIPTION,
25382>;
25383pub type sk_ACCESS_DESCRIPTION_cmp_func = ::std::option::Option<
25384    unsafe extern "C" fn(
25385        arg1: *const *const ACCESS_DESCRIPTION,
25386        arg2: *const *const ACCESS_DESCRIPTION,
25387    ) -> ::std::os::raw::c_int,
25388>;
25389pub type sk_ACCESS_DESCRIPTION_delete_if_func = ::std::option::Option<
25390    unsafe extern "C" fn(
25391        arg1: *mut ACCESS_DESCRIPTION,
25392        arg2: *mut ::std::os::raw::c_void,
25393    ) -> ::std::os::raw::c_int,
25394>;
25395pub type AUTHORITY_INFO_ACCESS = stack_st_ACCESS_DESCRIPTION;
25396pub type EXTENDED_KEY_USAGE = stack_st_ASN1_OBJECT;
25397#[repr(C)]
25398#[derive(Copy, Clone)]
25399pub struct DIST_POINT_NAME_st {
25400    pub type_: ::std::os::raw::c_int,
25401    pub name: DIST_POINT_NAME_st__bindgen_ty_1,
25402    pub dpname: *mut X509_NAME,
25403}
25404#[repr(C)]
25405#[derive(Copy, Clone)]
25406pub union DIST_POINT_NAME_st__bindgen_ty_1 {
25407    pub fullname: *mut GENERAL_NAMES,
25408    pub relativename: *mut stack_st_X509_NAME_ENTRY,
25409}
25410#[test]
25411fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1() {
25412    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st__bindgen_ty_1> =
25413        ::std::mem::MaybeUninit::uninit();
25414    let ptr = UNINIT.as_ptr();
25415    assert_eq!(
25416        ::std::mem::size_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25417        8usize,
25418        concat!("Size of: ", stringify!(DIST_POINT_NAME_st__bindgen_ty_1))
25419    );
25420    assert_eq!(
25421        ::std::mem::align_of::<DIST_POINT_NAME_st__bindgen_ty_1>(),
25422        8usize,
25423        concat!(
25424            "Alignment of ",
25425            stringify!(DIST_POINT_NAME_st__bindgen_ty_1)
25426        )
25427    );
25428    assert_eq!(
25429        unsafe { ::std::ptr::addr_of!((*ptr).fullname) as usize - ptr as usize },
25430        0usize,
25431        concat!(
25432            "Offset of field: ",
25433            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25434            "::",
25435            stringify!(fullname)
25436        )
25437    );
25438    assert_eq!(
25439        unsafe { ::std::ptr::addr_of!((*ptr).relativename) as usize - ptr as usize },
25440        0usize,
25441        concat!(
25442            "Offset of field: ",
25443            stringify!(DIST_POINT_NAME_st__bindgen_ty_1),
25444            "::",
25445            stringify!(relativename)
25446        )
25447    );
25448}
25449impl Default for DIST_POINT_NAME_st__bindgen_ty_1 {
25450    fn default() -> Self {
25451        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25452        unsafe {
25453            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25454            s.assume_init()
25455        }
25456    }
25457}
25458#[test]
25459fn bindgen_test_layout_DIST_POINT_NAME_st() {
25460    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_NAME_st> = ::std::mem::MaybeUninit::uninit();
25461    let ptr = UNINIT.as_ptr();
25462    assert_eq!(
25463        ::std::mem::size_of::<DIST_POINT_NAME_st>(),
25464        24usize,
25465        concat!("Size of: ", stringify!(DIST_POINT_NAME_st))
25466    );
25467    assert_eq!(
25468        ::std::mem::align_of::<DIST_POINT_NAME_st>(),
25469        8usize,
25470        concat!("Alignment of ", stringify!(DIST_POINT_NAME_st))
25471    );
25472    assert_eq!(
25473        unsafe { ::std::ptr::addr_of!((*ptr).type_) as usize - ptr as usize },
25474        0usize,
25475        concat!(
25476            "Offset of field: ",
25477            stringify!(DIST_POINT_NAME_st),
25478            "::",
25479            stringify!(type_)
25480        )
25481    );
25482    assert_eq!(
25483        unsafe { ::std::ptr::addr_of!((*ptr).name) as usize - ptr as usize },
25484        8usize,
25485        concat!(
25486            "Offset of field: ",
25487            stringify!(DIST_POINT_NAME_st),
25488            "::",
25489            stringify!(name)
25490        )
25491    );
25492    assert_eq!(
25493        unsafe { ::std::ptr::addr_of!((*ptr).dpname) as usize - ptr as usize },
25494        16usize,
25495        concat!(
25496            "Offset of field: ",
25497            stringify!(DIST_POINT_NAME_st),
25498            "::",
25499            stringify!(dpname)
25500        )
25501    );
25502}
25503impl Default for DIST_POINT_NAME_st {
25504    fn default() -> Self {
25505        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25506        unsafe {
25507            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25508            s.assume_init()
25509        }
25510    }
25511}
25512pub type DIST_POINT_NAME = DIST_POINT_NAME_st;
25513#[repr(C)]
25514#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25515pub struct DIST_POINT_st {
25516    pub distpoint: *mut DIST_POINT_NAME,
25517    pub reasons: *mut ASN1_BIT_STRING,
25518    pub CRLissuer: *mut GENERAL_NAMES,
25519}
25520#[test]
25521fn bindgen_test_layout_DIST_POINT_st() {
25522    const UNINIT: ::std::mem::MaybeUninit<DIST_POINT_st> = ::std::mem::MaybeUninit::uninit();
25523    let ptr = UNINIT.as_ptr();
25524    assert_eq!(
25525        ::std::mem::size_of::<DIST_POINT_st>(),
25526        24usize,
25527        concat!("Size of: ", stringify!(DIST_POINT_st))
25528    );
25529    assert_eq!(
25530        ::std::mem::align_of::<DIST_POINT_st>(),
25531        8usize,
25532        concat!("Alignment of ", stringify!(DIST_POINT_st))
25533    );
25534    assert_eq!(
25535        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
25536        0usize,
25537        concat!(
25538            "Offset of field: ",
25539            stringify!(DIST_POINT_st),
25540            "::",
25541            stringify!(distpoint)
25542        )
25543    );
25544    assert_eq!(
25545        unsafe { ::std::ptr::addr_of!((*ptr).reasons) as usize - ptr as usize },
25546        8usize,
25547        concat!(
25548            "Offset of field: ",
25549            stringify!(DIST_POINT_st),
25550            "::",
25551            stringify!(reasons)
25552        )
25553    );
25554    assert_eq!(
25555        unsafe { ::std::ptr::addr_of!((*ptr).CRLissuer) as usize - ptr as usize },
25556        16usize,
25557        concat!(
25558            "Offset of field: ",
25559            stringify!(DIST_POINT_st),
25560            "::",
25561            stringify!(CRLissuer)
25562        )
25563    );
25564}
25565impl Default for DIST_POINT_st {
25566    fn default() -> Self {
25567        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25568        unsafe {
25569            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25570            s.assume_init()
25571        }
25572    }
25573}
25574pub type CRL_DIST_POINTS = stack_st_DIST_POINT;
25575pub type sk_DIST_POINT_free_func =
25576    ::std::option::Option<unsafe extern "C" fn(arg1: *mut DIST_POINT)>;
25577pub type sk_DIST_POINT_copy_func =
25578    ::std::option::Option<unsafe extern "C" fn(arg1: *const DIST_POINT) -> *mut DIST_POINT>;
25579pub type sk_DIST_POINT_cmp_func = ::std::option::Option<
25580    unsafe extern "C" fn(
25581        arg1: *const *const DIST_POINT,
25582        arg2: *const *const DIST_POINT,
25583    ) -> ::std::os::raw::c_int,
25584>;
25585pub type sk_DIST_POINT_delete_if_func = ::std::option::Option<
25586    unsafe extern "C" fn(
25587        arg1: *mut DIST_POINT,
25588        arg2: *mut ::std::os::raw::c_void,
25589    ) -> ::std::os::raw::c_int,
25590>;
25591#[repr(C)]
25592#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25593pub struct AUTHORITY_KEYID_st {
25594    pub keyid: *mut ASN1_OCTET_STRING,
25595    pub issuer: *mut GENERAL_NAMES,
25596    pub serial: *mut ASN1_INTEGER,
25597}
25598#[test]
25599fn bindgen_test_layout_AUTHORITY_KEYID_st() {
25600    const UNINIT: ::std::mem::MaybeUninit<AUTHORITY_KEYID_st> = ::std::mem::MaybeUninit::uninit();
25601    let ptr = UNINIT.as_ptr();
25602    assert_eq!(
25603        ::std::mem::size_of::<AUTHORITY_KEYID_st>(),
25604        24usize,
25605        concat!("Size of: ", stringify!(AUTHORITY_KEYID_st))
25606    );
25607    assert_eq!(
25608        ::std::mem::align_of::<AUTHORITY_KEYID_st>(),
25609        8usize,
25610        concat!("Alignment of ", stringify!(AUTHORITY_KEYID_st))
25611    );
25612    assert_eq!(
25613        unsafe { ::std::ptr::addr_of!((*ptr).keyid) as usize - ptr as usize },
25614        0usize,
25615        concat!(
25616            "Offset of field: ",
25617            stringify!(AUTHORITY_KEYID_st),
25618            "::",
25619            stringify!(keyid)
25620        )
25621    );
25622    assert_eq!(
25623        unsafe { ::std::ptr::addr_of!((*ptr).issuer) as usize - ptr as usize },
25624        8usize,
25625        concat!(
25626            "Offset of field: ",
25627            stringify!(AUTHORITY_KEYID_st),
25628            "::",
25629            stringify!(issuer)
25630        )
25631    );
25632    assert_eq!(
25633        unsafe { ::std::ptr::addr_of!((*ptr).serial) as usize - ptr as usize },
25634        16usize,
25635        concat!(
25636            "Offset of field: ",
25637            stringify!(AUTHORITY_KEYID_st),
25638            "::",
25639            stringify!(serial)
25640        )
25641    );
25642}
25643impl Default for AUTHORITY_KEYID_st {
25644    fn default() -> Self {
25645        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25646        unsafe {
25647            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25648            s.assume_init()
25649        }
25650    }
25651}
25652#[repr(C)]
25653#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25654pub struct NOTICEREF_st {
25655    pub organization: *mut ASN1_STRING,
25656    pub noticenos: *mut stack_st_ASN1_INTEGER,
25657}
25658#[test]
25659fn bindgen_test_layout_NOTICEREF_st() {
25660    const UNINIT: ::std::mem::MaybeUninit<NOTICEREF_st> = ::std::mem::MaybeUninit::uninit();
25661    let ptr = UNINIT.as_ptr();
25662    assert_eq!(
25663        ::std::mem::size_of::<NOTICEREF_st>(),
25664        16usize,
25665        concat!("Size of: ", stringify!(NOTICEREF_st))
25666    );
25667    assert_eq!(
25668        ::std::mem::align_of::<NOTICEREF_st>(),
25669        8usize,
25670        concat!("Alignment of ", stringify!(NOTICEREF_st))
25671    );
25672    assert_eq!(
25673        unsafe { ::std::ptr::addr_of!((*ptr).organization) as usize - ptr as usize },
25674        0usize,
25675        concat!(
25676            "Offset of field: ",
25677            stringify!(NOTICEREF_st),
25678            "::",
25679            stringify!(organization)
25680        )
25681    );
25682    assert_eq!(
25683        unsafe { ::std::ptr::addr_of!((*ptr).noticenos) as usize - ptr as usize },
25684        8usize,
25685        concat!(
25686            "Offset of field: ",
25687            stringify!(NOTICEREF_st),
25688            "::",
25689            stringify!(noticenos)
25690        )
25691    );
25692}
25693impl Default for NOTICEREF_st {
25694    fn default() -> Self {
25695        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25696        unsafe {
25697            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25698            s.assume_init()
25699        }
25700    }
25701}
25702pub type NOTICEREF = NOTICEREF_st;
25703#[repr(C)]
25704#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25705pub struct USERNOTICE_st {
25706    pub noticeref: *mut NOTICEREF,
25707    pub exptext: *mut ASN1_STRING,
25708}
25709#[test]
25710fn bindgen_test_layout_USERNOTICE_st() {
25711    const UNINIT: ::std::mem::MaybeUninit<USERNOTICE_st> = ::std::mem::MaybeUninit::uninit();
25712    let ptr = UNINIT.as_ptr();
25713    assert_eq!(
25714        ::std::mem::size_of::<USERNOTICE_st>(),
25715        16usize,
25716        concat!("Size of: ", stringify!(USERNOTICE_st))
25717    );
25718    assert_eq!(
25719        ::std::mem::align_of::<USERNOTICE_st>(),
25720        8usize,
25721        concat!("Alignment of ", stringify!(USERNOTICE_st))
25722    );
25723    assert_eq!(
25724        unsafe { ::std::ptr::addr_of!((*ptr).noticeref) as usize - ptr as usize },
25725        0usize,
25726        concat!(
25727            "Offset of field: ",
25728            stringify!(USERNOTICE_st),
25729            "::",
25730            stringify!(noticeref)
25731        )
25732    );
25733    assert_eq!(
25734        unsafe { ::std::ptr::addr_of!((*ptr).exptext) as usize - ptr as usize },
25735        8usize,
25736        concat!(
25737            "Offset of field: ",
25738            stringify!(USERNOTICE_st),
25739            "::",
25740            stringify!(exptext)
25741        )
25742    );
25743}
25744impl Default for USERNOTICE_st {
25745    fn default() -> Self {
25746        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25747        unsafe {
25748            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25749            s.assume_init()
25750        }
25751    }
25752}
25753pub type USERNOTICE = USERNOTICE_st;
25754#[repr(C)]
25755#[derive(Copy, Clone)]
25756pub struct POLICYQUALINFO_st {
25757    pub pqualid: *mut ASN1_OBJECT,
25758    pub d: POLICYQUALINFO_st__bindgen_ty_1,
25759}
25760#[repr(C)]
25761#[derive(Copy, Clone)]
25762pub union POLICYQUALINFO_st__bindgen_ty_1 {
25763    pub cpsuri: *mut ASN1_IA5STRING,
25764    pub usernotice: *mut USERNOTICE,
25765    pub other: *mut ASN1_TYPE,
25766}
25767#[test]
25768fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1() {
25769    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st__bindgen_ty_1> =
25770        ::std::mem::MaybeUninit::uninit();
25771    let ptr = UNINIT.as_ptr();
25772    assert_eq!(
25773        ::std::mem::size_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
25774        8usize,
25775        concat!("Size of: ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
25776    );
25777    assert_eq!(
25778        ::std::mem::align_of::<POLICYQUALINFO_st__bindgen_ty_1>(),
25779        8usize,
25780        concat!("Alignment of ", stringify!(POLICYQUALINFO_st__bindgen_ty_1))
25781    );
25782    assert_eq!(
25783        unsafe { ::std::ptr::addr_of!((*ptr).cpsuri) as usize - ptr as usize },
25784        0usize,
25785        concat!(
25786            "Offset of field: ",
25787            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25788            "::",
25789            stringify!(cpsuri)
25790        )
25791    );
25792    assert_eq!(
25793        unsafe { ::std::ptr::addr_of!((*ptr).usernotice) as usize - ptr as usize },
25794        0usize,
25795        concat!(
25796            "Offset of field: ",
25797            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25798            "::",
25799            stringify!(usernotice)
25800        )
25801    );
25802    assert_eq!(
25803        unsafe { ::std::ptr::addr_of!((*ptr).other) as usize - ptr as usize },
25804        0usize,
25805        concat!(
25806            "Offset of field: ",
25807            stringify!(POLICYQUALINFO_st__bindgen_ty_1),
25808            "::",
25809            stringify!(other)
25810        )
25811    );
25812}
25813impl Default for POLICYQUALINFO_st__bindgen_ty_1 {
25814    fn default() -> Self {
25815        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25816        unsafe {
25817            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25818            s.assume_init()
25819        }
25820    }
25821}
25822#[test]
25823fn bindgen_test_layout_POLICYQUALINFO_st() {
25824    const UNINIT: ::std::mem::MaybeUninit<POLICYQUALINFO_st> = ::std::mem::MaybeUninit::uninit();
25825    let ptr = UNINIT.as_ptr();
25826    assert_eq!(
25827        ::std::mem::size_of::<POLICYQUALINFO_st>(),
25828        16usize,
25829        concat!("Size of: ", stringify!(POLICYQUALINFO_st))
25830    );
25831    assert_eq!(
25832        ::std::mem::align_of::<POLICYQUALINFO_st>(),
25833        8usize,
25834        concat!("Alignment of ", stringify!(POLICYQUALINFO_st))
25835    );
25836    assert_eq!(
25837        unsafe { ::std::ptr::addr_of!((*ptr).pqualid) as usize - ptr as usize },
25838        0usize,
25839        concat!(
25840            "Offset of field: ",
25841            stringify!(POLICYQUALINFO_st),
25842            "::",
25843            stringify!(pqualid)
25844        )
25845    );
25846    assert_eq!(
25847        unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
25848        8usize,
25849        concat!(
25850            "Offset of field: ",
25851            stringify!(POLICYQUALINFO_st),
25852            "::",
25853            stringify!(d)
25854        )
25855    );
25856}
25857impl Default for POLICYQUALINFO_st {
25858    fn default() -> Self {
25859        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25860        unsafe {
25861            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25862            s.assume_init()
25863        }
25864    }
25865}
25866pub type POLICYQUALINFO = POLICYQUALINFO_st;
25867#[repr(C)]
25868#[derive(Debug, Copy, Clone)]
25869pub struct stack_st_POLICYQUALINFO {
25870    _unused: [u8; 0],
25871}
25872pub type sk_POLICYQUALINFO_free_func =
25873    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYQUALINFO)>;
25874pub type sk_POLICYQUALINFO_copy_func =
25875    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYQUALINFO) -> *mut POLICYQUALINFO>;
25876pub type sk_POLICYQUALINFO_cmp_func = ::std::option::Option<
25877    unsafe extern "C" fn(
25878        arg1: *const *const POLICYQUALINFO,
25879        arg2: *const *const POLICYQUALINFO,
25880    ) -> ::std::os::raw::c_int,
25881>;
25882pub type sk_POLICYQUALINFO_delete_if_func = ::std::option::Option<
25883    unsafe extern "C" fn(
25884        arg1: *mut POLICYQUALINFO,
25885        arg2: *mut ::std::os::raw::c_void,
25886    ) -> ::std::os::raw::c_int,
25887>;
25888#[repr(C)]
25889#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25890pub struct POLICYINFO_st {
25891    pub policyid: *mut ASN1_OBJECT,
25892    pub qualifiers: *mut stack_st_POLICYQUALINFO,
25893}
25894#[test]
25895fn bindgen_test_layout_POLICYINFO_st() {
25896    const UNINIT: ::std::mem::MaybeUninit<POLICYINFO_st> = ::std::mem::MaybeUninit::uninit();
25897    let ptr = UNINIT.as_ptr();
25898    assert_eq!(
25899        ::std::mem::size_of::<POLICYINFO_st>(),
25900        16usize,
25901        concat!("Size of: ", stringify!(POLICYINFO_st))
25902    );
25903    assert_eq!(
25904        ::std::mem::align_of::<POLICYINFO_st>(),
25905        8usize,
25906        concat!("Alignment of ", stringify!(POLICYINFO_st))
25907    );
25908    assert_eq!(
25909        unsafe { ::std::ptr::addr_of!((*ptr).policyid) as usize - ptr as usize },
25910        0usize,
25911        concat!(
25912            "Offset of field: ",
25913            stringify!(POLICYINFO_st),
25914            "::",
25915            stringify!(policyid)
25916        )
25917    );
25918    assert_eq!(
25919        unsafe { ::std::ptr::addr_of!((*ptr).qualifiers) as usize - ptr as usize },
25920        8usize,
25921        concat!(
25922            "Offset of field: ",
25923            stringify!(POLICYINFO_st),
25924            "::",
25925            stringify!(qualifiers)
25926        )
25927    );
25928}
25929impl Default for POLICYINFO_st {
25930    fn default() -> Self {
25931        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
25932        unsafe {
25933            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
25934            s.assume_init()
25935        }
25936    }
25937}
25938pub type POLICYINFO = POLICYINFO_st;
25939#[repr(C)]
25940#[derive(Debug, Copy, Clone)]
25941pub struct stack_st_POLICYINFO {
25942    _unused: [u8; 0],
25943}
25944pub type CERTIFICATEPOLICIES = stack_st_POLICYINFO;
25945pub type sk_POLICYINFO_free_func =
25946    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICYINFO)>;
25947pub type sk_POLICYINFO_copy_func =
25948    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICYINFO) -> *mut POLICYINFO>;
25949pub type sk_POLICYINFO_cmp_func = ::std::option::Option<
25950    unsafe extern "C" fn(
25951        arg1: *const *const POLICYINFO,
25952        arg2: *const *const POLICYINFO,
25953    ) -> ::std::os::raw::c_int,
25954>;
25955pub type sk_POLICYINFO_delete_if_func = ::std::option::Option<
25956    unsafe extern "C" fn(
25957        arg1: *mut POLICYINFO,
25958        arg2: *mut ::std::os::raw::c_void,
25959    ) -> ::std::os::raw::c_int,
25960>;
25961#[repr(C)]
25962#[derive(Debug, Copy, Clone, PartialEq, Eq)]
25963pub struct POLICY_MAPPING_st {
25964    pub issuerDomainPolicy: *mut ASN1_OBJECT,
25965    pub subjectDomainPolicy: *mut ASN1_OBJECT,
25966}
25967#[test]
25968fn bindgen_test_layout_POLICY_MAPPING_st() {
25969    const UNINIT: ::std::mem::MaybeUninit<POLICY_MAPPING_st> = ::std::mem::MaybeUninit::uninit();
25970    let ptr = UNINIT.as_ptr();
25971    assert_eq!(
25972        ::std::mem::size_of::<POLICY_MAPPING_st>(),
25973        16usize,
25974        concat!("Size of: ", stringify!(POLICY_MAPPING_st))
25975    );
25976    assert_eq!(
25977        ::std::mem::align_of::<POLICY_MAPPING_st>(),
25978        8usize,
25979        concat!("Alignment of ", stringify!(POLICY_MAPPING_st))
25980    );
25981    assert_eq!(
25982        unsafe { ::std::ptr::addr_of!((*ptr).issuerDomainPolicy) as usize - ptr as usize },
25983        0usize,
25984        concat!(
25985            "Offset of field: ",
25986            stringify!(POLICY_MAPPING_st),
25987            "::",
25988            stringify!(issuerDomainPolicy)
25989        )
25990    );
25991    assert_eq!(
25992        unsafe { ::std::ptr::addr_of!((*ptr).subjectDomainPolicy) as usize - ptr as usize },
25993        8usize,
25994        concat!(
25995            "Offset of field: ",
25996            stringify!(POLICY_MAPPING_st),
25997            "::",
25998            stringify!(subjectDomainPolicy)
25999        )
26000    );
26001}
26002impl Default for POLICY_MAPPING_st {
26003    fn default() -> Self {
26004        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26005        unsafe {
26006            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26007            s.assume_init()
26008        }
26009    }
26010}
26011pub type POLICY_MAPPING = POLICY_MAPPING_st;
26012#[repr(C)]
26013#[derive(Debug, Copy, Clone)]
26014pub struct stack_st_POLICY_MAPPING {
26015    _unused: [u8; 0],
26016}
26017pub type sk_POLICY_MAPPING_free_func =
26018    ::std::option::Option<unsafe extern "C" fn(arg1: *mut POLICY_MAPPING)>;
26019pub type sk_POLICY_MAPPING_copy_func =
26020    ::std::option::Option<unsafe extern "C" fn(arg1: *const POLICY_MAPPING) -> *mut POLICY_MAPPING>;
26021pub type sk_POLICY_MAPPING_cmp_func = ::std::option::Option<
26022    unsafe extern "C" fn(
26023        arg1: *const *const POLICY_MAPPING,
26024        arg2: *const *const POLICY_MAPPING,
26025    ) -> ::std::os::raw::c_int,
26026>;
26027pub type sk_POLICY_MAPPING_delete_if_func = ::std::option::Option<
26028    unsafe extern "C" fn(
26029        arg1: *mut POLICY_MAPPING,
26030        arg2: *mut ::std::os::raw::c_void,
26031    ) -> ::std::os::raw::c_int,
26032>;
26033pub type POLICY_MAPPINGS = stack_st_POLICY_MAPPING;
26034#[repr(C)]
26035#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26036pub struct GENERAL_SUBTREE_st {
26037    pub base: *mut GENERAL_NAME,
26038    pub minimum: *mut ASN1_INTEGER,
26039    pub maximum: *mut ASN1_INTEGER,
26040}
26041#[test]
26042fn bindgen_test_layout_GENERAL_SUBTREE_st() {
26043    const UNINIT: ::std::mem::MaybeUninit<GENERAL_SUBTREE_st> = ::std::mem::MaybeUninit::uninit();
26044    let ptr = UNINIT.as_ptr();
26045    assert_eq!(
26046        ::std::mem::size_of::<GENERAL_SUBTREE_st>(),
26047        24usize,
26048        concat!("Size of: ", stringify!(GENERAL_SUBTREE_st))
26049    );
26050    assert_eq!(
26051        ::std::mem::align_of::<GENERAL_SUBTREE_st>(),
26052        8usize,
26053        concat!("Alignment of ", stringify!(GENERAL_SUBTREE_st))
26054    );
26055    assert_eq!(
26056        unsafe { ::std::ptr::addr_of!((*ptr).base) as usize - ptr as usize },
26057        0usize,
26058        concat!(
26059            "Offset of field: ",
26060            stringify!(GENERAL_SUBTREE_st),
26061            "::",
26062            stringify!(base)
26063        )
26064    );
26065    assert_eq!(
26066        unsafe { ::std::ptr::addr_of!((*ptr).minimum) as usize - ptr as usize },
26067        8usize,
26068        concat!(
26069            "Offset of field: ",
26070            stringify!(GENERAL_SUBTREE_st),
26071            "::",
26072            stringify!(minimum)
26073        )
26074    );
26075    assert_eq!(
26076        unsafe { ::std::ptr::addr_of!((*ptr).maximum) as usize - ptr as usize },
26077        16usize,
26078        concat!(
26079            "Offset of field: ",
26080            stringify!(GENERAL_SUBTREE_st),
26081            "::",
26082            stringify!(maximum)
26083        )
26084    );
26085}
26086impl Default for GENERAL_SUBTREE_st {
26087    fn default() -> Self {
26088        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26089        unsafe {
26090            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26091            s.assume_init()
26092        }
26093    }
26094}
26095pub type GENERAL_SUBTREE = GENERAL_SUBTREE_st;
26096#[repr(C)]
26097#[derive(Debug, Copy, Clone)]
26098pub struct stack_st_GENERAL_SUBTREE {
26099    _unused: [u8; 0],
26100}
26101pub type sk_GENERAL_SUBTREE_free_func =
26102    ::std::option::Option<unsafe extern "C" fn(arg1: *mut GENERAL_SUBTREE)>;
26103pub type sk_GENERAL_SUBTREE_copy_func = ::std::option::Option<
26104    unsafe extern "C" fn(arg1: *const GENERAL_SUBTREE) -> *mut GENERAL_SUBTREE,
26105>;
26106pub type sk_GENERAL_SUBTREE_cmp_func = ::std::option::Option<
26107    unsafe extern "C" fn(
26108        arg1: *const *const GENERAL_SUBTREE,
26109        arg2: *const *const GENERAL_SUBTREE,
26110    ) -> ::std::os::raw::c_int,
26111>;
26112pub type sk_GENERAL_SUBTREE_delete_if_func = ::std::option::Option<
26113    unsafe extern "C" fn(
26114        arg1: *mut GENERAL_SUBTREE,
26115        arg2: *mut ::std::os::raw::c_void,
26116    ) -> ::std::os::raw::c_int,
26117>;
26118#[repr(C)]
26119#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26120pub struct NAME_CONSTRAINTS_st {
26121    pub permittedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26122    pub excludedSubtrees: *mut stack_st_GENERAL_SUBTREE,
26123}
26124#[test]
26125fn bindgen_test_layout_NAME_CONSTRAINTS_st() {
26126    const UNINIT: ::std::mem::MaybeUninit<NAME_CONSTRAINTS_st> = ::std::mem::MaybeUninit::uninit();
26127    let ptr = UNINIT.as_ptr();
26128    assert_eq!(
26129        ::std::mem::size_of::<NAME_CONSTRAINTS_st>(),
26130        16usize,
26131        concat!("Size of: ", stringify!(NAME_CONSTRAINTS_st))
26132    );
26133    assert_eq!(
26134        ::std::mem::align_of::<NAME_CONSTRAINTS_st>(),
26135        8usize,
26136        concat!("Alignment of ", stringify!(NAME_CONSTRAINTS_st))
26137    );
26138    assert_eq!(
26139        unsafe { ::std::ptr::addr_of!((*ptr).permittedSubtrees) as usize - ptr as usize },
26140        0usize,
26141        concat!(
26142            "Offset of field: ",
26143            stringify!(NAME_CONSTRAINTS_st),
26144            "::",
26145            stringify!(permittedSubtrees)
26146        )
26147    );
26148    assert_eq!(
26149        unsafe { ::std::ptr::addr_of!((*ptr).excludedSubtrees) as usize - ptr as usize },
26150        8usize,
26151        concat!(
26152            "Offset of field: ",
26153            stringify!(NAME_CONSTRAINTS_st),
26154            "::",
26155            stringify!(excludedSubtrees)
26156        )
26157    );
26158}
26159impl Default for NAME_CONSTRAINTS_st {
26160    fn default() -> Self {
26161        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26162        unsafe {
26163            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26164            s.assume_init()
26165        }
26166    }
26167}
26168#[repr(C)]
26169#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26170pub struct POLICY_CONSTRAINTS_st {
26171    pub requireExplicitPolicy: *mut ASN1_INTEGER,
26172    pub inhibitPolicyMapping: *mut ASN1_INTEGER,
26173}
26174#[test]
26175fn bindgen_test_layout_POLICY_CONSTRAINTS_st() {
26176    const UNINIT: ::std::mem::MaybeUninit<POLICY_CONSTRAINTS_st> =
26177        ::std::mem::MaybeUninit::uninit();
26178    let ptr = UNINIT.as_ptr();
26179    assert_eq!(
26180        ::std::mem::size_of::<POLICY_CONSTRAINTS_st>(),
26181        16usize,
26182        concat!("Size of: ", stringify!(POLICY_CONSTRAINTS_st))
26183    );
26184    assert_eq!(
26185        ::std::mem::align_of::<POLICY_CONSTRAINTS_st>(),
26186        8usize,
26187        concat!("Alignment of ", stringify!(POLICY_CONSTRAINTS_st))
26188    );
26189    assert_eq!(
26190        unsafe { ::std::ptr::addr_of!((*ptr).requireExplicitPolicy) as usize - ptr as usize },
26191        0usize,
26192        concat!(
26193            "Offset of field: ",
26194            stringify!(POLICY_CONSTRAINTS_st),
26195            "::",
26196            stringify!(requireExplicitPolicy)
26197        )
26198    );
26199    assert_eq!(
26200        unsafe { ::std::ptr::addr_of!((*ptr).inhibitPolicyMapping) as usize - ptr as usize },
26201        8usize,
26202        concat!(
26203            "Offset of field: ",
26204            stringify!(POLICY_CONSTRAINTS_st),
26205            "::",
26206            stringify!(inhibitPolicyMapping)
26207        )
26208    );
26209}
26210impl Default for POLICY_CONSTRAINTS_st {
26211    fn default() -> Self {
26212        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26213        unsafe {
26214            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26215            s.assume_init()
26216        }
26217    }
26218}
26219pub type POLICY_CONSTRAINTS = POLICY_CONSTRAINTS_st;
26220#[repr(C)]
26221#[derive(Debug, Copy, Clone, PartialEq, Eq)]
26222pub struct ISSUING_DIST_POINT_st {
26223    pub distpoint: *mut DIST_POINT_NAME,
26224    pub onlyuser: ASN1_BOOLEAN,
26225    pub onlyCA: ASN1_BOOLEAN,
26226    pub onlysomereasons: *mut ASN1_BIT_STRING,
26227    pub indirectCRL: ASN1_BOOLEAN,
26228    pub onlyattr: ASN1_BOOLEAN,
26229}
26230#[test]
26231fn bindgen_test_layout_ISSUING_DIST_POINT_st() {
26232    const UNINIT: ::std::mem::MaybeUninit<ISSUING_DIST_POINT_st> =
26233        ::std::mem::MaybeUninit::uninit();
26234    let ptr = UNINIT.as_ptr();
26235    assert_eq!(
26236        ::std::mem::size_of::<ISSUING_DIST_POINT_st>(),
26237        32usize,
26238        concat!("Size of: ", stringify!(ISSUING_DIST_POINT_st))
26239    );
26240    assert_eq!(
26241        ::std::mem::align_of::<ISSUING_DIST_POINT_st>(),
26242        8usize,
26243        concat!("Alignment of ", stringify!(ISSUING_DIST_POINT_st))
26244    );
26245    assert_eq!(
26246        unsafe { ::std::ptr::addr_of!((*ptr).distpoint) as usize - ptr as usize },
26247        0usize,
26248        concat!(
26249            "Offset of field: ",
26250            stringify!(ISSUING_DIST_POINT_st),
26251            "::",
26252            stringify!(distpoint)
26253        )
26254    );
26255    assert_eq!(
26256        unsafe { ::std::ptr::addr_of!((*ptr).onlyuser) as usize - ptr as usize },
26257        8usize,
26258        concat!(
26259            "Offset of field: ",
26260            stringify!(ISSUING_DIST_POINT_st),
26261            "::",
26262            stringify!(onlyuser)
26263        )
26264    );
26265    assert_eq!(
26266        unsafe { ::std::ptr::addr_of!((*ptr).onlyCA) as usize - ptr as usize },
26267        12usize,
26268        concat!(
26269            "Offset of field: ",
26270            stringify!(ISSUING_DIST_POINT_st),
26271            "::",
26272            stringify!(onlyCA)
26273        )
26274    );
26275    assert_eq!(
26276        unsafe { ::std::ptr::addr_of!((*ptr).onlysomereasons) as usize - ptr as usize },
26277        16usize,
26278        concat!(
26279            "Offset of field: ",
26280            stringify!(ISSUING_DIST_POINT_st),
26281            "::",
26282            stringify!(onlysomereasons)
26283        )
26284    );
26285    assert_eq!(
26286        unsafe { ::std::ptr::addr_of!((*ptr).indirectCRL) as usize - ptr as usize },
26287        24usize,
26288        concat!(
26289            "Offset of field: ",
26290            stringify!(ISSUING_DIST_POINT_st),
26291            "::",
26292            stringify!(indirectCRL)
26293        )
26294    );
26295    assert_eq!(
26296        unsafe { ::std::ptr::addr_of!((*ptr).onlyattr) as usize - ptr as usize },
26297        28usize,
26298        concat!(
26299            "Offset of field: ",
26300            stringify!(ISSUING_DIST_POINT_st),
26301            "::",
26302            stringify!(onlyattr)
26303        )
26304    );
26305}
26306impl Default for ISSUING_DIST_POINT_st {
26307    fn default() -> Self {
26308        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
26309        unsafe {
26310            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
26311            s.assume_init()
26312        }
26313    }
26314}
26315extern "C" {
26316    #[link_name = "\u{1}aws_lc_0_27_2_BASIC_CONSTRAINTS_it"]
26317    pub static BASIC_CONSTRAINTS_it: ASN1_ITEM;
26318}
26319extern "C" {
26320    #[link_name = "\u{1}aws_lc_0_27_2_BASIC_CONSTRAINTS_new"]
26321    pub fn BASIC_CONSTRAINTS_new() -> *mut BASIC_CONSTRAINTS;
26322}
26323extern "C" {
26324    #[link_name = "\u{1}aws_lc_0_27_2_BASIC_CONSTRAINTS_free"]
26325    pub fn BASIC_CONSTRAINTS_free(bcons: *mut BASIC_CONSTRAINTS);
26326}
26327extern "C" {
26328    #[link_name = "\u{1}aws_lc_0_27_2_d2i_BASIC_CONSTRAINTS"]
26329    pub fn d2i_BASIC_CONSTRAINTS(
26330        out: *mut *mut BASIC_CONSTRAINTS,
26331        inp: *mut *const u8,
26332        len: ::std::os::raw::c_long,
26333    ) -> *mut BASIC_CONSTRAINTS;
26334}
26335extern "C" {
26336    #[link_name = "\u{1}aws_lc_0_27_2_i2d_BASIC_CONSTRAINTS"]
26337    pub fn i2d_BASIC_CONSTRAINTS(
26338        bcons: *const BASIC_CONSTRAINTS,
26339        outp: *mut *mut u8,
26340    ) -> ::std::os::raw::c_int;
26341}
26342extern "C" {
26343    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_KEYID_it"]
26344    pub static AUTHORITY_KEYID_it: ASN1_ITEM;
26345}
26346extern "C" {
26347    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_KEYID_new"]
26348    pub fn AUTHORITY_KEYID_new() -> *mut AUTHORITY_KEYID;
26349}
26350extern "C" {
26351    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_KEYID_free"]
26352    pub fn AUTHORITY_KEYID_free(akid: *mut AUTHORITY_KEYID);
26353}
26354extern "C" {
26355    #[link_name = "\u{1}aws_lc_0_27_2_d2i_AUTHORITY_KEYID"]
26356    pub fn d2i_AUTHORITY_KEYID(
26357        out: *mut *mut AUTHORITY_KEYID,
26358        inp: *mut *const u8,
26359        len: ::std::os::raw::c_long,
26360    ) -> *mut AUTHORITY_KEYID;
26361}
26362extern "C" {
26363    #[link_name = "\u{1}aws_lc_0_27_2_i2d_AUTHORITY_KEYID"]
26364    pub fn i2d_AUTHORITY_KEYID(
26365        akid: *mut AUTHORITY_KEYID,
26366        outp: *mut *mut u8,
26367    ) -> ::std::os::raw::c_int;
26368}
26369extern "C" {
26370    #[link_name = "\u{1}aws_lc_0_27_2_EXTENDED_KEY_USAGE_it"]
26371    pub static EXTENDED_KEY_USAGE_it: ASN1_ITEM;
26372}
26373extern "C" {
26374    #[link_name = "\u{1}aws_lc_0_27_2_EXTENDED_KEY_USAGE_new"]
26375    pub fn EXTENDED_KEY_USAGE_new() -> *mut EXTENDED_KEY_USAGE;
26376}
26377extern "C" {
26378    #[link_name = "\u{1}aws_lc_0_27_2_EXTENDED_KEY_USAGE_free"]
26379    pub fn EXTENDED_KEY_USAGE_free(eku: *mut EXTENDED_KEY_USAGE);
26380}
26381extern "C" {
26382    #[link_name = "\u{1}aws_lc_0_27_2_d2i_EXTENDED_KEY_USAGE"]
26383    pub fn d2i_EXTENDED_KEY_USAGE(
26384        out: *mut *mut EXTENDED_KEY_USAGE,
26385        inp: *mut *const u8,
26386        len: ::std::os::raw::c_long,
26387    ) -> *mut EXTENDED_KEY_USAGE;
26388}
26389extern "C" {
26390    #[link_name = "\u{1}aws_lc_0_27_2_i2d_EXTENDED_KEY_USAGE"]
26391    pub fn i2d_EXTENDED_KEY_USAGE(
26392        eku: *const EXTENDED_KEY_USAGE,
26393        outp: *mut *mut u8,
26394    ) -> ::std::os::raw::c_int;
26395}
26396extern "C" {
26397    #[link_name = "\u{1}aws_lc_0_27_2_CERTIFICATEPOLICIES_it"]
26398    pub static CERTIFICATEPOLICIES_it: ASN1_ITEM;
26399}
26400extern "C" {
26401    #[link_name = "\u{1}aws_lc_0_27_2_CERTIFICATEPOLICIES_new"]
26402    pub fn CERTIFICATEPOLICIES_new() -> *mut CERTIFICATEPOLICIES;
26403}
26404extern "C" {
26405    #[link_name = "\u{1}aws_lc_0_27_2_CERTIFICATEPOLICIES_free"]
26406    pub fn CERTIFICATEPOLICIES_free(policies: *mut CERTIFICATEPOLICIES);
26407}
26408extern "C" {
26409    #[link_name = "\u{1}aws_lc_0_27_2_d2i_CERTIFICATEPOLICIES"]
26410    pub fn d2i_CERTIFICATEPOLICIES(
26411        out: *mut *mut CERTIFICATEPOLICIES,
26412        inp: *mut *const u8,
26413        len: ::std::os::raw::c_long,
26414    ) -> *mut CERTIFICATEPOLICIES;
26415}
26416extern "C" {
26417    #[link_name = "\u{1}aws_lc_0_27_2_i2d_CERTIFICATEPOLICIES"]
26418    pub fn i2d_CERTIFICATEPOLICIES(
26419        policies: *const CERTIFICATEPOLICIES,
26420        outp: *mut *mut u8,
26421    ) -> ::std::os::raw::c_int;
26422}
26423extern "C" {
26424    #[link_name = "\u{1}aws_lc_0_27_2_POLICYINFO_new"]
26425    pub fn POLICYINFO_new() -> *mut POLICYINFO;
26426}
26427extern "C" {
26428    #[link_name = "\u{1}aws_lc_0_27_2_POLICYINFO_free"]
26429    pub fn POLICYINFO_free(info: *mut POLICYINFO);
26430}
26431extern "C" {
26432    #[link_name = "\u{1}aws_lc_0_27_2_POLICYQUALINFO_new"]
26433    pub fn POLICYQUALINFO_new() -> *mut POLICYQUALINFO;
26434}
26435extern "C" {
26436    #[link_name = "\u{1}aws_lc_0_27_2_POLICYQUALINFO_free"]
26437    pub fn POLICYQUALINFO_free(info: *mut POLICYQUALINFO);
26438}
26439extern "C" {
26440    #[link_name = "\u{1}aws_lc_0_27_2_USERNOTICE_new"]
26441    pub fn USERNOTICE_new() -> *mut USERNOTICE;
26442}
26443extern "C" {
26444    #[link_name = "\u{1}aws_lc_0_27_2_USERNOTICE_free"]
26445    pub fn USERNOTICE_free(notice: *mut USERNOTICE);
26446}
26447extern "C" {
26448    #[link_name = "\u{1}aws_lc_0_27_2_NOTICEREF_new"]
26449    pub fn NOTICEREF_new() -> *mut NOTICEREF;
26450}
26451extern "C" {
26452    #[link_name = "\u{1}aws_lc_0_27_2_NOTICEREF_free"]
26453    pub fn NOTICEREF_free(ref_: *mut NOTICEREF);
26454}
26455extern "C" {
26456    #[link_name = "\u{1}aws_lc_0_27_2_CRL_DIST_POINTS_it"]
26457    pub static CRL_DIST_POINTS_it: ASN1_ITEM;
26458}
26459extern "C" {
26460    #[link_name = "\u{1}aws_lc_0_27_2_CRL_DIST_POINTS_new"]
26461    pub fn CRL_DIST_POINTS_new() -> *mut CRL_DIST_POINTS;
26462}
26463extern "C" {
26464    #[link_name = "\u{1}aws_lc_0_27_2_CRL_DIST_POINTS_free"]
26465    pub fn CRL_DIST_POINTS_free(crldp: *mut CRL_DIST_POINTS);
26466}
26467extern "C" {
26468    #[link_name = "\u{1}aws_lc_0_27_2_d2i_CRL_DIST_POINTS"]
26469    pub fn d2i_CRL_DIST_POINTS(
26470        out: *mut *mut CRL_DIST_POINTS,
26471        inp: *mut *const u8,
26472        len: ::std::os::raw::c_long,
26473    ) -> *mut CRL_DIST_POINTS;
26474}
26475extern "C" {
26476    #[link_name = "\u{1}aws_lc_0_27_2_i2d_CRL_DIST_POINTS"]
26477    pub fn i2d_CRL_DIST_POINTS(
26478        crldp: *mut CRL_DIST_POINTS,
26479        outp: *mut *mut u8,
26480    ) -> ::std::os::raw::c_int;
26481}
26482extern "C" {
26483    #[link_name = "\u{1}aws_lc_0_27_2_DIST_POINT_new"]
26484    pub fn DIST_POINT_new() -> *mut DIST_POINT;
26485}
26486extern "C" {
26487    #[link_name = "\u{1}aws_lc_0_27_2_DIST_POINT_free"]
26488    pub fn DIST_POINT_free(dp: *mut DIST_POINT);
26489}
26490extern "C" {
26491    #[link_name = "\u{1}aws_lc_0_27_2_DIST_POINT_NAME_new"]
26492    pub fn DIST_POINT_NAME_new() -> *mut DIST_POINT_NAME;
26493}
26494extern "C" {
26495    #[link_name = "\u{1}aws_lc_0_27_2_DIST_POINT_NAME_free"]
26496    pub fn DIST_POINT_NAME_free(name: *mut DIST_POINT_NAME);
26497}
26498extern "C" {
26499    #[link_name = "\u{1}aws_lc_0_27_2_ISSUING_DIST_POINT_it"]
26500    pub static ISSUING_DIST_POINT_it: ASN1_ITEM;
26501}
26502extern "C" {
26503    #[link_name = "\u{1}aws_lc_0_27_2_ISSUING_DIST_POINT_new"]
26504    pub fn ISSUING_DIST_POINT_new() -> *mut ISSUING_DIST_POINT;
26505}
26506extern "C" {
26507    #[link_name = "\u{1}aws_lc_0_27_2_ISSUING_DIST_POINT_free"]
26508    pub fn ISSUING_DIST_POINT_free(idp: *mut ISSUING_DIST_POINT);
26509}
26510extern "C" {
26511    #[link_name = "\u{1}aws_lc_0_27_2_d2i_ISSUING_DIST_POINT"]
26512    pub fn d2i_ISSUING_DIST_POINT(
26513        out: *mut *mut ISSUING_DIST_POINT,
26514        inp: *mut *const u8,
26515        len: ::std::os::raw::c_long,
26516    ) -> *mut ISSUING_DIST_POINT;
26517}
26518extern "C" {
26519    #[link_name = "\u{1}aws_lc_0_27_2_i2d_ISSUING_DIST_POINT"]
26520    pub fn i2d_ISSUING_DIST_POINT(
26521        idp: *mut ISSUING_DIST_POINT,
26522        outp: *mut *mut u8,
26523    ) -> ::std::os::raw::c_int;
26524}
26525extern "C" {
26526    #[link_name = "\u{1}aws_lc_0_27_2_ACCESS_DESCRIPTION_new"]
26527    pub fn ACCESS_DESCRIPTION_new() -> *mut ACCESS_DESCRIPTION;
26528}
26529extern "C" {
26530    #[link_name = "\u{1}aws_lc_0_27_2_ACCESS_DESCRIPTION_free"]
26531    pub fn ACCESS_DESCRIPTION_free(desc: *mut ACCESS_DESCRIPTION);
26532}
26533extern "C" {
26534    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_INFO_ACCESS_it"]
26535    pub static AUTHORITY_INFO_ACCESS_it: ASN1_ITEM;
26536}
26537extern "C" {
26538    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_INFO_ACCESS_new"]
26539    pub fn AUTHORITY_INFO_ACCESS_new() -> *mut AUTHORITY_INFO_ACCESS;
26540}
26541extern "C" {
26542    #[link_name = "\u{1}aws_lc_0_27_2_AUTHORITY_INFO_ACCESS_free"]
26543    pub fn AUTHORITY_INFO_ACCESS_free(aia: *mut AUTHORITY_INFO_ACCESS);
26544}
26545extern "C" {
26546    #[link_name = "\u{1}aws_lc_0_27_2_d2i_AUTHORITY_INFO_ACCESS"]
26547    pub fn d2i_AUTHORITY_INFO_ACCESS(
26548        out: *mut *mut AUTHORITY_INFO_ACCESS,
26549        inp: *mut *const u8,
26550        len: ::std::os::raw::c_long,
26551    ) -> *mut AUTHORITY_INFO_ACCESS;
26552}
26553extern "C" {
26554    #[link_name = "\u{1}aws_lc_0_27_2_i2d_AUTHORITY_INFO_ACCESS"]
26555    pub fn i2d_AUTHORITY_INFO_ACCESS(
26556        aia: *mut AUTHORITY_INFO_ACCESS,
26557        outp: *mut *mut u8,
26558    ) -> ::std::os::raw::c_int;
26559}
26560extern "C" {
26561    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_MAPPING_new"]
26562    pub fn POLICY_MAPPING_new() -> *mut POLICY_MAPPING;
26563}
26564extern "C" {
26565    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_MAPPING_free"]
26566    pub fn POLICY_MAPPING_free(mapping: *mut POLICY_MAPPING);
26567}
26568extern "C" {
26569    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_MAPPINGS_it"]
26570    pub static POLICY_MAPPINGS_it: ASN1_ITEM;
26571}
26572extern "C" {
26573    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_SUBTREE_new"]
26574    pub fn GENERAL_SUBTREE_new() -> *mut GENERAL_SUBTREE;
26575}
26576extern "C" {
26577    #[link_name = "\u{1}aws_lc_0_27_2_GENERAL_SUBTREE_free"]
26578    pub fn GENERAL_SUBTREE_free(subtree: *mut GENERAL_SUBTREE);
26579}
26580extern "C" {
26581    #[link_name = "\u{1}aws_lc_0_27_2_NAME_CONSTRAINTS_it"]
26582    pub static NAME_CONSTRAINTS_it: ASN1_ITEM;
26583}
26584extern "C" {
26585    #[link_name = "\u{1}aws_lc_0_27_2_NAME_CONSTRAINTS_new"]
26586    pub fn NAME_CONSTRAINTS_new() -> *mut NAME_CONSTRAINTS;
26587}
26588extern "C" {
26589    #[link_name = "\u{1}aws_lc_0_27_2_NAME_CONSTRAINTS_free"]
26590    pub fn NAME_CONSTRAINTS_free(ncons: *mut NAME_CONSTRAINTS);
26591}
26592extern "C" {
26593    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_CONSTRAINTS_new"]
26594    pub fn POLICY_CONSTRAINTS_new() -> *mut POLICY_CONSTRAINTS;
26595}
26596extern "C" {
26597    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_CONSTRAINTS_free"]
26598    pub fn POLICY_CONSTRAINTS_free(pcons: *mut POLICY_CONSTRAINTS);
26599}
26600extern "C" {
26601    #[link_name = "\u{1}aws_lc_0_27_2_POLICY_CONSTRAINTS_it"]
26602    pub static POLICY_CONSTRAINTS_it: ASN1_ITEM;
26603}
26604extern "C" {
26605    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_set"]
26606    pub fn X509_PURPOSE_set(
26607        p: *mut ::std::os::raw::c_int,
26608        purpose: ::std::os::raw::c_int,
26609    ) -> ::std::os::raw::c_int;
26610}
26611extern "C" {
26612    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get_count"]
26613    pub fn X509_PURPOSE_get_count() -> ::std::os::raw::c_int;
26614}
26615extern "C" {
26616    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get_by_id"]
26617    pub fn X509_PURPOSE_get_by_id(id: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
26618}
26619extern "C" {
26620    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get0_name"]
26621    pub fn X509_PURPOSE_get0_name(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26622}
26623extern "C" {
26624    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get0_sname"]
26625    pub fn X509_PURPOSE_get0_sname(xp: *const X509_PURPOSE) -> *mut ::std::os::raw::c_char;
26626}
26627extern "C" {
26628    #[link_name = "\u{1}aws_lc_0_27_2_X509_PURPOSE_get_trust"]
26629    pub fn X509_PURPOSE_get_trust(xp: *const X509_PURPOSE) -> ::std::os::raw::c_int;
26630}
26631#[repr(C)]
26632#[derive(Debug, Copy, Clone)]
26633pub struct ocsp_cert_id_st {
26634    _unused: [u8; 0],
26635}
26636pub type OCSP_CERTID = ocsp_cert_id_st;
26637#[repr(C)]
26638#[derive(Debug, Copy, Clone)]
26639pub struct ocsp_one_request_st {
26640    _unused: [u8; 0],
26641}
26642pub type OCSP_ONEREQ = ocsp_one_request_st;
26643#[repr(C)]
26644#[derive(Debug, Copy, Clone)]
26645pub struct ocsp_req_info_st {
26646    _unused: [u8; 0],
26647}
26648pub type OCSP_REQINFO = ocsp_req_info_st;
26649#[repr(C)]
26650#[derive(Debug, Copy, Clone)]
26651pub struct ocsp_signature_st {
26652    _unused: [u8; 0],
26653}
26654pub type OCSP_SIGNATURE = ocsp_signature_st;
26655#[repr(C)]
26656#[derive(Debug, Copy, Clone)]
26657pub struct ocsp_request_st {
26658    _unused: [u8; 0],
26659}
26660pub type OCSP_REQUEST = ocsp_request_st;
26661#[repr(C)]
26662#[derive(Debug, Copy, Clone)]
26663pub struct ocsp_resp_bytes_st {
26664    _unused: [u8; 0],
26665}
26666pub type OCSP_RESPBYTES = ocsp_resp_bytes_st;
26667#[repr(C)]
26668#[derive(Debug, Copy, Clone)]
26669pub struct ocsp_revoked_info_st {
26670    _unused: [u8; 0],
26671}
26672pub type OCSP_REVOKEDINFO = ocsp_revoked_info_st;
26673#[repr(C)]
26674#[derive(Debug, Copy, Clone)]
26675pub struct ocsp_cert_status_st {
26676    _unused: [u8; 0],
26677}
26678pub type OCSP_CERTSTATUS = ocsp_cert_status_st;
26679#[repr(C)]
26680#[derive(Debug, Copy, Clone)]
26681pub struct ocsp_single_response_st {
26682    _unused: [u8; 0],
26683}
26684pub type OCSP_SINGLERESP = ocsp_single_response_st;
26685#[repr(C)]
26686#[derive(Debug, Copy, Clone)]
26687pub struct ocsp_response_data_st {
26688    _unused: [u8; 0],
26689}
26690pub type OCSP_RESPDATA = ocsp_response_data_st;
26691#[repr(C)]
26692#[derive(Debug, Copy, Clone)]
26693pub struct ocsp_response_st {
26694    _unused: [u8; 0],
26695}
26696pub type OCSP_RESPONSE = ocsp_response_st;
26697#[repr(C)]
26698#[derive(Debug, Copy, Clone)]
26699pub struct ocsp_responder_id_st {
26700    _unused: [u8; 0],
26701}
26702pub type OCSP_RESPID = ocsp_responder_id_st;
26703#[repr(C)]
26704#[derive(Debug, Copy, Clone)]
26705pub struct ocsp_basic_response_st {
26706    _unused: [u8; 0],
26707}
26708pub type OCSP_BASICRESP = ocsp_basic_response_st;
26709#[repr(C)]
26710#[derive(Debug, Copy, Clone)]
26711pub struct stack_st_OCSP_CERTID {
26712    _unused: [u8; 0],
26713}
26714pub type sk_OCSP_CERTID_free_func =
26715    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_CERTID)>;
26716pub type sk_OCSP_CERTID_copy_func =
26717    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_CERTID) -> *mut OCSP_CERTID>;
26718pub type sk_OCSP_CERTID_cmp_func = ::std::option::Option<
26719    unsafe extern "C" fn(
26720        arg1: *const *const OCSP_CERTID,
26721        arg2: *const *const OCSP_CERTID,
26722    ) -> ::std::os::raw::c_int,
26723>;
26724pub type sk_OCSP_CERTID_delete_if_func = ::std::option::Option<
26725    unsafe extern "C" fn(
26726        arg1: *mut OCSP_CERTID,
26727        arg2: *mut ::std::os::raw::c_void,
26728    ) -> ::std::os::raw::c_int,
26729>;
26730#[repr(C)]
26731#[derive(Debug, Copy, Clone)]
26732pub struct stack_st_OCSP_ONEREQ {
26733    _unused: [u8; 0],
26734}
26735pub type sk_OCSP_ONEREQ_free_func =
26736    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_ONEREQ)>;
26737pub type sk_OCSP_ONEREQ_copy_func =
26738    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_ONEREQ) -> *mut OCSP_ONEREQ>;
26739pub type sk_OCSP_ONEREQ_cmp_func = ::std::option::Option<
26740    unsafe extern "C" fn(
26741        arg1: *const *const OCSP_ONEREQ,
26742        arg2: *const *const OCSP_ONEREQ,
26743    ) -> ::std::os::raw::c_int,
26744>;
26745pub type sk_OCSP_ONEREQ_delete_if_func = ::std::option::Option<
26746    unsafe extern "C" fn(
26747        arg1: *mut OCSP_ONEREQ,
26748        arg2: *mut ::std::os::raw::c_void,
26749    ) -> ::std::os::raw::c_int,
26750>;
26751#[repr(C)]
26752#[derive(Debug, Copy, Clone)]
26753pub struct stack_st_OCSP_RESPID {
26754    _unused: [u8; 0],
26755}
26756pub type sk_OCSP_RESPID_free_func =
26757    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_RESPID)>;
26758pub type sk_OCSP_RESPID_copy_func =
26759    ::std::option::Option<unsafe extern "C" fn(arg1: *const OCSP_RESPID) -> *mut OCSP_RESPID>;
26760pub type sk_OCSP_RESPID_cmp_func = ::std::option::Option<
26761    unsafe extern "C" fn(
26762        arg1: *const *const OCSP_RESPID,
26763        arg2: *const *const OCSP_RESPID,
26764    ) -> ::std::os::raw::c_int,
26765>;
26766pub type sk_OCSP_RESPID_delete_if_func = ::std::option::Option<
26767    unsafe extern "C" fn(
26768        arg1: *mut OCSP_RESPID,
26769        arg2: *mut ::std::os::raw::c_void,
26770    ) -> ::std::os::raw::c_int,
26771>;
26772#[repr(C)]
26773#[derive(Debug, Copy, Clone)]
26774pub struct stack_st_OCSP_SINGLERESP {
26775    _unused: [u8; 0],
26776}
26777pub type sk_OCSP_SINGLERESP_free_func =
26778    ::std::option::Option<unsafe extern "C" fn(arg1: *mut OCSP_SINGLERESP)>;
26779pub type sk_OCSP_SINGLERESP_copy_func = ::std::option::Option<
26780    unsafe extern "C" fn(arg1: *const OCSP_SINGLERESP) -> *mut OCSP_SINGLERESP,
26781>;
26782pub type sk_OCSP_SINGLERESP_cmp_func = ::std::option::Option<
26783    unsafe extern "C" fn(
26784        arg1: *const *const OCSP_SINGLERESP,
26785        arg2: *const *const OCSP_SINGLERESP,
26786    ) -> ::std::os::raw::c_int,
26787>;
26788pub type sk_OCSP_SINGLERESP_delete_if_func = ::std::option::Option<
26789    unsafe extern "C" fn(
26790        arg1: *mut OCSP_SINGLERESP,
26791        arg2: *mut ::std::os::raw::c_void,
26792    ) -> ::std::os::raw::c_int,
26793>;
26794extern "C" {
26795    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_new"]
26796    pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
26797}
26798extern "C" {
26799    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_free"]
26800    pub fn OCSP_BASICRESP_free(a: *mut OCSP_BASICRESP);
26801}
26802extern "C" {
26803    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_BASICRESP"]
26804    pub fn d2i_OCSP_BASICRESP(
26805        a: *mut *mut OCSP_BASICRESP,
26806        in_: *mut *const ::std::os::raw::c_uchar,
26807        len: ::std::os::raw::c_long,
26808    ) -> *mut OCSP_BASICRESP;
26809}
26810extern "C" {
26811    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_BASICRESP"]
26812    pub fn i2d_OCSP_BASICRESP(
26813        a: *mut OCSP_BASICRESP,
26814        out: *mut *mut ::std::os::raw::c_uchar,
26815    ) -> ::std::os::raw::c_int;
26816}
26817extern "C" {
26818    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_it"]
26819    pub static OCSP_BASICRESP_it: ASN1_ITEM;
26820}
26821extern "C" {
26822    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_RESPONSE_new"]
26823    pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
26824}
26825extern "C" {
26826    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_RESPONSE_free"]
26827    pub fn OCSP_RESPONSE_free(a: *mut OCSP_RESPONSE);
26828}
26829extern "C" {
26830    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_RESPONSE"]
26831    pub fn d2i_OCSP_RESPONSE(
26832        a: *mut *mut OCSP_RESPONSE,
26833        in_: *mut *const ::std::os::raw::c_uchar,
26834        len: ::std::os::raw::c_long,
26835    ) -> *mut OCSP_RESPONSE;
26836}
26837extern "C" {
26838    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_RESPONSE"]
26839    pub fn i2d_OCSP_RESPONSE(
26840        a: *mut OCSP_RESPONSE,
26841        out: *mut *mut ::std::os::raw::c_uchar,
26842    ) -> ::std::os::raw::c_int;
26843}
26844extern "C" {
26845    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_RESPONSE_it"]
26846    pub static OCSP_RESPONSE_it: ASN1_ITEM;
26847}
26848extern "C" {
26849    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_CERTID_new"]
26850    pub fn OCSP_CERTID_new() -> *mut OCSP_CERTID;
26851}
26852extern "C" {
26853    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_CERTID_free"]
26854    pub fn OCSP_CERTID_free(a: *mut OCSP_CERTID);
26855}
26856extern "C" {
26857    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_CERTID"]
26858    pub fn d2i_OCSP_CERTID(
26859        a: *mut *mut OCSP_CERTID,
26860        in_: *mut *const ::std::os::raw::c_uchar,
26861        len: ::std::os::raw::c_long,
26862    ) -> *mut OCSP_CERTID;
26863}
26864extern "C" {
26865    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_CERTID"]
26866    pub fn i2d_OCSP_CERTID(
26867        a: *mut OCSP_CERTID,
26868        out: *mut *mut ::std::os::raw::c_uchar,
26869    ) -> ::std::os::raw::c_int;
26870}
26871extern "C" {
26872    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_CERTID_it"]
26873    pub static OCSP_CERTID_it: ASN1_ITEM;
26874}
26875extern "C" {
26876    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQUEST_new"]
26877    pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
26878}
26879extern "C" {
26880    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQUEST_free"]
26881    pub fn OCSP_REQUEST_free(a: *mut OCSP_REQUEST);
26882}
26883extern "C" {
26884    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_REQUEST"]
26885    pub fn d2i_OCSP_REQUEST(
26886        a: *mut *mut OCSP_REQUEST,
26887        in_: *mut *const ::std::os::raw::c_uchar,
26888        len: ::std::os::raw::c_long,
26889    ) -> *mut OCSP_REQUEST;
26890}
26891extern "C" {
26892    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_REQUEST"]
26893    pub fn i2d_OCSP_REQUEST(
26894        a: *mut OCSP_REQUEST,
26895        out: *mut *mut ::std::os::raw::c_uchar,
26896    ) -> ::std::os::raw::c_int;
26897}
26898extern "C" {
26899    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQUEST_it"]
26900    pub static OCSP_REQUEST_it: ASN1_ITEM;
26901}
26902extern "C" {
26903    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_new"]
26904    pub fn OCSP_SINGLERESP_new() -> *mut OCSP_SINGLERESP;
26905}
26906extern "C" {
26907    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_free"]
26908    pub fn OCSP_SINGLERESP_free(a: *mut OCSP_SINGLERESP);
26909}
26910extern "C" {
26911    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_SINGLERESP"]
26912    pub fn d2i_OCSP_SINGLERESP(
26913        a: *mut *mut OCSP_SINGLERESP,
26914        in_: *mut *const ::std::os::raw::c_uchar,
26915        len: ::std::os::raw::c_long,
26916    ) -> *mut OCSP_SINGLERESP;
26917}
26918extern "C" {
26919    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_SINGLERESP"]
26920    pub fn i2d_OCSP_SINGLERESP(
26921        a: *mut OCSP_SINGLERESP,
26922        out: *mut *mut ::std::os::raw::c_uchar,
26923    ) -> ::std::os::raw::c_int;
26924}
26925extern "C" {
26926    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_it"]
26927    pub static OCSP_SINGLERESP_it: ASN1_ITEM;
26928}
26929extern "C" {
26930    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_ONEREQ_new"]
26931    pub fn OCSP_ONEREQ_new() -> *mut OCSP_ONEREQ;
26932}
26933extern "C" {
26934    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_ONEREQ_free"]
26935    pub fn OCSP_ONEREQ_free(a: *mut OCSP_ONEREQ);
26936}
26937extern "C" {
26938    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_ONEREQ"]
26939    pub fn d2i_OCSP_ONEREQ(
26940        a: *mut *mut OCSP_ONEREQ,
26941        in_: *mut *const ::std::os::raw::c_uchar,
26942        len: ::std::os::raw::c_long,
26943    ) -> *mut OCSP_ONEREQ;
26944}
26945extern "C" {
26946    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_ONEREQ"]
26947    pub fn i2d_OCSP_ONEREQ(
26948        a: *mut OCSP_ONEREQ,
26949        out: *mut *mut ::std::os::raw::c_uchar,
26950    ) -> ::std::os::raw::c_int;
26951}
26952extern "C" {
26953    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_ONEREQ_it"]
26954    pub static OCSP_ONEREQ_it: ASN1_ITEM;
26955}
26956extern "C" {
26957    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_REQUEST_bio"]
26958    pub fn d2i_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut *mut OCSP_REQUEST) -> *mut OCSP_REQUEST;
26959}
26960extern "C" {
26961    #[link_name = "\u{1}aws_lc_0_27_2_d2i_OCSP_RESPONSE_bio"]
26962    pub fn d2i_OCSP_RESPONSE_bio(
26963        bp: *mut BIO,
26964        presp: *mut *mut OCSP_RESPONSE,
26965    ) -> *mut OCSP_RESPONSE;
26966}
26967extern "C" {
26968    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_RESPONSE_bio"]
26969    pub fn i2d_OCSP_RESPONSE_bio(bp: *mut BIO, presp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
26970}
26971extern "C" {
26972    #[link_name = "\u{1}aws_lc_0_27_2_i2d_OCSP_REQUEST_bio"]
26973    pub fn i2d_OCSP_REQUEST_bio(bp: *mut BIO, preq: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
26974}
26975extern "C" {
26976    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_CERTID_dup"]
26977    pub fn OCSP_CERTID_dup(id: *mut OCSP_CERTID) -> *mut OCSP_CERTID;
26978}
26979extern "C" {
26980    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_sendreq_bio"]
26981    pub fn OCSP_sendreq_bio(
26982        b: *mut BIO,
26983        path: *const ::std::os::raw::c_char,
26984        req: *mut OCSP_REQUEST,
26985    ) -> *mut OCSP_RESPONSE;
26986}
26987extern "C" {
26988    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_sendreq_new"]
26989    pub fn OCSP_sendreq_new(
26990        io: *mut BIO,
26991        path: *const ::std::os::raw::c_char,
26992        req: *mut OCSP_REQUEST,
26993        maxline: ::std::os::raw::c_int,
26994    ) -> *mut OCSP_REQ_CTX;
26995}
26996extern "C" {
26997    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_sendreq_nbio"]
26998    pub fn OCSP_sendreq_nbio(
26999        presp: *mut *mut OCSP_RESPONSE,
27000        rctx: *mut OCSP_REQ_CTX,
27001    ) -> ::std::os::raw::c_int;
27002}
27003extern "C" {
27004    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_new"]
27005    pub fn OCSP_REQ_CTX_new(io: *mut BIO, maxline: ::std::os::raw::c_int) -> *mut OCSP_REQ_CTX;
27006}
27007extern "C" {
27008    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_free"]
27009    pub fn OCSP_REQ_CTX_free(rctx: *mut OCSP_REQ_CTX);
27010}
27011extern "C" {
27012    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_set_max_response_length"]
27013    pub fn OCSP_set_max_response_length(rctx: *mut OCSP_REQ_CTX, len: ::std::os::raw::c_ulong);
27014}
27015extern "C" {
27016    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_http"]
27017    pub fn OCSP_REQ_CTX_http(
27018        rctx: *mut OCSP_REQ_CTX,
27019        op: *const ::std::os::raw::c_char,
27020        path: *const ::std::os::raw::c_char,
27021    ) -> ::std::os::raw::c_int;
27022}
27023extern "C" {
27024    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_set1_req"]
27025    pub fn OCSP_REQ_CTX_set1_req(
27026        rctx: *mut OCSP_REQ_CTX,
27027        req: *mut OCSP_REQUEST,
27028    ) -> ::std::os::raw::c_int;
27029}
27030extern "C" {
27031    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_add1_header"]
27032    pub fn OCSP_REQ_CTX_add1_header(
27033        rctx: *mut OCSP_REQ_CTX,
27034        name: *const ::std::os::raw::c_char,
27035        value: *const ::std::os::raw::c_char,
27036    ) -> ::std::os::raw::c_int;
27037}
27038extern "C" {
27039    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQ_CTX_i2d"]
27040    pub fn OCSP_REQ_CTX_i2d(
27041        rctx: *mut OCSP_REQ_CTX,
27042        it: *const ASN1_ITEM,
27043        val: *mut ASN1_VALUE,
27044    ) -> ::std::os::raw::c_int;
27045}
27046extern "C" {
27047    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_add0_id"]
27048    pub fn OCSP_request_add0_id(req: *mut OCSP_REQUEST, cid: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
27049}
27050extern "C" {
27051    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_onereq_get0_id"]
27052    pub fn OCSP_onereq_get0_id(one: *mut OCSP_ONEREQ) -> *mut OCSP_CERTID;
27053}
27054extern "C" {
27055    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_add1_nonce"]
27056    pub fn OCSP_request_add1_nonce(
27057        req: *mut OCSP_REQUEST,
27058        val: *mut ::std::os::raw::c_uchar,
27059        len: ::std::os::raw::c_int,
27060    ) -> ::std::os::raw::c_int;
27061}
27062extern "C" {
27063    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_basic_add1_nonce"]
27064    pub fn OCSP_basic_add1_nonce(
27065        resp: *mut OCSP_BASICRESP,
27066        val: *mut ::std::os::raw::c_uchar,
27067        len: ::std::os::raw::c_int,
27068    ) -> ::std::os::raw::c_int;
27069}
27070extern "C" {
27071    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_check_nonce"]
27072    pub fn OCSP_check_nonce(
27073        req: *mut OCSP_REQUEST,
27074        bs: *mut OCSP_BASICRESP,
27075    ) -> ::std::os::raw::c_int;
27076}
27077extern "C" {
27078    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_copy_nonce"]
27079    pub fn OCSP_copy_nonce(
27080        resp: *mut OCSP_BASICRESP,
27081        req: *mut OCSP_REQUEST,
27082    ) -> ::std::os::raw::c_int;
27083}
27084extern "C" {
27085    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_set1_name"]
27086    pub fn OCSP_request_set1_name(
27087        req: *mut OCSP_REQUEST,
27088        nm: *mut X509_NAME,
27089    ) -> ::std::os::raw::c_int;
27090}
27091extern "C" {
27092    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_add1_cert"]
27093    pub fn OCSP_request_add1_cert(req: *mut OCSP_REQUEST, cert: *mut X509)
27094        -> ::std::os::raw::c_int;
27095}
27096extern "C" {
27097    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_is_signed"]
27098    pub fn OCSP_request_is_signed(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27099}
27100extern "C" {
27101    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_onereq_count"]
27102    pub fn OCSP_request_onereq_count(req: *mut OCSP_REQUEST) -> ::std::os::raw::c_int;
27103}
27104extern "C" {
27105    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_onereq_get0"]
27106    pub fn OCSP_request_onereq_get0(
27107        req: *mut OCSP_REQUEST,
27108        i: ::std::os::raw::c_int,
27109    ) -> *mut OCSP_ONEREQ;
27110}
27111extern "C" {
27112    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_sign"]
27113    pub fn OCSP_request_sign(
27114        req: *mut OCSP_REQUEST,
27115        signer: *mut X509,
27116        key: *mut EVP_PKEY,
27117        dgst: *const EVP_MD,
27118        certs: *mut stack_st_X509,
27119        flags: ::std::os::raw::c_ulong,
27120    ) -> ::std::os::raw::c_int;
27121}
27122extern "C" {
27123    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_response_status"]
27124    pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> ::std::os::raw::c_int;
27125}
27126extern "C" {
27127    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_response_get1_basic"]
27128    pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
27129}
27130extern "C" {
27131    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_resp_count"]
27132    pub fn OCSP_resp_count(bs: *mut OCSP_BASICRESP) -> ::std::os::raw::c_int;
27133}
27134extern "C" {
27135    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_resp_get0"]
27136    pub fn OCSP_resp_get0(bs: *mut OCSP_BASICRESP, idx: usize) -> *mut OCSP_SINGLERESP;
27137}
27138extern "C" {
27139    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_single_get0_status"]
27140    pub fn OCSP_single_get0_status(
27141        single: *mut OCSP_SINGLERESP,
27142        reason: *mut ::std::os::raw::c_int,
27143        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27144        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27145        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27146    ) -> ::std::os::raw::c_int;
27147}
27148extern "C" {
27149    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_resp_find"]
27150    pub fn OCSP_resp_find(
27151        bs: *mut OCSP_BASICRESP,
27152        id: *mut OCSP_CERTID,
27153        last: ::std::os::raw::c_int,
27154    ) -> ::std::os::raw::c_int;
27155}
27156extern "C" {
27157    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_resp_find_status"]
27158    pub fn OCSP_resp_find_status(
27159        bs: *mut OCSP_BASICRESP,
27160        id: *mut OCSP_CERTID,
27161        status: *mut ::std::os::raw::c_int,
27162        reason: *mut ::std::os::raw::c_int,
27163        revtime: *mut *mut ASN1_GENERALIZEDTIME,
27164        thisupd: *mut *mut ASN1_GENERALIZEDTIME,
27165        nextupd: *mut *mut ASN1_GENERALIZEDTIME,
27166    ) -> ::std::os::raw::c_int;
27167}
27168extern "C" {
27169    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_check_validity"]
27170    pub fn OCSP_check_validity(
27171        thisUpdate: *mut ASN1_GENERALIZEDTIME,
27172        nextUpdate: *mut ASN1_GENERALIZEDTIME,
27173        drift_num_seconds: ::std::os::raw::c_long,
27174        max_age_seconds: ::std::os::raw::c_long,
27175    ) -> ::std::os::raw::c_int;
27176}
27177extern "C" {
27178    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_basic_verify"]
27179    pub fn OCSP_basic_verify(
27180        bs: *mut OCSP_BASICRESP,
27181        certs: *mut stack_st_X509,
27182        st: *mut X509_STORE,
27183        flags: ::std::os::raw::c_ulong,
27184    ) -> ::std::os::raw::c_int;
27185}
27186extern "C" {
27187    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_request_verify"]
27188    pub fn OCSP_request_verify(
27189        req: *mut OCSP_REQUEST,
27190        certs: *mut stack_st_X509,
27191        st: *mut X509_STORE,
27192        flags: ::std::os::raw::c_ulong,
27193    ) -> ::std::os::raw::c_int;
27194}
27195extern "C" {
27196    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_cert_id_new"]
27197    pub fn OCSP_cert_id_new(
27198        dgst: *const EVP_MD,
27199        issuerName: *const X509_NAME,
27200        issuerKey: *const ASN1_BIT_STRING,
27201        serialNumber: *const ASN1_INTEGER,
27202    ) -> *mut OCSP_CERTID;
27203}
27204extern "C" {
27205    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_cert_to_id"]
27206    pub fn OCSP_cert_to_id(
27207        dgst: *const EVP_MD,
27208        subject: *const X509,
27209        issuer: *const X509,
27210    ) -> *mut OCSP_CERTID;
27211}
27212extern "C" {
27213    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_parse_url"]
27214    pub fn OCSP_parse_url(
27215        url: *const ::std::os::raw::c_char,
27216        phost: *mut *mut ::std::os::raw::c_char,
27217        pport: *mut *mut ::std::os::raw::c_char,
27218        ppath: *mut *mut ::std::os::raw::c_char,
27219        pssl: *mut ::std::os::raw::c_int,
27220    ) -> ::std::os::raw::c_int;
27221}
27222extern "C" {
27223    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_id_issuer_cmp"]
27224    pub fn OCSP_id_issuer_cmp(
27225        a: *const OCSP_CERTID,
27226        b: *const OCSP_CERTID,
27227    ) -> ::std::os::raw::c_int;
27228}
27229extern "C" {
27230    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_id_cmp"]
27231    pub fn OCSP_id_cmp(a: *const OCSP_CERTID, b: *const OCSP_CERTID) -> ::std::os::raw::c_int;
27232}
27233extern "C" {
27234    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_id_get0_info"]
27235    pub fn OCSP_id_get0_info(
27236        nameHash: *mut *mut ASN1_OCTET_STRING,
27237        algor: *mut *mut ASN1_OBJECT,
27238        keyHash: *mut *mut ASN1_OCTET_STRING,
27239        serial: *mut *mut ASN1_INTEGER,
27240        cid: *mut OCSP_CERTID,
27241    ) -> ::std::os::raw::c_int;
27242}
27243extern "C" {
27244    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_basic_add1_cert"]
27245    pub fn OCSP_basic_add1_cert(
27246        resp: *mut OCSP_BASICRESP,
27247        cert: *mut X509,
27248    ) -> ::std::os::raw::c_int;
27249}
27250extern "C" {
27251    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_basic_add1_status"]
27252    pub fn OCSP_basic_add1_status(
27253        resp: *mut OCSP_BASICRESP,
27254        cid: *mut OCSP_CERTID,
27255        status: ::std::os::raw::c_int,
27256        revoked_reason: ::std::os::raw::c_int,
27257        revoked_time: *mut ASN1_TIME,
27258        this_update: *mut ASN1_TIME,
27259        next_update: *mut ASN1_TIME,
27260    ) -> *mut OCSP_SINGLERESP;
27261}
27262extern "C" {
27263    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_basic_sign"]
27264    pub fn OCSP_basic_sign(
27265        resp: *mut OCSP_BASICRESP,
27266        signer: *mut X509,
27267        key: *mut EVP_PKEY,
27268        dgst: *const EVP_MD,
27269        certs: *mut stack_st_X509,
27270        flags: ::std::os::raw::c_ulong,
27271    ) -> ::std::os::raw::c_int;
27272}
27273extern "C" {
27274    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_response_create"]
27275    pub fn OCSP_response_create(
27276        status: ::std::os::raw::c_int,
27277        bs: *mut OCSP_BASICRESP,
27278    ) -> *mut OCSP_RESPONSE;
27279}
27280extern "C" {
27281    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_get0_id"]
27282    pub fn OCSP_SINGLERESP_get0_id(x: *const OCSP_SINGLERESP) -> *const OCSP_CERTID;
27283}
27284extern "C" {
27285    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_response_status_str"]
27286    pub fn OCSP_response_status_str(
27287        status_code: ::std::os::raw::c_long,
27288    ) -> *const ::std::os::raw::c_char;
27289}
27290extern "C" {
27291    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_cert_status_str"]
27292    pub fn OCSP_cert_status_str(
27293        status_code: ::std::os::raw::c_long,
27294    ) -> *const ::std::os::raw::c_char;
27295}
27296extern "C" {
27297    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_crl_reason_str"]
27298    pub fn OCSP_crl_reason_str(
27299        status_code: ::std::os::raw::c_long,
27300    ) -> *const ::std::os::raw::c_char;
27301}
27302extern "C" {
27303    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_REQUEST_print"]
27304    pub fn OCSP_REQUEST_print(
27305        bp: *mut BIO,
27306        req: *mut OCSP_REQUEST,
27307        flags: ::std::os::raw::c_ulong,
27308    ) -> ::std::os::raw::c_int;
27309}
27310extern "C" {
27311    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_RESPONSE_print"]
27312    pub fn OCSP_RESPONSE_print(
27313        bp: *mut BIO,
27314        resp: *mut OCSP_RESPONSE,
27315        flags: ::std::os::raw::c_ulong,
27316    ) -> ::std::os::raw::c_int;
27317}
27318extern "C" {
27319    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_get_ext_by_NID"]
27320    pub fn OCSP_BASICRESP_get_ext_by_NID(
27321        bs: *mut OCSP_BASICRESP,
27322        nid: ::std::os::raw::c_int,
27323        lastpos: ::std::os::raw::c_int,
27324    ) -> ::std::os::raw::c_int;
27325}
27326extern "C" {
27327    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_get_ext"]
27328    pub fn OCSP_BASICRESP_get_ext(
27329        bs: *mut OCSP_BASICRESP,
27330        loc: ::std::os::raw::c_int,
27331    ) -> *mut X509_EXTENSION;
27332}
27333extern "C" {
27334    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_BASICRESP_delete_ext"]
27335    pub fn OCSP_BASICRESP_delete_ext(
27336        x: *mut OCSP_BASICRESP,
27337        loc: ::std::os::raw::c_int,
27338    ) -> *mut X509_EXTENSION;
27339}
27340extern "C" {
27341    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_add_ext"]
27342    pub fn OCSP_SINGLERESP_add_ext(
27343        sresp: *mut OCSP_SINGLERESP,
27344        ex: *mut X509_EXTENSION,
27345        loc: ::std::os::raw::c_int,
27346    ) -> ::std::os::raw::c_int;
27347}
27348extern "C" {
27349    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_get_ext_count"]
27350    pub fn OCSP_SINGLERESP_get_ext_count(sresp: *mut OCSP_SINGLERESP) -> ::std::os::raw::c_int;
27351}
27352extern "C" {
27353    #[link_name = "\u{1}aws_lc_0_27_2_OCSP_SINGLERESP_get_ext"]
27354    pub fn OCSP_SINGLERESP_get_ext(
27355        sresp: *mut OCSP_SINGLERESP,
27356        loc: ::std::os::raw::c_int,
27357    ) -> *mut X509_EXTENSION;
27358}
27359pub type pem_password_cb = ::std::option::Option<
27360    unsafe extern "C" fn(
27361        buf: *mut ::std::os::raw::c_char,
27362        size: ::std::os::raw::c_int,
27363        rwflag: ::std::os::raw::c_int,
27364        userdata: *mut ::std::os::raw::c_void,
27365    ) -> ::std::os::raw::c_int,
27366>;
27367extern "C" {
27368    #[link_name = "\u{1}aws_lc_0_27_2_PEM_get_EVP_CIPHER_INFO"]
27369    pub fn PEM_get_EVP_CIPHER_INFO(
27370        header: *mut ::std::os::raw::c_char,
27371        cipher: *mut EVP_CIPHER_INFO,
27372    ) -> ::std::os::raw::c_int;
27373}
27374extern "C" {
27375    #[link_name = "\u{1}aws_lc_0_27_2_PEM_do_header"]
27376    pub fn PEM_do_header(
27377        cipher: *mut EVP_CIPHER_INFO,
27378        data: *mut ::std::os::raw::c_uchar,
27379        len: *mut ::std::os::raw::c_long,
27380        callback: pem_password_cb,
27381        u: *mut ::std::os::raw::c_void,
27382    ) -> ::std::os::raw::c_int;
27383}
27384extern "C" {
27385    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio"]
27386    pub fn PEM_read_bio(
27387        bp: *mut BIO,
27388        name: *mut *mut ::std::os::raw::c_char,
27389        header: *mut *mut ::std::os::raw::c_char,
27390        data: *mut *mut ::std::os::raw::c_uchar,
27391        len: *mut ::std::os::raw::c_long,
27392    ) -> ::std::os::raw::c_int;
27393}
27394extern "C" {
27395    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio"]
27396    pub fn PEM_write_bio(
27397        bp: *mut BIO,
27398        name: *const ::std::os::raw::c_char,
27399        hdr: *const ::std::os::raw::c_char,
27400        data: *const ::std::os::raw::c_uchar,
27401        len: ::std::os::raw::c_long,
27402    ) -> ::std::os::raw::c_int;
27403}
27404extern "C" {
27405    #[link_name = "\u{1}aws_lc_0_27_2_PEM_bytes_read_bio"]
27406    pub fn PEM_bytes_read_bio(
27407        pdata: *mut *mut ::std::os::raw::c_uchar,
27408        plen: *mut ::std::os::raw::c_long,
27409        pnm: *mut *mut ::std::os::raw::c_char,
27410        name: *const ::std::os::raw::c_char,
27411        bp: *mut BIO,
27412        cb: pem_password_cb,
27413        u: *mut ::std::os::raw::c_void,
27414    ) -> ::std::os::raw::c_int;
27415}
27416extern "C" {
27417    #[link_name = "\u{1}aws_lc_0_27_2_PEM_ASN1_read_bio"]
27418    pub fn PEM_ASN1_read_bio(
27419        d2i: d2i_of_void,
27420        name: *const ::std::os::raw::c_char,
27421        bp: *mut BIO,
27422        x: *mut *mut ::std::os::raw::c_void,
27423        cb: pem_password_cb,
27424        u: *mut ::std::os::raw::c_void,
27425    ) -> *mut ::std::os::raw::c_void;
27426}
27427extern "C" {
27428    #[link_name = "\u{1}aws_lc_0_27_2_PEM_ASN1_write_bio"]
27429    pub fn PEM_ASN1_write_bio(
27430        i2d: i2d_of_void,
27431        name: *const ::std::os::raw::c_char,
27432        bp: *mut BIO,
27433        x: *mut ::std::os::raw::c_void,
27434        enc: *const EVP_CIPHER,
27435        pass: *const ::std::os::raw::c_uchar,
27436        pass_len: ::std::os::raw::c_int,
27437        cb: pem_password_cb,
27438        u: *mut ::std::os::raw::c_void,
27439    ) -> ::std::os::raw::c_int;
27440}
27441extern "C" {
27442    #[link_name = "\u{1}aws_lc_0_27_2_PEM_X509_INFO_read_bio"]
27443    pub fn PEM_X509_INFO_read_bio(
27444        bp: *mut BIO,
27445        sk: *mut stack_st_X509_INFO,
27446        cb: pem_password_cb,
27447        u: *mut ::std::os::raw::c_void,
27448    ) -> *mut stack_st_X509_INFO;
27449}
27450extern "C" {
27451    #[link_name = "\u{1}aws_lc_0_27_2_PEM_X509_INFO_write_bio"]
27452    pub fn PEM_X509_INFO_write_bio(
27453        bp: *mut BIO,
27454        xi: *mut X509_INFO,
27455        enc: *mut EVP_CIPHER,
27456        kstr: *mut ::std::os::raw::c_uchar,
27457        klen: ::std::os::raw::c_int,
27458        cd: pem_password_cb,
27459        u: *mut ::std::os::raw::c_void,
27460    ) -> ::std::os::raw::c_int;
27461}
27462extern "C" {
27463    #[link_name = "\u{1}aws_lc_0_27_2_PEM_X509_INFO_read"]
27464    pub fn PEM_X509_INFO_read(
27465        fp: *mut FILE,
27466        sk: *mut stack_st_X509_INFO,
27467        cb: pem_password_cb,
27468        u: *mut ::std::os::raw::c_void,
27469    ) -> *mut stack_st_X509_INFO;
27470}
27471extern "C" {
27472    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read"]
27473    pub fn PEM_read(
27474        fp: *mut FILE,
27475        name: *mut *mut ::std::os::raw::c_char,
27476        header: *mut *mut ::std::os::raw::c_char,
27477        data: *mut *mut ::std::os::raw::c_uchar,
27478        len: *mut ::std::os::raw::c_long,
27479    ) -> ::std::os::raw::c_int;
27480}
27481extern "C" {
27482    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write"]
27483    pub fn PEM_write(
27484        fp: *mut FILE,
27485        name: *const ::std::os::raw::c_char,
27486        hdr: *const ::std::os::raw::c_char,
27487        data: *const ::std::os::raw::c_uchar,
27488        len: ::std::os::raw::c_long,
27489    ) -> ::std::os::raw::c_int;
27490}
27491extern "C" {
27492    #[link_name = "\u{1}aws_lc_0_27_2_PEM_ASN1_read"]
27493    pub fn PEM_ASN1_read(
27494        d2i: d2i_of_void,
27495        name: *const ::std::os::raw::c_char,
27496        fp: *mut FILE,
27497        x: *mut *mut ::std::os::raw::c_void,
27498        cb: pem_password_cb,
27499        u: *mut ::std::os::raw::c_void,
27500    ) -> *mut ::std::os::raw::c_void;
27501}
27502extern "C" {
27503    #[link_name = "\u{1}aws_lc_0_27_2_PEM_ASN1_write"]
27504    pub fn PEM_ASN1_write(
27505        i2d: i2d_of_void,
27506        name: *const ::std::os::raw::c_char,
27507        fp: *mut FILE,
27508        x: *mut ::std::os::raw::c_void,
27509        enc: *const EVP_CIPHER,
27510        pass: *const ::std::os::raw::c_uchar,
27511        pass_len: ::std::os::raw::c_int,
27512        callback: pem_password_cb,
27513        u: *mut ::std::os::raw::c_void,
27514    ) -> ::std::os::raw::c_int;
27515}
27516extern "C" {
27517    #[link_name = "\u{1}aws_lc_0_27_2_PEM_def_callback"]
27518    pub fn PEM_def_callback(
27519        buf: *mut ::std::os::raw::c_char,
27520        size: ::std::os::raw::c_int,
27521        rwflag: ::std::os::raw::c_int,
27522        userdata: *mut ::std::os::raw::c_void,
27523    ) -> ::std::os::raw::c_int;
27524}
27525extern "C" {
27526    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_X509"]
27527    pub fn PEM_read_bio_X509(
27528        bp: *mut BIO,
27529        x: *mut *mut X509,
27530        cb: pem_password_cb,
27531        u: *mut ::std::os::raw::c_void,
27532    ) -> *mut X509;
27533}
27534extern "C" {
27535    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_X509"]
27536    pub fn PEM_read_X509(
27537        fp: *mut FILE,
27538        x: *mut *mut X509,
27539        cb: pem_password_cb,
27540        u: *mut ::std::os::raw::c_void,
27541    ) -> *mut X509;
27542}
27543extern "C" {
27544    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_X509"]
27545    pub fn PEM_write_bio_X509(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27546}
27547extern "C" {
27548    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_X509"]
27549    pub fn PEM_write_X509(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27550}
27551extern "C" {
27552    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_X509_AUX"]
27553    pub fn PEM_read_bio_X509_AUX(
27554        bp: *mut BIO,
27555        x: *mut *mut X509,
27556        cb: pem_password_cb,
27557        u: *mut ::std::os::raw::c_void,
27558    ) -> *mut X509;
27559}
27560extern "C" {
27561    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_X509_AUX"]
27562    pub fn PEM_read_X509_AUX(
27563        fp: *mut FILE,
27564        x: *mut *mut X509,
27565        cb: pem_password_cb,
27566        u: *mut ::std::os::raw::c_void,
27567    ) -> *mut X509;
27568}
27569extern "C" {
27570    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_X509_AUX"]
27571    pub fn PEM_write_bio_X509_AUX(bp: *mut BIO, x: *mut X509) -> ::std::os::raw::c_int;
27572}
27573extern "C" {
27574    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_X509_AUX"]
27575    pub fn PEM_write_X509_AUX(fp: *mut FILE, x: *mut X509) -> ::std::os::raw::c_int;
27576}
27577extern "C" {
27578    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_X509_REQ"]
27579    pub fn PEM_read_bio_X509_REQ(
27580        bp: *mut BIO,
27581        x: *mut *mut X509_REQ,
27582        cb: pem_password_cb,
27583        u: *mut ::std::os::raw::c_void,
27584    ) -> *mut X509_REQ;
27585}
27586extern "C" {
27587    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_X509_REQ"]
27588    pub fn PEM_read_X509_REQ(
27589        fp: *mut FILE,
27590        x: *mut *mut X509_REQ,
27591        cb: pem_password_cb,
27592        u: *mut ::std::os::raw::c_void,
27593    ) -> *mut X509_REQ;
27594}
27595extern "C" {
27596    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_X509_REQ"]
27597    pub fn PEM_write_bio_X509_REQ(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27598}
27599extern "C" {
27600    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_X509_REQ"]
27601    pub fn PEM_write_X509_REQ(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27602}
27603extern "C" {
27604    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_X509_REQ_NEW"]
27605    pub fn PEM_write_bio_X509_REQ_NEW(bp: *mut BIO, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27606}
27607extern "C" {
27608    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_X509_REQ_NEW"]
27609    pub fn PEM_write_X509_REQ_NEW(fp: *mut FILE, x: *mut X509_REQ) -> ::std::os::raw::c_int;
27610}
27611extern "C" {
27612    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_X509_CRL"]
27613    pub fn PEM_read_bio_X509_CRL(
27614        bp: *mut BIO,
27615        x: *mut *mut X509_CRL,
27616        cb: pem_password_cb,
27617        u: *mut ::std::os::raw::c_void,
27618    ) -> *mut X509_CRL;
27619}
27620extern "C" {
27621    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_X509_CRL"]
27622    pub fn PEM_read_X509_CRL(
27623        fp: *mut FILE,
27624        x: *mut *mut X509_CRL,
27625        cb: pem_password_cb,
27626        u: *mut ::std::os::raw::c_void,
27627    ) -> *mut X509_CRL;
27628}
27629extern "C" {
27630    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_X509_CRL"]
27631    pub fn PEM_write_bio_X509_CRL(bp: *mut BIO, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27632}
27633extern "C" {
27634    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_X509_CRL"]
27635    pub fn PEM_write_X509_CRL(fp: *mut FILE, x: *mut X509_CRL) -> ::std::os::raw::c_int;
27636}
27637extern "C" {
27638    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_PKCS7"]
27639    pub fn PEM_read_bio_PKCS7(
27640        bp: *mut BIO,
27641        x: *mut *mut PKCS7,
27642        cb: pem_password_cb,
27643        u: *mut ::std::os::raw::c_void,
27644    ) -> *mut PKCS7;
27645}
27646extern "C" {
27647    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_PKCS7"]
27648    pub fn PEM_read_PKCS7(
27649        fp: *mut FILE,
27650        x: *mut *mut PKCS7,
27651        cb: pem_password_cb,
27652        u: *mut ::std::os::raw::c_void,
27653    ) -> *mut PKCS7;
27654}
27655extern "C" {
27656    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PKCS7"]
27657    pub fn PEM_write_bio_PKCS7(bp: *mut BIO, x: *mut PKCS7) -> ::std::os::raw::c_int;
27658}
27659extern "C" {
27660    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PKCS7"]
27661    pub fn PEM_write_PKCS7(fp: *mut FILE, x: *mut PKCS7) -> ::std::os::raw::c_int;
27662}
27663extern "C" {
27664    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_PKCS8"]
27665    pub fn PEM_read_bio_PKCS8(
27666        bp: *mut BIO,
27667        x: *mut *mut X509_SIG,
27668        cb: pem_password_cb,
27669        u: *mut ::std::os::raw::c_void,
27670    ) -> *mut X509_SIG;
27671}
27672extern "C" {
27673    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_PKCS8"]
27674    pub fn PEM_read_PKCS8(
27675        fp: *mut FILE,
27676        x: *mut *mut X509_SIG,
27677        cb: pem_password_cb,
27678        u: *mut ::std::os::raw::c_void,
27679    ) -> *mut X509_SIG;
27680}
27681extern "C" {
27682    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PKCS8"]
27683    pub fn PEM_write_bio_PKCS8(bp: *mut BIO, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27684}
27685extern "C" {
27686    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PKCS8"]
27687    pub fn PEM_write_PKCS8(fp: *mut FILE, x: *mut X509_SIG) -> ::std::os::raw::c_int;
27688}
27689extern "C" {
27690    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_PKCS8_PRIV_KEY_INFO"]
27691    pub fn PEM_read_bio_PKCS8_PRIV_KEY_INFO(
27692        bp: *mut BIO,
27693        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27694        cb: pem_password_cb,
27695        u: *mut ::std::os::raw::c_void,
27696    ) -> *mut PKCS8_PRIV_KEY_INFO;
27697}
27698extern "C" {
27699    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_PKCS8_PRIV_KEY_INFO"]
27700    pub fn PEM_read_PKCS8_PRIV_KEY_INFO(
27701        fp: *mut FILE,
27702        x: *mut *mut PKCS8_PRIV_KEY_INFO,
27703        cb: pem_password_cb,
27704        u: *mut ::std::os::raw::c_void,
27705    ) -> *mut PKCS8_PRIV_KEY_INFO;
27706}
27707extern "C" {
27708    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PKCS8_PRIV_KEY_INFO"]
27709    pub fn PEM_write_bio_PKCS8_PRIV_KEY_INFO(
27710        bp: *mut BIO,
27711        x: *mut PKCS8_PRIV_KEY_INFO,
27712    ) -> ::std::os::raw::c_int;
27713}
27714extern "C" {
27715    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PKCS8_PRIV_KEY_INFO"]
27716    pub fn PEM_write_PKCS8_PRIV_KEY_INFO(
27717        fp: *mut FILE,
27718        x: *mut PKCS8_PRIV_KEY_INFO,
27719    ) -> ::std::os::raw::c_int;
27720}
27721extern "C" {
27722    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_RSAPrivateKey"]
27723    pub fn PEM_read_bio_RSAPrivateKey(
27724        bp: *mut BIO,
27725        x: *mut *mut RSA,
27726        cb: pem_password_cb,
27727        u: *mut ::std::os::raw::c_void,
27728    ) -> *mut RSA;
27729}
27730extern "C" {
27731    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_RSAPrivateKey"]
27732    pub fn PEM_read_RSAPrivateKey(
27733        fp: *mut FILE,
27734        x: *mut *mut RSA,
27735        cb: pem_password_cb,
27736        u: *mut ::std::os::raw::c_void,
27737    ) -> *mut RSA;
27738}
27739extern "C" {
27740    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_RSAPrivateKey"]
27741    pub fn PEM_write_bio_RSAPrivateKey(
27742        bp: *mut BIO,
27743        x: *mut RSA,
27744        enc: *const EVP_CIPHER,
27745        pass: *const ::std::os::raw::c_uchar,
27746        pass_len: ::std::os::raw::c_int,
27747        cb: pem_password_cb,
27748        u: *mut ::std::os::raw::c_void,
27749    ) -> ::std::os::raw::c_int;
27750}
27751extern "C" {
27752    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_RSAPrivateKey"]
27753    pub fn PEM_write_RSAPrivateKey(
27754        fp: *mut FILE,
27755        x: *mut RSA,
27756        enc: *const EVP_CIPHER,
27757        pass: *const ::std::os::raw::c_uchar,
27758        pass_len: ::std::os::raw::c_int,
27759        cb: pem_password_cb,
27760        u: *mut ::std::os::raw::c_void,
27761    ) -> ::std::os::raw::c_int;
27762}
27763extern "C" {
27764    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_RSAPublicKey"]
27765    pub fn PEM_read_bio_RSAPublicKey(
27766        bp: *mut BIO,
27767        x: *mut *mut RSA,
27768        cb: pem_password_cb,
27769        u: *mut ::std::os::raw::c_void,
27770    ) -> *mut RSA;
27771}
27772extern "C" {
27773    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_RSAPublicKey"]
27774    pub fn PEM_read_RSAPublicKey(
27775        fp: *mut FILE,
27776        x: *mut *mut RSA,
27777        cb: pem_password_cb,
27778        u: *mut ::std::os::raw::c_void,
27779    ) -> *mut RSA;
27780}
27781extern "C" {
27782    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_RSAPublicKey"]
27783    pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, x: *const RSA) -> ::std::os::raw::c_int;
27784}
27785extern "C" {
27786    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_RSAPublicKey"]
27787    pub fn PEM_write_RSAPublicKey(fp: *mut FILE, x: *const RSA) -> ::std::os::raw::c_int;
27788}
27789extern "C" {
27790    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_RSA_PUBKEY"]
27791    pub fn PEM_read_bio_RSA_PUBKEY(
27792        bp: *mut BIO,
27793        x: *mut *mut RSA,
27794        cb: pem_password_cb,
27795        u: *mut ::std::os::raw::c_void,
27796    ) -> *mut RSA;
27797}
27798extern "C" {
27799    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_RSA_PUBKEY"]
27800    pub fn PEM_read_RSA_PUBKEY(
27801        fp: *mut FILE,
27802        x: *mut *mut RSA,
27803        cb: pem_password_cb,
27804        u: *mut ::std::os::raw::c_void,
27805    ) -> *mut RSA;
27806}
27807extern "C" {
27808    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_RSA_PUBKEY"]
27809    pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, x: *mut RSA) -> ::std::os::raw::c_int;
27810}
27811extern "C" {
27812    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_RSA_PUBKEY"]
27813    pub fn PEM_write_RSA_PUBKEY(fp: *mut FILE, x: *mut RSA) -> ::std::os::raw::c_int;
27814}
27815extern "C" {
27816    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_DSAPrivateKey"]
27817    pub fn PEM_read_bio_DSAPrivateKey(
27818        bp: *mut BIO,
27819        x: *mut *mut DSA,
27820        cb: pem_password_cb,
27821        u: *mut ::std::os::raw::c_void,
27822    ) -> *mut DSA;
27823}
27824extern "C" {
27825    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_DSAPrivateKey"]
27826    pub fn PEM_read_DSAPrivateKey(
27827        fp: *mut FILE,
27828        x: *mut *mut DSA,
27829        cb: pem_password_cb,
27830        u: *mut ::std::os::raw::c_void,
27831    ) -> *mut DSA;
27832}
27833extern "C" {
27834    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_DSAPrivateKey"]
27835    pub fn PEM_write_bio_DSAPrivateKey(
27836        bp: *mut BIO,
27837        x: *mut DSA,
27838        enc: *const EVP_CIPHER,
27839        pass: *const ::std::os::raw::c_uchar,
27840        pass_len: ::std::os::raw::c_int,
27841        cb: pem_password_cb,
27842        u: *mut ::std::os::raw::c_void,
27843    ) -> ::std::os::raw::c_int;
27844}
27845extern "C" {
27846    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_DSAPrivateKey"]
27847    pub fn PEM_write_DSAPrivateKey(
27848        fp: *mut FILE,
27849        x: *mut DSA,
27850        enc: *const EVP_CIPHER,
27851        pass: *const ::std::os::raw::c_uchar,
27852        pass_len: ::std::os::raw::c_int,
27853        cb: pem_password_cb,
27854        u: *mut ::std::os::raw::c_void,
27855    ) -> ::std::os::raw::c_int;
27856}
27857extern "C" {
27858    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_DSA_PUBKEY"]
27859    pub fn PEM_read_bio_DSA_PUBKEY(
27860        bp: *mut BIO,
27861        x: *mut *mut DSA,
27862        cb: pem_password_cb,
27863        u: *mut ::std::os::raw::c_void,
27864    ) -> *mut DSA;
27865}
27866extern "C" {
27867    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_DSA_PUBKEY"]
27868    pub fn PEM_read_DSA_PUBKEY(
27869        fp: *mut FILE,
27870        x: *mut *mut DSA,
27871        cb: pem_password_cb,
27872        u: *mut ::std::os::raw::c_void,
27873    ) -> *mut DSA;
27874}
27875extern "C" {
27876    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_DSA_PUBKEY"]
27877    pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, x: *mut DSA) -> ::std::os::raw::c_int;
27878}
27879extern "C" {
27880    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_DSA_PUBKEY"]
27881    pub fn PEM_write_DSA_PUBKEY(fp: *mut FILE, x: *mut DSA) -> ::std::os::raw::c_int;
27882}
27883extern "C" {
27884    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_DSAparams"]
27885    pub fn PEM_read_bio_DSAparams(
27886        bp: *mut BIO,
27887        x: *mut *mut DSA,
27888        cb: pem_password_cb,
27889        u: *mut ::std::os::raw::c_void,
27890    ) -> *mut DSA;
27891}
27892extern "C" {
27893    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_DSAparams"]
27894    pub fn PEM_read_DSAparams(
27895        fp: *mut FILE,
27896        x: *mut *mut DSA,
27897        cb: pem_password_cb,
27898        u: *mut ::std::os::raw::c_void,
27899    ) -> *mut DSA;
27900}
27901extern "C" {
27902    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_DSAparams"]
27903    pub fn PEM_write_bio_DSAparams(bp: *mut BIO, x: *const DSA) -> ::std::os::raw::c_int;
27904}
27905extern "C" {
27906    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_DSAparams"]
27907    pub fn PEM_write_DSAparams(fp: *mut FILE, x: *const DSA) -> ::std::os::raw::c_int;
27908}
27909extern "C" {
27910    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_ECPrivateKey"]
27911    pub fn PEM_read_bio_ECPrivateKey(
27912        bp: *mut BIO,
27913        x: *mut *mut EC_KEY,
27914        cb: pem_password_cb,
27915        u: *mut ::std::os::raw::c_void,
27916    ) -> *mut EC_KEY;
27917}
27918extern "C" {
27919    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_ECPrivateKey"]
27920    pub fn PEM_read_ECPrivateKey(
27921        fp: *mut FILE,
27922        x: *mut *mut EC_KEY,
27923        cb: pem_password_cb,
27924        u: *mut ::std::os::raw::c_void,
27925    ) -> *mut EC_KEY;
27926}
27927extern "C" {
27928    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_ECPrivateKey"]
27929    pub fn PEM_write_bio_ECPrivateKey(
27930        bp: *mut BIO,
27931        x: *mut EC_KEY,
27932        enc: *const EVP_CIPHER,
27933        pass: *const ::std::os::raw::c_uchar,
27934        pass_len: ::std::os::raw::c_int,
27935        cb: pem_password_cb,
27936        u: *mut ::std::os::raw::c_void,
27937    ) -> ::std::os::raw::c_int;
27938}
27939extern "C" {
27940    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_ECPrivateKey"]
27941    pub fn PEM_write_ECPrivateKey(
27942        fp: *mut FILE,
27943        x: *mut EC_KEY,
27944        enc: *const EVP_CIPHER,
27945        pass: *const ::std::os::raw::c_uchar,
27946        pass_len: ::std::os::raw::c_int,
27947        cb: pem_password_cb,
27948        u: *mut ::std::os::raw::c_void,
27949    ) -> ::std::os::raw::c_int;
27950}
27951extern "C" {
27952    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_EC_PUBKEY"]
27953    pub fn PEM_read_bio_EC_PUBKEY(
27954        bp: *mut BIO,
27955        x: *mut *mut EC_KEY,
27956        cb: pem_password_cb,
27957        u: *mut ::std::os::raw::c_void,
27958    ) -> *mut EC_KEY;
27959}
27960extern "C" {
27961    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_EC_PUBKEY"]
27962    pub fn PEM_read_EC_PUBKEY(
27963        fp: *mut FILE,
27964        x: *mut *mut EC_KEY,
27965        cb: pem_password_cb,
27966        u: *mut ::std::os::raw::c_void,
27967    ) -> *mut EC_KEY;
27968}
27969extern "C" {
27970    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_EC_PUBKEY"]
27971    pub fn PEM_write_bio_EC_PUBKEY(bp: *mut BIO, x: *mut EC_KEY) -> ::std::os::raw::c_int;
27972}
27973extern "C" {
27974    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_EC_PUBKEY"]
27975    pub fn PEM_write_EC_PUBKEY(fp: *mut FILE, x: *mut EC_KEY) -> ::std::os::raw::c_int;
27976}
27977extern "C" {
27978    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_DHparams"]
27979    pub fn PEM_read_bio_DHparams(
27980        bp: *mut BIO,
27981        x: *mut *mut DH,
27982        cb: pem_password_cb,
27983        u: *mut ::std::os::raw::c_void,
27984    ) -> *mut DH;
27985}
27986extern "C" {
27987    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_DHparams"]
27988    pub fn PEM_read_DHparams(
27989        fp: *mut FILE,
27990        x: *mut *mut DH,
27991        cb: pem_password_cb,
27992        u: *mut ::std::os::raw::c_void,
27993    ) -> *mut DH;
27994}
27995extern "C" {
27996    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_DHparams"]
27997    pub fn PEM_write_bio_DHparams(bp: *mut BIO, x: *const DH) -> ::std::os::raw::c_int;
27998}
27999extern "C" {
28000    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_DHparams"]
28001    pub fn PEM_write_DHparams(fp: *mut FILE, x: *const DH) -> ::std::os::raw::c_int;
28002}
28003extern "C" {
28004    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_PrivateKey"]
28005    pub fn PEM_read_bio_PrivateKey(
28006        bp: *mut BIO,
28007        x: *mut *mut EVP_PKEY,
28008        cb: pem_password_cb,
28009        u: *mut ::std::os::raw::c_void,
28010    ) -> *mut EVP_PKEY;
28011}
28012extern "C" {
28013    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_PrivateKey"]
28014    pub fn PEM_read_PrivateKey(
28015        fp: *mut FILE,
28016        x: *mut *mut EVP_PKEY,
28017        cb: pem_password_cb,
28018        u: *mut ::std::os::raw::c_void,
28019    ) -> *mut EVP_PKEY;
28020}
28021extern "C" {
28022    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PrivateKey"]
28023    pub fn PEM_write_bio_PrivateKey(
28024        bp: *mut BIO,
28025        x: *mut EVP_PKEY,
28026        enc: *const EVP_CIPHER,
28027        pass: *const ::std::os::raw::c_uchar,
28028        pass_len: ::std::os::raw::c_int,
28029        cb: pem_password_cb,
28030        u: *mut ::std::os::raw::c_void,
28031    ) -> ::std::os::raw::c_int;
28032}
28033extern "C" {
28034    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PrivateKey"]
28035    pub fn PEM_write_PrivateKey(
28036        fp: *mut FILE,
28037        x: *mut EVP_PKEY,
28038        enc: *const EVP_CIPHER,
28039        pass: *const ::std::os::raw::c_uchar,
28040        pass_len: ::std::os::raw::c_int,
28041        cb: pem_password_cb,
28042        u: *mut ::std::os::raw::c_void,
28043    ) -> ::std::os::raw::c_int;
28044}
28045extern "C" {
28046    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_PUBKEY"]
28047    pub fn PEM_read_bio_PUBKEY(
28048        bp: *mut BIO,
28049        x: *mut *mut EVP_PKEY,
28050        cb: pem_password_cb,
28051        u: *mut ::std::os::raw::c_void,
28052    ) -> *mut EVP_PKEY;
28053}
28054extern "C" {
28055    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_PUBKEY"]
28056    pub fn PEM_read_PUBKEY(
28057        fp: *mut FILE,
28058        x: *mut *mut EVP_PKEY,
28059        cb: pem_password_cb,
28060        u: *mut ::std::os::raw::c_void,
28061    ) -> *mut EVP_PKEY;
28062}
28063extern "C" {
28064    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PUBKEY"]
28065    pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28066}
28067extern "C" {
28068    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PUBKEY"]
28069    pub fn PEM_write_PUBKEY(fp: *mut FILE, x: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28070}
28071extern "C" {
28072    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PKCS8PrivateKey_nid"]
28073    pub fn PEM_write_bio_PKCS8PrivateKey_nid(
28074        bp: *mut BIO,
28075        x: *const EVP_PKEY,
28076        nid: ::std::os::raw::c_int,
28077        pass: *const ::std::os::raw::c_char,
28078        pass_len: ::std::os::raw::c_int,
28079        cb: pem_password_cb,
28080        u: *mut ::std::os::raw::c_void,
28081    ) -> ::std::os::raw::c_int;
28082}
28083extern "C" {
28084    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PKCS8PrivateKey"]
28085    pub fn PEM_write_bio_PKCS8PrivateKey(
28086        bp: *mut BIO,
28087        x: *const EVP_PKEY,
28088        enc: *const EVP_CIPHER,
28089        pass: *const ::std::os::raw::c_char,
28090        pass_len: ::std::os::raw::c_int,
28091        cb: pem_password_cb,
28092        u: *mut ::std::os::raw::c_void,
28093    ) -> ::std::os::raw::c_int;
28094}
28095extern "C" {
28096    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKey_bio"]
28097    pub fn i2d_PKCS8PrivateKey_bio(
28098        bp: *mut BIO,
28099        x: *const EVP_PKEY,
28100        enc: *const EVP_CIPHER,
28101        pass: *const ::std::os::raw::c_char,
28102        pass_len: ::std::os::raw::c_int,
28103        cb: pem_password_cb,
28104        u: *mut ::std::os::raw::c_void,
28105    ) -> ::std::os::raw::c_int;
28106}
28107extern "C" {
28108    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKey_nid_bio"]
28109    pub fn i2d_PKCS8PrivateKey_nid_bio(
28110        bp: *mut BIO,
28111        x: *const EVP_PKEY,
28112        nid: ::std::os::raw::c_int,
28113        pass: *const ::std::os::raw::c_char,
28114        pass_len: ::std::os::raw::c_int,
28115        cb: pem_password_cb,
28116        u: *mut ::std::os::raw::c_void,
28117    ) -> ::std::os::raw::c_int;
28118}
28119extern "C" {
28120    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8PrivateKey_bio"]
28121    pub fn d2i_PKCS8PrivateKey_bio(
28122        bp: *mut BIO,
28123        x: *mut *mut EVP_PKEY,
28124        cb: pem_password_cb,
28125        u: *mut ::std::os::raw::c_void,
28126    ) -> *mut EVP_PKEY;
28127}
28128extern "C" {
28129    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKey_fp"]
28130    pub fn i2d_PKCS8PrivateKey_fp(
28131        fp: *mut FILE,
28132        x: *const EVP_PKEY,
28133        enc: *const EVP_CIPHER,
28134        pass: *const ::std::os::raw::c_char,
28135        pass_len: ::std::os::raw::c_int,
28136        cb: pem_password_cb,
28137        u: *mut ::std::os::raw::c_void,
28138    ) -> ::std::os::raw::c_int;
28139}
28140extern "C" {
28141    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS8PrivateKey_nid_fp"]
28142    pub fn i2d_PKCS8PrivateKey_nid_fp(
28143        fp: *mut FILE,
28144        x: *const EVP_PKEY,
28145        nid: ::std::os::raw::c_int,
28146        pass: *const ::std::os::raw::c_char,
28147        pass_len: ::std::os::raw::c_int,
28148        cb: pem_password_cb,
28149        u: *mut ::std::os::raw::c_void,
28150    ) -> ::std::os::raw::c_int;
28151}
28152extern "C" {
28153    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PKCS8PrivateKey_nid"]
28154    pub fn PEM_write_PKCS8PrivateKey_nid(
28155        fp: *mut FILE,
28156        x: *const EVP_PKEY,
28157        nid: ::std::os::raw::c_int,
28158        pass: *const ::std::os::raw::c_char,
28159        pass_len: ::std::os::raw::c_int,
28160        cb: pem_password_cb,
28161        u: *mut ::std::os::raw::c_void,
28162    ) -> ::std::os::raw::c_int;
28163}
28164extern "C" {
28165    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS8PrivateKey_fp"]
28166    pub fn d2i_PKCS8PrivateKey_fp(
28167        fp: *mut FILE,
28168        x: *mut *mut EVP_PKEY,
28169        cb: pem_password_cb,
28170        u: *mut ::std::os::raw::c_void,
28171    ) -> *mut EVP_PKEY;
28172}
28173extern "C" {
28174    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_PKCS8PrivateKey"]
28175    pub fn PEM_write_PKCS8PrivateKey(
28176        fp: *mut FILE,
28177        x: *const EVP_PKEY,
28178        enc: *const EVP_CIPHER,
28179        pass: *const ::std::os::raw::c_char,
28180        pass_len: ::std::os::raw::c_int,
28181        cd: pem_password_cb,
28182        u: *mut ::std::os::raw::c_void,
28183    ) -> ::std::os::raw::c_int;
28184}
28185extern "C" {
28186    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_Parameters"]
28187    pub fn PEM_read_bio_Parameters(bio: *mut BIO, pkey: *mut *mut EVP_PKEY) -> *mut EVP_PKEY;
28188}
28189extern "C" {
28190    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_Parameters"]
28191    pub fn PEM_write_bio_Parameters(bio: *mut BIO, pkey: *mut EVP_PKEY) -> ::std::os::raw::c_int;
28192}
28193extern "C" {
28194    #[link_name = "\u{1}aws_lc_0_27_2_PEM_read_bio_ECPKParameters"]
28195    pub fn PEM_read_bio_ECPKParameters(
28196        bio: *mut BIO,
28197        out_group: *mut *mut EC_GROUP,
28198        cb: pem_password_cb,
28199        u: *mut ::std::os::raw::c_void,
28200    ) -> *mut EC_GROUP;
28201}
28202extern "C" {
28203    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_ECPKParameters"]
28204    pub fn PEM_write_bio_ECPKParameters(
28205        out: *mut BIO,
28206        group: *const EC_GROUP,
28207    ) -> ::std::os::raw::c_int;
28208}
28209extern "C" {
28210    #[link_name = "\u{1}aws_lc_0_27_2_PEM_write_bio_PrivateKey_traditional"]
28211    pub fn PEM_write_bio_PrivateKey_traditional(
28212        bp: *mut BIO,
28213        x: *mut EVP_PKEY,
28214        enc: *const EVP_CIPHER,
28215        kstr: *mut ::std::os::raw::c_uchar,
28216        klen: ::std::os::raw::c_int,
28217        cb: pem_password_cb,
28218        u: *mut ::std::os::raw::c_void,
28219    ) -> ::std::os::raw::c_int;
28220}
28221extern "C" {
28222    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_encrypt"]
28223    pub fn PKCS8_encrypt(
28224        pbe_nid: ::std::os::raw::c_int,
28225        cipher: *const EVP_CIPHER,
28226        pass: *const ::std::os::raw::c_char,
28227        pass_len: ::std::os::raw::c_int,
28228        salt: *const u8,
28229        salt_len: usize,
28230        iterations: ::std::os::raw::c_int,
28231        p8inf: *mut PKCS8_PRIV_KEY_INFO,
28232    ) -> *mut X509_SIG;
28233}
28234extern "C" {
28235    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_marshal_encrypted_private_key"]
28236    pub fn PKCS8_marshal_encrypted_private_key(
28237        out: *mut CBB,
28238        pbe_nid: ::std::os::raw::c_int,
28239        cipher: *const EVP_CIPHER,
28240        pass: *const ::std::os::raw::c_char,
28241        pass_len: usize,
28242        salt: *const u8,
28243        salt_len: usize,
28244        iterations: ::std::os::raw::c_int,
28245        pkey: *const EVP_PKEY,
28246    ) -> ::std::os::raw::c_int;
28247}
28248extern "C" {
28249    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_decrypt"]
28250    pub fn PKCS8_decrypt(
28251        pkcs8: *mut X509_SIG,
28252        pass: *const ::std::os::raw::c_char,
28253        pass_len: ::std::os::raw::c_int,
28254    ) -> *mut PKCS8_PRIV_KEY_INFO;
28255}
28256extern "C" {
28257    #[link_name = "\u{1}aws_lc_0_27_2_PKCS8_parse_encrypted_private_key"]
28258    pub fn PKCS8_parse_encrypted_private_key(
28259        cbs: *mut CBS,
28260        pass: *const ::std::os::raw::c_char,
28261        pass_len: usize,
28262    ) -> *mut EVP_PKEY;
28263}
28264extern "C" {
28265    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_get_key_and_certs"]
28266    pub fn PKCS12_get_key_and_certs(
28267        out_key: *mut *mut EVP_PKEY,
28268        out_certs: *mut stack_st_X509,
28269        in_: *mut CBS,
28270        password: *const ::std::os::raw::c_char,
28271    ) -> ::std::os::raw::c_int;
28272}
28273extern "C" {
28274    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_PBE_add"]
28275    pub fn PKCS12_PBE_add();
28276}
28277extern "C" {
28278    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS12"]
28279    pub fn d2i_PKCS12(
28280        out_p12: *mut *mut PKCS12,
28281        ber_bytes: *mut *const u8,
28282        ber_len: usize,
28283    ) -> *mut PKCS12;
28284}
28285extern "C" {
28286    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS12_bio"]
28287    pub fn d2i_PKCS12_bio(bio: *mut BIO, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28288}
28289extern "C" {
28290    #[link_name = "\u{1}aws_lc_0_27_2_d2i_PKCS12_fp"]
28291    pub fn d2i_PKCS12_fp(fp: *mut FILE, out_p12: *mut *mut PKCS12) -> *mut PKCS12;
28292}
28293extern "C" {
28294    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS12"]
28295    pub fn i2d_PKCS12(p12: *const PKCS12, out: *mut *mut u8) -> ::std::os::raw::c_int;
28296}
28297extern "C" {
28298    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS12_bio"]
28299    pub fn i2d_PKCS12_bio(bio: *mut BIO, p12: *const PKCS12) -> ::std::os::raw::c_int;
28300}
28301extern "C" {
28302    #[link_name = "\u{1}aws_lc_0_27_2_i2d_PKCS12_fp"]
28303    pub fn i2d_PKCS12_fp(fp: *mut FILE, p12: *const PKCS12) -> ::std::os::raw::c_int;
28304}
28305extern "C" {
28306    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_parse"]
28307    pub fn PKCS12_parse(
28308        p12: *const PKCS12,
28309        password: *const ::std::os::raw::c_char,
28310        out_pkey: *mut *mut EVP_PKEY,
28311        out_cert: *mut *mut X509,
28312        out_ca_certs: *mut *mut stack_st_X509,
28313    ) -> ::std::os::raw::c_int;
28314}
28315extern "C" {
28316    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_set_mac"]
28317    pub fn PKCS12_set_mac(
28318        p12: *mut PKCS12,
28319        password: *const ::std::os::raw::c_char,
28320        password_len: ::std::os::raw::c_int,
28321        salt: *mut ::std::os::raw::c_uchar,
28322        salt_len: ::std::os::raw::c_int,
28323        mac_iterations: ::std::os::raw::c_int,
28324        md: *const EVP_MD,
28325    ) -> ::std::os::raw::c_int;
28326}
28327extern "C" {
28328    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_verify_mac"]
28329    pub fn PKCS12_verify_mac(
28330        p12: *const PKCS12,
28331        password: *const ::std::os::raw::c_char,
28332        password_len: ::std::os::raw::c_int,
28333    ) -> ::std::os::raw::c_int;
28334}
28335extern "C" {
28336    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_create"]
28337    pub fn PKCS12_create(
28338        password: *const ::std::os::raw::c_char,
28339        name: *const ::std::os::raw::c_char,
28340        pkey: *const EVP_PKEY,
28341        cert: *mut X509,
28342        chain: *const stack_st_X509,
28343        key_nid: ::std::os::raw::c_int,
28344        cert_nid: ::std::os::raw::c_int,
28345        iterations: ::std::os::raw::c_int,
28346        mac_iterations: ::std::os::raw::c_int,
28347        key_type: ::std::os::raw::c_int,
28348    ) -> *mut PKCS12;
28349}
28350extern "C" {
28351    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_new"]
28352    pub fn PKCS12_new() -> *mut PKCS12;
28353}
28354extern "C" {
28355    #[link_name = "\u{1}aws_lc_0_27_2_PKCS12_free"]
28356    pub fn PKCS12_free(p12: *mut PKCS12);
28357}
28358pub type poly1305_state = [u8; 512usize];
28359extern "C" {
28360    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_poly1305_init"]
28361    pub fn CRYPTO_poly1305_init(state: *mut poly1305_state, key: *const u8);
28362}
28363extern "C" {
28364    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_poly1305_update"]
28365    pub fn CRYPTO_poly1305_update(state: *mut poly1305_state, in_: *const u8, in_len: usize);
28366}
28367extern "C" {
28368    #[link_name = "\u{1}aws_lc_0_27_2_CRYPTO_poly1305_finish"]
28369    pub fn CRYPTO_poly1305_finish(state: *mut poly1305_state, mac: *mut u8);
28370}
28371extern "C" {
28372    #[link_name = "\u{1}aws_lc_0_27_2_RAND_bytes"]
28373    pub fn RAND_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28374}
28375extern "C" {
28376    #[link_name = "\u{1}aws_lc_0_27_2_RAND_priv_bytes"]
28377    pub fn RAND_priv_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28378}
28379extern "C" {
28380    #[link_name = "\u{1}aws_lc_0_27_2_RAND_enable_fork_unsafe_buffering"]
28381    pub fn RAND_enable_fork_unsafe_buffering(fd: ::std::os::raw::c_int);
28382}
28383extern "C" {
28384    #[link_name = "\u{1}aws_lc_0_27_2_RAND_get_system_entropy_for_custom_prng"]
28385    pub fn RAND_get_system_entropy_for_custom_prng(buf: *mut u8, len: usize);
28386}
28387extern "C" {
28388    #[link_name = "\u{1}aws_lc_0_27_2_RAND_pseudo_bytes"]
28389    pub fn RAND_pseudo_bytes(buf: *mut u8, len: usize) -> ::std::os::raw::c_int;
28390}
28391extern "C" {
28392    #[link_name = "\u{1}aws_lc_0_27_2_RAND_seed"]
28393    pub fn RAND_seed(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int);
28394}
28395extern "C" {
28396    #[link_name = "\u{1}aws_lc_0_27_2_RAND_load_file"]
28397    pub fn RAND_load_file(
28398        path: *const ::std::os::raw::c_char,
28399        num: ::std::os::raw::c_long,
28400    ) -> ::std::os::raw::c_int;
28401}
28402extern "C" {
28403    #[link_name = "\u{1}aws_lc_0_27_2_RAND_write_file"]
28404    pub fn RAND_write_file(file: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28405}
28406extern "C" {
28407    #[link_name = "\u{1}aws_lc_0_27_2_RAND_file_name"]
28408    pub fn RAND_file_name(
28409        buf: *mut ::std::os::raw::c_char,
28410        num: usize,
28411    ) -> *const ::std::os::raw::c_char;
28412}
28413extern "C" {
28414    #[link_name = "\u{1}aws_lc_0_27_2_RAND_add"]
28415    pub fn RAND_add(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int, entropy: f64);
28416}
28417extern "C" {
28418    #[link_name = "\u{1}aws_lc_0_27_2_RAND_egd"]
28419    pub fn RAND_egd(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
28420}
28421extern "C" {
28422    #[link_name = "\u{1}aws_lc_0_27_2_RAND_egd_bytes"]
28423    pub fn RAND_egd_bytes(
28424        arg1: *const ::std::os::raw::c_char,
28425        bytes: ::std::os::raw::c_int,
28426    ) -> ::std::os::raw::c_int;
28427}
28428extern "C" {
28429    #[link_name = "\u{1}aws_lc_0_27_2_RAND_poll"]
28430    pub fn RAND_poll() -> ::std::os::raw::c_int;
28431}
28432extern "C" {
28433    #[link_name = "\u{1}aws_lc_0_27_2_RAND_status"]
28434    pub fn RAND_status() -> ::std::os::raw::c_int;
28435}
28436extern "C" {
28437    #[link_name = "\u{1}aws_lc_0_27_2_RAND_cleanup"]
28438    pub fn RAND_cleanup();
28439}
28440#[repr(C)]
28441#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
28442pub struct rand_meth_st {
28443    pub seed: ::std::option::Option<
28444        unsafe extern "C" fn(buf: *const ::std::os::raw::c_void, num: ::std::os::raw::c_int),
28445    >,
28446    pub bytes: ::std::option::Option<
28447        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28448    >,
28449    pub cleanup: ::std::option::Option<unsafe extern "C" fn()>,
28450    pub add: ::std::option::Option<
28451        unsafe extern "C" fn(
28452            buf: *const ::std::os::raw::c_void,
28453            num: ::std::os::raw::c_int,
28454            entropy: f64,
28455        ),
28456    >,
28457    pub pseudorand: ::std::option::Option<
28458        unsafe extern "C" fn(buf: *mut u8, num: usize) -> ::std::os::raw::c_int,
28459    >,
28460    pub status: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
28461}
28462#[test]
28463fn bindgen_test_layout_rand_meth_st() {
28464    const UNINIT: ::std::mem::MaybeUninit<rand_meth_st> = ::std::mem::MaybeUninit::uninit();
28465    let ptr = UNINIT.as_ptr();
28466    assert_eq!(
28467        ::std::mem::size_of::<rand_meth_st>(),
28468        48usize,
28469        concat!("Size of: ", stringify!(rand_meth_st))
28470    );
28471    assert_eq!(
28472        ::std::mem::align_of::<rand_meth_st>(),
28473        8usize,
28474        concat!("Alignment of ", stringify!(rand_meth_st))
28475    );
28476    assert_eq!(
28477        unsafe { ::std::ptr::addr_of!((*ptr).seed) as usize - ptr as usize },
28478        0usize,
28479        concat!(
28480            "Offset of field: ",
28481            stringify!(rand_meth_st),
28482            "::",
28483            stringify!(seed)
28484        )
28485    );
28486    assert_eq!(
28487        unsafe { ::std::ptr::addr_of!((*ptr).bytes) as usize - ptr as usize },
28488        8usize,
28489        concat!(
28490            "Offset of field: ",
28491            stringify!(rand_meth_st),
28492            "::",
28493            stringify!(bytes)
28494        )
28495    );
28496    assert_eq!(
28497        unsafe { ::std::ptr::addr_of!((*ptr).cleanup) as usize - ptr as usize },
28498        16usize,
28499        concat!(
28500            "Offset of field: ",
28501            stringify!(rand_meth_st),
28502            "::",
28503            stringify!(cleanup)
28504        )
28505    );
28506    assert_eq!(
28507        unsafe { ::std::ptr::addr_of!((*ptr).add) as usize - ptr as usize },
28508        24usize,
28509        concat!(
28510            "Offset of field: ",
28511            stringify!(rand_meth_st),
28512            "::",
28513            stringify!(add)
28514        )
28515    );
28516    assert_eq!(
28517        unsafe { ::std::ptr::addr_of!((*ptr).pseudorand) as usize - ptr as usize },
28518        32usize,
28519        concat!(
28520            "Offset of field: ",
28521            stringify!(rand_meth_st),
28522            "::",
28523            stringify!(pseudorand)
28524        )
28525    );
28526    assert_eq!(
28527        unsafe { ::std::ptr::addr_of!((*ptr).status) as usize - ptr as usize },
28528        40usize,
28529        concat!(
28530            "Offset of field: ",
28531            stringify!(rand_meth_st),
28532            "::",
28533            stringify!(status)
28534        )
28535    );
28536}
28537extern "C" {
28538    #[link_name = "\u{1}aws_lc_0_27_2_RAND_SSLeay"]
28539    pub fn RAND_SSLeay() -> *mut RAND_METHOD;
28540}
28541extern "C" {
28542    #[link_name = "\u{1}aws_lc_0_27_2_RAND_OpenSSL"]
28543    pub fn RAND_OpenSSL() -> *mut RAND_METHOD;
28544}
28545extern "C" {
28546    #[link_name = "\u{1}aws_lc_0_27_2_RAND_get_rand_method"]
28547    pub fn RAND_get_rand_method() -> *const RAND_METHOD;
28548}
28549extern "C" {
28550    #[link_name = "\u{1}aws_lc_0_27_2_RAND_set_rand_method"]
28551    pub fn RAND_set_rand_method(arg1: *const RAND_METHOD) -> ::std::os::raw::c_int;
28552}
28553extern "C" {
28554    #[link_name = "\u{1}aws_lc_0_27_2_RAND_keep_random_devices_open"]
28555    pub fn RAND_keep_random_devices_open(a: ::std::os::raw::c_int);
28556}
28557#[repr(C)]
28558#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28559pub struct rc4_key_st {
28560    pub x: u32,
28561    pub y: u32,
28562    pub data: [u32; 256usize],
28563}
28564#[test]
28565fn bindgen_test_layout_rc4_key_st() {
28566    const UNINIT: ::std::mem::MaybeUninit<rc4_key_st> = ::std::mem::MaybeUninit::uninit();
28567    let ptr = UNINIT.as_ptr();
28568    assert_eq!(
28569        ::std::mem::size_of::<rc4_key_st>(),
28570        1032usize,
28571        concat!("Size of: ", stringify!(rc4_key_st))
28572    );
28573    assert_eq!(
28574        ::std::mem::align_of::<rc4_key_st>(),
28575        4usize,
28576        concat!("Alignment of ", stringify!(rc4_key_st))
28577    );
28578    assert_eq!(
28579        unsafe { ::std::ptr::addr_of!((*ptr).x) as usize - ptr as usize },
28580        0usize,
28581        concat!(
28582            "Offset of field: ",
28583            stringify!(rc4_key_st),
28584            "::",
28585            stringify!(x)
28586        )
28587    );
28588    assert_eq!(
28589        unsafe { ::std::ptr::addr_of!((*ptr).y) as usize - ptr as usize },
28590        4usize,
28591        concat!(
28592            "Offset of field: ",
28593            stringify!(rc4_key_st),
28594            "::",
28595            stringify!(y)
28596        )
28597    );
28598    assert_eq!(
28599        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28600        8usize,
28601        concat!(
28602            "Offset of field: ",
28603            stringify!(rc4_key_st),
28604            "::",
28605            stringify!(data)
28606        )
28607    );
28608}
28609impl Default for rc4_key_st {
28610    fn default() -> Self {
28611        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28612        unsafe {
28613            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28614            s.assume_init()
28615        }
28616    }
28617}
28618extern "C" {
28619    #[link_name = "\u{1}aws_lc_0_27_2_RC4_set_key"]
28620    pub fn RC4_set_key(rc4key: *mut RC4_KEY, len: ::std::os::raw::c_uint, key: *const u8);
28621}
28622extern "C" {
28623    #[link_name = "\u{1}aws_lc_0_27_2_RC4"]
28624    pub fn RC4(key: *mut RC4_KEY, len: usize, in_: *const u8, out: *mut u8);
28625}
28626#[repr(C)]
28627#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28628pub struct RIPEMD160state_st {
28629    pub h: [u32; 5usize],
28630    pub Nl: u32,
28631    pub Nh: u32,
28632    pub data: [u8; 64usize],
28633    pub num: ::std::os::raw::c_uint,
28634}
28635#[test]
28636fn bindgen_test_layout_RIPEMD160state_st() {
28637    const UNINIT: ::std::mem::MaybeUninit<RIPEMD160state_st> = ::std::mem::MaybeUninit::uninit();
28638    let ptr = UNINIT.as_ptr();
28639    assert_eq!(
28640        ::std::mem::size_of::<RIPEMD160state_st>(),
28641        96usize,
28642        concat!("Size of: ", stringify!(RIPEMD160state_st))
28643    );
28644    assert_eq!(
28645        ::std::mem::align_of::<RIPEMD160state_st>(),
28646        4usize,
28647        concat!("Alignment of ", stringify!(RIPEMD160state_st))
28648    );
28649    assert_eq!(
28650        unsafe { ::std::ptr::addr_of!((*ptr).h) as usize - ptr as usize },
28651        0usize,
28652        concat!(
28653            "Offset of field: ",
28654            stringify!(RIPEMD160state_st),
28655            "::",
28656            stringify!(h)
28657        )
28658    );
28659    assert_eq!(
28660        unsafe { ::std::ptr::addr_of!((*ptr).Nl) as usize - ptr as usize },
28661        20usize,
28662        concat!(
28663            "Offset of field: ",
28664            stringify!(RIPEMD160state_st),
28665            "::",
28666            stringify!(Nl)
28667        )
28668    );
28669    assert_eq!(
28670        unsafe { ::std::ptr::addr_of!((*ptr).Nh) as usize - ptr as usize },
28671        24usize,
28672        concat!(
28673            "Offset of field: ",
28674            stringify!(RIPEMD160state_st),
28675            "::",
28676            stringify!(Nh)
28677        )
28678    );
28679    assert_eq!(
28680        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28681        28usize,
28682        concat!(
28683            "Offset of field: ",
28684            stringify!(RIPEMD160state_st),
28685            "::",
28686            stringify!(data)
28687        )
28688    );
28689    assert_eq!(
28690        unsafe { ::std::ptr::addr_of!((*ptr).num) as usize - ptr as usize },
28691        92usize,
28692        concat!(
28693            "Offset of field: ",
28694            stringify!(RIPEMD160state_st),
28695            "::",
28696            stringify!(num)
28697        )
28698    );
28699}
28700impl Default for RIPEMD160state_st {
28701    fn default() -> Self {
28702        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28703        unsafe {
28704            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28705            s.assume_init()
28706        }
28707    }
28708}
28709extern "C" {
28710    #[link_name = "\u{1}aws_lc_0_27_2_RIPEMD160_Init"]
28711    pub fn RIPEMD160_Init(ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28712}
28713extern "C" {
28714    #[link_name = "\u{1}aws_lc_0_27_2_RIPEMD160_Update"]
28715    pub fn RIPEMD160_Update(
28716        ctx: *mut RIPEMD160_CTX,
28717        data: *const ::std::os::raw::c_void,
28718        len: usize,
28719    ) -> ::std::os::raw::c_int;
28720}
28721extern "C" {
28722    #[link_name = "\u{1}aws_lc_0_27_2_RIPEMD160_Final"]
28723    pub fn RIPEMD160_Final(out: *mut u8, ctx: *mut RIPEMD160_CTX) -> ::std::os::raw::c_int;
28724}
28725extern "C" {
28726    #[link_name = "\u{1}aws_lc_0_27_2_RIPEMD160"]
28727    pub fn RIPEMD160(data: *const u8, len: usize, out: *mut u8) -> *mut u8;
28728}
28729extern "C" {
28730    #[link_name = "\u{1}aws_lc_0_27_2_SIPHASH_24"]
28731    pub fn SIPHASH_24(key: *const u64, input: *const u8, input_len: usize) -> u64;
28732}
28733extern "C" {
28734    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_experiment_v1"]
28735    pub fn TRUST_TOKEN_experiment_v1() -> *const TRUST_TOKEN_METHOD;
28736}
28737extern "C" {
28738    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_experiment_v2_voprf"]
28739    pub fn TRUST_TOKEN_experiment_v2_voprf() -> *const TRUST_TOKEN_METHOD;
28740}
28741extern "C" {
28742    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_experiment_v2_pmb"]
28743    pub fn TRUST_TOKEN_experiment_v2_pmb() -> *const TRUST_TOKEN_METHOD;
28744}
28745extern "C" {
28746    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_pst_v1_voprf"]
28747    pub fn TRUST_TOKEN_pst_v1_voprf() -> *const TRUST_TOKEN_METHOD;
28748}
28749extern "C" {
28750    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_pst_v1_pmb"]
28751    pub fn TRUST_TOKEN_pst_v1_pmb() -> *const TRUST_TOKEN_METHOD;
28752}
28753#[repr(C)]
28754#[derive(Debug, Copy, Clone, PartialEq, Eq)]
28755pub struct trust_token_st {
28756    pub data: *mut u8,
28757    pub len: usize,
28758}
28759#[test]
28760fn bindgen_test_layout_trust_token_st() {
28761    const UNINIT: ::std::mem::MaybeUninit<trust_token_st> = ::std::mem::MaybeUninit::uninit();
28762    let ptr = UNINIT.as_ptr();
28763    assert_eq!(
28764        ::std::mem::size_of::<trust_token_st>(),
28765        16usize,
28766        concat!("Size of: ", stringify!(trust_token_st))
28767    );
28768    assert_eq!(
28769        ::std::mem::align_of::<trust_token_st>(),
28770        8usize,
28771        concat!("Alignment of ", stringify!(trust_token_st))
28772    );
28773    assert_eq!(
28774        unsafe { ::std::ptr::addr_of!((*ptr).data) as usize - ptr as usize },
28775        0usize,
28776        concat!(
28777            "Offset of field: ",
28778            stringify!(trust_token_st),
28779            "::",
28780            stringify!(data)
28781        )
28782    );
28783    assert_eq!(
28784        unsafe { ::std::ptr::addr_of!((*ptr).len) as usize - ptr as usize },
28785        8usize,
28786        concat!(
28787            "Offset of field: ",
28788            stringify!(trust_token_st),
28789            "::",
28790            stringify!(len)
28791        )
28792    );
28793}
28794impl Default for trust_token_st {
28795    fn default() -> Self {
28796        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
28797        unsafe {
28798            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
28799            s.assume_init()
28800        }
28801    }
28802}
28803#[repr(C)]
28804#[derive(Debug, Copy, Clone)]
28805pub struct stack_st_TRUST_TOKEN {
28806    _unused: [u8; 0],
28807}
28808pub type sk_TRUST_TOKEN_free_func =
28809    ::std::option::Option<unsafe extern "C" fn(arg1: *mut TRUST_TOKEN)>;
28810pub type sk_TRUST_TOKEN_copy_func =
28811    ::std::option::Option<unsafe extern "C" fn(arg1: *const TRUST_TOKEN) -> *mut TRUST_TOKEN>;
28812pub type sk_TRUST_TOKEN_cmp_func = ::std::option::Option<
28813    unsafe extern "C" fn(
28814        arg1: *const *const TRUST_TOKEN,
28815        arg2: *const *const TRUST_TOKEN,
28816    ) -> ::std::os::raw::c_int,
28817>;
28818pub type sk_TRUST_TOKEN_delete_if_func = ::std::option::Option<
28819    unsafe extern "C" fn(
28820        arg1: *mut TRUST_TOKEN,
28821        arg2: *mut ::std::os::raw::c_void,
28822    ) -> ::std::os::raw::c_int,
28823>;
28824extern "C" {
28825    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_new"]
28826    pub fn TRUST_TOKEN_new(data: *const u8, len: usize) -> *mut TRUST_TOKEN;
28827}
28828extern "C" {
28829    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_free"]
28830    pub fn TRUST_TOKEN_free(token: *mut TRUST_TOKEN);
28831}
28832extern "C" {
28833    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_generate_key"]
28834    pub fn TRUST_TOKEN_generate_key(
28835        method: *const TRUST_TOKEN_METHOD,
28836        out_priv_key: *mut u8,
28837        out_priv_key_len: *mut usize,
28838        max_priv_key_len: usize,
28839        out_pub_key: *mut u8,
28840        out_pub_key_len: *mut usize,
28841        max_pub_key_len: usize,
28842        id: u32,
28843    ) -> ::std::os::raw::c_int;
28844}
28845extern "C" {
28846    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_derive_key_from_secret"]
28847    pub fn TRUST_TOKEN_derive_key_from_secret(
28848        method: *const TRUST_TOKEN_METHOD,
28849        out_priv_key: *mut u8,
28850        out_priv_key_len: *mut usize,
28851        max_priv_key_len: usize,
28852        out_pub_key: *mut u8,
28853        out_pub_key_len: *mut usize,
28854        max_pub_key_len: usize,
28855        id: u32,
28856        secret: *const u8,
28857        secret_len: usize,
28858    ) -> ::std::os::raw::c_int;
28859}
28860extern "C" {
28861    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_new"]
28862    pub fn TRUST_TOKEN_CLIENT_new(
28863        method: *const TRUST_TOKEN_METHOD,
28864        max_batchsize: usize,
28865    ) -> *mut TRUST_TOKEN_CLIENT;
28866}
28867extern "C" {
28868    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_free"]
28869    pub fn TRUST_TOKEN_CLIENT_free(ctx: *mut TRUST_TOKEN_CLIENT);
28870}
28871extern "C" {
28872    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_add_key"]
28873    pub fn TRUST_TOKEN_CLIENT_add_key(
28874        ctx: *mut TRUST_TOKEN_CLIENT,
28875        out_key_index: *mut usize,
28876        key: *const u8,
28877        key_len: usize,
28878    ) -> ::std::os::raw::c_int;
28879}
28880extern "C" {
28881    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_set_srr_key"]
28882    pub fn TRUST_TOKEN_CLIENT_set_srr_key(
28883        ctx: *mut TRUST_TOKEN_CLIENT,
28884        key: *mut EVP_PKEY,
28885    ) -> ::std::os::raw::c_int;
28886}
28887extern "C" {
28888    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_begin_issuance"]
28889    pub fn TRUST_TOKEN_CLIENT_begin_issuance(
28890        ctx: *mut TRUST_TOKEN_CLIENT,
28891        out: *mut *mut u8,
28892        out_len: *mut usize,
28893        count: usize,
28894    ) -> ::std::os::raw::c_int;
28895}
28896extern "C" {
28897    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_begin_issuance_over_message"]
28898    pub fn TRUST_TOKEN_CLIENT_begin_issuance_over_message(
28899        ctx: *mut TRUST_TOKEN_CLIENT,
28900        out: *mut *mut u8,
28901        out_len: *mut usize,
28902        count: usize,
28903        msg: *const u8,
28904        msg_len: usize,
28905    ) -> ::std::os::raw::c_int;
28906}
28907extern "C" {
28908    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_finish_issuance"]
28909    pub fn TRUST_TOKEN_CLIENT_finish_issuance(
28910        ctx: *mut TRUST_TOKEN_CLIENT,
28911        out_key_index: *mut usize,
28912        response: *const u8,
28913        response_len: usize,
28914    ) -> *mut stack_st_TRUST_TOKEN;
28915}
28916extern "C" {
28917    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_begin_redemption"]
28918    pub fn TRUST_TOKEN_CLIENT_begin_redemption(
28919        ctx: *mut TRUST_TOKEN_CLIENT,
28920        out: *mut *mut u8,
28921        out_len: *mut usize,
28922        token: *const TRUST_TOKEN,
28923        data: *const u8,
28924        data_len: usize,
28925        time: u64,
28926    ) -> ::std::os::raw::c_int;
28927}
28928extern "C" {
28929    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_CLIENT_finish_redemption"]
28930    pub fn TRUST_TOKEN_CLIENT_finish_redemption(
28931        ctx: *mut TRUST_TOKEN_CLIENT,
28932        out_rr: *mut *mut u8,
28933        out_rr_len: *mut usize,
28934        out_sig: *mut *mut u8,
28935        out_sig_len: *mut usize,
28936        response: *const u8,
28937        response_len: usize,
28938    ) -> ::std::os::raw::c_int;
28939}
28940extern "C" {
28941    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_new"]
28942    pub fn TRUST_TOKEN_ISSUER_new(
28943        method: *const TRUST_TOKEN_METHOD,
28944        max_batchsize: usize,
28945    ) -> *mut TRUST_TOKEN_ISSUER;
28946}
28947extern "C" {
28948    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_free"]
28949    pub fn TRUST_TOKEN_ISSUER_free(ctx: *mut TRUST_TOKEN_ISSUER);
28950}
28951extern "C" {
28952    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_add_key"]
28953    pub fn TRUST_TOKEN_ISSUER_add_key(
28954        ctx: *mut TRUST_TOKEN_ISSUER,
28955        key: *const u8,
28956        key_len: usize,
28957    ) -> ::std::os::raw::c_int;
28958}
28959extern "C" {
28960    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_set_srr_key"]
28961    pub fn TRUST_TOKEN_ISSUER_set_srr_key(
28962        ctx: *mut TRUST_TOKEN_ISSUER,
28963        key: *mut EVP_PKEY,
28964    ) -> ::std::os::raw::c_int;
28965}
28966extern "C" {
28967    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_set_metadata_key"]
28968    pub fn TRUST_TOKEN_ISSUER_set_metadata_key(
28969        ctx: *mut TRUST_TOKEN_ISSUER,
28970        key: *const u8,
28971        len: usize,
28972    ) -> ::std::os::raw::c_int;
28973}
28974extern "C" {
28975    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_issue"]
28976    pub fn TRUST_TOKEN_ISSUER_issue(
28977        ctx: *const TRUST_TOKEN_ISSUER,
28978        out: *mut *mut u8,
28979        out_len: *mut usize,
28980        out_tokens_issued: *mut usize,
28981        request: *const u8,
28982        request_len: usize,
28983        public_metadata: u32,
28984        private_metadata: u8,
28985        max_issuance: usize,
28986    ) -> ::std::os::raw::c_int;
28987}
28988extern "C" {
28989    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_redeem"]
28990    pub fn TRUST_TOKEN_ISSUER_redeem(
28991        ctx: *const TRUST_TOKEN_ISSUER,
28992        out_public: *mut u32,
28993        out_private: *mut u8,
28994        out_token: *mut *mut TRUST_TOKEN,
28995        out_client_data: *mut *mut u8,
28996        out_client_data_len: *mut usize,
28997        request: *const u8,
28998        request_len: usize,
28999    ) -> ::std::os::raw::c_int;
29000}
29001extern "C" {
29002    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_ISSUER_redeem_over_message"]
29003    pub fn TRUST_TOKEN_ISSUER_redeem_over_message(
29004        ctx: *const TRUST_TOKEN_ISSUER,
29005        out_public: *mut u32,
29006        out_private: *mut u8,
29007        out_token: *mut *mut TRUST_TOKEN,
29008        out_client_data: *mut *mut u8,
29009        out_client_data_len: *mut usize,
29010        request: *const u8,
29011        request_len: usize,
29012        msg: *const u8,
29013        msg_len: usize,
29014    ) -> ::std::os::raw::c_int;
29015}
29016extern "C" {
29017    #[link_name = "\u{1}aws_lc_0_27_2_TRUST_TOKEN_decode_private_metadata"]
29018    pub fn TRUST_TOKEN_decode_private_metadata(
29019        method: *const TRUST_TOKEN_METHOD,
29020        out_value: *mut u8,
29021        key: *const u8,
29022        key_len: usize,
29023        nonce: *const u8,
29024        nonce_len: usize,
29025        encrypted_bit: u8,
29026    ) -> ::std::os::raw::c_int;
29027}
29028extern "C" {
29029    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_keygen_deterministic"]
29030    pub fn EVP_PKEY_keygen_deterministic(
29031        ctx: *mut EVP_PKEY_CTX,
29032        out_pkey: *mut *mut EVP_PKEY,
29033        seed: *const u8,
29034        seed_len: *mut usize,
29035    ) -> ::std::os::raw::c_int;
29036}
29037extern "C" {
29038    #[link_name = "\u{1}aws_lc_0_27_2_EVP_PKEY_encapsulate_deterministic"]
29039    pub fn EVP_PKEY_encapsulate_deterministic(
29040        ctx: *mut EVP_PKEY_CTX,
29041        ciphertext: *mut u8,
29042        ciphertext_len: *mut usize,
29043        shared_secret: *mut u8,
29044        shared_secret_len: *mut usize,
29045        seed: *const u8,
29046        seed_len: *mut usize,
29047    ) -> ::std::os::raw::c_int;
29048}
29049extern "C" {
29050    #[link_name = "\u{1}aws_lc_0_27_2_ERR_GET_LIB_RUST"]
29051    pub fn ERR_GET_LIB_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29052}
29053extern "C" {
29054    #[link_name = "\u{1}aws_lc_0_27_2_ERR_GET_REASON_RUST"]
29055    pub fn ERR_GET_REASON_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29056}
29057extern "C" {
29058    #[link_name = "\u{1}aws_lc_0_27_2_ERR_GET_FUNC_RUST"]
29059    pub fn ERR_GET_FUNC_RUST(packed_error: u32) -> ::std::os::raw::c_int;
29060}
29061pub type __builtin_va_list = [__va_list_tag; 1usize];
29062#[repr(C)]
29063#[derive(Debug, Copy, Clone, PartialEq, Eq)]
29064pub struct __va_list_tag {
29065    pub gp_offset: ::std::os::raw::c_uint,
29066    pub fp_offset: ::std::os::raw::c_uint,
29067    pub overflow_arg_area: *mut ::std::os::raw::c_void,
29068    pub reg_save_area: *mut ::std::os::raw::c_void,
29069}
29070#[test]
29071fn bindgen_test_layout___va_list_tag() {
29072    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
29073    let ptr = UNINIT.as_ptr();
29074    assert_eq!(
29075        ::std::mem::size_of::<__va_list_tag>(),
29076        24usize,
29077        concat!("Size of: ", stringify!(__va_list_tag))
29078    );
29079    assert_eq!(
29080        ::std::mem::align_of::<__va_list_tag>(),
29081        8usize,
29082        concat!("Alignment of ", stringify!(__va_list_tag))
29083    );
29084    assert_eq!(
29085        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
29086        0usize,
29087        concat!(
29088            "Offset of field: ",
29089            stringify!(__va_list_tag),
29090            "::",
29091            stringify!(gp_offset)
29092        )
29093    );
29094    assert_eq!(
29095        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
29096        4usize,
29097        concat!(
29098            "Offset of field: ",
29099            stringify!(__va_list_tag),
29100            "::",
29101            stringify!(fp_offset)
29102        )
29103    );
29104    assert_eq!(
29105        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
29106        8usize,
29107        concat!(
29108            "Offset of field: ",
29109            stringify!(__va_list_tag),
29110            "::",
29111            stringify!(overflow_arg_area)
29112        )
29113    );
29114    assert_eq!(
29115        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
29116        16usize,
29117        concat!(
29118            "Offset of field: ",
29119            stringify!(__va_list_tag),
29120            "::",
29121            stringify!(reg_save_area)
29122        )
29123    );
29124}
29125impl Default for __va_list_tag {
29126    fn default() -> Self {
29127        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
29128        unsafe {
29129            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
29130            s.assume_init()
29131        }
29132    }
29133}
29134#[repr(C)]
29135#[derive(Debug, Default, Copy, Clone, PartialEq, Eq)]
29136pub struct CRYPTO_dynlock_value {
29137    pub _address: u8,
29138}